update.
[chise/xemacs-chise.git.1] / src / ChangeLog
1 2009-03-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2
3         * mule-charset.c (Fdecode_char): Fix problem when decoding GR
4         code-point by GL charset.
5
6 2008-10-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
7
8         * concord.c (concord_id_validate): New function.
9         (structure_type_create_concord): Use `concord_id_validate' instead
10         of `concord_name_validate' to accept integer and character as =id.
11
12 2008-09-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
13
14         * concord.c (func_for_each_object): Fix bug about GC-protection.
15
16 2008-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
17
18         * concord.c (Fconcord_object_put): Check argument FEATURE is a
19         symbol.
20
21 2008-09-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
22
23         * text-coding.c (struct decoding_stream): Add new member
24         `bom_flag' in XEmacs CHISE.
25         (reset_decoding_stream): Ignore U+FEFF in the beginning of stream
26         in XEmacs CHISE.
27
28 2008-09-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
29
30         * mule-charset.c: Move definition of `=jis-x0208@1978' to
31         lisp/mule/mule-conf.el.
32
33 2008-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
34
35         * mule-charset.c (Qpartial): New variable in XEmacs CHISE.
36         (make_charset): Add new argument `partial'.
37         (Fmake_charset): Add new property 'partial in XEmacs CHISE.
38         (Fmake_reverse_direction_charset): Modify for `make_charset'.
39         (syms_of_mule_charset): Add new builtin symbol `partial' in XEmacs
40         CHISE.
41         (complex_vars_of_mule_charset): Modify for `make_charset'; specify
42         `=jis-x0208' as a partial coded-charset.
43
44 2008-08-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
45
46         * text-coding.c (decode_add_er_char): Fix problem when a character
47         represented by an entity-reference is not defined.
48
49 2008-06-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
50
51         * char-ucs.h, chartab.c, fns.c, mule-charset.c: Rename Qmap_* to
52         Qrep_*.
53
54 2007-09-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
55
56         * mule.c (vars_of_mule): Update `xemacs-chise-version' to 0.24
57         (Kasagi).
58
59 2006-06-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
60
61         * concord.c (Fconcord_object_put): Add reversed links when FEATURE
62         is a relation feature.
63
64 2006-06-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
65
66         * chartab.c (syms_of_chartab): Define
67         `{<-|->}{subsumptive|denotational}' when HAVE_CONCORD is defined.
68
69         * chartab.h (Q_denotational): New extern when UTF2000 or
70         HAVE_CONCORD is defined.
71         (Q_denotational_from): Likewise.
72         (Q_subsumptive): Likewise.
73         (Q_subsumptive_from): Likewise.
74
75 2006-06-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
76
77         * concord.c (concord_object_put): New function.
78         (Fconcord_object_put): Use `concord_object_put'.
79
80 2006-06-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
81
82         * concord.c (Fconcord_define_object): New function.
83         (syms_of_concord): Add new builtin function
84         `concord-define-object'.
85
86 2006-05-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
87
88         * mule.c (vars_of_mule): Update `xemacs-chise-version' to 0.23
89         (Kamo).
90
91 2006-04-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
92
93         * concord.c: Add EXFUN for Fconcord_object_get.
94         (Vconcord_genre_object_hash_table): New variable.
95         (concord_genre_cache_get_object): New function.
96         (concord_genre_cache_put_object): New function.
97         (Fconcord_make_object): Use object cache; put object-ID into `=id'
98         feature.
99         (Fconcord_object_put): Call `concord_index_sync' after
100         `concord_index_strid_put_obj'.
101         (vars_of_concord): Setup Vconcord_genre_object_hash_table.
102
103 2006-04-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
104
105         * concord.c (Fconcord_decode_object): Do GCPRO for
106         Fconcord_make_object.
107         (func_for_each_object): Likewise; do GCPRO for
108         for_each_object_closure->function.
109         (Fconcord_foreach_object_in_feature): Use GCPRO4 for
110         for_each_object_closure->function, for_each_object_closure->genre,
111         for_each_object_closure->ds and for_each_object_closure->ret.
112         (concord_object_validate): Do GCPRO for Fconcord_make_object.
113
114 2006-04-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
115
116         * concord.c: Add EXFUNs for Fconcord_decode_object and
117         Fconcord_object_put.
118         (Fconcord_make_object): Change order of arguments.
119         (Fconcord_decode_object): Modify for Fconcord_make_object.
120         (func_for_each_object): Likewise.
121         (concord_object_validate): Likewise.
122         (concord_object_instantiate): Use GCPRO2 for `data' and `retval'.
123
124 2006-04-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
125
126         * concord.c (Fconcord_object_put): Setup index for `=FOO' feature.
127
128 2006-04-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
129
130         * concord.c (Fconcord_decode_object): Try to use readable print
131         form as a key of Concord-index.
132         (Fconcord_object_get): Try to use readable print form as an ID of
133         Concord-object.
134         (Fconcord_object_put): Try to use readable print form as an ID of
135         Concord-object and a feature value.
136         (Fconcord_object_spec): Try to use readable print form as an ID of
137         Concord-object.
138
139 2006-04-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
140
141         * concord.c (print_concord_object): Support readable form.
142
143 2006-04-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
144
145         * emacs.c (main_1): Call `structure_type_create_concord' when
146         HAVE_CONCORD is defined.
147
148         * symsinit.h (structure_type_create_concord): New prototype.
149
150         * concord.c (Qconcord_object): New variable.
151         (Qgenre): Likewise.
152         (Q_id): Likewise.
153         (Fconcord_ds_directory): Use <char*> instead of <unsigned char*>
154         for directory.
155         (add_feature_to_list_mapper): Use <char*> instead of <unsigned
156         char*> for genre-name.
157         (Fconcord_feature_list): Likewise.
158         (Fconcord_make_object): Likewise.
159         (Fconcord_decode_object): Likewise; use <char*> instead of
160         <unsigned char*> for feature_name and strid.
161         (Fconcord_object_get): Use <char*> instead of <unsigned char*> for
162         c_obj and feature_name.
163         (Fconcord_object_put): Likewise; use <char*> instead of <unsigned
164         char*> for c_value.
165         (struct closure_for_object_spec): Use <char*> instead of <unsigned
166         char*> for member `object_id'.
167         (add_feature_to_spec_mapper): Use <char*> instead of <unsigned
168         char*> for feature-name.
169         (Fconcord_object_spec): Use <char*> instead of <unsigned char*>
170         for c_obj.
171         (func_for_each_object): Cast to avoid warnings.
172         (Fconcord_foreach_object_in_feature): Use <char*> instead of
173         <unsigned char*> for genre_name and feature_name.
174         (concord_name_validate): New function.
175         (concord_object_validate): Likewise.
176         (concord_object_instantiate): Likewise.
177         (syms_of_concord): Add new builtin symbols `concord-object',
178         `genre' and `=id'.
179         (structure_type_create_concord): New function.
180
181 2006-04-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
182
183         * concord.c (Vconcord_ds_hash_table): New variable.
184         (Vconcord_genre_hash_table): New variable.
185         (Fconcord_open_ds): Use Vconcord_ds_hash_table.
186         (Fconcord_ds_directory): New function.
187         (Fconcord_assign_genre): New function.
188         (Fconcord_genre_directory): New function.
189         (Fconcord_genre_ds): New function.
190         (Fconcord_feature_list): Allow to omit `ds'.
191         (Fconcord_make_object): Likewise.
192         (Fconcord_decode_object): Likewise.
193         (Fconcord_foreach_object_in_feature): Likewise.
194         (syms_of_concord): Add new builtin function Fconcord_ds_directory,
195         Fconcord_assign_genre, Fconcord_genre_directory and
196         Fconcord_genre_ds.
197         (vars_of_concord): Setup Vconcord_ds_hash_table and
198         Vconcord_genre_hash_table.
199
200 2006-02-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
201
202         * concord.c (struct closure_for_each_object): Add new member
203         `ret'.
204         (func_for_each_object): Setup the return value to
205         `for_each_object_closure->ret'.
206         (Fconcord_foreach_object_in_feature): If FUNCTION returns non-nil,
207         returns the value instead of Qt.
208
209 2005-12-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
210
211         * concord.c: New file.
212
213 2005-12-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
214
215         * lrecord.h (enum lrecord_type): Add `lrecord_type_concord_ds' and
216         `lrecord_type_concord_object'.
217
218 2005-09-21  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
219
220         * symsinit.h (syms_of_concord): New prototype.
221         (vars_of_concord): New prototype.
222
223         * emacs.c (main_1): Setup symbols and variable about concord if
224         HAVE_CONCORD is defined.
225
226         * config.h.in (HAVE_CONCORD): New macro.
227
228 2005-09-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
229
230         * chartab.c (Fput_char_attribute): For each character relation
231         feature `{<-|->}FOO', set up the reversed link `{->|<-}FOO'.
232
233 2005-08-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
234
235         * chartab.c (Fput_char_attribute): Use
236         `Fchar_refs_simplify_char_specs' for `=>decomposition' before
237         calling `put_char_composition'.
238
239 2005-08-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
240
241         * chartab.c (Q_halfwidth_of): New variable.
242         (put_char_composition): Return `<-halfwidth' instead of
243         `=decomposition' for compatibility mapping to single character
244         tagged `narrow'.
245         (Fput_char_attribute): Convert char-specs in value of
246         `{<-|->}halfwidth[^*]*' to characters and put reverse links.
247         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
248         for `<-halfwidth'.
249         (syms_of_chartab): Add new symbol `<-halfwidth'.
250
251 2005-08-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
252
253         * chartab.c (put_char_composition): Return
254         `<-formed@{isolated|initial|medial|final}' for compatibility
255         mapping to single character tagged
256         `{isolated|initial|medial|final}'.
257
258 2005-08-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
259
260         * chartab.c (Q_compat_of): Deleted.
261         (put_char_composition): Return `<-FOO' for compatibility mapping
262         to single character tagged `FOO'; use `Fsymbol_name (...)' instead
263         of `symbol_name (XSYMBOL(...))'.
264         (Fput_char_attribute): Convert char-specs in value of
265         `{<-|->}font[^*]*' to characters and put reverse links.
266         (Fsave_char_attribute_table): Don't refer Q_compat_of.
267         (syms_of_chartab): Delete builtin symbol `<-compat'.
268
269 2005-08-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
270
271         * chartab.c (Q_circled_of): New variable.
272         (put_char_composition): Return `<-circled' instead of
273         `=decomposition' for compatibility mapping to single character
274         tagged `circle'.
275         (Fput_char_attribute): Convert char-specs in value of
276         `{<-|->}circled[^*]*' to characters and put reverse links.
277         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
278         for `<-circled'.
279         (syms_of_chartab): Add new symbol `<-circled'.
280
281 2005-08-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
282
283         * chartab.c (Qto_decomposition_at_circled): New variable.
284         (put_char_composition): Return `=>decomposition@circled' instead
285         of `=decomposition' for compatibility decomposition mapping tagged
286         `circle'.
287         (syms_of_chartab): Add new symbol `=>decomposition@circled'.
288
289 2005-08-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
290
291         * chartab.c (Q_subscript_of): New variable.
292         (put_char_composition): Return `<-subscript' instead of
293         `=decomposition' for compatibility mapping to single character
294         tagged `sub'.
295         (Fput_char_attribute): Convert char-specs in value of
296         `{<-|->}subscript[^*]*' to characters and put reverse links.
297         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
298         for `<-subscript'.
299         (syms_of_chartab): Add new symbol `<-subscript'.
300
301 2005-08-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
302
303         * chartab.c (Q_superscript_of): New variable.
304         (put_char_composition): Return `<-superscript' instead of
305         `=decomposition' for compatibility mapping to single character
306         tagged `super'.
307         (Fput_char_attribute): Convert char-specs in value of
308         `{<-|->}superscript[^*]*' to characters and put reverse links.
309         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
310         for `<-superscript'.
311         (syms_of_chartab): Add new symbol `<-superscript'.
312
313 2005-08-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
314
315         * chartab.c (Qto_decomposition_at_compat): Deleted.
316         (Qto_decomposition_at_superscript): New variable.
317         (put_char_composition): Use `=>decomposition@superscript' instead
318         of `=decomposition' for compatibility decomposition mapping tagged
319         `super'.
320         (Fput_char_attribute): Fix condition about `put_char_composition'.
321         (syms_of_chartab): Delete builtin symbol `=>decomposition@compat';
322         add news symbol `=>decomposition@superscript'.
323
324 2005-07-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
325
326         * chartab.c (put_char_composition): Return `=>decomposition@FOO'
327         for compatibility decomposition mapping tagged FOO.
328         (Fput_char_attribute): Modify for `put_char_composition'.
329
330 2005-07-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
331
332         * chartab.c (Qto_decomposition_at_compat): New variable.
333         (Q_compat_of): Renamed from `Q_compatibility_of'.
334         (put_char_composition): Rename `Q_compatibility_of' to
335         `Q_compat_of'; return `=>decomposition@compat' for compatibility
336         decomposition mapping.
337         (Fsave_char_attribute_table): Rename `Q_compatibility_of' to
338         `Q_compat_of'.
339         (syms_of_chartab): Add new symbol `=>decomposition@compat'; rename
340         `<-compatibility' to `<-compat'.
341
342 2005-07-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
343
344         * chartab.c (Q_compatibility_of): New variable.
345         (put_char_composition): Use XCAR/XCDR instead of Fcar/Fcdr if an
346         object is proved to be a cons cell; return `<-compatibility' if
347         the first element of argument `value' is `compat'.
348         (Fput_char_attribute): Eliminate the first value if
349         `put_char_composition' returns `<-compatibility'.
350         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
351         for `<-compatibility'.
352         (syms_of_chartab): Add new symbol `<-compatibility'.
353
354 2005-07-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
355
356         * chartab.c (Q_canonical): New variable.
357         (put_char_composition): Return a feature name: return
358         `->canonical' if argument `value' specifies single character.
359         (Fput_char_attribute): Use `put_char_composition' to determine
360         feature name for `=decomposition' or `->denotational'.
361         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
362         for `->canonical'.
363         (syms_of_chartab): Add new symbol `->canonical'.
364
365 2005-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
366
367         * chartab.c (Qmap_decomposition): New variable.
368         (Fput_char_attribute): Convert `->decomposition' to
369         `=decomposition'.
370         (syms_of_chartab): Add new symbol `=decomposition'.
371
372 2005-07-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
373
374         * chartab.c (Fget_range_char_table): Fix serious problem when
375         `range' is nil.
376
377 2005-06-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
378
379         * chartab.c (char_table_get_db): Use `read_from_c_string'.
380
381 2005-06-19  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
382
383         * lread.c (read_from_c_string): New function.
384
385         * lisp.h (read_from_c_string): New prototype.
386
387 2005-05-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
388
389         * chartab.c (Fput_char_attribute): Convert char-specs in value of
390         `{<-|->}Oracle-Bones[^*]*' to characters and put reverse links.
391         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
392         for `{<-|->}Oracle-Bones[^*]*'.
393
394 2005-05-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
395
396         * mule.c (vars_of_mule): Update `xemacs-chise-version' to 0.22
397         (Kizu).
398
399 2005-02-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
400
401         * text-coding.c (Qccs_priority_list): New variable in XEmacs
402         CHISE.
403         (Fmake_coding_system): Support new property `ccs-priority-list' in
404         XEmacs CHISE.
405         (Fcoding_system_property): Likewise.
406         (char_encode_iso2022): Prefer CODING_SYSTEM_CCS_PRIORITY_LIST than
407         Vdefault_coded_charset_priority_list in XEmacs CHISE.
408         (syms_of_file_coding): Add builtin symbol `ccs-priority-list' in
409         XEmacs CHISE.
410         (complex_vars_of_file_coding): Define new coding-system-property
411         `ccs-priority-list' in XEmacs CHISE.
412
413         * file-coding.h (XCODING_SYSTEM_CCS_PRIORITY_LIST): New macro.
414
415 2004-12-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
416
417         * char-ucs.h (decoding_table_put_char): Moved to mule-charset.c;
418         changed to normal function.
419         (encode_char_2): Likewise.
420
421         * mule-charset.c (decoding_table_put_char): Copied from
422         char-ucs.h; changed to normal function.
423         (encode_char_2): Likewise.
424
425 2004-12-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
426
427         * char-ucs.h (Vdisplay_coded_charset_priority_use_inheritance):
428         New extern.
429         (Vdisplay_coded_charset_priority_use_hierarchy_order): Likewise.
430         (encode_char_2_search_children): New inline function.
431         (encode_char_2): Refer
432         `Vdisplay_coded_charset_priority_use_{inheritance|hierarchy_order}'
433         and use `encode_char_2_search_children'.
434
435 2004-12-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
436
437         * mule-charset.c
438         (Vdisplay_coded_charset_priority_use_inheritance): New variable.
439         (Vdisplay_coded_charset_priority_use_hierarchy_order): Likewise.
440         (vars_of_mule_charset): Add new variable
441         `display-coded-charset-priority-use-inheritance' and
442         `display-coded-charset-priority-use-hierarchy-order'.
443
444 2004-11-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
445
446         * char-ucs.h (Q_subsumptive): New extern.
447         (Q_denotational): Likewise.
448         (encode_char_2): Search children specified by `->subsumptive' and
449         `->denotational'.
450
451 2004-11-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
452
453         * mule-charset.c (complex_vars_of_mule_charset): Modify the
454         X-registry of `ucs-bmp'.
455
456 2004-10-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
457
458         * chartab.c (char-variants): Refer `->subsumptive',
459         `->denotational' and `->identical' as same as `->ucs-unified'.
460
461 2004-10-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
462
463         * chartab.c (Fput_char_attribute): Convert char-specs in value of
464         `{<-|->}{fullwidth|halfwidth}[^*]*' to characters and put reverse
465         links.
466
467 2004-09-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
468
469         * text-coding.c: Add EXFUN for `Fregexp_quote'.
470         (decode_add_er_char): Fix problem about infinite loop when a CCS
471         specified in `coded-charset-entity-reference-alist' is not
472         existed.
473
474 2004-09-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
475
476         * mule-charset.c (syms_of_mule_charset): Rename
477         `=jis-x0208-{1978|1983|1990}' to `=jis-x0208@{1978|1983|1990}'.
478
479 2004-08-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
480
481         * fns.c (simplify_char_spec): Don't allocate new character-object
482         if specified char_spec does not have any CCS-features.
483
484         * chartab.h: Add EXFUN for Fdefine_char.
485
486         * chartab.c: Delete EXFUN for Fdefine_char.
487
488 2004-08-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
489
490         * fns.c (simplify_char_spec): Use Fdefine_char instead of
491         Ffind_char for char-spec.
492
493 2004-07-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
494
495         * lisp-disunion.h (XCHARVAL): Fix condition about
496         SIZEOF_EMACS_INT.
497
498 2004-07-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
499
500         * mule-charset.c (decode_builtin_char): Use <EMACS_INT> instead of
501         <int> for `code'.
502         (Fdecode_builtin_char): Use <EMACS_INT> instead of <int> for code
503         point; use <Emchar> instead of <int> for character-id.
504
505 2004-07-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
506
507         * lisp-disunion.h (make_int): Cast the argument into <EMACS_INT>.
508         (make_char): Likewise.
509         (XCHARVAL): Don't use the inline function for UTF-2000 in 64 bit
510         environment.
511         (XCHARVAL[for UTF-2000 in 32 bit environment]): Use <Emchar>
512         instead of <int> as the type of return value; use <Lisp_Object>
513         instead of <Emchar> as the type of argument.
514         (XCHARVAL[macro version]): Cast the result into <Emchar>.
515
516         * syntax.h (SYNTAX_CODE_UNSAFE): Use <Lisp_Object> and <enum
517         syntaxcode> instead of <int>.
518
519 2004-07-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
520
521         * chartab.c (put_char_composition): Use DECODE_CHAR to get
522         character corresponding with UCS code point.
523         (Fput_char_attribute): Likewise.
524
525         * mule-charset.c (put_char_ccs_code_point): Don't omit a UCS
526         character in the UCS decoding-table if the char-id is not equal to
527         the UCS code point.
528
529 2004-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
530
531         * mule-charset.c (Fsave_charset_properties): Use `true-name' only
532         for aliases; write `description'; write
533         `mother-code-{min|max|offset|conversion}' if CHARSET_MAX_CODE is
534         not 0.
535
536 2004-07-21  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
537
538         * chartab.c (Fsave_char_attribute_table): Don't use
539         `save_charset_properties'.
540
541         * mule-charset.c (Fsave_charset_properties): Renamed from
542         `save_charset_properties' and changed to Lisp function again;
543         write property `type' as `CCS'; write properties `final-byte' and
544         `mother' if they exists.
545         (syms_of_mule_charset): Revive builtin function
546         `save-charset-properties' when HAVE_LIBCHISE is defined.
547
548 2004-07-21  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
549
550         * chartab.c (open_chise_data_source_maybe): Use Vdata_directory
551         instead of Vexec_directory.
552         (char_attribute_system_db_file): Likewise.
553
554 2004-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
555
556         * chartab.c (Fsave_char_attribute_table): Use
557         `save_charset_properties' for CCS features when HAVE_LIBCHISE is
558         defined.
559
560         * mule-charset.c (save_charset_properties): Renamed from
561         `Fsave_charset_properties'; changed to non-Lisp function.
562         (syms_of_mule_charset): Abolish builtin function
563         `save-charset-properties'.
564
565 2004-07-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
566
567         * mule-charset.c (Fsave_charset_properties): New function when
568         HAVE_LIBCHISE is defined.
569         (syms_of_mule_charset): Add new builtin function
570         `save-charset-properties' when HAVE_LIBCHISE is defined.
571
572 2004-06-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
573
574         * chartab.c (Fput_char_attribute): Convert char-specs in value of
575         `{<-|->}ancient[^*]*' to characters and put reverse links.
576         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
577         for `{<-|->}ancient[^*]*'.
578
579 2004-06-19  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
580
581         * chartab.c (Fput_char_attribute): Convert char-specs in value of
582         `{<-|->}original[^*]*' to characters and put reverse links.
583         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
584         for `{<-|->}original[^*]*'.
585
586 2004-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
587
588         * mule-canna.c (m2c): Fix problem with XEmacs CHISE.
589
590 2004-06-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
591
592         * mule-charset.c (Qsystem_char_id): New variable.
593
594         * chartab.c (Qsystem_char_id): Deleted even if HAVE_CHISE is
595         defined and HAVE_LIBCHISE_LIBCHISE is not defined.
596
597 2004-05-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
598
599         * chartab.c (Fput_char_attribute): When processing a reference of
600         a character, put into the end of the reversed reference of each
601         target character.
602
603 2004-05-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
604
605         * chartab.c (Q_same): Deleted.
606         (Q_same_of): Deleted.
607         (Fput_char_attribute): Use Fstring_match to find `{<-|->}same'.
608         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
609         for `{<-|->}same'.
610         (syms_of_chartab): Delete builtin symbol `{<-|->}same'.
611
612 2004-05-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
613
614         * chartab.c (Q_vulgar): Deleted.
615         (Q_vulgar_of): Deleted.
616         (Fput_char_attribute): Use Fstring_match to find `{<-|->}vulgar'.
617         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
618         for `{<-|->}vulgar'.
619         (syms_of_chartab): Don't define `{<-|->}vulgar'.
620
621 2004-04-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
622
623         * chartab.c (Fput_char_attribute): Convert char-specs in value of
624         `{<-|->}wrong[^*]*' to characters and put reverse links.
625         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
626         for `{<-|->}wrong[^*]*'.
627
628 2004-04-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
629
630         * chartab.c (Q_vulgar): New variable.
631         (Q_vulgar_of): New variable.
632         (Fput_char_attribute): Convert char-specs in value of
633         `{->|<-}vulgar' to characters and put reverse links.
634         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
635         for `{->|<-}vulgar'.
636         (syms_of_chartab): Add new symbols `{->|<-}vulgar'.
637
638 2004-04-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
639
640         * text-coding.c (decode_add_er_char): Must to quote prefix string
641         as regexp.
642
643 2004-04-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
644
645         * mule-charset.c (put_char_ccs_code_point): Store characters of
646         =ucs whose code_points >= 0xF0000.
647
648 2004-04-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
649
650         * mule-charset.c (Vcharset_system_char_id): New variable in XEmacs
651         CHISE.
652         (syms_of_mule_charset): Add new symbol `system-char-id' in XEmacs
653         CHISE.
654         (complex_vars_of_mule_charset): Add new coded-charset
655         `system-char-id' in XEmacs CHISE; modify `=ucs' to eliminate
656         builtin characters over 0xEFFFF.
657
658         * chartab.c (syms_of_chartab): Don't define symbol
659         `system-char-id' in every case.
660
661         * char-ucs.h (Qsystem_char_id): New extern variable.
662         (LEADING_BYTE_SYSTEM_CHAR_ID): New macro.
663
664 2004-04-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
665
666         * text-coding.c (char_encode_utf8): Try to use entity-references
667         for U-000F0000 ...  U-0010FFFF.
668
669 2004-04-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
670
671         * text-coding.c (ER_BUF_SIZE): New macro.
672         (struct decoding_stream): Use `ER_BUF_SIZE' to specify size of
673         `er_buf'.
674         (decode_add_er_char): Use `ER_BUF_SIZE' instead of 16.
675         (char_encode_as_entity_reference): Use `ER_BUF_SIZE'.
676
677 2004-03-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
678
679         * chartab.c (find_char_feature_in_family): New function.
680         (Fchar_feature): Use `find_char_feature_in_family' with
681         `->identical', `<-subsumptive' and `<-denotational'.
682
683 2004-03-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
684
685         * text-coding.c (char_encode_as_entity_reference): Allow prefix
686         within 8 characters; fix infinite loop.
687
688 2004-03-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
689
690         * chartab.c (Q_same): New variable.
691         (Q_same_of): New variable.
692         (Fput_char_attribute): Convert char-specs in value of
693         `{->|<-}same' to characters and put reverse links.
694         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
695         for `{->|<-}same'.
696         (syms_of_chartab): Add new symbols `{->|<-}same'.
697
698 2004-03-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
699
700         * chartab.c (Q_component): New variable.
701         (Q_component_of): Likewise.
702         (Fput_char_attribute): Convert char-specs in value of
703         `{->|<-}ideographic-component-forms' to characters and put reverse
704         links.
705         (syms_of_chartab): Add new symbols
706         `{->|<-}ideographic-component-forms'.
707
708 2004-02-24  MORIOKA Tomohiko  <tomo@m17n.org>
709
710         * chartab.c (Q_identical): New variable.
711         (Q_identical_from): New variable.
712         (Fchar_feature): Regard `->identical' as a feature to find
713         ancestors.
714         (Fput_char_attribute): Add reversed link for `{->|<-}identical'.
715         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
716         for `{->|<-}identical'.
717         (syms_of_chartab): Add new symbols `{->|<-}identical'.
718
719 2004-02-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
720
721         * char-ucs.h (encode_char_2): New inline function.
722         (CHAR_TO_CHARC): Use `encode_char_2' instead of `encode_char_1'.
723
724 2004-02-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
725
726         * chartab.c (Fput_char_attribute): Convert char-specs to
727         characters in value of `ideographic-structure'.
728         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
729         for `{<-|->}simplified(@...)'.
730         (Fdefine_char): Try to use predefined character's id.
731
732 2004-02-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
733
734         * fns.c (simplify_char_spec): Try to convert builtin chars to
735         defined chars.
736
737 2004-02-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
738
739         * chartab.c (Fput_char_attribute): Convert char-specs in value of
740         `<-simplified[^*]*' to characters and put reverse links.
741
742 2004-02-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
743
744         * chartab.c (Q_subsumptive): Renamed from Q_unified.
745         (Q_subsumptive_from): Renamed from Q_unified_from.
746         (Fchar_feature): Use `Q_subsumptive_from' instead of
747         `Q_unified_from'.
748         (Fput_char_attribute): Likewise; Use `Q_subsumptive' instead of
749         `Q_unified'.
750         (syms_of_chartab): Rename `->unified' to `->subsumptive' and
751         `<-unified' to `<-subsumptive'.
752
753 2004-02-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
754
755         * chartab.c (Fchar_feature): Check `<-denotational' to avoid
756         inheritance itself; fix typo; stop recursive search if cyclic
757         inheritance is found.
758
759 2004-02-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
760
761         * chartab.c (Q_denotational): New variable.
762         (Q_denotational_from): New variable.
763         (Fchar_feature): Refer `<-denotational' as same as `<-unified'.
764         (put_char_attribute): New function.
765         (Fput_char_attribute): Use `put_char_attribute'; regard
766         `->denotational' and `<-denotational' as same as `->unified' and
767         `<-unified'.
768         (syms_of_chartab): Add new symbols `->denotational' and
769         `<-denotational'.
770
771 2004-02-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
772
773         * chartab.c (Fget_composite_char): Use `Fchar_feature' instead of
774         `Fget_char_attribute'.
775         (Fchar_variants): Likewise.
776         (get_char_table): Likewise.
777         (Fchar_feature): New function.
778         (put_char_composition): Use `Fchar_feature' instead of
779         `Fget_char_attribute'.
780         (Fput_char_attribute): Likewise; don't put the target character
781         into its `->unified' value.
782         (syms_of_chartab): Add new builtin function `char-feature'.
783
784 2004-01-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
785
786         * text-coding.c (COMPOSE_ADD_CHAR): Use `Fchar_feature' instead of
787         `Fget_char_attribute'.
788         (char_encode_utf8): Likewise.
789
790         * chartab.h: Add an EXFUN for `Fchar_feature'.
791
792 2004-01-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
793
794         * chartab.c (Vnext_defined_char_id): New variable.
795         (Fput_char_attribute): Accept characters in `->unified'.
796         (Fdefine_char): Refer and update Vnext_defined_char_id to allocate
797         new characters which are not related with builtin char-id ranges.
798         (vars_of_chartab): Add new variable `next-defined-char-id'.
799
800 2004-01-19  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
801
802         * chartab.c (Q_unified): New variable.
803         (Q_unified_from): New variable.
804         (Fput_char_attribute): Add code for `->unified'.
805         (syms_of_chartab): Add new symbols `->unified' and `<-unified' in
806         XEmacs CHISE.
807
808 2003-11-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
809
810         * mule-charset.c (decode_ccs_conversion): New function.
811         (decode_defined_char): Use `decode_ccs_conversion'.
812         (decode_builtin_char): Likewise.
813
814 2003-11-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
815
816         * char-ucs.h: Change some charset-ids of private coded-charsets.
817
818 2003-11-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
819
820         * text-coding.c (decode_add_er_char): Modify for `DECODE_CHAR'.
821         (char_encode_as_entity_reference): Likewise.
822         (decode_coding_big5): Modify for `decode_defined_char' and
823         `DECODE_CHAR'.
824         (decode_coding_utf8): Modify for `decode_defined_char'; modify to
825         avoid compiler warning.
826         (decode_coding_iso2022): Modify for `DECODE_CHAR'.
827
828         * mule-charset.c (decode_defined_char): Add new argument
829         `without_inheritance'.
830         (Fdecode_char): Add new optional argument `without_inheritance'.
831         (Fdecode_builtin_char): Modify for `Fdecode_char'.
832
833         * fns.c (ids_format_unit): Modify for `Fdecode_char'.
834         (simplify_char_spec): Likewise.
835
836         * chartab.h (Fdecode_char): Modify number of arguments of EXFUN
837         setting.
838
839         * chartab.c (put_char_table): Modify for `DECODE_CHAR'.
840         (map_char_table): Likewise.
841         (Fdefine_char): Use `Fdecode_char' without inheritance.
842         (Ffind_char): Modify for `Fdecode_char'.
843
844         * character.h (CHARC_TO_CHAR): Modify for `DECODE_CHAR'.
845
846         * char-ucs.h (decode_defined_char): Add new argument
847         `without_inheritance'.
848         (DECODE_CHAR): Likewise.
849         (MAKE_CHAR): Modify for `DECODE_CHAR'.
850
851 2003-10-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
852
853         * chartab.c (Vchise_system_db_directory): New variable.
854         (vars_of_chartab): Add new variable `chise-system-db-directory'.
855
856 2003-10-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
857
858         * chartab.c: EXFUN `Fmount_char_attribute_table'.
859         (print_chartab_range): Don't define when `UTF2000' is defined.
860         (open_chise_data_source_maybe): Specify 0 instead of DB_HASH for
861         `CHISE_DS_open'.
862
863 2003-10-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
864
865         * chartab.c (Fchar_attribute_list): When HAVE_LIBCHISE is defined
866         and optional argument `rehash' is specified, call
867         `open_chise_data_source_maybe' before
868         `chise_ds_foreach_char_feature_name' is called.
869
870 2003-10-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
871
872         * chartab.c (char_attribute_list_reset_map_func): New function
873         when HAVE_LIBCHISE is defined.
874         (Fchar_attribute_list): Add new optional argument `rehash' when
875         HAVE_LIBCHISE is defined.
876         (open_chise_data_source_maybe): Use "chise-db" instead of
877         "char-db".
878         (char_attribute_system_db_file): Likewise.
879         (Fload_char_attribute_table): Use
880         `chise_feature_foreach_char_with_value' instead of
881         `chise_char_feature_value_iterate'.
882
883 2003-10-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
884
885         * chartab.c (Vchise_db_directory): New variable.
886         (vars_of_chartab): Add new built-in variable `chise-db-directory'.
887
888 2003-10-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
889
890         * mule-charset.c (Freset_charset_mapping_table): Use HAVE_LIBCHISE
891         instead of HAVE_CHISE to specify using with libchise.
892
893         * config.h.in (HAVE_CHISE_CLIENT): Deleted.
894
895         * chartab.h: Don't use HAVE_CHISE_CLIENT.
896
897         * chartab.c (Qsystem_char_id): Don't define when HAVE_CHISE is not
898         defined or HAVE_LIBCHISE_LIBCHISE is defined.
899         (char_attribute_system_db_file): Don't define when HAVE_LIBCHISE
900         is defined.
901         (Freset_char_attribute_table): Use HAVE_LIBCHISE instead of
902         HAVE_CHISE to specify using with libchise.
903         (syms_of_chartab): Don't define symbol `system-char-id' when
904         HAVE_CHISE is not defined or HAVE_LIBCHISE_LIBCHISE is defined.
905
906 2003-10-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
907
908         * mule-charset.c: Use HAVE_CHISE instead of HAVE_CHISE_CLIENT to
909         specify CHISE DB support.
910         (Freset_charset_mapping_table): Use `chise_ccs_setup_db' instead
911         of `char_attribute_system_db_file' to check feature DB file.
912
913         * chartab.h, casetab.c, char-ucs.h: Use HAVE_CHISE instead of
914         HAVE_CHISE_CLIENT to specify CHISE DB support.
915
916         * chartab.c: Use HAVE_CHISE instead of HAVE_CHISE_CLIENT to
917         specify CHISE DB support.
918         (open_chise_data_source_maybe): Don't define when HAVE_LIBCHISE is
919         not defined.
920         (Freset_char_attribute_table): Use `chise_feature_setup_db'
921         instead of `char_attribute_system_db_file' to check feature DB
922         file.
923
924 2003-10-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
925
926         * mule.c (vars_of_mule): Use `HAVE_CHISE' instead of `CHISE' and
927         `HAVE_CHISE_CLIENT'.
928
929 2003-10-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
930
931         * mule-charset.c: Use HAVE_LIBCHISE instead of CHISE.
932         (Fsave_charset_mapping_table): Don't use
933         `char_attribute_system_db_file' when HAVE_LIBCHISE is defined.
934
935         * config.h.in (HAVE_CHISE): Renamed from `CHISE'.
936         (HAVE_LIBCHISE): New macro.
937
938         * chartab.h: Use HAVE_LIBCHISE instead of CHISE.
939
940         * chartab.c: Use HAVE_LIBCHISE instead of CHISE.
941         (Fsave_char_attribute_table): Don't use
942         `char_attribute_system_db_file' when HAVE_LIBCHISE is defined.
943
944 2003-10-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
945
946         * chartab.c (save_uint8_byte_table): Use libchise when CHISE is
947         defined.
948         (save_uint16_byte_table): Likewise.
949         (save_byte_table): Likewise.
950         (char_table_get_db): Use `chise_ds_load_char_feature_value'
951         instead of `chise_char_load_feature_value'.
952         (Fsave_char_attribute_table): Use libchise when CHISE is defined.
953
954 2003-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
955
956         * chartab.h (struct Lisp_Char_Table): Delete member
957         `feature_table' if CHISE is defined.
958
959         * chartab.c (Fmake_char_table): Don't refer `ct->feature_table'.
960         (Fcopy_char_table): Likewise.
961         (char_table_open_db_maybe): Likewise.
962         (char_table_close_db_maybe): Likewise.
963         (char_table_get_db): Likewise.
964         (Fmount_char_attribute_table): Likewise.
965         (Fload_char_attribute_table): Likewise.
966
967 2003-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
968
969         * mule-charset.c (load_char_decoding_entry_maybe): Use
970         `chise_ds_decode_char' instead of `chise_ds_get_ccs' and
971         `chise_ccs_decode'.
972
973 2003-10-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
974
975         * chartab.c (open_chise_data_source_maybe): Use `CHISE_DS_open'
976         instead of `chise_open_data_source'.
977         (Fclose_char_data_source): Use `CHISE_DS_close' instead of
978         `chise_ds_close'.
979
980 2003-10-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
981
982         * chartab.c (char_table_open_db_maybe): Use `chise_ds_get_feature'
983         instead of `chise_ds_open_feature_table'.
984         (char_table_close_db_maybe): Don't use `chise_ft_close'.
985
986 2003-10-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
987
988         * mule-charset.c (Fsave_charset_mapping_table): Use
989         `chise_ds_get_ccs' instead of `chise_ds_open_ccs_table'; use
990         `chise_ccs_set_decoded_char' instead of `chise_ccst_put_char'; use
991         `chise_ccs_sync' instead of `chise_ccst_close'.
992         (load_char_decoding_entry_maybe): Modify for `chise_ds_get_ccs'.
993
994         * chartab.c (open_chise_data_source_maybe): Modify for
995         `chise_open_data_source'.
996         (char_table_open_db_maybe): Modify for
997         `chise_ds_open_feature_table'.
998
999 2003-08-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1000
1001         * mule-charset.c (load_char_decoding_entry_maybe): Use
1002         `chise_ds_get_ccs' instead of `chise_ds_open_ccs_table'; don't use
1003         `chise_ccst_close'.
1004
1005 2003-08-25  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1006
1007         * mule-charset.c (Fsave_charset_mapping_table): Use
1008         `chise_ds_open_ccs_table', `chise_ccst_put_char' and
1009         `chise_ccst_close' instead of `chise_ds_open_decoding_table',
1010         `chise_dt_put_char' and `chise_dt_close'.
1011         (load_char_decoding_entry_maybe): Use `chise_ds_open_ccs_table',
1012         `chise_ccs_decode' and `chise_ccst_close' instead of
1013         `chise_ds_open_decoding_table', `chise_dt_get_char' and
1014         `chise_dt_close'.
1015
1016         * chartab.c (char_table_get_db): Use
1017         `chise_char_load_feature_value' instead of `chise_ft_get_value'.
1018         (load_char_attribute_table_map_func): Modify for
1019         `chise_char_feature_value_iterate'.
1020         (Fload_char_attribute_table): Use
1021         `chise_char_feature_value_iterate' instead of `chise_ft_iterate'.
1022
1023 2003-10-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1024
1025         * text-coding.c (COMPOSE_ADD_CHAR): Fixed.
1026
1027 2003-08-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1028
1029         * chartab.c (put_char_table): Modify for inherited coded-charsets
1030         in XEmacs CHISE.
1031
1032 2003-08-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1033
1034         * chartab.c (Fput_char_table_map_function): Fixed.
1035         (word_boundary_p): Don't check charset in XEmacs CHISE.
1036
1037 2003-08-17  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1038
1039         * mule-charset.c (Fsave_charset_mapping_table): Use
1040         `open_chise_data_source_maybe'; use `chise_ds_open_decoding_table'
1041         instead of `chise_open_decoding_table'; refer
1042         `default_chise_data_source'; use `chise_dt_close' instead of
1043         `chise_close_decoding_table'.
1044         (load_char_decoding_entry_maybe): Likewise.
1045
1046         * chartab.c (default_chise_data_source): New variable when `CHISE'
1047         is defined.
1048         (Fcopy_char_table): `ct->ds' is deleted.
1049         (open_chise_data_source_maybe): New function.
1050         (Fclose_char_data_source): New function.
1051         (char_table_open_db_maybe): Use `open_chise_data_source_maybe';
1052         use `chise_ds_open_feature_table' instead of
1053         `chise_open_feature_table'.
1054         (char_table_close_db_maybe): Use `chise_ft_close' instead of
1055         `chise_close_feature_table'; `cit->ds' is deleted.
1056         (syms_of_chartab): Add new builtin function
1057         `close-char-data-source' when `HAVE_CHISE_CLIENT' is defined.
1058
1059         * chartab.h (default_chise_data_source): New extern variable.
1060         (open_chise_data_source_maybe): New prototype.
1061         (struct Lisp_Char_Table): Delete `ds'.
1062
1063 2003-08-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1064
1065         * mule-charset.c (Fsave_charset_mapping_table): Use libchise when
1066         `CHISE' is defined.
1067
1068 2003-08-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1069
1070         * chartab.c (char_table_open_db_maybe): Defined even if `CHISE' is
1071         not defined; add code for non-libchise setting.
1072         (char_table_close_db_maybe): Likewise.
1073         (char_table_get_db): New function when `HAVE_CHISE_CLIENT' is
1074         defined.
1075         (Fclose_char_attribute_table): Use `char_table_close_db_maybe'
1076         even if `CHISE' is not defined.
1077         (Freset_char_attribute_table): Likewise.
1078         (load_char_attribute_maybe): Use `char_table_open_db_maybe' and
1079         `char_table_close_db_maybe' even if `CHISE' is not defined; use
1080         `char_table_get_db'.
1081         (Fload_char_attribute_table): Use `char_table_open_db_maybe' and
1082         `char_table_close_db_maybe' even if `CHISE' is not defined.
1083
1084 2003-08-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1085
1086         * chartab.c (char_table_open_db_maybe): New function.
1087         (char_table_close_db_maybe): New function.
1088         (Fclose_char_attribute_table): Use `char_table_close_db_maybe'.
1089         (Freset_char_attribute_table): Likewise.
1090         (load_char_attribute_maybe): Use `char_table_open_db_maybe' and
1091         `char_table_close_db_maybe'.
1092         (Fload_char_attribute_table): Likewise.
1093
1094 2003-08-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1095
1096         * chartab.c: Don't include <chise.h> because it is included in
1097         chartab.h.
1098         (Fmake_char_table): Initialize `ct->feature_table' when `CHISE' is
1099         defined.
1100         (Fcopy_char_table): Copy `ct->ds' and `ct->feature_table' when
1101         `CHISE' is defined.
1102         (Fmount_char_attribute_table): Initialize `ct->feature_table' when
1103         `CHISE' is defined.
1104         (Fclose_char_attribute_table): Close `ct->feature_table' and
1105         `ct->ds' when `CHISE' is defined.
1106         (Freset_char_attribute_table): Likewise.
1107         (load_char_attribute_maybe): Use `cit->ds' and
1108         `cit->feature_table' when `CHISE' is defined.
1109         (Fload_char_attribute_table): Likewise.
1110
1111         * chartab.h: Include <chise.h> when `CHISE' is defined.
1112         (struct Lisp_Char_Table): Add new member `ds' and `feature_table'
1113         when `CHISE' is defined.
1114
1115 2003-08-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1116
1117         * chartab.c (mark_char_table): Member `db' is deleted when `CHISE'
1118         is defined.
1119         (char_table_description): Likewise.
1120         (Fmake_char_table): Likewise.
1121         (Fcopy_char_table): Likewise.
1122         (Fmount_char_attribute_table): Likewise.
1123         (Fclose_char_attribute_table): Likewise.
1124         (Freset_char_attribute_table): Likewise.
1125         (load_char_attribute_maybe): Likewise.
1126         (Fload_char_attribute_table): Likewise.
1127
1128         * chartab.h (struct Lisp_Char_Table): Delete `db' when `CHISE' is
1129         defined.
1130
1131 2003-08-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1132
1133         * chartab.c (load_char_attribute_table_map_func): New function
1134         when CHISE is defined.
1135         (Qload_char_attribute_table_map_function): Don't define when CHISE
1136         is defined.
1137         (Fload_char_attribute_table_map_function): Likewise.
1138         (Fload_char_attribute_table): Use libchise when `CHISE' is
1139         defined.
1140         (syms_of_chartab): Don't define
1141         `load-char-attribute-table-map-function' when CHISE is defined.
1142
1143 2003-08-06  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1144
1145         * chartab.c: Include <chise.h> when `CHISE' is defined.
1146         (load_char_attribute_maybe): Use libchise when `CHISE' is defined.
1147
1148 2003-07-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1149
1150         * mule-charset.c (charset_code_point): Fix problem when searching
1151         in mother CCS fails with `defined_only' mode.
1152
1153 2003-06-29  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1154
1155         * chartab.c (Q_ucs_unified): Renamed from `Q_ucs_variants'.
1156         (Fchar_variants): Rename `Q_ucs_variants' to `Q_ucs_unified'.
1157         (put_char_composition): Likewise.
1158         (Fput_char_attribute): Likewise.
1159         (syms_of_chartab): Rename `->ucs-variants' to `->ucs-unified'.
1160
1161 2003-06-29  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1162
1163         * chartab.c (Q_ucs): Deleted.
1164         (Fput_char_attribute): Don't refer `->ucs'.
1165         (Fdefine_char): Likewise.
1166         (Ffind_char): Likewise.
1167         (syms_of_chartab): Delete `->ucs'.
1168
1169 2003-04-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1170
1171         * mule-charset.c (Qmap_cns11643_2): Renamed from
1172         `Qchinese_cns11643_2'.
1173         (syms_of_mule_charset): Add new symbol `=cns11643-2' instead of
1174         `chinese-cns11643-2'.
1175         (complex_vars_of_mule_charset): Rename `chinese-cns11643-2' to
1176         `=cns11643-2'.
1177
1178 2003-04-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1179
1180         * mule-charset.c (Qmap_cns11643_1): Renamed from
1181         `Qchinese_cns11643_1'.
1182         (syms_of_mule_charset): Add new symbol `=cns11643-1' instead of
1183         `chinese-cns11643-1'.
1184         (complex_vars_of_mule_charset): Rename `chinese-cns11643-1' to
1185         `=cns11643-1'.
1186
1187 2003-04-24  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1188
1189         * mule-charset.c (Qmap_gb12345): Renamed from `Qchinese_gb12345'.
1190         (syms_of_mule_charset): Add new symbol `=gb12345' instead of
1191         `chinese-gb12345'.
1192         (complex_vars_of_mule_charset): Rename `chinese-gb12345' to
1193         `=gb12345'.
1194
1195 2003-04-21  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1196
1197         * mule-charset.c (Qmap_gb2312): Renamed from `Qchinese_gb2312'.
1198         (syms_of_mule_charset): Add new symbol `=gb2312' instead of
1199         `chinese-gb2312'.
1200         (complex_vars_of_mule_charset): Rename `chinese-gb2312' to
1201         `=gb2312'.
1202
1203 2003-04-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1204
1205         * mule-charset.c (Qmap_big5): Renamed from `Qchinese_big5'.
1206         (syms_of_mule_charset): Add new symbol `=big5' instead of
1207         `chinese-big5'.
1208         (complex_vars_of_mule_charset): Rename `chinese-big5' to `=big5'.
1209
1210 2003-04-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1211
1212         * mule-charset.c (Qmap_ks_x1001): Renamed from `Qkorean_ksc5601'.
1213         (syms_of_mule_charset): Add new symbol `=ks-x1001' instead of
1214         `korean-ksc5601'.
1215         (complex_vars_of_mule_charset): Rename `korean-ksc5601' to
1216         `=ks-x1001'.
1217
1218 2003-04-15  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1219
1220         * mule-charset.c (Qmap_jis_x0212): Renamed from
1221         `Qjapanese_jisx0212'.
1222         (syms_of_mule_charset): Add new symbol `=jis-x0212' instead of
1223         `japanese-jisx0212'.
1224         (complex_vars_of_mule_charset): Rename `japanese-jisx0212' to
1225         `=jis-x0212'.
1226
1227 2003-04-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1228
1229         * mule-charset.c (Qmap_jis_x0208_1983): Renamed from
1230         `Qjapanese_jisx0208'.
1231         (syms_of_mule_charset): Add new symbol `=jis-x0208-1983' instead
1232         of `japanese-jisx0208'.
1233         (complex_vars_of_mule_charset): Rename `japanese-jisx0208' to
1234         `=jis-x0208-1983'.
1235
1236 2003-04-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1237
1238         * mule-charset.c (Qmap_jis_x0208_1978): Renamed from
1239         `Qjapanese_jisx0208_1978'.
1240         (syms_of_mule_charset): Add new symbol `=jis-x0208-1978' instead
1241         of `japanese-jisx0208-1978'.
1242         (complex_vars_of_mule_charset): Rename `japanese-jisx0208-1978' to
1243         `=jis-x0208-1978'.
1244
1245 2003-04-04  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1246
1247         * chartab.c (decode_char_table_range): CHARTAB_RANGE_DEFAULT is
1248         only for XEmacs CHISE.
1249
1250 2003-04-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1251
1252         * char-ucs.h: Compact non-ISO-IR charset-ids.
1253         (LEADING_BYTE_UCS): Changed to -177.
1254         (LEADING_BYTE_CONTROL_1): Changed to -77.
1255         (LEADING_BYTE_UCS_BMP): Changed to -176.
1256         (LEADING_BYTE_JAPANESE_JISX0208_1990): Changed to -168.
1257
1258 2003-04-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1259
1260         * mule-charset.c (Qiso_ir): New variable.
1261         (Fmake_charset): Recognise new property `iso-ir'.
1262         (syms_of_mule_charset): Add new symbol `iso-ir'.
1263
1264 2003-04-02  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1265
1266         * char-ucs.h: Change charset-id of ISO-IR sets from ISO-IR-number
1267         n to -n; charset-id of non ISO-IR sets are changed to positive
1268         numbers.
1269
1270 2003-03-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1271
1272         * text-coding.c (decode_add_er_char): Use XUINT instead of XINT
1273         for &MCS-XXXXXXXX; values.
1274
1275 2003-03-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1276
1277         * mule.c (Vxemacs_chise_version): Renamed from
1278         `Vutf_2000_version'.
1279         (vars_of_mule): Add new variable `xemacs-chise-version'; define
1280         `utf-2000-version' as an alias for `xemacs-chise-version'.
1281
1282 2003-03-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1283
1284         * mule-charset.c: Include <chise.h> when `CHISE' is defined.
1285         (load_char_decoding_entry_maybe): Use libchise when `CHISE' is
1286         defined.
1287
1288         * config.h.in (CHISE): New macro.
1289
1290 2003-03-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1291
1292         * mule-charset.c (put_char_ccs_code_point): Refer `=ucs' instead
1293         of `ucs'.
1294         (Qmap_ucs): New variable.
1295         (syms_of_mule_charset): Add new symbol `=ucs'.
1296         (complex_vars_of_mule_charset): Rename `ucs' to `=ucs'.
1297
1298         * fns.c (ids_format_unit): Refer `=ucs' instead of `ucs'.
1299         (simplify_char_spec): Likewise.
1300
1301         * chartab.c (Fdefine_char): Refer `=ucs' as same as `ucs'.
1302
1303         * char-ucs.h (Qmap_ucs): New extern variable.
1304
1305 2003-03-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1306
1307         * mule-charset.c (Qmap_jis_x0208): Renamed from `Qjis_x0208'.
1308         (Qmap_jis_x0208_1990): Renamed from `Qjapanese_jisx0208_1990';
1309         don't define it when UTF2000 is not defined.
1310         (syms_of_mule_charset): Modify for `Qmap_jis_x0208'; rename
1311         `japanese-jisx0208-1990' to `=jis-x0208-1990'; don't define it
1312         when UTF2000 is not defined.
1313         (complex_vars_of_mule_charset): Modify for `Qmap_jis_x0208';
1314         rename `japanese-jisx0208-1990' to `=jis-x0208-1990'.
1315
1316 2003-03-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1317
1318         * char-ucs.h (LEADING_BYTE_UCS_GB): Deleted.
1319
1320         * mule-charset.c (Vcharset_ucs_gb): Deleted.
1321         (Qucs_gb): Deleted.
1322         (syms_of_mule_charset): Delete `ucs-gb'.
1323         (complex_vars_of_mule_charset): Likewise.
1324
1325 2003-03-04  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1326
1327         * char-ucs.h (LEADING_BYTE_UCS_CNS): Deleted.
1328
1329         * mule-charset.c (Vcharset_ucs_cns): Deleted.
1330         (Qucs_cns): Deleted.
1331         (syms_of_mule_charset): Delete `ucs-cns'.
1332         (complex_vars_of_mule_charset): Likewise.
1333
1334 2003-03-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1335
1336         * char-ucs.h (LEADING_BYTE_UCS_JIS): Deleted.
1337
1338         * mule-charset.c (Vcharset_ucs_jis): Deleted.
1339         (Qucs_jis): Deleted.
1340         (syms_of_mule_charset): Delete `ucs-jis'.
1341         (complex_vars_of_mule_charset): Likewise.
1342
1343 2003-03-02  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1344
1345         * char-ucs.h (LEADING_BYTE_UCS_KS): Deleted.
1346
1347         * mule-charset.c (Vcharset_ucs_ks): Deleted.
1348         (Qucs_ks): Deleted.
1349         (syms_of_mule_charset): Delete `ucs-ks'.
1350         (complex_vars_of_mule_charset): Likewise.
1351
1352 2003-03-01  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1353
1354         * mule-charset.c (Vcharset_ideograph_daikanwa_2): Deleted.
1355         (Qideograph_daikanwa_2): Deleted.
1356         (syms_of_mule_charset): Delete `ideograph-daikanwa-2'.
1357         (complex_vars_of_mule_charset): Likewise.
1358
1359         * char-ucs.h (LEADING_BYTE_DAIKANWA_0): Deleted.
1360         (LEADING_BYTE_DAIKANWA_1): Deleted.
1361         (LEADING_BYTE_DAIKANWA_2): Deleted.
1362         (MIN_CHAR_DAIKANWA): Deleted.
1363         (MAX_CHAR_DAIKANWA): Deleted.
1364
1365 2003-02-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1366
1367         * char-ucs.h (LEADING_BYTE_DAIKANWA_3): Deleted.
1368         (LEADING_BYTE_HANZIKU_{1..12}): Deleted.
1369         ({MIN|MAX}_CHAR_HANZIKU_{1..12}): Deleted.
1370
1371         * mule-charset.c (Vcharset_ideograph_hanziku_{1..12}): Deleted.
1372         (Vcharset_ideograph_daikanwa): Deleted.
1373         (Qideograph_hanziku_{1..12}): Deleted.
1374         (Qideograph_daikanwa): Deleted.
1375         (encode_builtin_char_1): Don't use {MIN|MAX}_CHAR_DAIKANWA and
1376         Vcharset_ideograph_daikanwa.
1377         (syms_of_mule_charset): Delete `ideograph-daikanwa' and
1378         `ideograph-hanziku-{1..12}'.
1379         (complex_vars_of_mule_charset): Likewise.
1380
1381 2003-02-26  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1382
1383         * char-ucs.h (LEADING_BYTE_GT_PJ_{1..11}): Deleted.
1384
1385         * mule-charset.c (Vcharset_ideograph_gt_pj_{1..11}): Deleted.
1386         (Qideograph_gt_pj_{1..11}): Deleted.
1387         (syms_of_mule_charset): Delete `ideograph-gt-pj-{1..11}'.
1388         (complex_vars_of_mule_charset): Likewise.
1389
1390 2003-02-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1391
1392         * mule-charset.c (Vcharset_ucs_big5): Deleted.
1393         (Vcharset_ideograph_gt): Deleted.
1394         (Qucs_big5): Deleted.
1395         (Qideograph_gt): Deleted.
1396         (syms_of_mule_charset): Delete symbol `ucs-big5' and
1397         `ideograph-gt'.
1398         (complex_vars_of_mule_charset): Delete coded-charset `ucs-big5'
1399         and `ideograph-gt'.
1400
1401         * char-ucs.h (LEADING_BYTE_UCS_BIG5): Deleted.
1402         (LEADING_BYTE_GT): Deleted.
1403         (MIN_CHAR_GT): Deleted.
1404         (MAX_CHAR_GT): Deleted.
1405
1406 2003-02-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1407
1408         * chartab.c (Fput_char_attribute): Canonicalise charset-aliases.
1409
1410 2003-01-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1411
1412         * chartab.c (save_uint8_byte_table): Add new argument `filter'.
1413         (save_uint16_byte_table): Likewise.
1414         (save_byte_table): Likewise; convert values by it.
1415         (Fput_char_attribute): Don't use `char-refs-simplify-char-specs'
1416         for `ideographic-structure'.
1417         (Fsave_char_attribute_table): Use `char-refs-simplify-char-specs'
1418         as the filter for `ideographic-structure'.
1419
1420 2003-01-07  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1421
1422         * chartab.c (put_char_composition): New function.
1423         (Fput_char_attribute): Use `put_char_composition'; use
1424         `Fchar_refs_simplify_char_specs' for `ideographic-structure'.
1425
1426         * fns.c (simplify_char_spec): New function.
1427         (char_ref_simplify_spec): New function.
1428         (Fchar_refs_simplify_char_specs): New function.
1429         (syms_of_fns): Add new builtin function
1430         `char-refs-simplify-char-specs'.
1431
1432 2003-01-05  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1433
1434         * mule-charset.c (Vcharset_ideograph_cbeta): Deleted.
1435         (Qideograph_cbeta): Deleted.
1436         (syms_of_mule_charset): Don't define `ideograph-cbeta'.
1437         (complex_vars_of_mule_charset): Likewise.
1438
1439         * char-ucs.h (LEADING_BYTE_CBETA): Deleted.
1440         (MIN_CHAR_CBETA): Comment out.
1441         (MAX_CHAR_CBETA): Likewise.
1442
1443 2002-12-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1444
1445         * mule-charset.c, chartab.h, casetab.c, char-ucs.h, chartab.c: Use
1446         `HAVE_CHISE_CLIENT' instead of `HAVE_DATABASE' to indicate the
1447         CHISE client feature.
1448
1449 2002-12-25  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1450
1451         * mule.c (vars_of_mule): Update `utf-2000-version' to 0.20.
1452
1453 2002-12-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1454
1455         * mule-charset.c (charset_lookup_description_1): Use
1456         `NUM_LEADING_BYTES' in UTF-2000.
1457
1458 2002-12-18  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1459
1460         * char-ucs.h (GC_CHARSETP): Deleted.
1461
1462 2002-12-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1463
1464         * char-ucs.h (MAX_CHAR_GT): Updated.
1465
1466 2002-12-15  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1467
1468         * text-coding.c: Sync with XEmacs 21.4.10.
1469
1470 2002-11-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1471
1472         * mule-charset.c (Vcharset_china3_jef): Deleted.
1473         (Qchina3_jef): Deleted.
1474         (syms_of_mule_charset): Don't define `china3-jef'.
1475         (complex_vars_of_mule_charset): Likewise.
1476
1477         * char-ucs.h (LEADING_BYTE_CHINA3_JEF): Deleted.
1478         (MIN_CHAR_CHINA3_JEF): Comment out.
1479         (MAX_CHAR_CHINA3_JEF): Comment out.
1480
1481 2002-11-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1482
1483         * mule-charset.c (Vcharset_ucs_gb): New variable.
1484         (Qucs_gb): New variable.
1485         (syms_of_mule_charset): Add new symbol `ucs-gb'.
1486         (complex_vars_of_mule_charset): Add new coded-charset `ucs-gb'.
1487
1488         * char-ucs.h (LEADING_BYTE_UCS_GB): New macro.
1489
1490 2002-11-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1491
1492         * mule-charset.c (charset_code_point): if a coded-charset has a
1493         final-byte, don't inherit the builtin range of the mother CCS.
1494
1495 2002-11-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1496
1497         * mule-charset.c (charset_code_point): Fix problem about
1498         inheritance.
1499
1500 2002-11-14  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1501
1502         * mule-charset.c (decode_builtin_char): Reorganized.
1503
1504 2002-10-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1505
1506         * text-coding.c (char_encode_as_entity_reference): Modify for
1507         `charset_code_point'.
1508         (char_encode_shift_jis): Likewise.
1509         (char_encode_big5): Likewise.
1510         (char_encode_utf8): Likewise.
1511         (char_encode_iso2022): Likewise.
1512
1513         * mule-charset.c (charset_code_point): Add new argument
1514         `defined_only'.
1515         (Fencode_char): Add new optional argument `defined_only'.
1516
1517         * chartab.c (put_char_table): Modify for `charset_code_point'.
1518
1519         * char-ucs.h (charset_code_point): Add new argument
1520         `defined_only'.
1521         (encode_char_1): Modify for `charset_code_point'.
1522
1523 2002-10-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1524
1525         * mule-charset.c (complex_vars_of_mule_charset): Don't specify
1526         `MIN_CHAR_THAI' and `MAX_CHAR_THAI' for `thai-tis620'.
1527
1528 2002-10-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1529
1530         * mule-charset.c (Vcharset_jis_x0208): New variable in UTF-2000.
1531         (Qjis_x0208): Likewise.
1532         (decode_builtin_char): Prefer XCHARSET_MAX_CODE(charset) than
1533         XCHARSET_FINAL(charset).
1534         (charset_code_point): Modify condition for final-byte based
1535         builtin-chars.
1536         (syms_of_mule_charset): Add new symbol `=jis-x0208' in UTF-2000.
1537         (complex_vars_of_mule_charset): Add new coded-charset `=jis-x0208'
1538         in UTF-2000; specify `=jis-x0208' as the mother of
1539         `japanese-jisx0208-1978', `japanese-jisx0208' and
1540         `japanese-jisx0208-1990' in UTF-2000.
1541
1542 2002-10-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1543
1544         * char-ucs.h (LEADING_BYTE_JIS_X0208): New macro.
1545
1546 2002-10-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1547
1548         * text-coding.c (decode_coding_utf16): Support UTF-16.
1549         (char_encode_utf16): Fixed.
1550
1551 2002-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1552
1553         * text-coding.c (Qutf16): New variable in MULE.
1554         (Fmake_coding_system): Accept `utf-16' as `type' in MULE.
1555         (Fcoding_system_type): Add `utf-16' in MULE.
1556         (struct detection_state): Add a structure for utf16 in MULE.
1557         (detect_coding_type): Setup st->utf16.mask in MULE.
1558         (mule_decode): Use `decode_coding_utf16' for `CODESYS_UTF16' in
1559         MULE.
1560         (reset_encoding_stream): Use `char_encode_utf16' and
1561         `char_finish_utf16' for `CODESYS_UTF16' in MULE.
1562         (detect_coding_utf16): New function [incomplete].
1563         (decode_coding_utf16): New function [support only UCS-2].
1564         (char_encode_utf16): New function.
1565         (char_finish_utf16): New function.
1566         (syms_of_file_coding): Add new symbol `utf-16'; setup
1567         `coding_category_symbol[CODING_CATEGORY_UTF16]'.
1568
1569         * file-coding.h (enum coding_system_type): Add `CODESYS_UTF16' in
1570         UTF-2000.
1571         (enum coding_category_type): Add `CODING_CATEGORY_UTF16' in MULE.
1572         (CODING_CATEGORY_UTF16_MASK): New macro in MULE.
1573
1574 2002-10-08  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1575
1576         * chartab.c (put_char_table): When a charset is specified as a
1577         range in UTF-2000, don't support builtin characters.
1578
1579 2002-09-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1580
1581         * mule-charset.c (decode_defined_char): Don't refer external
1582         database if Qunbound or Qnil are found.
1583         (Fsave_charset_mapping_table): Don't define it if
1584         HAVE_CHISE_CLIENT is not defined.
1585         (Freset_charset_mapping_table): New function.
1586         (load_char_decoding_entry_maybe): Store Qnil if a character is not
1587         found in external database.
1588         (syms_of_mule_charset): Don't define `save-charset-mapping-table'
1589         if HAVE_CHISE_CLIENT is not defined; add new builtin function
1590         `reset-charset-mapping-table' if HAVE_CHISE_CLIENT is defined.
1591
1592 2002-09-18  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1593
1594         * text-coding.c (decode_coding_utf8): Check CCS is specified or
1595         not.
1596
1597 2002-08-26  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1598
1599         * chartab.h: Add extern declarations for Qdowncase, Qflippedcase,
1600         Q_lowercase, Q_uppercase in UTF-2000.
1601
1602         * chartab.c (get_char_table): Add special code for the standard
1603         case table to use character attribute `->downcase' and
1604         `->uppercase' for case operations in UTF-2000.
1605
1606         * casetab.c (Qflippedcase): New variable in UTF-2000.
1607         (Q_lowercase): Likewise.
1608         (Q_uppercase): Likewise.
1609         (syms_of_casetab): Add new symbols `flippedcase', `->lowercase'
1610         and `->uppercase' in UTF-2000.
1611         (complex_vars_of_casetab): Assign attribute name `downcase' to
1612         downcase and CANON table of Vstandard_case_table in UTF-2000;
1613         assign attribute name `flippedcase' to upcase and EQV table of
1614         Vstandard_case_table in UTF-2000.
1615
1616 2002-08-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1617
1618         * text-coding.c (decode_add_er_char): Support isolated-chars.
1619         (char_encode_as_entity_reference): Likewise.
1620
1621 2002-08-13  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1622
1623         * emacs.c (Vutf_2000_lisp_directory): New variable.
1624         (Vconfigure_utf_2000_lisp_directory): Likewise.
1625         (complex_vars_of_emacs): Add new variable
1626         `utf-2000-lisp-directory' and `configure-utf-2000-lisp-directory'.
1627
1628 2002-08-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1629
1630         * char-ucs.h (DECODE_CHAR): Delete special code for
1631         `chinese-big5-1' and `chinese-big5-2'.
1632
1633         * mule-charset.c (Qbig5_1): New variable in UTF-2000.
1634         (Qbig5_2): Likewise.
1635         (decode_defined_char): Support CONVERSION_BIG5_1 and
1636         CONVERSION_BIG5_2.
1637         (decode_builtin_char): Likewise.
1638         (charset_code_point): Likewise.
1639         (Fmake_charset): Accept `big5-1' and `big5-2' as a value of
1640         'conversion in UTF-2000.
1641         (syms_of_mule_charset): Add new symbol `big5-1' and `big5-2'.
1642         (complex_vars_of_mule_charset): Define `chinese-big5-1' and
1643         `chinese-big5-2' as children of `chinese-big5'.
1644
1645         * char-ucs.h (CONVERSION_BIG5_1): New macro.
1646         (CONVERSION_BIG5_2): New macro.
1647
1648 2002-08-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1649
1650         * text-coding.c (char_encode_big5): Support entity-reference.
1651
1652 2002-08-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1653
1654         * text-coding.c (char_encode_as_entity_reference): New function.
1655         (char_encode_utf8): Use `char_encode_as_entity_reference'.
1656
1657 2002-08-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1658
1659         * text-coding.c (decode_coding_big5): Support entity-reference
1660         decoding feature.
1661
1662 2002-08-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1663
1664         * text-coding.c (allocate_coding_system): Initialize initial
1665         charsets for CODESYS_UTF8.
1666         (Fmake_coding_system): Accept charset-g0, charset-g1 and
1667         charset-g2 for CODESYS_UTF8.
1668         (decode_coding_utf8): Use charset-g0.
1669         (char_encode_utf8): Use charset-g0; use charset-g1 and charset-g2
1670         to force variants to map to UCS.
1671
1672 2002-07-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1673
1674         * text-coding.c (Qutf_8_mcs): New variable.
1675         (syms_of_file_coding): Add new symbol `utf-8-mcs' in UTF-2000.
1676         (complex_vars_of_file_coding): Define coding-system `utf-8-mcs'
1677         instead of `utf-8' in UTF-2000.
1678
1679 2002-07-22  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1680
1681         * mule-charset.c (charset_code_point): If CHARSET_CONVERSION is
1682         CONVERSION_IDENTICAL, identical conversion is used even if a CCS
1683         is ISO-2022 style; instead of it, CONVERSION_94, CONVERSION_96,
1684         CONVERSION_94x94, CONVERSION_96x96, CONVERSION_94x94x94,
1685         CONVERSION_96x96x96, CONVERSION_94x94x94x94 and
1686         CONVERSION_96x96x96x96 are introduced.
1687         (complex_vars_of_mule_charset): Specify CONVERSION_96 instead of
1688         CONVERSION_IDENTICAL for thai-tis620; Specify CONVERSION_94x94
1689         instead of CONVERSION_IDENTICAL for japanese-jisx0208-1990.
1690
1691         * char-ucs.h (CONVERSION_94): New macro.
1692         (CONVERSION_96): New macro.
1693         (CONVERSION_94x94): New macro.
1694         (CONVERSION_96x96): New macro.
1695         (CONVERSION_94x94x94): New macro.
1696         (CONVERSION_96x96x96): New macro.
1697         (CONVERSION_94x94x94x60): New macro.
1698         (CONVERSION_94x94x94x94): New macro.
1699         (CONVERSION_96x96x96x96): New macro.
1700
1701 2002-07-17  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1702
1703         * chartab.c (Vcharacter_variant_table): Deleted.
1704         (Fchar_variants): Use character-attribute `->ucs-variants' instead
1705         of `Vcharacter_variant_table'.
1706         (Fput_char_attribute): Likewise.
1707         (vars_of_chartab): Don't setup `Vcharacter_variant_table'.
1708         (complex_vars_of_chartab): Likewise.
1709
1710 2002-07-17  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1711
1712         * lisp.h: Add an EXFUN for `Fchar_ref_p'.
1713
1714         * fns.c (Qideographic_structure): New variable.
1715         (Qkeyword_char): New variable.
1716         (ids_format_unit): New function.
1717         (Fideographic_structure_to_ids): New function.
1718         (syms_of_fns): Add new symbols `ideographic-structure' and
1719         `:char'; add new builtin function `ideographic-structure-to-ids'.
1720
1721         * data.c (Fchar_ref_p): New function.
1722         (syms_of_data): Add new builtin function `char-ref-p'.
1723
1724         * chartab.h: Add an EXFUN for `Ffind_char'.
1725
1726 2002-07-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1727
1728         * text-coding.c (Vcharacter_composition_table): Deleted.
1729         (COMPOSE_ADD_CHAR): Use the implementation for external-DB support
1730         in every UTF-2000.
1731
1732         * chartab.c: Add EXFUN for `Fmap_char_attribute' in every
1733         UTF-2000.
1734         (Vcharacter_composition_table): Deleted.
1735         (Fget_composite_char): Use the implementation for external-DB
1736         support in every UTF-2000.
1737         (Fput_char_attribute): Likewise.
1738         (char_attribute_system_db_file): Don't define if external-DB
1739         feature is not available.
1740         (Fsave_char_attribute_table): Likewise.
1741         (Fmount_char_attribute_table): Likewise.
1742         (Fclose_char_attribute_table): Likewise.
1743         (Freset_char_attribute_table): Likewise.
1744         (Fload_char_attribute_table): Likewise.
1745         (syms_of_chartab): Don't define `save-char-attribute-table',
1746         `mount-char-attribute-table', `reset-char-attribute-table',
1747         `close-char-attribute-table' and `load-char-attribute-table' if
1748         external-DB feature is not available.
1749         (vars_of_chartab): Don't setup `Vcharacter_composition_table'.
1750
1751 2002-07-15  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1752
1753         * text-coding.c (Qcomposition): Add extern if external-DB feature
1754         is supported.
1755         (Vcharacter_composition_table): Don't add extern if external-DB
1756         feature is supported.
1757         (COMPOSE_ADD_CHAR): Modify for new data-representation of
1758         character composition rule if external-DB feature is supported.
1759
1760         * chartab.c (Vcharacter_composition_table): Don't define if
1761         external-DB feature is supported.
1762         (Qcomposition): New variable.
1763         (Fget_composite_char): New implementation for external-DB support.
1764         (Fput_char_attribute): Use `composition' property of each
1765         character instead of `Vcharacter_composition_table' to store
1766         character-composition rules if external-DB feature is supported.
1767         (syms_of_chartab): Add new symbol `composition'.
1768         (vars_of_chartab): Don't setup `Vcharacter_composition_table' if
1769         external-DB feature is supported.
1770
1771 2002-07-14  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1772
1773         * chartab.c (Vchar_db_stingy_mode): New variable.
1774         (load_char_attribute_maybe): Close database if
1775         Vchar_db_stingy_mode is not NIL.
1776         (Fload_char_attribute_table_map_function): Use
1777         `get_char_id_table_0' instead of `get_char_id_table'.
1778         (vars_of_chartab): Add new variable `char-db-stingy-mode'.
1779
1780         * chartab.h (get_char_id_table_0): New inline function.
1781         (get_char_id_table): Use `get_char_id_table_0'.
1782
1783 2002-07-07  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1784
1785         * text-coding.c (decode_coding_utf8): Use `COMPOSE_FLUSH_CHARS'
1786         and `COMPOSE_ADD_CHAR'.
1787         (decode_coding_iso2022): Use `decode_flush_er_chars'.
1788
1789 2002-07-07  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1790
1791         * text-coding.c (COMPOSE_FLUSH_CHARS): Use `decode_add_er_char'
1792         instead of `DECODE_ADD_UCS_CHAR'.
1793         (COMPOSE_ADD_CHAR): Likewise.
1794
1795 2002-07-06  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1796
1797         * text-coding.c (decode_flush_er_chars): New inline function.
1798         (decode_add_er_char): New function.
1799         (decode_coding_utf8): Use `decode_flush_er_chars' and
1800         `decode_add_er_char'.
1801
1802 2002-07-06  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1803
1804         * text-coding.c (decode_coding_utf8): Flush for er_buf must be
1805         done before `decode_output_utf8_partial_char'.
1806
1807         * mule-charset.c (complex_vars_of_mule_charset): Specify
1808         `Vcharset_ucs' as the mother of `Vcharset_ucs_cns',
1809         `Vcharset_ucs_ks' and `Vcharset_ucs_big5'.
1810
1811 2002-07-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1812
1813         * mule-charset.c (decode_defined_char): New function; search
1814         mother.
1815         (decode_builtin_char): Don't search mother if
1816         XCHARSET_MAX_CODE(charset) == 0.
1817         (charset_code_point): Search mother if XCHARSET_MAX_CODE(charset)
1818         == 0 even if code >= XCHARSET_MAX_CODE(charset).
1819         (Fdecode_char): Use `decode_defined_char' instead of
1820         `DECODE_DEFINED_CHAR'.
1821         (complex_vars_of_mule_charset): Specify `Vcharset_ucs' as the
1822         mother of `Vcharset_ucs_jis'.
1823
1824         * text-coding.c (decode_coding_big5): Use `decode_defined_char'
1825         instead of `DECODE_DEFINED_CHAR'.
1826
1827         * char-ucs.h (decode_defined_char): Renamed from
1828         `DECODE_DEFINED_CHAR'; changed to normal function.
1829         (DECODE_CHAR): Use `decode_defined_char' instead of
1830         `DECODE_DEFINED_CHAR'.
1831
1832         * lisp.h: Add `EXFUN' for `Fstring_to_number'.
1833
1834 2002-07-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1835
1836         * char-ucs.h: Add `extern' for `Vcharset_ucs'.
1837
1838         * text-coding.c (Vcoded_charset_entity_reference_alist): New
1839         variable.
1840         (Quse_entity_reference): New variable.
1841         (Qd): New variable.
1842         (Qx): New variable.
1843         (QX): New variable.
1844         (coding_system_description): Add description for
1845         `ccs_priority_list'.
1846         (mark_coding_system): Mark `ccs_priority_list' in UTF-2000.
1847         (allocate_coding_system): Initialize `ccs_priority_list' in
1848         UTF-2000.
1849         (Fmake_coding_system): Add description about
1850         'use-entity-reference; setup CODING_SYSTEM_USE_ENTITY_REFERENCE
1851         (codesys).
1852         (Fcoding_system_property): Accept `disable-composition' and
1853         `use-entity-reference' in UTF-2000.
1854         (struct decoding_stream): Add new member `er_counter' and `er_buf'
1855         in UTF-2000.
1856         (reset_decoding_stream): Initialize `str->er_counter' in UTF-2000.
1857         (decode_coding_utf8): Decode entity-reference if
1858         CODING_SYSTEM_USE_ENTITY_REFERENCE (str->codesys).
1859         (char_encode_utf8): Encode non-Unicode characters as
1860         entity-references if CODING_SYSTEM_USE_ENTITY_REFERENCE
1861         (str->codesys).
1862         (syms_of_file_coding): Add new symbols `use-entity-reference',
1863         `d', `x', `X'.
1864         (vars_of_file_coding): Add new variable
1865         `coded-charset-entity-reference-alist'.
1866         (complex_vars_of_file_coding): Declare `disable-composition' and
1867         `use-entity-reference' to be coding-system-properties in UTF-2000.
1868
1869         * file-coding.h (struct Lisp_Coding_System): Add new member
1870         `use_entity_reference' and `ccs_priority_list'.
1871         (CODING_SYSTEM_USE_ENTITY_REFERENCE): New macro.
1872         (CODING_SYSTEM_CCS_PRIORITY_LIST): New macro.
1873         (XCODING_SYSTEM_USE_ENTITY_REFERENCE): New macro.
1874
1875 2002-07-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1876
1877         * chartab.c (save_uint8_byte_table): Don't clear the table.
1878         (save_uint16_byte_table): Likewise.
1879         (save_byte_table): Likewise.
1880         (Fmount_char_attribute_table): New function.
1881         (syms_of_chartab): Add new builtin function
1882         `mount-char-attribute-table'.
1883
1884 2002-07-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1885
1886         * mule-charset.c (Fsave_charset_mapping_table): Open database as
1887         "w+" mode.
1888         (load_char_decoding_entry_maybe): Open database as read-only mode.
1889
1890         * chartab.c (Fsave_char_attribute_table): Don't share `ct->db';
1891         open database as "w+" mode.
1892         (load_char_attribute_maybe): Open database as read-only mode.
1893         (Fload_char_attribute_table): Likewise.
1894
1895 2002-07-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1896
1897         * chartab.c (mark_char_table): Don't refer `ct->db_file'.
1898         (char_table_description): Delete member `db_file'.
1899         (Fmake_char_table): Don't refer `ct->db_file'.
1900         (Fcopy_char_table): Likewise.
1901         (Fsave_char_attribute_table): Likewise.
1902         (Fclose_char_attribute_table): Likewise.
1903         (Freset_char_attribute_table): Likewise.
1904         (load_char_attribute_maybe): Likewise.
1905         (Fload_char_attribute_table): Likewise.
1906
1907         * chartab.h (struct Lisp_Char_Table): Delete member `db_file'.
1908
1909 2002-07-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1910
1911         * chartab.c: Add an EXFUN for `Fmap_char_attribute'.
1912         (Fsave_char_attribute_table): Don't check `ct->db_file' if
1913         `ct->db' is living.
1914         (load_char_attribute_maybe): Likewise.
1915         (Fload_char_attribute_table): Likewise.
1916
1917 2002-07-01  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1918
1919         * chartab.c (Fclose_char_attribute_table): Set Qnil on
1920         `ct->db_file' unconditionally.
1921
1922 2002-07-01  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1923
1924         * chartab.c (mark_char_table): Mark `ct->db_file' and `ct->db' in
1925         UTF-2000.
1926         (char_table_description): Add description for `db_file' and `db'
1927         in UTF-2000.
1928         (Fmake_char_table): Initialize `ct->db_file' and `ct->db' in
1929         UTF-2000.
1930         (Fcopy_char_table): Copy `ct->db_file' and `ct->db' in UTF-2000.
1931         (Fsave_char_attribute_table): Use `ct->db_file' and `ct->db'.
1932         (Fclose_char_attribute_table): New function.
1933         (Freset_char_attribute_table): Reset `ct->db_file' and `ct->db'.
1934         (load_char_attribute_maybe): Change interface; use `cit->db_file'
1935         and `cit->db'.
1936         (Fload_char_attribute_table): Use `ct->db_file' and `ct->db'.
1937         (syms_of_chartab): Add new builtin function
1938         `Fclose_char_attribute_table'.
1939
1940 2002-06-28  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1941
1942         * chartab.h (struct Lisp_Char_Table): Add new member `db_file' and
1943         `db' in UTF-2000.
1944         (load_char_attribute_maybe): Change interface.
1945         (get_char_id_table): Modify for `load_char_attribute_maybe'.
1946
1947 2002-06-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1948
1949         * database.h: Add an EXFUN for `Fdatabase_live_p'.
1950
1951 2002-04-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1952
1953         * mule-charset.c (decode_builtin_char): Use `decode_builtin_char'
1954         instead of `DECODE_CHAR' for mother; don't use special code for
1955         chinese-big5 to use code space of chinese-big5-1 and
1956         chinese-big5-2.
1957         (complex_vars_of_mule_charset): Use `MIN_CHAR_BIG5_CDP' and
1958         `MAX_CHAR_BIG5_CDP' for chinese-big5.
1959
1960         * char-ucs.h (MIN_CHAR_BIG5_CDP): Revival.
1961         (MAX_CHAR_BIG5_CDP): Revival.
1962
1963 2002-04-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1964
1965         * mule-charset.c (complex_vars_of_mule_charset): Use "big5-0" as
1966         the XLFD registry-encoding name of `chinese-big5'.
1967
1968 2002-04-08  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1969
1970         * mule-charset.c (Vcharset_chinese_big5_cdp): Deleted.
1971         (Qchinese_big5_cdp): Deleted.
1972         (syms_of_mule_charset): Delete symbol `chinese-big5-cdp'.
1973         (complex_vars_of_mule_charset): Delete coded-charset
1974         `chinese-big5-cdp'.
1975
1976         * char-ucs.h (CHARSET_ID_OFFSET): Deleted.
1977         (LEADING_BYTE_*): Use `MIN_LEADING_BYTE + n' instead of
1978         `CHARSET_ID_OFFSET - n' for private CCS.
1979         (LEADING_BYTE_CHINESE_BIG5_CDP): Deleted.
1980         (MIN_LEADING_BYTE_PRIVATE): Use `(MIN_LEADING_BYTE + 97)' instead
1981         of `MIN_LEADING_BYTE'.
1982         (MAX_LEADING_BYTE_PRIVATE): Use `-1' instead of
1983         `(CHARSET_ID_OFFSET - 97)'.
1984         (MIN_CHAR_BIG5_CDP): Deleted.
1985         (MAX_CHAR_BIG5_CDP): Deleted.
1986
1987 2002-03-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1988
1989         * mule.c (vars_of_mule): Update `utf-2000-version' to 0.19.
1990
1991 2002-03-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1992
1993         * mule.c (Vutf_2000_version): New variable [moved from chartab.c].
1994         (vars_of_mule): Add new variable `utf-2000-version' [moved from
1995         chartab.c].
1996
1997         * chartab.c (Vutf_2000_version): Moved to mule.c.
1998         (vars_of_chartab): Move code about `utf-2000-version' into mule.c.
1999
2000 2002-03-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2001
2002         * mule-charset.c (load_char_decoding_entry_maybe): Don't define it
2003         when HAVE_CHISE_CLIENT is not defined.
2004
2005         * mule.c (vars_of_mule): Provide feature `chise' when
2006         HAVE_CHISE_CLIENT is defined.
2007
2008 2002-03-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2009
2010         * config.h.in (UTF2000): Add comment.
2011         (HAVE_CHISE_CLIENT): New macro.
2012
2013 2002-02-25  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2014
2015         * chartab.c (Fchar_variants): Check Vcharacter_variant_table is
2016         CONSP.
2017         (Fput_char_attribute): Likewise.
2018         (char_attribute_system_db_file): Encode file-name of attribute.
2019         (vars_of_chartab): Set Qunbound into Vcharacter_variant_table as
2020         the initial value.
2021
2022 2002-02-13  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2023
2024         * mule-charset.c (put_char_ccs_code_point): Delete unused codes.
2025         (Fsave_charset_mapping_table): Use
2026         `char_attribute_system_db_file'.
2027         (load_char_decoding_entry_maybe): Likewise.
2028
2029         * chartab.h (Qsystem_char_id): New external variable.
2030         (char_attribute_system_db_file): New prototype.
2031
2032         * chartab.c (Qsystem_char_id): New variable in UTF-2000.
2033         (char_attribute_system_db_file): New function.
2034         (Fsave_char_attribute_table): Use `char_attribute_system_db_file'.
2035         (Freset_char_attribute_table): Likewise.
2036         (load_char_attribute_maybe): Likewise.
2037         (Fload_char_attribute_table): Likewise.
2038         (syms_of_chartab): Add new symbol `system-char-id'.
2039
2040 2002-02-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2041
2042         * char-ucs.h (DECODE_DEFINED_CHAR): Don't check
2043         `XCHARSET_GRAPHIC(ccs)'.
2044
2045 2002-02-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2046
2047         * mule-charset.c (Fsave_charset_mapping_table): Fixed.
2048
2049 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2050
2051         * chartab.c (Q_ucs_variants): New variable.
2052         (syms_of_chartab): Add new symbol `->ucs-variants'.
2053         (complex_vars_of_chartab): Set `Vcharacter_variant_table' on
2054         `Vchar_attribute_hash_table' as the value of `->ucs-variants'; set
2055         `->ucs-variants' on `XCHAR_TABLE_NAME (Vcharacter_variant_table)'.
2056
2057         * mule-charset.c (load_char_decoding_entry_maybe): New function.
2058
2059         * char-ucs.h (load_char_decoding_entry_maybe): New prototype when
2060         `HAVE_DATABASE' is defined.
2061         (DECODE_DEFINED_CHAR): Use `load_char_decoding_entry_maybe' when
2062         `HAVE_DATABASE' is defined.
2063
2064 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2065
2066         * chartab.c (Fsave_char_attribute_table): Don't clear internal
2067         attribute-table.
2068         (Freset_char_attribute_table): New function.
2069         (syms_of_chartab): Add new builtin function
2070         `reset-char-attribute-table'.
2071
2072 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2073
2074         * chartab.c (load_char_attribute_maybe): Don't make directories.
2075
2076 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2077
2078         * char-ucs.h: Add EXFUN for `Fmake_directory_internal'.
2079
2080         * mule-charset.c (put_char_ccs_code_point): Don't prepare a vector
2081         for decoding-table.
2082
2083 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2084
2085         * mule-charset.c (Fsave_charset_mapping_table): Use
2086         `XCHARSET_BYTE_SIZE' instead of `XCHARSET_CHARS'.
2087
2088         * char-ucs.h (put_ccs_octet_table): Use `XCHARSET_BYTE_SIZE'
2089         instead of `XCHARSET_CHARS'.
2090
2091 2002-02-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2092
2093         * mule-charset.c (CHARSET_BYTE_SIZE): Moved to char-ucs.h.
2094         (XCHARSET_BYTE_SIZE): Likewise.
2095
2096         * char-ucs.h (CHARSET_BYTE_SIZE): New inline function [moved from
2097         mule-charset.c].
2098         (XCHARSET_BYTE_SIZE): Likewise.
2099
2100 2002-02-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2101
2102         * chartab.c (Fput_char_attribute): Use exec-directory instead of
2103         data-directory to store database.
2104         (Fsave_char_attribute_table): Likewise.
2105         (load_char_attribute_maybe): Likewise.
2106         (Fload_char_attribute_table): Likewise.
2107
2108 2002-02-08  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2109
2110         * mule-charset.c (Fsave_charset_mapping_table): New function.
2111         (syms_of_mule_charset): Add new builtin function
2112         `save-charset-mapping-table'.
2113
2114 2002-02-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2115
2116         * char-ucs.h (decoding_table_check_elements): Delete prototype.
2117         (get_ccs_octet_table): New inline function.
2118         (put_ccs_octet_table): Likewise.
2119         (decoding_table_put_char): Use `get_ccs_octet_table' and
2120         `put_ccs_octet_table'.
2121         (decoding_table_remove_char): Use `decoding_table_put_char'.
2122         (DECODE_DEFINED_CHAR): Use `get_ccs_octet_table'.
2123
2124         * mule-charset.c (remove_char_ccs): Store Qunbound instead of Qnil
2125         into encoding_table.
2126         (make_charset): Use Qunbound instead Qnil as initial value of
2127         decoding_table.
2128
2129 2002-02-04  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2130
2131         * chartab.c (map_over_uint8_byte_table): Set Qunbound if an
2132         element is Qunloaded.
2133         (map_over_uint16_byte_table): Likewise.
2134         (map_over_byte_table): Likewise.
2135         (map_char_table): Likewise for CHARTAB_RANGE_ALL in UTF-2000; when
2136         CHARTAB_RANGE_CHARSET is specified in UTF-2000 with external
2137         database support, load encoding-table of the specified
2138         coded-charset if it is not loaded yet.
2139         (save_uint8_byte_table): New function of UTF-2000 with external
2140         database support.
2141         (save_uint16_byte_table): Likewise.
2142         (save_byte_table): Likewise.
2143         (Fput_char_attribute): Don't store value into external database
2144         even if the external database feature is supported in UTF-2000;
2145         set `attribute' as name of char-table if the external database
2146         feature is supported.
2147         (Fsave_char_attribute_table): New function in UTF-2000.
2148         (syms_of_chartab): Add new builtin function
2149         `save-char-attribute-table' in UTF-2000.
2150
2151 2002-02-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2152
2153         * chartab.c (char_attribute_table_to_put): New variable in
2154         UTF-2000.
2155         (Qput_char_table_map_function): Likewise.
2156         (value_to_put): Likewise.
2157         (Fput_char_table_map_function): New function in UTF-2000.
2158         (put_char_table): Use `Fmap_char_attribute' for
2159         CHARTAB_RANGE_CHARSET in UTF-2000.
2160         (Fput_char_attribute): Store symbol instead of string in
2161         `XCHAR_TABLE_NAME (table)'.
2162         (load_char_attribute_maybe): Likewise.
2163         (syms_of_chartab): Add new symbol/function
2164         `put-char-table-map-function'.
2165
2166 2002-01-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2167
2168         * database.h: Add new EXFUN for `Fmap_database'.
2169
2170         * database.c (Fmap_database): Renamed from `Fmapdatabase'.
2171         (syms_of_database): Likewise.
2172
2173         * chartab.h (struct Lisp_Char_Table): Add new member `unloaded' in
2174         UTF-2000.
2175         (CHAR_TABLE_UNLOADED): New macro of UTF-2000.
2176         (XCHAR_TABLE_UNLOADED): Likewise.
2177
2178         * chartab.c (fill_char_table): Initialize `ct->unloaded'.
2179         (Fput_char_attribute): Set XCHAR_TABLE_UNLOADED(table) if
2180         HAVE_DATABASE is defined.
2181         (char_attribute_table_to_load): New variable of UTF-2000 with
2182         external database support.
2183         (Qload_char_attribute_table_map_function): Likewise.
2184         (Fload_char_attribute_table_map_function): New function of
2185         UTF-2000 with external database support.
2186         (Fload_char_attribute_table): New function of UTF-2000.
2187         (Fmap_char_attribute): Call Fload_char_attribute_table if
2188         CHAR_TABLE_UNLOADED(ct) is set when HAVE_DATABASE is defined.
2189         (syms_of_chartab): Add new symbol and function
2190         `load-char-attribute-table-map-function' in UTF-2000 with external
2191         database support; add new function `load-char-attribute-table' in
2192         UTF-2000.
2193
2194 2002-01-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2195
2196         * chartab.h (load_char_attribute_maybe): New prototype for
2197         UTF-2000 with DATABASE support.
2198         (get_char_id_table): Use `load_char_attribute_maybe' if
2199         HAVE_DATABASE is defined.
2200
2201         * chartab.c (load_char_attribute_maybe): New function in UTF-2000
2202         with DATABASE support.
2203
2204 2002-01-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2205
2206         * chartab.c (Fput_char_attribute): Use S-expression as key of
2207         external database.
2208
2209         * chartab.h (get_char_id_table): Use S-expression as key of
2210         external database.
2211
2212 2002-01-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2213
2214         * chartab.c (map_over_uint8_byte_table): Add new argument `root';
2215         if an element is not loaded, load the corresponding attributes
2216         from an external database.
2217         (map_over_uint16_byte_table): Likewise.
2218         (map_over_byte_table): Likewise.
2219         (map_char_table): Modify for `map_over_uint8_byte_table',
2220         `map_over_uint16_byte_table' and `map_over_byte_table'; if an
2221         element is not loaded, load the corresponding attributes from an
2222         external database.
2223         (Fput_char_attribute): Change initial values to Qunloaded.
2224
2225         * chartab.h (get_char_id_table): If a character attribute is not
2226         loaded and the attribute value is not found in an external
2227         database, store Qunbound as the attribute value.
2228
2229 2002-01-22  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2230
2231         * chartab.c (BT_UINT8_unloaded): New macro.
2232         (UINT8_VALUE_P): Accept Qunloaded.
2233         (UINT8_ENCODE): Likewise.
2234         (UINT8_DECODE): Likewise.
2235         (BT_UINT16_unloaded): New macro.
2236         (UINT16_VALUE_P): Accept Qunloaded.
2237         (UINT16_ENCODE): Likewise.
2238         (UINT16_DECODE): Likewise.
2239         (UINT8_TO_UINT16): Convert BT_UINT8_unloaded into
2240         BT_UINT16_unloaded.
2241         (mark_char_table): Mark `ct->name' in UTF-2000.
2242         (char_table_description): Add `name' in UTF-2000.
2243         (Fmake_char_table): Initialize `ct->name'.
2244         (Fcopy_char_table): Copy `ct->name'.
2245         (Fput_char_attribute): Store value into an external database if
2246         HAVE_DATABASE is defined.
2247
2248         * chartab.h (struct Lisp_Char_Table): Add new member `name' in
2249         UTF-2000.
2250         (CHAR_TABLE_NAME): New macro in UTF-2000.
2251         (XCHAR_TABLE_NAME): New macro in UTF-2000.
2252         (get_char_id_table): Try to read an external database if Qunloaded
2253         is stored in a table.
2254
2255         * symbols.c (init_symbols_once_early): Assign '#<unloaded> into
2256         Qunloaded.
2257
2258 2002-01-21  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2259
2260         * database.h: Add EXFUN definitions for Fopen_database,
2261         Fput_database, Fget_database and Fclose_database.
2262
2263         * data.c (Qunloaded): New variable in UTF-2000.
2264
2265         * lisp.h (Qunloaded): New variable in UTF-2000.
2266
2267 2002-01-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2268
2269         * mule-charset.c (put_char_ccs_code_point): Modify for
2270         `decoding_table_remove_char' and `decoding_table_put_char'.
2271         (remove_char_ccs): Modify for `decoding_table_remove_char'.
2272
2273         * char-ucs.h (decoding_table_remove_char): Change arguments to
2274         hide decoding_table vector.
2275         (decoding_table_put_char): Likewise.
2276
2277 2002-01-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2278
2279         * mule-charset.c (decoding_table_remove_char): Moved to
2280         char-ucs.h.
2281         (decoding_table_put_char): Likewise.
2282
2283         * char-ucs.h (decoding_table_check_elements): New prototype [moved
2284         from mule-charset.c].
2285         (decoding_table_remove_char): New inline function [moved from
2286         mule-charset.c].
2287         (decoding_table_put_char): Likewise.
2288
2289 2002-01-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2290
2291         * mule-charset.c (Fmake_charset): Modify DOC-string for UTF-2000
2292         extension.
2293
2294 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2295
2296         * mule-charset.c (decode_builtin_char): Support mother charsets.
2297
2298 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2299
2300         * mule-charset.c (Q94x94x60): New variable.
2301         (charset_code_point): Support conversion `94x94x60'.
2302         (Fmake_charset): Likewise.
2303         (syms_of_mule_charset): Add new symbol `94x94x60'.
2304
2305         * char-ucs.h (CONVERSION_94x94x60): New macro.
2306
2307 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2308
2309         * mule-charset.c (charset_code_point): Unify code about
2310         `code-offset'.
2311
2312 2001-12-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2313
2314         * mule-charset.c (charset_code_point): Merge code about builtin
2315         characters into code about mother charsets; don't use
2316         `range_charset_code_point'.
2317         (range_charset_code_point): Deleted.
2318
2319 2001-12-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2320
2321         * mule-charset.c (Qcode_offset): New variable.
2322         (Fmake_charset): Use `XUINT' to get value of `min-code' and
2323         `max-code'; accept new property `code-offset'.
2324         (syms_of_mule_charset): Add new symbol `code-offset'.
2325
2326 2001-12-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2327
2328         * mule-charset.c (range_charset_code_point): Fixed.
2329
2330 2001-12-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2331
2332         * mule-charset.c (decode_builtin_char): Change semantics of
2333         code-offset of coded-charset.
2334         (charset_code_point): Likewise.
2335         (range_charset_code_point): Likewise.
2336         (complex_vars_of_mule_charset): Modify for the change.
2337
2338 2001-12-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2339
2340         * mule-charset.c (Fencode_char): Reverse arguments.
2341
2342         * mule-charset.c (charset_code_point): Fixed.
2343
2344 2001-12-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2345
2346         * mule-charset.c (Vcharset_mojikyo): Deleted.
2347         (Vcharset_mojikyo_2022_1): Deleted.
2348         (Vcharset_mojikyo_pj_{1..21}): Deleted.
2349         (Qmin_code): New variable in UTF-2000.
2350         (Qmax_code): Likewise.
2351         (Qmother): Likewise.
2352         (Qconversion): Likewise.
2353         (Q94x60): Likewise.
2354         (Qmojikyo): Deleted.
2355         (Qmojikyo_2022_1): Deleted.
2356         (Qmojikyo_pj_{1..22}): Deleted.
2357         (mark_charset): Mark `cs->mother'.
2358         (charset_description): Add description for `mother'.
2359         (make_charset): Rename `ucs_{min|max}' to `{min|max}_code'; add
2360         new arguments `mother' and `conversion'; use
2361         `CHARSET_{MIN|MAX}_CODE' instead of `CHARSET_UCS_{MIN|MAX}'.
2362         (charset_code_point): Moved from char-ucs.h; support `mother'
2363         charset feature.
2364         (range_charset_code_point): use `CHARSET_{MIN|MAX}_CODE' instead
2365         of `CHARSET_UCS_{MIN|MAX}'; delete hard code for `mojikyo-2022-1'.
2366         (Fmake_charset): Allow 3 and 4 as the value of `dimension' in
2367         UTF-2000; allow 128 and 256 as the value of `chars' in UTF-2000;
2368         allow 2 as the value of `graphic' in UTF-2000; add new properties
2369         `min-code', `max-code', `mother', `conversion' in UTF-2000; don't
2370         require `final' in UTF-2000; modify for `make_charset'.
2371         (Fmake_reverse_direction_charset): use `CHARSET_{MIN|MAX}_CODE'
2372         instead of `CHARSET_UCS_{MIN|MAX}'; modify for `make_charset'.
2373         (Fcharset_property): Support `mother', `min-code' and `max-code'.
2374         (Fencode_char): New function.
2375         (syms_of_mule_charset): Add new builtin function `encode-char' in
2376         UTF-2000; add new symbols `min-code', `max-code', `mother',
2377         `conversion' and `94x60'; delete symbols `mojikyo',
2378         `mojikyo-2022-1' and `mojikyo-pj-{1..21}'.
2379         (complex_vars_of_mule_charset): Modify for `make_charset' change;
2380         delete coded-charsets `mojikyo', `mojikyo-2022-1' and
2381         `mojikyo-pj-{1..21}'; delete `DEF_MOJIKYO_PJ'.
2382
2383         * chartab.c (Fdefine_char): Use `XCHARSET_MAX_CODE' instead of
2384         `XCHARSET_UCS_MAX'; regard `chinese-big5' as a base CCS.
2385
2386         * char-ucs.h (Vcharset_mojikyo): Deleted.
2387         (Vcharset_mojikyo_2022_1): Deleted.
2388         (LEADING_BYTE_MOJIKYO): Deleted.
2389         (LEADING_BYTE_MOJIKYO_2022_1): Deleted.
2390         (LEADING_BYTE_MOJIKYO_2022_2): Deleted.
2391         (LEADING_BYTE_MOJIKYO_PJ_{1 .. 21}): Deleted.
2392         (struct Lisp_Charset): Rename `ucs_{min|max}' to `{min|max}_code';
2393         add new member `mother'; add new member `conversion'.
2394         (CHARSET_MIN_CODE): Renamed from `CHARSET_UCS_MIN'.
2395         (CHARSET_MAX_CODE): Renamed from `CHARSET_UCS_MAX'.
2396         (CHARSET_MOTHER): New macro.
2397         (CHARSET_CONVERSION): New macro.
2398         (CONVERSION_IDENTICAL): New macro.
2399         (CONVERSION_94x60): New macro.
2400         (XCHARSET_MIN_CODE): Renamed from `CHARSET_MIN_CODE'.
2401         (XCHARSET_MAX_CODE): Renamed from `CHARSET_MAX_CODE'.
2402         (XCHARSET_MOTHER): New macro.
2403         (XCHARSET_CONVERSION): New macro.
2404         (MIN_CHAR_MOJIKYO): Deleted.
2405         (MAX_CHAR_MOJIKYO): Deleted.
2406         (DECODE_MOJIKYO_2022): Deleted.
2407         (DECODE_CHAR): Delete hard code for builtin Mojikyo characters.
2408         (charset_code_point): Changed to non-inline function.
2409         (encode_char_1): Use `charset_code_point'.
2410         (CHAR_TO_CHARC): Delete hard code for Mojikyo characters.
2411
2412 2001-12-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2413
2414         * lread.c (read_compiled_function): Fix prototype.
2415         (read_vector): Likewise.
2416
2417 2001-12-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2418
2419         * lrecord.h (struct lrecord_header): Delete `older'.
2420         (set_lheader_implementation): Delete code for `older'.
2421         (set_lheader_older_implementation): Deleted.
2422         (enum lrecord_type): Delete `lrecord_type_char_id_table'.
2423         (OLDER_RECORD_P): Deleted.
2424         (OLDER_RECORD_HEADER_P): Deleted.
2425         (alloc_older_lcrecord): Deleted.
2426         (alloc_older_lcrecord_type): Deleted.
2427
2428         * alloc.c (all_older_lcrecords): Deleted.
2429         (alloc_older_lcrecord): Deleted.
2430         (disksave_object_finalization_1): Delete code for older objects.
2431         (mark_object): Don't use `OLDER_RECORD_HEADER_P'.
2432         (reinit_alloc_once_early): Don't initialize `all_older_lcrecords'.
2433
2434 2001-12-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2435
2436         * mule-charset.c (decoding_table_put_char): Use `make_vector'
2437         instead of `make_older_vector'.
2438         (put_char_ccs_code_point): Likewise.
2439         (mark_charset): Mark `cs->decoding_table'.
2440         (Fset_charset_mapping_table): Don't use `make_vector_newer'.
2441
2442         * lisp.h (make_older_vector): Deleted.
2443         (make_vector_newer): Deleted.
2444
2445         * config.h.in (HAVE_GGC): Deleted.
2446
2447         * alloc.c (make_older_vector): Deleted.
2448         (make_vector_newer_1): Deleted.
2449         (make_vector_newer): Deleted.
2450
2451 2001-12-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2452
2453         * mule-charset.c (Vcharset_ideograph_daikanwa_2): New variable.
2454         (Qideograph_daikanwa_2): New variable.
2455         (syms_of_mule_charset): Add new symbol `ideograph-daikanwa-2'.
2456         (complex_vars_of_mule_charset): Add new coded-charset
2457         `ideograph-daikanwa-2'; use `LEADING_BYTE_DAIKANWA_3' instead of
2458         `LEADING_BYTE_DAIKANWA'.
2459
2460         * char-ucs.h (LEADING_BYTE_DAIKANWA_0): New macro.
2461         (LEADING_BYTE_DAIKANWA_1): New macro.
2462         (LEADING_BYTE_DAIKANWA_2): New macro.
2463         (LEADING_BYTE_DAIKANWA_3): Renamed from `LEADING_BYTE_DAIKANWA'.
2464
2465 2001-12-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2466
2467         * mule-charset.c (complex_vars_of_mule_charset): Change
2468         DOC-strings and registry of `ideograph-daikanwa'; now it indicates
2469         the second revised version.
2470
2471 2001-12-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2472
2473         * mule-charset.c (Vcharset_ucs_smp): New variable.
2474         (Vcharset_ucs_sip): New variable.
2475         (Qucs_smp): New variable.
2476         (Qucs_sip): New variable.
2477         (encode_builtin_char_1): Treat MIN_CHAR_{SMP|SIP} to
2478         MAX_CHAR_{SMP|SIP} as `ucs-{smp|sip}'.
2479         (syms_of_mule_charset): Add new symbols `ucs-smp' and `ucs-sip'.
2480         (complex_vars_of_mule_charset): Modify middle-DOC and registry of
2481         `ucs-bmp'; add new coded-charset `ucs-smp' and `ucs-sip'; change
2482         charset width of `ucs-cns', `ucs-jis', `ucs-ks' and `ucs-big5'.
2483
2484         * char-ucs.h (LEADING_BYTE_UCS_SMP): New macro.
2485         (LEADING_BYTE_UCS_SIP): New macro.
2486         (MIN_CHAR_SMP): New macro.
2487         (MAX_CHAR_SMP): New macro.
2488         (MIN_CHAR_SIP): New macro.
2489         (MAX_CHAR_SIP): New macro.
2490
2491 2001-11-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
2492
2493         * dumper.c (PDUMP_HASH_SIZE): Increase the size of hash table when
2494         utf-2000.
2495
2496 2001-11-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2497
2498         * mule-charset.c (put_char_ccs_code_point): Return canonicalized
2499         value; don't store value into `encoding_table' of `Lisp_Charset'.
2500         (mark_charset): `encoding_table' was deleted.
2501         (charset_description): Likewise.
2502         (make_charset): Likewise.
2503         (Fset_charset_mapping_table): Use `Fput_char_attribute' instead of
2504         `put_char_ccs_code_point'.
2505
2506         * chartab.h (Fput_char_attribute): New EXFUN.
2507
2508         * chartab.c (Fchar_attribute_alist): Name space of CCS-attributes
2509         is unified with normal symbol space.
2510         (Fget_char_attribute): Likewise.
2511         (Fput_char_attribute): Likewise; behavior of
2512         `put_char_ccs_code_point' is changed.
2513
2514         * char-ucs.h: Include "elhash.h".
2515         (Vchar_attribute_hash_table): New external variable.
2516         (struct Lisp_Charset): Delete `encoding_table'.
2517         (CHARSET_ENCODING_TABLE): New implementation; refer
2518         `Vchar_attribute_hash_table' instead of `encoding_table' of struct
2519         `Lisp_Charset'.
2520
2521 2001-11-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2522
2523         * mule-charset.c (Fcharset_property): Return Qnil if CHARSET_FINAL
2524         (cs) == 0.
2525
2526 2001-11-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2527
2528         * text-coding.c (char_encode_big5): Prefer charset-g1 than
2529         `chinese-big5'.
2530
2531 2001-11-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2532
2533         * chartab.c (uint8_byte_table_description): New constant.
2534         (uint8-byte-table): Use `uint8_byte_table_description'.
2535         (uint16_byte_table_description): New constant.
2536         (uint16-byte-table): Use `uint16_byte_table_description'.
2537
2538 2001-10-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2539
2540         * mule-charset.c (complex_vars_of_mule_charset): Don't use builtin
2541         range MIN_CHAR_BIG5_CDP .. MAX_CHAR_BIG5_CDP.
2542
2543 2001-10-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2544
2545         * mule-charset.c (Vcharset_ucs_ks): New variable.
2546         (Qucs_ks): New variable.
2547         (syms_of_mule_charset): Add new symbol `ucs-ks'.
2548         (complex_vars_of_mule_charset): Add new coded-charset `ucs-ks'.
2549
2550         * char-ucs.h (LEADING_BYTE_UCS_KS): New macro.
2551
2552 2001-10-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2553
2554         * chartab.h (Fmake_char): New EXFUN; moved from chartab.c.
2555         (Fdecode_char): Likewise.
2556
2557         * chartab.c: Move EXFUN for Fmake_char and Fdecode_char into
2558         chartab.h.
2559         (Fdefine_char): Modify for Fdecode_char.
2560         (Ffind_char): Likewise.
2561
2562         * mule-charset.c (Fdecode_char): Add new optional argument
2563         `defined-only'.
2564         (Fdecode_builtin_char): Modify for `Fdecode_char'.
2565
2566 2001-10-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2567
2568         * text-coding.c (mark_coding_system): Mark initial-charset-g0 and
2569         -g1 of CODESYS_BIG5 in XEmacs UTF-2000.
2570         (allocate_coding_system): Initialize initial-charsets of
2571         CODESYS_BIG5 in XEmacs UTF-2000.
2572         (Fmake_coding_system): Accept `charset-g0' and `charset-g1' for
2573         CODESYS_BIG5 in XEmacs UTF-2000.
2574         (decode_coding_big5): Use initial-charset-g0 and -g1 of
2575         CODESYS_BIG5 in XEmacs UTF-2000; use `DECODE_DEFINED_CHAR'.
2576
2577         * mule-charset.c (Vcharset_ideograph_hanziku_{1 .. 12}): New
2578         variables.
2579         (Qideograph_hanziku_{1 .. 12}): Likewise.
2580         (syms_of_mule_charset): Add new symbols `ideograph-hanziku-{1
2581         .. 12}'.
2582         (complex_vars_of_mule_charset): Use `MIN_CHAR_BIG5_CDP' to
2583         `MAX_CHAR_BIG5_CDP' for `chinese-big5'; add news coded-charsets
2584         `ideograph-hanziku-{1 .. 12}'.
2585
2586         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x200.
2587         (LEADING_BYTE_HANZIKU_{1 .. 12}): New macros.
2588         ({MIN|MAX}_CHAR_BIG5_CDP): New macros.
2589         ({MIN|MAX}_CHAR_HANZIKU_{1 .. 12}): New macros.
2590         (DECODE_DEFINED_CHAR): New inline function.
2591         (DECODE_CHAR): Use `DECODE_DEFINED_CHAR'.
2592
2593 2001-10-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2594
2595         * mule-charset.c (Vcharset_china3_jef): Renamed from
2596         `Vcharset_japanese_jef_china3'.
2597         (Qchina3_jef): Renamed from `Qjapanese_jef_china3'.
2598         (encode_builtin_char_1): Rename `{MIN|MAX}_CHAR_CHINA3_JEF' from
2599         `{MIN|MAX}_CHAR_JEF_CHINA3'..
2600         (syms_of_mule_charset): Rename `china3-jef' from
2601         `japanese-jef-china3'.
2602         (complex_vars_of_mule_charset): Likewise; rename
2603         `LEADING_BYTE_CHINA3_JEF' from `LEADING_BYTE_JEF_CHINA3'.
2604
2605         * char-ucs.h (LEADING_BYTE_CHINA3_JEF): Renamed from
2606         `LEADING_BYTE_JEF_CHINA3'.
2607         (MIN_CHAR_CHINA3_JEF): Renamed from `MIN_CHAR_JEF_CHINA3'.
2608         (MAX_CHAR_CHINA3_JEF): Renamed from `MAX_CHAR_JEF_CHINA3'.
2609
2610 2001-10-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2611
2612         * mule-charset.c (encode_builtin_char_1): Comment out special code
2613         for MIN_CHAR_MOJIKYO_0 ... MAX_CHAR_MOJIKYO_0.
2614
2615         * char-ucs.h (MIN_CHAR_MOJIKYO_0): Comment out.
2616         (MAX_CHAR_MOJIKYO_0): Comment out.
2617         (MIN_CHAR_CBETA): Changed to 0x00E20000.
2618         (MAX_CHAR_CBETA): Changed to 0x00E2FFFF.
2619         (MIN_CHAR_JEF_CHINA3): Changed to 0x00E80000.
2620         (MAX_CHAR_JEF_CHINA3): Changed to 0x00E8FFFF.
2621
2622 2001-10-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2623
2624         * mule-charset.c (Vcharset_ideograph_cbeta): New variable.
2625         (Qideograph_cbeta): New variable.
2626         (encode_builtin_char_1): Comment out special code for
2627         coded-charset `mojikyo' and `japanese-jef-china3'.
2628         (syms_of_mule_charset): Add new symbol `ideograph-cbeta'.
2629         (complex_vars_of_mule_charset): Add new coded-charset
2630         `ideograph-cbeta'.
2631
2632         * char-ucs.h (LEADING_BYTE_CBETA): New macro.
2633         (MIN_CHAR_CBETA): New macro.
2634         (MAX_CHAR_CBETA): New macro.
2635
2636 2001-10-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2637
2638         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x100.
2639         (LEADING_BYTE_JEF_CHINA3): New macro.
2640         (MIN_CHAR_JEF_CHINA3): New macro.
2641         (MAX_CHAR_JEF_CHINA3): Likewise.
2642         (DECODE_CHAR): Fixed.
2643
2644 2001-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2645
2646         * mule-charset.c (Vcharset_japanese_jef_china3): New variable.
2647         (Qjapanese_jef_china3): New variable.
2648         (encode_builtin_char_1): Support `japanese-jef-china3'.
2649         (syms_of_mule_charset): Add new symbol `japanese-jef-china3'.
2650         (complex_vars_of_mule_charset): Add new coded-charset
2651         `japanese-jef-china3'.
2652
2653 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2654
2655         * chartab.c (XCHARSET_CELL_RANGE): New inline function.
2656         (decode_char_table_range): Use `XCHARSET_CELL_RANGE'; accept 94^3,
2657         94^4, 96^3, 96^4, 128^n and 256^n set.
2658         (put_char_table): Use `XCHARSET_CELL_RANGE'.
2659         (map_char_table): Likewise.
2660
2661 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2662
2663         * chartab.c (get_char_table): Use `get_char_id_table' in XEmacs
2664         UTF-2000.
2665
2666 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2667
2668         * chartab.h (get_char_id_table): New inline function.
2669
2670         * chartab.c (get_char_id_table): Moved to chartab.h as an inline
2671         function.
2672
2673 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2674
2675         * chartab.h (decode_char_table_range): New prototype in XEmacs
2676         UTF-2000.
2677         (put_char_id_table): New inline function in XEmacs UTF-2000.
2678
2679         * chartab.c (put_char_id_table): Moved to chartab.h as an inline
2680         function.
2681         (decode_char_table_range): Delete static declaration in XEmacs
2682         UTF-2000.
2683
2684 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2685
2686         * chartab.c (put_char_id_table): Use `put_char_table'.
2687
2688 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2689
2690         * chartab.c (map_over_uint8_byte_table): Delete argument `ccs'.
2691         (map_over_uint16_byte_table): Likewise.
2692         (map_over_byte_table): Likewise.
2693         (map_char_table): Modify for `map_over_uint8_byte_table',
2694         `map_over_uint16_byte_table' and `map_over_byte_table' in XEmacs
2695         UTF-2000.
2696
2697 2001-09-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2698
2699         * chartab.c (struct map_char_table_for_charset_arg): New
2700         structure.
2701         (map_char_table_for_charset_fun): New function.
2702         (map_char_table): Use `map_char_table' for encoding_table of
2703         `range->charset'.
2704
2705 2001-09-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2706
2707         * chartab.c (map_char_table): Check a character is found in
2708         range->charset instead of non default value is defined in
2709         char-table when range is CHARTAB_RANGE_ROW.
2710
2711 2001-09-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2712
2713         * chartab.c (map_char_id_table): Deleted.
2714         (Fmap_char_attribute): Use `map_char_table' instead of
2715         `map_char_id_table'.
2716
2717 2001-09-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2718
2719         * syntax.h (SYNTAX_CODE_UNSAFE): New implementation in XEmacs
2720         UTF-2000.
2721         (update_syntax_table): Deleted in XEmacs UTF-2000.
2722
2723         * syntax.c (find_defun_start): Use `syntax_table' instead of
2724         `mirror_syntax_table' in XEmacs UTF-2000.
2725         (Fset_syntax_table): Don't use `mirror_syntax_table' in XEmacs
2726         UTF-2000.
2727         (Fchar_syntax): Use `syntax_table' instead of `mirror_table' in
2728         XEmacs UTF-2000.
2729         (Fmatching_paren): Likewise.
2730         (scan_words): Use `syntax_table' instead of `mirror_syntax_table'
2731         in XEmacs UTF-2000.
2732         (find_start_of_comment): Likewise.
2733         (find_end_of_comment): Likewise.
2734         (Fforward_comment): Likewise.
2735         (scan_lists): Likewise.
2736         (char_quoted): Likewise.
2737         (Fbackward_prefix_chars): Likewise.
2738         (scan_sexps_forward): Likewise.
2739         (update_just_this_syntax_table): Deleted in XEmacs UTF-2000.
2740         (update_syntax_table): Likewise.
2741
2742         * search.c (skip_chars): Use `syntax_table' instead of
2743         `mirror_syntax_table' in XEmacs UTF-2000.
2744         (wordify): Likewise.
2745         (Freplace_match): Likewise.
2746
2747         * regex.c (re_compile_fastmap): Use `syntax_table' instead of
2748         `mirror_syntax_table' in XEmacs UTF-2000.
2749         (WORDCHAR_P_UNSAFE): Likewise.
2750         (re_match_2_internal): Likewise.
2751
2752         * font-lock.c (find_context): Use `buf->syntax_table' instead of
2753         `buf->mirror_syntax_table' in XEmacs UTF-2000.
2754
2755         * cmds.c (internal_self_insert): Use `buf->syntax_table' instead
2756         of `buf->mirror_syntax_table' in XEmacs UTF-2000.
2757
2758         * chartab.h (struct Lisp_Char_Table): Delete `mirror_table' in
2759         XEmacs UTF-2000.
2760
2761         * chartab.c (mark_char_table): Don't mark `mirror_table' in XEmacs
2762         UTF-2000.
2763         (print_char_table): Print `default_value' in XEmacs UTF-2000.
2764         (char_table_description): Delete `mirror_table' in XEmacs
2765         UTF-2000.
2766         (fill_char_table): Don't call `update_syntax_table' in XEmacs
2767         UTF-2000.
2768         (Fmake_char_table): Don't use `mirror_table' in XEmacs UTF-2000.
2769         (Fcopy_char_table): Likewise.
2770         (put_char_table): Don't call `update_syntax_table' in XEmacs
2771         UTF-2000.
2772
2773         * casefiddle.c (casify_object): Use `buf->syntax_table' instead of
2774         `buf->mirror_syntax_table' in XEmacs UTF-2000.
2775         (casify_region_internal): Likewise.
2776
2777         * bufslots.h: Delete `mirror_syntax_table' in XEmacs UTF-2000.
2778
2779         * buffer.c (common_init_complex_vars_of_buffer): Don't use
2780         `mirror_syntax_table' in XEmacs UTF-2000.
2781
2782         * abbrev.c (abbrev_match): Use `buf->syntax_table' instead of
2783         `buf->mirror_syntax_table' in XEmacs UTF-2000.
2784         (Fexpand_abbrev): Likewise.
2785
2786 2001-09-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2787
2788         * chartab.c (vars_of_chartab): Update `utf-2000-version' to 0.18.
2789
2790 2001-09-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2791
2792         * chartab.c (map_over_uint8_byte_table): Cancel temporary hack.
2793         (map_over_uint16_byte_table): Likewise.
2794         (map_over_byte_table): Likewise.
2795         (get_char_id_table): Refer `cit->default_value'.
2796         (put_char_id_table): Support `CHARTAB_RANGE_DEFAULT'.
2797         (map_char_id_table): Use `1 << 30' instead of `1 << 24' as number
2798         of character-id ranges.
2799         (mark_char_table): Mark `ct->default_value'.
2800         (char_table_description): Add `default_value'.
2801         (fill_char_table): Use `default_value'.
2802         (decode_char_table_range): Decode `nil' as
2803         `CHARTAB_RANGE_DEFAULT'.
2804         (get_char_id_table): Refer `cit->default_value'.
2805         (put_char_id_table): Support `CHARTAB_RANGE_DEFAULT'.
2806         (map_char_table): Support `CHARTAB_RANGE_DEFAULT'; cancel
2807         temporary hack; check value of char-table is bound or not.
2808         (slow_map_char_table_fun): Support `CHARTAB_RANGE_DEFAULT'.
2809
2810         * chartab.h (struct Lisp_Char_Table): Add new member
2811         `default_value' in XEmacs UTF-2000.
2812         (CHAR_TABLE_VALUE_UNSAFE): Use `default_value'.
2813         (enum chartab_range_type): Add `CHARTAB_RANGE_DEFAULT' in XEmacs
2814         UTF-2000.
2815
2816 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2817
2818         * chartab.h (Lisp_Char_ID_Table): Deleted.
2819
2820         * chartab.c (char_table_description): Fix typo.
2821         (Fmap_char_attribute): Use `Lisp_Char_Table' instead of
2822         `Lisp_Char_ID_Table'.
2823
2824 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2825
2826         * text-coding.c (COMPOSE_ADD_CHAR): Use `CHAR_TABLEP' instead of
2827         `CHAR_ID_TABLE_P'.
2828
2829         * mule-charset.c (remove_char_ccs): Use `CHAR_TABLEP' instead of
2830         `CHAR_ID_TABLE_P'.
2831
2832         * chartab.h (XCHAR_ID_TABLE): Deleted.
2833         (XSETCHAR_ID_TABLE): Deleted.
2834         (CHAR_ID_TABLE_P): Deleted.
2835
2836         * chartab.c (put_char_id_table): Use `CHAR_TABLEP' instead of
2837         `CHAR_ID_TABLE_P'.
2838         (Fget_composite_char): Likewise.
2839         (put_char_table): Likewise.
2840         (add_char_attribute_alist_mapper): Fixed.
2841         (Fchar_attribute_alist): Use `CHAR_TABLEP' instead of
2842         `CHAR_ID_TABLE_P'.
2843         (Fget_char_attribute): Likewise.
2844         (Fget_char_attribute): Likewise.
2845         (Fmap_char_attribute): Likewise.
2846
2847         * char-ucs.h (charset_code_point): Use `CHAR_TABLEP' instead of
2848         `CHAR_ID_TABLE_P'.
2849         (encode_char_1): Likewise.
2850
2851 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2852
2853         * text-coding.c (COMPOSE_ADD_CHAR): Use `XCHAR_TABLE' instead of
2854         `XCHAR_ID_TABLE'.
2855
2856         * mule-charset.c (put_char_ccs_code_point): Use `XCHAR_TABLE'
2857         instead of `XCHAR_ID_TABLE'.
2858         (remove_char_ccs): Likewise.
2859
2860         * chartab.c (put_char_id_table): Use `XCHAR_TABLE' instead of
2861         `XCHAR_ID_TABLE'.
2862         (Fget_composite_char): Likewise.
2863         (Fchar_variants): Likewise.
2864         (put_char_table): Likewise.
2865         (add_char_attribute_alist_mapper): Likewise.
2866         (Fchar_attribute_alist): Likewise.
2867         (Fget_char_attribute): Likewise.
2868         (Fput_char_attribute): Likewise.
2869         (Fmap_char_attribute): Likewise.
2870         (Fmap_char_attribute): Likewise.
2871
2872         * char-ucs.h (charset_code_point): Use `XCHAR_TABLE' instead of
2873         `XCHAR_ID_TABLE'.
2874         (encode_char_1): Likewise.
2875
2876 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2877
2878         * chartab.c (map_char_id_table): Use `Lisp_Char_Table' instead of
2879         `Lisp_Char_ID_Table'.
2880         (mark_char_id_table): Deleted.
2881         (print_char_id_table): Likewise.
2882         (char_id_table_equal): Likewise.
2883         (char_id_table_hash): Likewise.
2884         (char_id_table_description): Likewise.
2885         (char_id_table): Likewise.
2886         (make_char_id_table): Use `Fmake_char_table' and
2887         `fill_char_table'.
2888         (get_char_id_table): Use `Lisp_Char_Table' instead of
2889         `Lisp_Char_ID_Table'.
2890         (put_char_id_table): Likewise.
2891         (Fput_char_attribute): Use `XCHAR_TABLE' instead of
2892         `XCHAR_ID_TABLE'.
2893         (Fremove_char_attribute): Likewise.
2894         (syms_of_chartab): Don't define type `char-id-table'.
2895
2896         * chartab.h (struct Lisp_Char_ID_Table): Deleted.
2897         (char_id_table): Likewise.
2898         (GC_CHAR_ID_TABLE_P): Likewise.
2899         (Lisp_Char_ID_Table): Use structure `Lisp_Char_Table'.
2900         (XCHAR_ID_TABLE): Use `XCHAR_TABLE'.
2901         (XSETCHAR_ID_TABLE): Use `XSETCHAR_TABLE'.
2902         (CHAR_ID_TABLE_P): Use `CHAR_TABLEP'.
2903         (get_char_id_table): Use `Lisp_Char_Table' instead of
2904         `Lisp_Char_ID_Table'.
2905         (put_char_id_table_0): Likewise.
2906         (put_char_id_table): Likewise.
2907
2908 2001-09-02  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
2909
2910         * chartab.h: Lisp_Byte_Table related codes are moved from
2911         chartab.h.
2912
2913         * char-ucs.h: Move Lisp_Byte_Table related codes to chartab.h.
2914
2915 2001-09-02  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
2916
2917         * chartab.h: Don't include "chartab.h".
2918         (struct Lisp_Char_ID_Table): Moved from char-ucs.h.
2919         (Lisp_Char_ID_Table): Likewise.
2920         (char_id_table): Likewise.
2921         (XCHAR_ID_TABLE): Likewise.
2922         (XSETCHAR_ID_TABLE): Likewise.
2923         (CHAR_ID_TABLE_P): Likewise.
2924         (GC_CHAR_ID_TABLE_P): Likewise.
2925         (get_char_id_table): Likewise.
2926
2927         * char-ucs.h: Include "chartab.h".
2928         (struct Lisp_Char_ID_Table): Moved to chartab.h.
2929         (Lisp_Char_ID_Table): Likewise.
2930         (char_id_table): Likewise.
2931         (XCHAR_ID_TABLE): Likewise.
2932         (XSETCHAR_ID_TABLE): Likewise.
2933         (CHAR_ID_TABLE_P): Likewise.
2934         (GC_CHAR_ID_TABLE_P): Likewise.
2935         (get_char_id_table): Likewise.
2936
2937 2001-09-01  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
2938
2939         * chartab.c (copy_uint8_byte_table): New function.
2940         (copy_uint16_byte_table): New function.
2941         (copy_byte_table): New function.
2942         (map_over_uint8_byte_table): Modify to avoid huge numbers of
2943         characters to call.
2944         (map_over_uint16_byte_table): Likewise.
2945         (map_over_byte_table): Likewise.
2946         (get_byte_table): Move prototype to chartab.h.
2947         (put_byte_table): Likewise.
2948         (put_char_id_table_0): Moved to chartab.h.
2949         (mark_char_table_entry): Don't define in XEmacs UTF-2000.
2950         (char_table_entry_equal): Likewise.
2951         (char_table_entry_hash): Likewise.
2952         (char_table_entry_description): Likewise.
2953         (char_table_entry): Likewise.
2954         (make_char_table_entry): Likewise.
2955         (copy_char_table_entry): Likewise.
2956         (get_non_ascii_char_table_value): Likewise.
2957         (map_over_charset_ascii): Likewise.
2958         (map_over_charset_control_1): Likewise.
2959         (map_over_charset_row): Likewise.
2960         (map_over_other_charset): Likewise.
2961         (mark_char_table): Modify for new structure in XEmacs UTF-2000.
2962         (print_char_table): Likewise.
2963         (char_table_equal): Likewise.
2964         (char_table_hash): Likewise.
2965         (char_table_description): Likewise.
2966         (fill_char_table): Likewise.
2967         (Fcopy_char_table): Likewise.
2968         (get_char_table): Likewise.
2969         (Fget_range_char_table): Likewise.
2970         (put_char_table): Likewise.
2971         (map_char_table): Likewise.
2972         (syms_of_chartab): Don't define `char_table_entry' in XEmacs
2973         UTF-2000.
2974
2975 2001-08-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2976
2977         * cmds.c (vars_of_cmds): Use `put_char_id_table_0' for
2978         `Vauto_fill_chars' in XEmacs UTF-2000.
2979
2980         * chartab.h (get_byte_table): New prototype [moved from
2981         chartab.c].
2982         (put_byte_table): Likewise [moved from chartab.c].
2983         (put_char_id_table_0): New inline function [moved from chartab.c].
2984         (struct Lisp_Char_Table_Entry): Don't define in XEmacs UTF-2000.
2985         (Lisp_Char_Table_Entry): Likewise.
2986         (char_table_entry): Likewise.
2987         (XCHAR_TABLE_ENTRY): Likewise.
2988         (XSETCHAR_TABLE_ENTRY): Likewise.
2989         (CHAR_TABLE_ENTRYP): Likewise.
2990         (CHECK_CHAR_TABLE_ENTRY): Likewise.
2991         (NUM_ASCII_CHARS): Likewise.
2992         (struct Lisp_Char_Table): New implementation in XEmacs UTF-2000.
2993         (CHAR_TABLE_VALUE_UNSAFE): Likewise.
2994
2995 2001-08-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2996
2997         * chartab.c (get_char_id_table): Change interface.
2998         (put_char_id_table_0): New function.
2999         (put_char_id_table): Change interface; new implementation.
3000         (Fget_composite_char): Modify for interface change of
3001         `get_char_id_table'.
3002         (Fchar_variants): Likewise.
3003         (add_char_attribute_alist_mapper): Likewise.
3004         (Fchar_attribute_alist): Likewise.
3005         (Fget_char_attribute): Likewise.
3006         (Fput_char_attribute): Allow coded-charset or [CODED-CHARSET ROW]
3007         as same as character as the first argument like `put-char-table';
3008         modify for interface change of `put_char_id_table'.
3009         (Fremove_char_attribute): Modify for interface change of
3010         `put_char_id_table'.
3011
3012 2001-08-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3013
3014         * text-coding.c: Sync up with XEmacs 21.2.41.
3015         (COMPOSE_ADD_CHAR): Modify for interface change of
3016         `get_char_id_table'.
3017
3018         * mule-charset.c (put_char_ccs_code_point): Modify for interface
3019         change of `put_char_id_table'.
3020         (remove_char_ccs): Likewise.
3021
3022         * chartab.h (put_char_id_table): Change interface.
3023
3024         * char-ucs.h (get_char_id_table): Change interface.
3025         (charset_code_point): Modify for interface change of
3026         `get_char_id_table'.
3027         (encode_char_1): Likewise.
3028
3029 2001-08-19  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3030
3031         * chartab.c (map_over_uint8_byte_table): Change arguments; add new
3032         argument `ccs'.
3033         (map_over_uint16_byte_table): Likewise.
3034         (map_over_byte_table): Likewise.
3035         (map_char_id_table): Add new argument `range' like
3036         `map_char_table'.
3037         (Fmap_char_attribute): Add new argument `range' like
3038         `Fmap_char_table'.
3039
3040 2001-08-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3041
3042         * chartab.c (map_over_uint8_byte_table): Change interface of
3043         mapping function to use struct chartab_range instead of Emchar.
3044         (map_over_uint16_byte_table): Likewise.
3045         (map_over_byte_table): Likewise.
3046         (map_char_id_table): Likewise.
3047         (struct slow_map_char_id_table_arg): Deleted.
3048         (slow_map_char_id_table_fun): Deleted.
3049         (Fmap_char_attribute): Use struct `slow_map_char_table_arg' and
3050         function `slow_map_char_table_fun' instead of struct
3051         `slow_map_char_id_table_arg' and function
3052         `slow_map_char_id_table_fun'.
3053
3054 2001-08-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3055
3056         * mule-charset.c: Move char-it-table related codes to chartab.c.
3057         (Vutf_2000_version): Moved to chartab.c.
3058         (Fdefine_char): Likewise.
3059         (Ffind_char): Likewise.
3060         (syms_of_mule_charset): Move types `uint8-byte-table',
3061         `uint16-byte-table', `byte-table' and `char-id-table' to
3062         chartab.c; move functions `char_attribute_list,
3063         `find_char_attribute_table, `char_attribute_alist,
3064         `get_char_attribute, `put_char_attribute, `remove_char_attribute,
3065         `map_char_attribute, `define_char, `find_char, `char_variants and
3066         `get_composite_char to chartab.c; move symbols `=>ucs',
3067         `->decomposition', `compat', `isolated', `initial', `medial',
3068         `final', `vertical', `noBreak', `fraction', `super', `sub',
3069         `circle', `square', `wide', `narrow', `small' and `font' to
3070         chartab.c.
3071         (vars_of_mule_charset): Move `utf-2000-version' to chartab.c; move
3072         setting codes for `Vcharacter_composition_table' and
3073         `Vcharacter_variant_table' to chartab.c.
3074         (complex_vars_of_mule_charset): Move setting code for
3075         `Vchar_attribute_hash_table' to chartab.c.
3076
3077         * chartab.h: Include "char-ucs.h" if --with-utf-2000 is specified.
3078         (make_char_id_table): New prototype.
3079         (put_char_id_table): Likewise.
3080         (Fget_char_attribute): Likewise.
3081
3082         * chartab.c: Move char-id-table related code from mule-charset.c.
3083         (Vutf_2000_version): Moved from mule-charset.c.
3084
3085         * char-ucs.h (Qucs): New external variable.
3086         (put_char_ccs_code_point): New prototype.
3087         (remove_char_ccs): Likewise.
3088
3089 2001-08-14  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
3090
3091         * mule-charset.c (Vcharset_ucs_jis): New variable.
3092         (Qucs_jis): Likewise.
3093         (syms_of_mule_charset): Add new symbol `ucs-jis'.
3094         (complex_vars_of_mule_charset): Add new coded-charset `ucs-jis'.
3095
3096         * char-ucs.h (LEADING_BYTE_UCS_JIS): New macro.
3097
3098 2001-08-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3099
3100         * mule-charset.c (map_over_uint8_byte_table): New function.
3101         (map_over_uint16_byte_table): Likewise.
3102         (map_over_byte_table): Likewise.
3103         (map_char_id_table): Likewise.
3104         (slow_map_char_id_table_fun): Likewise.
3105         (Fmap_char_attribute): Likewise.
3106         (syms_of_mule_charset): Add new function `map-char-attribute'.
3107
3108 2001-08-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3109
3110         * mule-charset.c (Ffind_char): New function in XEmacs UTF-2000.
3111         (syms_of_mule_charset): Add new function `find-char'.
3112
3113 2001-08-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3114
3115         * mule-charset.c (Vcharset_chinese_big5_cdp): New variable in
3116         XEmacs UTF-2000.
3117         (Qchinese_big5_cdp): New variable in XEmacs UTF-2000.
3118         (syms_of_mule_charset): Add new symbol `chinese-big5-cdp' in
3119         XEmacs UTF-2000.
3120         (complex_vars_of_mule_charset): Add new coded-charset
3121         `chinese-big5-cdp' in XEmacs UTF-2000; change registry of
3122         `ideograph-gt-pj-*'.
3123
3124         * char-ucs.h (LEADING_BYTE_CHINESE_BIG5_CDP): New macro.
3125
3126 2001-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3127
3128         * mule-charset.c (encode_builtin_char_1): Purge codes about
3129         {MIN|MAX}_CHAR_{GREEK|CYRILLIC}; comment out code about
3130         {MIN|MAX}_CHAR_HEBREW.
3131         (complex_vars_of_mule_charset): Comment out {MIN|MAX}_CHAR_HEBREW;
3132         don't use {MIN|MAX}_CHAR_HEBREW to define `hebrew-iso8859-8'.
3133
3134         * char-ucs.h (MIN_CHAR_GREEK): Purged.
3135         (MAX_CHAR_GREEK): Purged.
3136         (MIN_CHAR_CYRILLIC): Purged.
3137         (MAX_CHAR_CYRILLIC): Purged.
3138         (MIN_CHAR_HEBREW): Commented out.
3139         (MAX_CHAR_HEBREW): Likewise.
3140
3141 2001-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3142
3143         * mule-charset.c (Qto_ucs): New variable.
3144         (Fput_char_attribute): Treat `=>ucs' as same as `->ucs'.
3145         (Fdefine_char): Likewise.
3146         (syms_of_mule_charset): Add new symbol `=>ucs'.
3147
3148 2001-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3149
3150         * mule-charset.c (Fdecode_char): Fixed.
3151
3152 2001-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3153
3154         * mule-charset.c (complex_vars_of_mule_charset): Modify registry
3155         of latin-tcvn5712 to accept "tcvn5712.1993-1" as same as
3156         "tcvn5712-1".
3157
3158 2001-07-21  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3159
3160         * mule-charset.c (Vcharset_ucs_big5): New variable.
3161         (Qucs_big5): Likewise.
3162         (syms_of_mule_charset): Add new symbol `ucs-big5'.
3163         (complex_vars_of_mule_charset): Add new coded-charset `ucs-big5'.
3164
3165         * char-ucs.h (LEADING_BYTE_UCS_BIG5): New macro.
3166
3167 2001-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3168
3169         * mule-charset.c (decode_builtin_char): Check Big5 code range
3170         which can be mapped to `chinese-big5-1' and `chinese-big5-2'.
3171
3172 2001-07-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3173
3174         * mule-charset.c (Vcharset_chinese_gb12345): New variable.
3175         (Qchinese_gb12345): Likewise.
3176         (Fdecode_builtin_char): Fixed.
3177         (syms_of_mule_charset): Add `chinese-gb12345'.
3178         (complex_vars_of_mule_charset): Add coded-charset
3179         `chinese-gb12345'.
3180
3181         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x70.
3182         (LEADING_BYTE_CHINESE_GB12345): New macro.
3183
3184 2001-07-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3185
3186         * mule-charset.c (Fdecode_builtin_char): Use `latin-viscii-lower'
3187         and `latin-viscii-upper' for `latin-viscii'.
3188
3189 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3190
3191         * mule-charset.c (Fdecode_builtin_char): Comment out
3192         regularization code for ISO-IR GR representation.
3193
3194 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3195
3196         * mule-charset.c (decode_builtin_char): New function; renamed from
3197         `make_builtin_char'; return -1 instead of signal.
3198         (Fdecode_builtin_char): Use `decode_builtin_char'.
3199
3200         * char-ucs.h (decode_builtin_char): New prototype; renamed from
3201         `make_builtin_char'.
3202         (DECODE_CHAR): Use `decode_builtin_char' instead of
3203         `make_builtin_char'; use mapping table of `chinese-big5' for
3204         `chinese-big5-{1,2}'.
3205
3206 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3207
3208         * text-coding.c (char_encode_big5): New function.
3209         (char_finish_big5): Likewise.
3210         (reset_encoding_stream): Use `char_encode_big5' and
3211         `char_finish_big5' for CODESYS_BIG5.
3212         (mule_encode): Don't use `encode_coding_big5'.
3213         (encode_coding_big5): Deleted.
3214
3215 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3216
3217         * text-coding.c (BYTE_BIG5_TWO_BYTE_1_P): Support private area
3218         0x81- in XEmacs UTF-2000.
3219         (detect_coding_big5): Likewise.
3220
3221 2001-07-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3222
3223         * mule-charset.c (Fdefine_char): Don't use a CCS property to
3224         generate character-id if the CCS property does not have
3225         corresponding predefined character.
3226         (make_builtin_char): Return -1 if corresponding predefined
3227         character is not found.
3228         (Fdecode_char): Return nil if corresponding character is not
3229         found.
3230         (complex_vars_of_mule_charset): Change `ucs-cns' to 256^3-set and
3231         don't map to builtin ucs space.
3232
3233 2001-07-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3234
3235         * char-ucs.h (MAX_LEADING_BYTE_PRIVATE): Fixed.
3236         (MAX_CHAR_GT): Changed to `(MIN_CHAR_GT + 66773)'.
3237
3238 2001-07-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3239
3240         * mule-charset.c (Vcharset_ideograph_gt): New variable.
3241         (Vcharset_ideograph_gt_pj_{1..11}): Likewise.
3242         (Qideograph_gt): Likewise.
3243         (Qideograph_gt_pj_{1..11}): Likewise.
3244         (syms_of_mule_charset): Add `ideograph-gt', `ideograph-gt-pj-1',
3245         `ideograph-gt-pj-2', ..., `ideograph-gt-pj-10' and
3246         `ideograph-gt-pj-11'.
3247         (complex_vars_of_mule_charset): Add coded-charset `ideograph-gt',
3248         `ideograph-gt-pj-1', `ideograph-gt-pj-2', ...,
3249         `ideograph-gt-pj-10' and `ideograph-gt-pj-11'.
3250
3251         * char-ucs.h (LEADING_BYTE_GT): New macro.
3252         (LEADING_BYTE_GT_PJ_{1..11}): Likewise.
3253         (MIN_CHAR_GT): Likewise.
3254         (MAX_CHAR_GT): Likewise.
3255
3256 2001-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3257
3258         * lisp-disunion.h (XCHARVAL): New implementation for UTF-2000 to
3259         support U-60000000 .. U-7FFFFFFF with 32 bits architecture.
3260
3261         * doprnt.c (unsigned_int_converters): Add `c'.
3262         (emacs_doprnt_1): Use `XUINT' for unsigned integers.
3263
3264         * char-ucs.h (MIN_CHAR_DAIKANWA): Don't refer `MIN_CHAR_MOJIKYO'.
3265         (MAX_CHAR_DAIKANWA): Refer `MIN_CHAR_DAIKANWA' instead of
3266         `MIN_CHAR_MOJIKYO'.
3267         (MIN_CHAR_MOJIKYO_0): New macro; refer `MIN_CHAR_DAIKANWA'.
3268         (MAX_CHAR_MOJIKYO_0): New macro.
3269         (MIN_CHAR_MOJIKYO): Changed to 0x60000000.
3270
3271 2001-06-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3272
3273         * mule-charset.c (Fdefine_char): Delete cemented out code.
3274         (encode_builtin_char_1): Modify for new allocation of builtin
3275         Mojikyo characters.
3276
3277         * lisp-disunion.h (XCHARVAL): Cast the argument into EMACS_UINT.
3278
3279 2001-06-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3280
3281         * mule-charset.c (Vcharset_ucs_cns): New variable.
3282         (Qucs_cns): New variable.
3283         (syms_of_mule_charset): Add new symbol `ucs-cns'.
3284         (complex_vars_of_mule_charset): Add new coded-charset `ucs-cns'.
3285
3286 2001-05-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3287
3288         * char-ucs.h (LEADING_BYTE_UCS_CNS): New macro.
3289
3290 2000-12-09  MORIOKA Tomohiko  <tomo@m17n.org>
3291
3292         * search.c (search_buffer): Make `charset_base_code' as
3293         character-id >> 6 to eliminate the corresponding last byte in
3294         UTF-8 representation [I'm not sure it is right thing].
3295         (boyer_moore): Likewise.
3296
3297 2000-12-09  MORIOKA Tomohiko  <tomo@m17n.org>
3298
3299         * emacs.c (vars_of_emacs): Convert XEMACS_CODENAME to internal
3300         representation in MULE.
3301
3302 2000-11-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3303
3304         * text-coding.c (Fmake_coding_system): Use
3305         `EXTERNAL_PROPERTY_LIST_LOOP_3' instead of
3306         `EXTERNAL_PROPERTY_LIST_LOOP'.
3307
3308 2000-11-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3309
3310         * text-coding.c (decode_output_utf8_partial_char): New function.
3311         (decode_coding_utf8): Use `decode_output_utf8_partial_char'.
3312
3313 2000-11-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3314
3315         * text-coding.c (decode_coding_utf8): Output original byte
3316         sequence if it is broken; change order of conditions.
3317
3318         * mb-utf-8.h (REP_BYTES_BY_FIRST_BYTE): Use Bufbyte; reverse order
3319         of conditions.
3320
3321         * mb-multibyte.h (BYTE_ASCII_P):
3322         Use bit ops for char-signedness safety.
3323         (BYTE_C0_P): Use bit ops for char-signedness safety.
3324         (BYTE_C1_P): Use bit ops for char-signedness safety.
3325
3326         * character.h: (XCHAR_OR_CHAR_INT):
3327         Always use inline function.
3328         Remove redundant type checking assert() - XINT will abort quite
3329         nicely.
3330
3331 2000-11-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3332
3333         * text-coding.c: (Fencode_shift_jis_char):
3334         (Fencode_big5_char):
3335         Docstring arglist/Texinfo fixes.  See man/ChangeLog for details.
3336         Replace 0 with '\0' when working with bytes.
3337         Replace initial "(" with "\(" in docstrings.
3338
3339         (Fmake_coding_system):
3340         When type is ccl and value is vector, register it with a proper
3341         symbol.  And checks whether the given ccl program is valid.
3342         (mule_decode): When calling ccl_driver, if src indicates
3343         NULL pointer, set an empty string instead.
3344         (mule_encode): Likewise.
3345
3346         (detect_eol_type):
3347         (detect_coding_sjis):
3348         (decode_coding_sjis):
3349         (detect_coding_big5):
3350         (decode_coding_big5):
3351         (detect_coding_ucs4):
3352         (decode_coding_ucs4):
3353         (detect_coding_utf8):
3354         (decode_coding_utf8):
3355         (detect_coding_iso2022):
3356         (decode_coding_iso2022):
3357         (decode_coding_no_conversion):
3358         (mule_decode):
3359         Make all detecting and decoding functions take an Extbyte * arg.
3360         (text_encode_generic):
3361         (encode_coding_big5):
3362         (encode_coding_no_conversion):
3363         (mule_encode):
3364         Make all encoding functions take a Bufbyte * arg.
3365         Use size_t instead of unsigned int for memory sizes.
3366         Only cast to unsigned char whenever dereferencing Extbyte *.
3367
3368         (struct lrecord_description fcd_description_1): Use countof.
3369         (complex_vars_of_file_coding):
3370         Use countof instead of sizeof.
3371         Use CHECK_NATNUM instead of CHECK_INT.
3372
3373 2000-11-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3374
3375         * mule-charset.c (Fget_char_attribute): Add new optional argument
3376         `default-value'.
3377         (put_char_ccs_code_point): Modify for `Fget_char_attribute'.
3378         (remove_char_ccs): Likewise.
3379
3380 2000-10-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3381
3382         * text-coding.c (char_encode_shift_jis): New implementation in
3383         UTF-2000.
3384         (decode_coding_big5): Use `DECODE_CHAR (Vcharset_chinese_big5,
3385         ...)'.
3386
3387         * mule-charset.c (Vcharset_chinese_big5): New variable in
3388         UTF-2000.
3389         (Qchinese_big5): New variable in UTF-2000.
3390         (BIG5_SAME_ROW): New macro in UTF-2000.
3391         (make_builtin_char): Use builtin characters of
3392         `Vcharset_chinese_big5_1' and `Vcharset_chinese_big5_2' as builtin
3393         characters of `Vcharset_chinese_big5'.
3394         (syms_of_mule_charset): Add new symbol `chinese-big5' in UTF-2000.
3395         (complex_vars_of_mule_charset): Add new coded-charset
3396         `chinese-big5' in UTF-2000.
3397
3398         * char-ucs.h (LEADING_BYTE_CHINESE_BIG5): New macro.
3399         (Vcharset_chinese_big5): New external variable declaration.
3400         (Vcharset_japanese_jisx0208_1990): Likewise.
3401
3402 2000-07-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3403
3404         * mule-charset.c (expand_uint8_byte_table_to_uint16): New
3405         function.
3406         (put_byte_table): Use `expand_uint8_byte_table_to_uint16'.
3407
3408 2000-07-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3409
3410         * mule-charset.c (complex_vars_of_mule_charset): Define new macro
3411         `DEF_MOJIKYO_PJ' in UTF-2000; use `DEF_MOJIKYO_PJ' to define
3412         `mojikyo-pj-*'; add "MojikyoPJ-*" to charset-registry of
3413         `mojikyo-pj-*'.
3414
3415 2000-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3416
3417         * text-coding.c (decode_coding_big5): Modify for UTF-2000.
3418
3419 2000-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3420
3421         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3422         to 0.17.
3423
3424 2000-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3425
3426         * file-coding.c (ucs_to_char): Don't use `CHARSET_TYPE_*'; modify
3427         for `CHARSET_BY_ATTRIBUTES'.
3428         (parse_iso2022_esc): Don't use `CHARSET_TYPE_*'; modify for
3429         `CHARSET_BY_ATTRIBUTES'.
3430
3431         * text-coding.c (struct decoding_stream): Rename member `CH' to
3432         `CPOS'.
3433         (reset_decoding_stream): Use `str->cpos' instead of `str->ch'.
3434         (decode_coding_sjis): Likewise.
3435         (decode_coding_big5): Likewise.
3436         (decode_coding_ucs4): Likewise.
3437         (decode_coding_utf8): Likewise.
3438         (parse_iso2022_esc): Don't use `CHARSET_TYPE_*'; modify for
3439         `CHARSET_BY_ATTRIBUTES'.
3440         (decode_coding_iso2022): Use `str->cpos' instead of `str->ch'; use
3441         `str->counter'; decode 3, 4 bytes sets.
3442         (char_encode_iso2022): Don't use `BREAKUP_CHAR'; encode 3, 4 bytes
3443         sets.
3444         (decode_coding_no_conversion): Use `str->cpos' instead of
3445         `str->ch'.
3446
3447         * mule-charset.c (Vcharset_mojikyo_2022_1): New variable.
3448         (Qmojikyo_2022_1): New variable.
3449         (make_charset): Don't use `CHARSET_TYPE_*'.
3450         (range_charset_code_point): Support coded-charset
3451         `mojikyo-2022-1'.
3452         (encode_builtin_char_1): Modify for `CHARSET_BY_ATTRIBUTES'.
3453         (Fmake_charset): Don't use `CHARSET_TYPE_*'; modify for
3454         `CHARSET_BY_ATTRIBUTES'.
3455         (Fcharset_from_attributes): Don't use `CHARSET_TYPE_*'; modify for
3456         `CHARSET_BY_ATTRIBUTES'.
3457         (syms_of_mule_charset): Add new symbol `mojikyo-2022-1'.
3458         (complex_vars_of_mule_charset): Add new coded-charset
3459         `mojikyo-2022-1'.
3460
3461         * mule-charset.h (CHARSET_BY_ATTRIBUTES): New implementation and
3462         interface; changed to inline function.
3463
3464         * char-ucs.h (Vcharset_mojikyo_2022_1): New variable.
3465         (LEADING_BYTE_MOJIKYO_2022_1): New macro.
3466         (LEADING_BYTE_MOJIKYO_2022_2): New macro.
3467         (CHARSET_TYPE_94): Deleted.
3468         (CHARSET_TYPE_94X94): Deleted.
3469         (CHARSET_TYPE_96): Deleted.
3470         (CHARSET_TYPE_96X96): Deleted.
3471         (CHARSET_TYPE_128): Deleted.
3472         (CHARSET_TYPE_128X128): Deleted.
3473         (CHARSET_TYPE_256): Deleted.
3474         (CHARSET_TYPE_256X256): Deleted.
3475         (CHARSET_BY_ATTRIBUTES): New implementation and interface; changed
3476         to inline function.
3477         (DECODE_MOJIKYO_2022): New inline function.
3478         (DECODE_CHAR): Use `DECODE_MOJIKYO_2022'; decode
3479         `Vcharset_mojikyo_2022_1'.
3480
3481 2000-07-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3482
3483         * mule-charset.c (byte_table_same_value_p): Use `internal_equal'
3484         instead of `EQ'.
3485         (put_byte_table): Likewise.
3486         (char_id_table_equal): Use `get_byte_table' [new implementation].
3487
3488 2000-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3489
3490         * mule-charset.c: Include <limits.h> in UTF-2000.
3491         (BT_UINT8_MIN): New macro in UTF-2000.
3492         (BT_UINT8_MAX): New macro in UTF-2000.
3493         (BT_UINT8_t): New macro in UTF-2000.
3494         (BT_UINT8_nil): New macro in UTF-2000.
3495         (BT_UINT8_unbound): New macro in UTF-2000.
3496         (INT_UINT8_P): New inline function in UTF-2000.
3497         (UINT8_VALUE_P): New inline function in UTF-2000.
3498         (UINT8_ENCODE): New inline function in UTF-2000.
3499         (UINT8_DECODE): New inline function in UTF-2000.
3500         (mark_uint8_byte_table): New function in UTF-2000.
3501         (print_uint8_byte_table): New function in UTF-2000.
3502         (uint8_byte_table_equal): New function in UTF-2000.
3503         (uint8_byte_table_hash): New function in UTF-2000.
3504         (make_uint8_byte_table): New function in UTF-2000.
3505         (uint8_byte_table_same_value_p): New function in UTF-2000.
3506         (BT_UINT16_MIN): New macro in UTF-2000.
3507         (BT_UINT16_MAX): New macro in UTF-2000.
3508         (BT_UINT16_t): New macro in UTF-2000.
3509         (BT_UINT16_nil): New macro in UTF-2000.
3510         (BT_UINT16_unbound): New macro in UTF-2000.
3511         (INT_UINT16_P): New inline function in UTF-2000.
3512         (UINT16_VALUE_P): New inline function in UTF-2000.
3513         (UINT16_ENCODE): New inline function in UTF-2000.
3514         (UINT16_DECODE): New inline function in UTF-2000.
3515         (UINT8_TO_UINT16): New inline function in UTF-2000.
3516         (mark_uint16_byte_table): New function in UTF-2000.
3517         (print_uint16_byte_table): New function in UTF-2000.
3518         (uint16_byte_table_equal): New function in UTF-2000.
3519         (uint16_byte_table_hash): New function in UTF-2000.
3520         (make_uint16_byte_table): New function in UTF-2000.
3521         (uint16_byte_table_same_value_p): New function in UTF-2000.
3522         (print_byte_table): New function in UTF-2000.
3523         (byte-table): Use `print_byte_table' as printer.
3524         (make_byte_table): Delete second argument `older'.
3525         (byte_table_same_value_p): New function in UTF-2000.
3526         (copy_byte_table): Deleted.
3527         (get_byte_table): New function in UTF-2000.
3528         (put_byte_table): New function in UTF-2000.
3529         (print_char_id_table): New function in UTF-2000.
3530         (char-id-table): Use `print_char_id_table' as printer.
3531         (make_char_id_table): Delete second argument `older'.
3532         (get_char_id_table): Use `get_byte_table [new implementation].
3533         (put_char_id_table): Use `get_byte_table and `put_byte_table' [new
3534         implementation].
3535         (Ffind_char_attribute_table): New function in UTF-2000.
3536         (mark_charset): Mark `cs->encoding_table' in UTF-2000.
3537         (syms_of_mule_charset): Add LRECORD_IMPLEMENTATION
3538         `uint8_byte_table' and `uint16_byte_table' in UTF-2000.
3539         (syms_of_mule_charset): Add new function
3540         `find-char-attribute-table' in UTF-2000.
3541
3542         * lrecord.h (enum lrecord_type): Add
3543         `lrecord_type_uint16_byte_table' and
3544         `lrecord_type_uint8_byte_table'.
3545
3546         * char-ucs.h (struct Lisp_Uint8_Byte_Table): New structure.
3547         (Lisp_Uint8_Byte_Table): New type.
3548         (XUINT8_BYTE_TABLE): New macro.
3549         (XSETUINT8_BYTE_TABLE): New macro.
3550         (UINT8_BYTE_TABLE_P): New macro.
3551         (GC_UINT8_BYTE_TABLE_P): New macro.
3552         (struct Lisp_Uint16_Byte_Table): New structure.
3553         (Lisp_Uint16_Byte_Table): New type.
3554         (XUINT16_BYTE_TABLE): New macro.
3555         (XSETUINT16_BYTE_TABLE): New macro.
3556         (UINT16_BYTE_TABLE_P): New macro.
3557         (GC_UINT16_BYTE_TABLE_P): New macro.
3558
3559 2000-07-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3560
3561         * mule-charset.c (Vcharacter_ideographic_radical_table): Deleted.
3562         (Vcharacter_ideographic_strokes_table): Deleted.
3563         (Vcharacter_total_strokes_table): Deleted.
3564         (Vcharacter_morohashi_daikanwa_table): Deleted.
3565         (Vcharacter_decomposition_table): Deleted.
3566         (Qname): Deleted because it is duplicated.
3567         (Qideographic_radical): Deleted.
3568         (Qideographic_strokes): Deleted.
3569         (Qtotal_strokes): Deleted.
3570         (Qmorohashi_daikanwa): Deleted.
3571         (Fchar_attribute_alist): Use `Vchar_attribute_hash_table' for
3572         `ideographic-radical', `ideographic-strokes', `total-strokes',
3573         `morohashi-daikanwa' and `->decomposition'.
3574         (Fget_char_attribute): Likewise.
3575         (Fput_char_attribute): Likewise; use `make-vector' instead of
3576         `make_older_vector' for `->decomposition' value.
3577         (Fdefine_char): Comment out code to check `morohashi-daikanwa' and
3578         `ideograph-daikanwa'.
3579         (syms_of_mule_charset): Delete builtin symbols `name',
3580         `ideographic-radical', `ideographic-strokes', `total-strokes' and
3581         `morohashi-daikanwa'.
3582         (vars_of_mule_charset): Don't setup
3583         `Vcharacter_ideographic_radical_table',
3584         `Vcharacter_ideographic_strokes_table',
3585         `Vcharacter_total_strokes_table',
3586         `Vcharacter_morohashi_daikanwa_table' and
3587         `Vcharacter_decomposition_table'.
3588
3589 2000-06-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3590
3591         * alloc.c: Use `HAVE_GGC' instead of `UTF2000' for
3592         `make_older_vector', `make_vector_newer_1' and
3593         `make_vector_newer'.
3594
3595         * lisp.h: Use `HAVE_GGC' instead of `UTF2000' for
3596         `make_older_vector' and `make_vector_newer'.
3597
3598         * config.h.in (HAVE_GGC): New macro.
3599
3600 2000-06-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3601
3602         * mule-charset.c (struct char_attribute_list_closure): New
3603         structure in UTF-2000.
3604         (add_char_attribute_to_list_mapper): New function in UTF-2000.
3605         (Fchar_attribute_list): Likewise.
3606         (Fset_charset_mapping_table): Use `make_vector_newer'.
3607         (Fdecode_builtin_char): New function in UTF-2000.
3608         (syms_of_mule_charset): Add new function `char-attribute-list' and
3609         `decode-builtin-char' in UTF-2000.
3610
3611         * lisp.h (make_vector_newer): New prototype.
3612
3613         * alloc.c (make_vector_newer_1): New function.
3614         (make_vector_newer): New function.
3615
3616 2000-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3617
3618         * char-ucs.h (MAX_CHAR_DAIKANWA): Changed to `(MIN_CHAR_MOJIKYO +
3619         50100)'.
3620
3621 2000-06-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3622
3623         * mule-charset.c (Vchar_attribute_hash_table): New variable.
3624         (Vcharacter_attribute_table): Deleted.
3625         (Vcharacter_name_table): Deleted.
3626         (put_char_attribute): Deleted.
3627         (remove_char_attribute): Deleted.
3628         (struct char_attribute_alist_closure): New structure.
3629         (add_char_attribute_alist_mapper): New function.
3630         (Fchar_attribute_alist): Use `Vchar_attribute_hash_table' instead
3631         of `Vcharacter_attribute_table' and `Vcharacter_name_table'.
3632         (Fget_char_attribute): Likewise.
3633         (Fput_char_attribute): Likewise.
3634         (Fremove_char_attribute): Use `Vchar_attribute_hash_table' instead
3635         of `remove_char_attribute'.
3636         (Fdefine_char): Return character.
3637         (vars_of_mule_charset): Don't setup `Vcharacter_attribute_table'
3638         and `Vcharacter_name_table'.
3639         (complex_vars_of_mule_charset): Likewise
3640         `Vchar_attribute_hash_table'.
3641
3642 2000-06-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3643
3644         * character.h (CHARC_CHARSET): New macro.
3645         (CHARC_CHARSET_ID): New macro.
3646         (CHARC_CODE_POINT): New macro.
3647         (CHARC_COLUMNS): New macro.
3648         (CHARC_TO_CHAR): New inline function.
3649         (CHARC_EQ): New inline function.
3650         (CHARC_ASCII_EQ): New inline function.
3651         (CHARC_IS_SPACE): New inline function.
3652         (ASCII_TO_CHARC): New inline function.
3653
3654         * char-ucs.h (encode_char_2): Deleted.
3655         (ENCODE_CHAR): Use `encode_char_1' again.
3656         (breakup_char_1): Likewise.
3657         (CHAR_TO_CHARC): New inline function.
3658
3659         * char-lb.h, char-1byte.h (CHAR_TO_CHARC): New inline function.
3660
3661 2000-06-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3662
3663         * redisplay.c (add_emchar_rune): Use `ASCII_TO_CHARC',
3664         `CHAR_TO_CHARC' and `CHARC_CHARSET'.
3665         (create_text_block): Use `CHARC_ASCII_EQ' and `CHARC_IS_SPACE'.
3666         (generate_formatted_string_db): Use `CHARC_TO_CHAR'.
3667         (create_string_text_block): Use `CHARC_ASCII_EQ' and
3668         `CHARC_IS_SPACE'.
3669         (pixel_to_glyph_translation): Use `CHARC_ASCII_EQ'.
3670
3671         * redisplay-x.c (separate_textual_runs): Use `CHARC_CHARSET' and
3672         `CHARC_CODE_POINT'.
3673         (x_output_display_block): Use `CHARC_CHARSET' and
3674         `CHARC_ASCII_EQ'.
3675
3676         * redisplay-tty.c (tty_output_display_block): Use
3677         `CHARC_ASCII_EQ'.
3678         (tty_output_display_block): Likewise; use `ASCII_TO_CHARC'.
3679
3680         * redisplay-output.c (compare_runes): Use `CHARC_EQ'.
3681
3682         * insdel.c (find_charsets_in_charc_string): Use
3683         `CHARC_CHARSET_ID'.
3684         (charc_string_displayed_columns): Use `CHARC_COLUMNS'.
3685         (convert_bufbyte_string_into_charc_dynarr): Use `CHAR_TO_CHARC'.
3686         (convert_charc_string_into_bufbyte_dynarr): Use `CHARC_TO_CHAR'.
3687         (convert_charc_string_into_malloced_string): Likewise.
3688
3689 2000-06-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3690
3691         * toolbar-x.c (x_output_toolbar_button): Use <Charc_dynarr *>
3692         instead of <Emchar_dynarr *> for buf; use
3693         `convert_bufbyte_string_into_charc_dynarr' instead of
3694         `convert_bufbyte_string_into_emchar_dynarr'; use
3695         `find_charsets_in_charc_string' instead of
3696         `find_charsets_in_emchar_string'.
3697
3698         * redisplay.h:
3699         - Include "character.h".
3700         (struct rune): New member `cglyph'; delete member `chr'.
3701
3702         * redisplay.c (redisplay_text_width_charc_string): New function;
3703         delete `redisplay_text_width_emchar_string'.
3704         (rtw_charc_dynarr): New variable; renamed from
3705         `rtw_emchar_dynarr'.
3706         (redisplay_text_width_string): Use `rtw_charc_dynarr' instead of
3707         `rtw_emchar_dynarr'; use
3708         `convert_bufbyte_string_into_charc_dynarr' instead of
3709         `convert_bufbyte_string_into_emchar_dynarr'; use
3710         `redisplay_text_width_charc_string' instead of
3711         `redisplay_text_width_emchar_string'.
3712         (redisplay_frame_text_width_string): Use `rtw_charc_dynarr'
3713         instead of `rtw_emchar_dynarr'; use
3714         `convert_bufbyte_string_into_charc_dynarr' instead of
3715         `convert_bufbyte_string_into_emchar_dynarr'.
3716         (add_emchar_rune): Add <Charc> instead of <Emchar>; use
3717         `redisplay_text_width_charc_string' instead of
3718         `redisplay_text_width_emchar_string'.
3719         (create_text_block): Modify for <struct rune> change.
3720         (generate_formatted_string_db): Likewise.
3721         (create_string_text_block): Likewise.
3722         (pixel_to_glyph_translation): Likewise.
3723
3724         * redisplay-x.c (separate_textual_runs): Use <const Charc *>
3725         instead of <const Emchar *>.
3726         (x_text_width): Likewise.
3727         (x_output_display_block): Use <Charc_dynarr *> instead
3728         <Emchar_dynarr *>; modify for <structure rune> change.
3729         (x_output_string): Use <Charc_dynarr *> instead of <Emchar_dynarr
3730         *>.
3731
3732         * redisplay-tty.c (tty_text_width): Use <const Charc *> instead of
3733         <const Emchar *>; use `charc_string_displayed_columns' instead of
3734         `emchar_string_displayed_columns'.
3735         (tty_output_display_block): Use <Charc_dynarr *> instead of
3736         <Emchar_dynarr *> for buf; modify for <structure rune> change; use
3737         `tty_output_charc_dynarr' instead of `tty_output_emchar_dynarr'.
3738         (tty_output_charc_dynarr_dynarr): New variable; renamed from
3739         `tty_output_emchar_dynarr_dynarr'.
3740         (tty_output_charc_dynarr): New function; delete
3741         `tty_output_charc_dynarr'.
3742
3743         * redisplay-output.c (compare_runes): Modify for `struct rune'.
3744         (redisplay_output_layout): Use <Charc_dynarr *> instead of
3745         <Emchar_dynarr *> for buf; use
3746         `convert_bufbyte_string_into_charc_dynarr' instead of
3747         `convert_bufbyte_string_into_emchar_dynarr'.
3748
3749         * frame.c (title_string_charc_dynarr): New variable; renamed from
3750         `title_string_emchar_dynarr'.
3751         (generate_title_string): Use `title_string_charc_dynarr' instead
3752         of `title_string_emchar_dynarr'; use
3753         `convert_charc_string_into_malloced_string' instead of
3754         `convert_emchar_string_into_malloced_string'.
3755         (init_frame): Use `title_string_charc_dynarr' instead of
3756         `title_string_emchar_dynarr'.
3757
3758         * console.h:
3759         - Include "character.h".
3760         (struct console_methods): Use <const Charc *> instead of <const
3761         Emchar *> in `text_width_method'; use <Charc_dynarr *> instead of
3762         <Emchar_dynarr *> in output_string_method.
3763
3764         * console-x.h (x_output_string): Use <Charc_dynarr *> instead of
3765         <Emchar_dynarr *>.
3766
3767         * console-stream.c (stream_text_width): Use <const Charc *>
3768         instead of <const Emchar *>.
3769
3770         * character.h (Charc_dynarr): New type.
3771
3772         * char-ucs.h (structure Charc): New structure; define new type
3773         `Charc'.
3774
3775         * char-lb.h (DECODE_CHAR): New inline function.
3776         (encode_char_1): New inline function.
3777         (ENCODE_CHAR): New macro.
3778         (structure Charc): New structure; define new type `Charc'.
3779
3780         * char-1byte.h (Vcharset_control_1): New macro.
3781         (Vcharset_latin_iso8859_1): New macro.
3782         (DECODE_CHAR): New inline function.
3783         (encode_char_1): New inline function.
3784         (ENCODE_CHAR): New macro.
3785         (structure Charc): New structure; define new type `Charc'.
3786
3787         * insdel.c (find_charsets_in_charc_string): New function; delete
3788         `find_charsets_in_emchar_string'.
3789         (charc_string_displayed_columns): New function; delete
3790         `emchar_string_displayed_columns'.
3791         (convert_bufbyte_string_into_charc_dynarr): New function; delete
3792         `convert_bufbyte_string_into_emchar_dynarr'.
3793         (convert_charc_string_into_bufbyte_dynarr): New function; delete
3794         `convert_charc_string_into_bufbyte_dynarr'.
3795         (convert_charc_string_into_malloced_string): New function; delete
3796         `convert_charc_string_into_malloced_string'.
3797
3798         * buffer.h (find_charsets_in_charc_string): New prototype; delete
3799         `find_charsets_in_emchar_string'.
3800         (charc_string_displayed_columns): New prototype; delete
3801         `emchar_string_displayed_columns'.
3802         (convert_charc_string_into_bufbyte_dynarr): New prototype; delete
3803         `convert_charc_string_into_bufbyte_dynarr'.
3804         (convert_charc_string_into_malloced_string): New prototype; delete
3805         `convert_charc_string_into_malloced_string'.
3806
3807 2000-06-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3808
3809         * select-x.c (Fx_store_cutbuffer_internal): Modify for UTF-2000.
3810
3811 2000-06-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3812
3813         * chartab.h (get_non_ascii_char_table_value): Use <Charset_ID>.
3814
3815         * char-ucs.h: Use <short> for <Charset_ID>.
3816
3817         * mule-charset.h, char-1byte.h: Use <unsigned char> for
3818         <Charset_ID>.
3819
3820 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3821
3822         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3823         to 0.16.
3824
3825 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3826
3827         * mule-charset.c (Vcharacter_morohashi_daikanwa_table): New
3828         variable.
3829         (Qmorohashi_daikanwa): New variable.
3830         (Fchar_attribute_alist): Use `Vcharacter_morohashi_daikanwa_table'
3831         for `morohashi-daikanwa' attribute.
3832         (Fget_char_attribute): Likewise.
3833         (Fput_char_attribute): Likewise.
3834         (Fdefine_char): Don't setup `morohashi-daikanwa' attribute if it
3835         has the same value of `ideograph-daikanwa'.
3836         (syms_of_mule_charset): Add new symbol `morohashi-daikanwa'.
3837         (vars_of_mule_charset): Setup
3838         `Vcharacter_morohashi_daikanwa_table'.
3839
3840 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3841
3842         * mule-charset.c (Fchar_attribute_alist): Add coded-charset
3843         attributes.
3844         (add_charset_to_list_mapper): Add `key' instead of
3845         `XCHARSET_NAME (value)' to return aliases.
3846
3847 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3848
3849         * mule-charset.c (Vcharacter_ideographic_radical_table): New
3850         variable.
3851         (Vcharacter_ideographic_strokes_table): New variable.
3852         (Qideographic_radical): New variable.
3853         (Qideographic_strokes): New variable.
3854         (Fchar_attribute_alist): Use
3855         `Vcharacter_ideographic_radical_table' for `ideographic-radical'
3856         attribute; use `Vcharacter_ideographic_strokes_table' for
3857         `ideographic-strokes' attribute.
3858         (Fget_char_attribute): Likewise.
3859         (Fput_char_attribute): Likewise.
3860         (syms_of_mule_charset): Add new symbol `ideographic-radical' and
3861         `ideographic-strokes'.
3862         (vars_of_mule_charset): Setup
3863         `Vcharacter_ideographic_radical_table' and
3864         `Vcharacter_ideographic_strokes_table'.
3865
3866 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3867
3868         * mule-charset.c (Vcharacter_total_strokes_table): New variable.
3869         (Qtotal_strokes): New variable.
3870         (Fchar_attribute_alist): Use `Vcharacter_total_strokes_table' for
3871         `total-strokes' attribute.
3872         (Fget_char_attribute): Likewise.
3873         (Fput_char_attribute): Likewise.
3874         (syms_of_mule_charset): Add new symbol `total-strokes'.
3875         (vars_of_mule_charset): Setup `Vcharacter_total_strokes_table'.
3876
3877 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3878
3879         * mule-charset.c (Vcharacter_decomposition_table): New variable.
3880         (Fchar_attribute_alist): Add `name' and `->decomposition' if they
3881         are found.
3882         (Fget_char_attribute): Use `Vcharacter_decomposition_table' for
3883         `->decomposition' attribute.
3884         (Fput_char_attribute): Likewise.
3885         (vars_of_mule_charset): Setup `Vcharacter_decomposition_table'.
3886
3887 2000-06-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3888
3889         * mule-charset.c (decoding_table_check_elements): New function.
3890         (Fset_charset_mapping_table): Use `decoding_table_check_elements'.
3891
3892 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3893
3894         * mule-charset.c (Fset_charset_mapping_table): Use
3895         `put_char_ccs_code_point'.
3896
3897 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3898
3899         * mule-charset.c (decoding_table_put_char): New inline function.
3900         (put_char_ccs_code_point): Use `decoding_table_put_char'.
3901
3902 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3903
3904         * mule-charset.c (CHARSET_BYTE_SIZE): New inline function.
3905         (XCHARSET_BYTE_SIZE): New macro.
3906         (decoding_table_remove_char): New inline function.
3907         (put_char_ccs_code_point): Use `XCHARSET_BYTE_SIZE'; use
3908         `decoding_table_remove_char'.
3909         (remove_char_ccs): Use `decoding_table_remove_char'.
3910         (Fset_charset_mapping_table): Use `CHARSET_BYTE_SIZE'.
3911
3912 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3913
3914         * mule-charset.c (Vcharacter_name_table): New variable.
3915         (Qname): New variable.
3916         (Fget_char_attribute): Use `Vcharacter_name_table' for `name'
3917         attribute.
3918         (Fput_char_attribute): Use function `put_char_ccs_code_point'; use
3919         `Vcharacter_name_table' for `name' attribute.
3920         (Fremove_char_attribute): Use function `remove_char_ccs'.
3921         (put_char_ccs_code_point): New function.
3922         (remove_char_ccs): New function.
3923         (syms_of_mule_charset): Add new symbol `name'.
3924         (vars_of_mule_charset): Setup `Vcharacter_name_table'.
3925
3926 2000-05-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3927
3928         * mule-charset.c (make_byte_table): Add new argument `older'.
3929         (make_char_id_table): Likewise.
3930         (copy_char_id_table): Comment out because it is not used.
3931         (put_char_id_table): Modify for `make_byte_table'.
3932         (Fput_char_attribute): Make encoding_table as older object;
3933         inherit older bit of `Vcharacter_composition_table'.
3934         (mark_charset): Don't mark `cs->encoding_table'.
3935         (vars_of_mule_charset): Make `Vcharacter_attribute_table' as a
3936         normal object; make `Vcharacter_composition_table' as an older
3937         object; delete staticpro for `Vcharacter_composition_table'; make
3938         `Vcharacter_variant_table' as a normal object.
3939
3940         * alloc.c (alloc_older_lcrecord): New function in UTF-2000.
3941         (mark_object): Don't check older object in UTF-2000.
3942
3943         * lrecord.h (struct lrecord_header): Add new member `older' in
3944         UTF-2000.
3945         (set_lheader_implementation): Setup `SLI_header->older' in
3946         UTF-2000.
3947         (set_lheader_older_implementation): New macro in UTF-2000.
3948         (OLDER_RECORD_P): New macro in UTF-2000.
3949         (OLDER_RECORD_HEADER_P): New macro in UTF-2000.
3950         (alloc_older_lcrecord): New prototype in UTF-2000.
3951         (alloc_older_lcrecord_type): New macro in UTF-2000.
3952
3953 2000-05-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3954
3955         * mule-charset.c (byte_table_description): Use
3956         `XD_LISP_OBJECT_ARRAY' instead of `XD_LISP_OBJECT'.
3957         (char_id_table_description): Delete bogus `, 1'.
3958         (Fget_char_attribute): Refer encoding_table of each coded-charset
3959         to get value of coded-charset attribute of a character.
3960         (Fput_char_attribute): Use `make_older_vector' instead of
3961         `make_vector'; use encoding_table of each coded-charset to store
3962         value of coded-charset attribute of a character.
3963         (Fremove_char_attribute): Use encoding_table of each coded-charset
3964         to store value of coded-charset attribute of a character.
3965         (mark_charset): Mark `cs->encoding_table'; don't mark
3966         `cs->decoding_table'.
3967         (charset_description): Add description of new member
3968         `encoding_table'.
3969         (make_charset): Initialize `encoding_table'.
3970
3971         * char-ucs.h (struct Lisp_Charset): Add new member
3972         `encoding_table'.
3973         (CHARSET_ENCODING_TABLE): New macro.
3974         (XCHARSET_ENCODING_TABLE): New macro.
3975         (charset_code_point): New implementation.
3976         (encode_char_1): Likewise.
3977
3978         * alloc.c (all_older_lcrecords): New variable in UTF-2000.
3979         (disksave_object_finalization_1): Call finalizers of
3980         `all_older_lcrecords' in UTF-2000.
3981         (make_older_vector): New function in UTF-2000.
3982         (reinit_alloc_once_early): Initialize `all_older_lcrecords' in
3983         UTF-2000.
3984
3985         * lisp.h (make_older_vector): New prototype in UTF-2000.
3986
3987 2000-05-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3988
3989         * lrecord.h (enum lrecord_type): Rename
3990         `lrecord_type_char_code_table' to `lrecord_type_char_id_table'.
3991
3992         * text-coding.c (COMPOSE_ADD_CHAR): Use `CHAR_ID_TABLE_P' and
3993         `get_char_id_table' instead of `CHAR_CODE_TABLE_P' and
3994         `get_char_code_table'.
3995
3996         * mule-charset.c (mark_char_id_table): Renamed from
3997         `mark_char_code_table'.
3998         (char_id_table_equal): Renamed from `char_code_table_equal'.
3999         (char_id_table_hash): Renamed from `char_code_table_hash'.
4000         (make_char_id_table): Renamed from `make_char_code_table'.
4001         (copy_char_id_table): Renamed from `copy_char_code_table'.
4002         (get_char_id_table): Renamed from `get_char_code_table'.
4003         (put_char_id_table): Renamed from `put_char_code_table'.
4004         (to_char_id): Renamed from `to_char_code'.
4005
4006         * char-ucs.h (struct Lisp_Char_ID_Table): Renamed from
4007         `Lisp_Char_Code_Table'.
4008         (char_id_table): Renamed from `char_code_table'.
4009         (XCHAR_ID_TABLE): Renamed from `XCHAR_CODE_TABLE'.
4010         (XSETCHAR_ID_TABLE): Renamed from `XSETCHAR_CODE_TABLE'.
4011         (CHAR_ID_TABLE_P): Renamed from `CHAR_CODE_TABLE_P'.
4012         (GC_CHAR_ID_TABLE_P): Renamed from `GC_CHAR_CODE_TABLE_P'.
4013         (get_char_id_table): Renamed from `get_char_code_table'.
4014
4015 2000-05-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4016
4017         * lrecord.h (enum lrecord_type): Rename
4018         `lrecord_type_char_byte_table' to `lrecord_type_byte_table'.
4019
4020         * mule-charset.c (mark_byte_table): Renamed from
4021         `mark_char_byte_table'.
4022         (byte_table_equal): Renamed from `char_byte_table_equal'.
4023         (byte_table_hash): Renamed from `byte_table_hash'.
4024         (make_byte_table): Renamed from `make_byte_table'.
4025         (copy_byte_table): Renamed from `copy_char_byte_table'.
4026
4027         * char-ucs.h (struct Lisp_Byte_Table): Renamed from
4028         `Lisp_Char_Byte_Table'.
4029         (byte_table): Renamed from `char_byte_table'.
4030         (XBYTE_TABLE): Renamed from `XCHAR_BYTE_TABLE'.
4031         (XSETBYTE_TABLE): Renamed from `XSET_CHAR_BYTE_TABLE'.
4032         (BYTE_TABLE_P): Renamed from `XBYTE_TABLE_P'.
4033         (GC_BYTE_TABLE_P): Renamed from `GC_CHAR_BYTE_TABLE_P'.
4034
4035 2000-05-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4036
4037         * buffer.c (dfc_convert_to_external_format): Modify for UTF-2000.
4038         (dfc_convert_to_internal_format): Likewise.
4039         
4040         * text-coding.c (Fcoding_system_canonical_name_p): New function.
4041         * text-coding.c (Fcoding_system_alias_p): New function.
4042         * text-coding.c (Fcoding_system_aliasee): New function.
4043         * text-coding.c (append_suffix_to_symbol): New function.
4044         * text-coding.c (dangling_coding_system_alias_p): New function.
4045         * text-coding.c (Ffind_coding_system):
4046         * text-coding.c (Fcopy_coding_system):
4047         * text-coding.c (encode_coding_no_conversion):
4048         * text-coding.c (syms_of_file_coding):
4049         * text-coding.c (vars_of_file_coding):
4050         Rewrite coding system alias code.
4051         Allow nested aliases, like symbolic links.
4052         Allow redefinition of coding system aliases.
4053         Prevent existence of dangling coding system aliases.
4054         Eliminate convert_to_external_format.
4055         Eliminate convert_to_internal_format.
4056         
4057         * text-coding.c: Change enum eol_type to eol_type_t.
4058
4059 2000-05-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4060
4061         * mule-charset.c (encode_builtin_char_1): Limit builtin-code-range
4062         of `mojikyo' to MIN_CHAR_MOJIKYO + 94 * 60 * 22.
4063
4064         * char-ucs.h (MAX_CHAR_MOJIKYO): Limit builtin-code-range to
4065         MIN_CHAR_MOJIKYO + 94 * 60 * 22.
4066
4067 2000-04-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4068
4069         * mule-charset.c (encode_builtin_char_1): Use `mojikyo' instead of
4070         `ideograph-daikanwa'.
4071
4072         * char-ucs.h (Vcharset_ucs): Deleted because it is not used.
4073         (Vcharset_ucs_bmp): Likewise.
4074         (Vcharset_mojikyo): Add new extern variable definition.
4075         (Vcharset_latin_iso8859_2): Deleted because it is not used.
4076         (Vcharset_latin_iso8859_3): Likewise.
4077         (Vcharset_latin_iso8859_4): Likewise.
4078         (Vcharset_latin_iso8859_9): Likewise.
4079         (Vcharset_latin_viscii_lower): Likewise.
4080         (Vcharset_latin_viscii_upper): Likewise.
4081         (DECODE_CHAR): If charset is `mojikyo-pj-N', corresponding
4082         `mojikyo' code-point is used to decode.
4083         (encode_char_2): New function [to convert `mojikyo' code-point to
4084         Mojikyo font encoding].
4085         (ENCODE_CHAR): Use `encode_char_2' instead of `encode_code_1'.
4086         (breakup_char_1): Likewise.
4087         (CHAR_CHARSET): Use `ENCODE_CHAR' instead of `BREAKUP_CHAR'.
4088
4089 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4090
4091         * text-coding.c (Fmake_coding_system): Add document about
4092         `disable-composition' property.
4093
4094 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4095
4096         * text-coding.c (Qdisable_composition): New variable; delete
4097         `Qcomposite'.
4098         (Fmake_coding_system): Add new property `disable-composite';
4099         delete property `composite'.
4100         (COMPOSE_ADD_CHAR): Use `CODING_SYSTEM_DISABLE_COMPOSITION'
4101         instead of `!CODING_SYSTEM_COMPOSITE'.
4102         (syms_of_file_coding): Add new symbol `disable-composition';
4103         delete symbol `composite'.
4104
4105         * file-coding.h (struct Lisp_Coding_System): Add
4106         `disable_composition'; delete `enable_composition'.
4107         (CODING_SYSTEM_DISABLE_COMPOSITION): New macro; delete
4108         `CODING_SYSTEM_COMPOSITE'.
4109         (XCODING_SYSTEM_DISABLE_COMPOSITION): New macro; delete
4110         `XCODING_SYSTEM_COMPOSITE'.
4111
4112 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4113
4114         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
4115         to 0.15.
4116
4117 2000-04-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4118
4119         * text-coding.c (Qcomposite): New variable.
4120         (Fmake_coding_system): Add new property `composite'.
4121         (struct decoding_stream): Add `combined_char_count',
4122         `combined_chars' and `combining_table' in UTF-2000.
4123         (COMPOSE_FLUSH_CHARS): New macro.
4124         (COMPOSE_ADD_CHAR): New macro.
4125         (reset_decoding_stream): Reset `str->combined_char_count' and
4126         `str->combining_table' in UTF-2000.
4127         (decode_coding_iso2022): Modify for character-decomposition.
4128         (syms_of_file_coding): Add new symbol `composite'.
4129
4130 2000-04-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4131
4132         * mule-charset.c (Vcharset_latin_tcvn5712): New variable.
4133         (Fput_char_attribute): Set up `Vcharacter_variant_table' instead
4134         of `Vcharacter_composition_table' if `->decomposition' property
4135         has only 1 element.
4136         (Qlatin_tcvn5712): New variable.
4137         (syms_of_mule_charset): Add new symbol `latin-tcvn5712'.
4138         (complex_vars_of_mule_charset): Add new coded-charset
4139         `latin-tcvn5712'.
4140
4141         * char-ucs.h (LEADING_BYTE_LATIN_TCVN5712): New macro.
4142
4143 2000-04-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4144
4145         * file-coding.h (struct Lisp_Coding_System): Add
4146         `enable_composition'.
4147         (CODING_SYSTEM_COMPOSITE): New macro.
4148         (XCODING_SYSTEM_COMPOSITE): New macro.
4149
4150 2000-03-17  MORIOKA Tomohiko  <tomo@m17n.org>
4151
4152         * mule-canna.c (c2mu): Fix problem with UTF-2000.
4153
4154 2000-03-16  MORIOKA Tomohiko  <tomo@m17n.org>
4155
4156         * mule-charset.c (Fput_char_attribute): Don't make mapping-table
4157         if ATTRIBUTE is `ucs' and character-id of CHARACTER = VALUE.
4158
4159 2000-02-24  MORIOKA Tomohiko  <tomo@m17n.org>
4160
4161         * mule-charset.c (Vcharset_mojikyo): New variable.
4162         (Fdefine_char): Don't use coded-charset which does not have
4163         non-builtin character range to allocate character-id.
4164         (Qmojikyo): New variable.
4165         (syms_of_mule_charset): Add new symbol `mojikyo'.
4166         (complex_vars_of_mule_charset): Add new coded-charset `mojikyo'.
4167
4168         * char-ucs.h (LEADING_BYTE_DAIKANWA_EKANJI): New macro.
4169         (LEADING_BYTE_MOJIKYO): New macro.
4170         (MIN_CHAR_MOJIKYO): New macro.
4171         (MIN_CHAR_DAIKANWA): Use `MIN_CHAR_MOJIKYO'.
4172         (MAX_CHAR_MOJIKYO): New macro.
4173
4174 2000-02-12  MORIOKA Tomohiko  <tomo@m17n.org>
4175
4176         * mule-charset.c (remove_char_attribute): Fixed.
4177
4178 2000-02-08  MORIOKA Tomohiko  <tomo@m17n.org>
4179
4180         * mule-charset.c (remove_char_attribute): New function.
4181         (Fremove_char_attribute): New function.
4182         (encode_builtin_char_1): Comment out builtin-support for
4183         greek-iso8859-7 and cyrillic-iso8859-5.
4184         (Fdecode_char): Check `code' is an integer.
4185         (syms_of_mule_charset): Add `remove-char-attribute'.
4186         (MIN_CHAR_GREEK): Deleted.
4187         (MAX_CHAR_GREEK): Likewise.
4188         (MIN_CHAR_CYRILLIC): Likewise.
4189         (MAX_CHAR_CYRILLIC): Likewise.
4190         (complex_vars_of_mule_charset): Don't use MIN_CHAR_GREEK and
4191         MAX_CHAR_GREEK for `greek-iso8859-7'.
4192
4193         * char-ucs.h (MIN_CHAR_GREEK): Comment out.
4194         (MAX_CHAR_GREEK): Likewise.
4195         (MIN_CHAR_CYRILLIC): Likewise.
4196         (MAX_CHAR_CYRILLIC): Likewise.
4197
4198 2000-02-02  MORIOKA Tomohiko  <tomo@m17n.org>
4199
4200         * mule-charset.c (Fdefine_char): Fix problem when new code-point
4201         format is used without `ucs' property.
4202         (Fdecode_char): Fix problem with GR representation.
4203         (complex_vars_of_mule_charset): Don't use `MIN_CHAR_CYRILLIC' and
4204         `MAX_CHAR_CYRILLIC' as range of builtin `cyrillic-iso8859-5'.
4205
4206 2000-01-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
4207
4208         * mule-charset.c (make_builtin_char): New function.
4209         (encode_builtin_char_1): Check ISO-2022-charset is defined or not.
4210         (Fset_charset_mapping_table): Modify for new representation of
4211         code-point.
4212         (Fdecode_char): New function.
4213         (syms_of_mule_charset): Add new builtin function `decode-char' in
4214         UTF-2000.
4215
4216         * char-ucs.h (make_builtin_char): New prototype.
4217         (DECODE_CHAR): New inline function.
4218         (MAKE_CHAR): Use `DECODE_CHAR'.
4219
4220 2000-01-28  MORIOKA Tomohiko  <tomo@m17n.org>
4221
4222         * text-coding.c (parse_charset_conversion_specs): Use
4223         `XCHARSET_CHARS' and `XCHARSET_DIMENSION' instead of
4224         `XCHARSET_TYPE'.
4225         (iso2022_designate): Likewise.
4226
4227         * chartab.c (decode_char_table_range): Use `XCHARSET_CHARS' and
4228         `XCHARSET_DIMENSION' instead of `XCHARSET_TYPE'.
4229
4230         * mule-charset.c (Vcharset_ucs): New variable.
4231         (print_charset): Change design; use `CHARSET_CHARS' and
4232         `CHARSET_DIMENSION' instead of `CHARSET_TYPE'.
4233         (make_charset): Change signature to specify `chars' and
4234         `dimension' instead of `type'.
4235         (range_charset_code_point): Modify for 256^n-set.
4236         (encode_builtin_char_1): Encode as `ucs' in default.
4237         (Fmake_charset): Modify for `make_charset'.
4238         (Fmake_reverse_direction_charset): Likewise.
4239         (Fsplit_char): Use `ENCODE_CHAR' instead of `BREAKUP_CHAR' in
4240         UTF-2000.
4241         (complex_vars_of_mule_charset): Add coded-charset `ucs'; modify
4242         for `make_charset'.
4243
4244         * char-ucs.h (Vcharset_ucs): New variable.
4245         (LEADING_BYTE_UCS): New macro.
4246         (struct Lisp_Charset): Delete `type'; change type of `dimension'
4247         and `chars' to `unsigned short' from `unsigned int'.
4248         (CHARSET_TYPE): Deleted.
4249         (XCHARSET_TYPE): Deleted.
4250
4251 2000-01-27  MORIOKA Tomohiko  <tomo@m17n.org>
4252
4253         * mule-charset.c (charset_code_point): Moved to char-ucs.h.
4254
4255         * char-ucs.h (charset_code_point): Moved from mule-charset.c.
4256         (ENCODE_CHAR): New macro.
4257
4258 2000-01-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
4259
4260         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
4261         to 0.14 (Kawachi-Katakami).
4262
4263 2000-01-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
4264
4265         * text-coding.c (char_encode_shift_jis): Modify for
4266         `charset_code_point'.
4267         (char_encode_iso2022): Likewise.
4268
4269         * mule-charset.c (Fput_char_attribute): Use <Lisp_Object>
4270         (integer) instead of list of <Lisp_Object>s (integers) as the
4271         format of code-point of a coded-charset.
4272         (range_charset_code_point): Return <int> instead of <Lisp_Object>.
4273         (encode_builtin_char_1): New function; delete
4274         `split_builtin_char'.
4275         (charset_code_point): Return <int> instead of <Lisp_Object>.
4276         (Fsplit_char): Don't use `SPLIT_CHAR'.
4277
4278         * char-ucs.h (encode_builtin_char_1): New prototype; delete
4279         prototype for `split_builtin_char'.
4280         (range_charset_code_point): Return <int> instead of <Lisp_Object>.
4281         (charset_code_point): Likewise.
4282         (encode_char_1): New inline function; delete `SPLIT_CHAR'.
4283         (breakup_char_1): Use `encode_char_1' instead of `SPLIT_CHAR'.
4284
4285 2000-01-20  MORIOKA Tomohiko  <tomo@m17n.org>
4286
4287         * mule-charset.c (complex_vars_of_mule_charset): Don't define
4288         `japanese-jisx0208-1990' in non-UTF-2000 Mule.
4289
4290 2000-01-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
4291
4292         * mule-charset.c (split_builtin_char): Don't support OBS_94x94.
4293
4294         * char-ucs.h (MIN_CHAR_OBS_94x94): Deleted.
4295         (MAX_CHAR_OBS_94x94): Deleted.
4296
4297 2000-01-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
4298
4299         * mule-charset.c (split_builtin_char): Use `MAX_CHAR_BMP'.
4300
4301         * char-ucs.h (MAX_CHAR_BMP): New macro.
4302
4303 2000-01-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
4304
4305         * text-coding.c: Sync with r21-2-24.
4306
4307 2000-01-08  MORIOKA Tomohiko  <tomo@etl.go.jp>
4308
4309         * file-coding.c: Modify for UTF-2000.
4310
4311 2000-01-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
4312
4313         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
4314         to 0.13 (Takaida).
4315
4316 2000-01-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
4317
4318         * mule-charset.c (split_builtin_char): Delete builtin support for
4319         `katakana-jisx0201'.
4320         (complex_vars_of_mule_charset): Don't map `katakana-jisx0201' to
4321         BMP area in builtin representation.
4322
4323         * char-ucs.h (MAKE_CHAR): Delete builtin support for
4324         `Vcharset_katakana_jisx0201'.
4325
4326 1999-12-24  MORIOKA Tomohiko  <tomo@etl.go.jp>
4327
4328         * mule-charset.c (Vcharset_mojikyo_pj_[1 .. 21]): New variable.
4329         (Qisolated): New variable.
4330         (Qinitial): New variable.
4331         (Qmedial): New variable.
4332         (Qfinal): New variable.
4333         (Qvertical): New variable.
4334         (Qsmall): New variable.
4335         (to_char_code): Use `Qisolated', `Qinitial', `Qmedial', `Qfinal',
4336         `Qvertical' and `Qsmall'.
4337         (Qmojikyo_pj_[1 .. 21]): New variable.
4338         (syms_of_mule_charset): Add new symbols `isolated', `initial',
4339         `medial', `final', `vertical', `small' and `mojikyo-pj-[1 .. 21]'.
4340         (complex_vars_of_mule_charset): Add new charset `mojikyo-pj-[1
4341         .. 21]'.
4342
4343 1999-11-23  MORIOKA Tomohiko  <tomo@etl.go.jp>
4344
4345         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x60.
4346         (LEADING_BYTE_MOJIKYO_PJ_[1 .. 21]): New macros.
4347         (MAX_LEADING_BYTE_PRIVATE): Changed to `(CHARSET_ID_OFFSET - 32)'.
4348
4349 1999-11-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
4350
4351         * mule-charset.c (Vcharset_japanese_jisx0208_1990): New variable.
4352         (Fdefine_char): Use Group 00 Plane 10 for non-coded variants of
4353         BMP.
4354         (Qjapanese_jisx0208_1990): New variable.
4355         (syms_of_mule_charset): Add new symbol `Qjapanese_jisx0208_1990'.
4356         (complex_vars_of_mule_charset): Add new coded-charset
4357         `japanese-jisx0208-1990'.
4358
4359         * char-ucs.h (LEADING_BYTE_JAPANESE_JISX0208_1990): New macro.
4360         (MIN_CHAR_JIS_X0208_1990): New macro.
4361         (MAX_CHAR_JIS_X0208_1990): New macro.
4362
4363 1999-11-16  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4364
4365         * text-coding.c (char_encode_iso2022): Output `~' if ISO 2022
4366         coded-charset is not found.
4367
4368 1999-11-16  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4369
4370         * mule-charset.c (Fget_char_attribute): Forgot to `CHECK_CHAR'.
4371         (Fdefine_char): Use `Fmake_char'.
4372
4373 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4374
4375         * mule-charset.c (Vcharset_ideograph_daikanwa): New variable.
4376         (Vcharset_hiragana_jisx0208): Deleted.
4377         (Vcharset_katakana_jisx0208): Deleted.
4378         (Qideograph_daikanwa): New variable.
4379         (Qhiragana_jisx0208): Deleted.
4380         (Qkatakana_jisx0208): Deleted.
4381         (split_builtin_char): Split `ideograph-daikanwa'.
4382         (Fsplit_char): New implementation for UTF-2000.
4383         (syms_of_mule_charset): Add new symbol `ideograph-daikanwa';
4384         delete symbol `hiragana-jisx0208' and `katakana-jisx0208'.
4385         (complex_vars_of_mule_charset): Add new coded-charset
4386         `ideograph-daikanwa'; delete coded-charset `hiragana-jisx0208' and
4387         `katakana-jisx0208'.
4388
4389         * char-ucs.h (LEADING_BYTE_DAIKANWA): New macro.
4390         (LEADING_BYTE_HIRAGANA_JISX0208): Deleted.
4391         (LEADING_BYTE_KATAKANA_JISX0208): Deleted.
4392         (MIN_CHAR_DAIKANWA): New macro.
4393         (MAX_CHAR_DAIKANWA): New macro.
4394
4395 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4396
4397         * data.c (Fstring_to_number): Don't recognize floating point if
4398         base is not 10.
4399
4400 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4401
4402         * mule-charset.c (Fput_char_attribute): Forgot to `CHECK_CHAR'.
4403
4404 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4405
4406         * mule-charset.c (Qsquare): New variable.
4407         (to_char_code): Add `Qsquare'.
4408         (syms_of_mule_charset): Add new symbol `square'.
4409
4410 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4411
4412         * mule-charset.c (Qcircle): New variable.
4413         (to_char_code): Add `Qcircle'.
4414         (syms_of_mule_charset): Add new symbol `circle'.
4415
4416 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4417
4418         * mule-charset.c (Qfont): New variable.
4419         (to_char_code): Add `Qfont'.
4420         (syms_of_mule_charset): Add new symbol `font'.
4421
4422 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4423
4424         * mule-charset.c (Qsub): New variable.
4425         (to_char_code): Add `Qsub'.
4426         (syms_of_mule_charset): Add new symbol `sub'.
4427
4428 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4429
4430         * mule-charset.c (Fput_char_attribute): Convert each element of
4431         VALUE to GL position if ATTRIBUTE is a GR-set,
4432
4433 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4434
4435         * mule-charset.c (Fput_char_attribute): Allow GR code-point if a
4436         coded-charset is a GR-set.
4437
4438 1999-11-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4439
4440         * mule-charset.c (Fput_char_attribute): Check each element of
4441         VALUE is a byte if ATTRIBUTE is a coded-charset or its name.
4442
4443 1999-11-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4444
4445         * mule-charset.c (Vcharset_ethiopic_ucs): New variable in
4446         UTF-2000.
4447         (Qethiopic_ucs): New variable in UTF-2000.
4448         (syms_of_mule_charset): Add new symbol `ethiopic-ucs' in UTF-2000.
4449         (complex_vars_of_mule_charset): Add new coded-charset
4450         `ethiopic-ucs' in UTF-2000.
4451
4452         * char-ucs.h (LEADING_BYTE_ETHIOPIC_UCS): New macro.
4453         (LEADING_BYTE_HIRAGANA_JISX0208): Changed to `(CHARSET_ID_OFFSET -
4454         9)'.
4455         (LEADING_BYTE_KATAKANA_JISX0208): Changed to `(CHARSET_ID_OFFSET -
4456         10)'.
4457         (LEADING_BYTE_PRIVATE): Changed to `(CHARSET_ID_OFFSET - 11)'.
4458
4459 1999-11-13  MORIOKA Tomohiko  <tomo@etl.go.jp>
4460
4461         * mule-charset.c (Fset_charset_mapping_table): Fix problem with
4462         `ascii'.
4463
4464 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4465
4466         * mule-charset.c (Vcharacter_variant_table): New variable.
4467         (Q_ucs): New variable.
4468         (Fchar_variants): New function.
4469         (Fput_char_attribute): Register `->ucs' value to
4470         `Vcharacter_variant_table'.
4471         (syms_of_mule_charset): Add new function `char-variants' and new
4472         symbol `->ucs'.
4473         (vars_of_mule_charset): Setup `Vcharacter_variant_table'.
4474
4475 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4476
4477         * mule-charset.c (get_char_code_table): Allow negative character
4478         code.
4479         (put_char_code_table): Likewise.
4480         (Vcharacter_composition_table): New variable.
4481         (Q_decomposition): New variable.
4482         (Qwide): New variable.
4483         (Qnarrow): New variable.
4484         (Qcompat): New variable.
4485         (QnoBreak): New variable.
4486         (Qsuper): New variable.
4487         (Qfraction): New variable.
4488         (to_char_code): New function.
4489         (Fget_composite_char): New function.
4490         (Fput_char_attribute): Register `->decomposition' value to
4491         `Vcharacter_composition_table'.
4492         (syms_of_mule_charset): Add new function `get-composite-char', new
4493         symbol `->decomposition', `wide', `narrow', `compat', `noBreak',
4494         `super' and `fraction'.
4495         (vars_of_mule_charset): Setup `Vcharacter_composition_table'.
4496
4497 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4498
4499         * mule-charset.c (Fchar_attribute_alist): Check the argument is a
4500         character; copy the return value.
4501
4502 1999-11-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
4503
4504         * char-ucs.h (SPLIT_CHAR): Use `split_builtin_char'.
4505
4506         * mule-charset.c (range_charset_code_point): Must use make_int.
4507         (split_builtin_char): New function.
4508
4509 1999-11-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
4510
4511         * mule-charset.c (char_byte_table): Change name from
4512         "char-code-table" to "char-byte-table".
4513         (mark_char_code_table): New function.
4514         (char_code_table_equal): New function.
4515         (char_code_table_hash): New function.
4516         (char_code_table_description): New constant.
4517         (char_code_table): New type.
4518         (make_char_code_table): New function.
4519         (copy_char_code_table): New function.
4520         (get_char_code_table): Modify for `char_code_table' type.
4521         (put_char_code_table): Likewise.
4522         (vars_of_mule_charset): Update `utf-2000-version' to 0.12
4523         (Kashiwara).
4524
4525         * char-ucs.h (char_code_table): New type.
4526         (XCHAR_CODE_TABLE): New macro.
4527         (XSETCHAR_CODE_TABLE): New macro.
4528         (CHAR_CODE_TABLE_P): New macro.
4529         (GC_CHAR_CODE_TABLE_P): New macro.
4530         (struct Lisp_Char_Code_Table): New structure.
4531
4532 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
4533
4534         * mule-charset.c (Fmake_charset): Setup byte_offset for
4535         {94|96}^n-set.
4536
4537 1999-11-09  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4538
4539         * mule-charset.c (Fdefine_char): Fix problem with non-UCS
4540         character.
4541
4542 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
4543
4544         * char-ucs.h (SPLIT_CHAR): Don't make new cell if a charset slot
4545         is found.
4546
4547 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
4548
4549         * mule-charset.c (Fget_char_attribute): If ATTRIBUTE is a name of
4550         charset, it is regarded as a charset.
4551         (put_char_attribute): New function in UTF-2000.
4552         (Fput_char_attribute): If ATTRIBUTE is a charset or a name of
4553         charset, mapping-table of the charset is modified.
4554         (Fdefine_char): New function in UTF-2000.
4555         (Fset_charset_mapping_table): Use `put_char_attribute' instead of
4556         `Fput_char_attribute'.
4557         (syms_of_mule_charset): Add new function `define-char' and new
4558         symbol `ucs' in UTF-2000.
4559         (vars_of_mule_charset): Update `utf-2000-version' to 0.11 (Shiki).
4560
4561 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
4562
4563         * mule-charset.c (Fcharset_name): Define `byte_offset' in
4564         non-UTF-2000 configuration.
4565
4566 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
4567
4568         * text-coding.c (char_encode_shift_jis): Use `charset_code_point'
4569         not to use `XCHARSET_ENCODING_TABLE (Vcharset_latin_jisx0201)'.
4570
4571         * mule-charset.c (mark_charset): `cs->encoding_table' has been
4572         deleted.
4573         (make_charset): Don't use `CHARSET_ENCODING_TABLE(cs)'.
4574         (Fset_charset_mapping_table): Likewise.
4575
4576         * char-ucs.h (struct Lisp_Charset): Delete `encoding_table'.
4577         (CHARSET_ENCODING_TABLE): Delete.
4578         (XCHARSET_ENCODING_TABLE): Delete.
4579         (charset_code_point): New interface.
4580
4581 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
4582
4583         * text-coding.c (char_encode_iso2022): Use `charset_code_point'
4584         instead of `charset_get_byte1' and `charset_get_byte2'.
4585
4586         * mule-charset.c, char-ucs.h (charset_get_byte1): Deleted.
4587         (charset_get_byte2): Deleted.
4588
4589 1999-10-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
4590
4591         * char-ucs.h (SPLIT_CHAR): New inline function.
4592         (breakup_char_1): Use `SPLIT_CHAR'.
4593
4594         * mule-charset.c (range_charset_code_point): New function.
4595         (charset_code_point): New function.
4596
4597         * char-ucs.h (range_charset_code_point): New interface.
4598         (breakup_char_1): Use `range_charset_code_point'.
4599
4600 1999-10-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
4601
4602         * mule-charset.c (Fmake_charset): Delete unused local variable
4603         `code_offset'.
4604
4605         * char-ucs.h (Vcharacter_attribute_table): New extern variable.
4606         (breakup_char_1): Find a charset and code-point in
4607         `Vcharacter_attribute_table'.
4608
4609 1999-10-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
4610
4611         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
4612         to 0.10 (Yao).
4613
4614 1999-10-25  MORIOKA Tomohiko  <tomo@etl.go.jp>
4615
4616         * mule-charset.c (Vcharacter_attribute_table): New variable.
4617         (Fchar_attribute_alist): New function.
4618         (Fget_char_attribute): New function.
4619         (Fput_char_attribute): New function.
4620         (Fset_charset_mapping_table): Setup `Vcharacter_attribute_table'
4621         too.
4622         (syms_of_mule_charset): Add new function `char-attribute-alist',
4623         `get-char-attribute' and `put-char-attribute'.
4624         (vars_of_mule_charset): Setup `Vcharacter_attribute_table'.
4625
4626 1999-10-19  MORIOKA Tomohiko  <tomo@etl.go.jp>
4627
4628         * mule-charset.c (Fmake_charset): Just use
4629         `get_unallocated_leading_byte'.
4630
4631         * char-ucs.h (LEADING_BYTE_*): Use ISO-IR numbers for official
4632         sets; don't use final-byte based number for private sets.
4633
4634 1999-10-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
4635
4636         * doprnt.c (emacs_doprnt_1): Fix problem with %0XXd for a negative
4637         integer.
4638
4639 1999-10-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
4640
4641         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
4642         to 0.9.
4643
4644 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4645
4646         * regex.c (compile_extended_range): Use `CHAR_CHARSET_ID' instead
4647         of `CHAR_LEADING_BYTE' in UTF-2000.
4648
4649         * insdel.c (find_charsets_in_bufbyte_string): Use
4650         `CHAR_CHARSET_ID' instead of `CHAR_LEADING_BYTE' in UTF-2000.
4651         (find_charsets_in_emchar_string): Likewise.
4652
4653         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use
4654         `CHAR_CHARSET_ID' instead of `CHAR_LEADING_BYTE' in UTF-2000.
4655
4656         * char-ucs.h (CHAR_LEADING_BYTE): Deleted.
4657         (CHAR_CHARSET_ID): New macro.
4658
4659 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4660
4661         * chartab.c (get_char_table): Don't use type `Charset_ID' for
4662         charset-id - MIN_LEADING_BYTE.
4663         (put_char_table): Likewise.
4664
4665 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4666
4667         * char-ucs.h (MIN_LEADING_BYTE): Changed to `-0x40'.
4668         (NUM_LEADING_BYTES): Changed to (80 * 3 - MIN_LEADING_BYTE).
4669         (CHARSET_LEADING_BYTE): Don't cast by `Bufbyte'.
4670         (CHARSET_ID_OFFSET): New macro.
4671         (LEADING_BYTE_CONTROL_1): Changed to (CHARSET_ID_OFFSET - 1).
4672         (LEADING_BYTE_UCS_BMP): Changed to (CHARSET_ID_OFFSET - 2).
4673         (LEADING_BYTE_LATIN_VISCII): Changed to (CHARSET_ID_OFFSET - 3).
4674         (LEADING_BYTE_HIRAGANA_JISX0208): Changed to (CHARSET_ID_OFFSET -
4675         4).
4676         (LEADING_BYTE_KATAKANA_JISX0208): Changed to (CHARSET_ID_OFFSET -
4677         5).
4678         (MIN_LEADING_BYTE_PRIVATE): Changed to `MIN_LEADING_BYTE'.
4679         (MAX_LEADING_BYTE_PRIVATE): Changed to (CHARSET_ID_OFFSET - 6).
4680         (CHARSET_ID_OFFSET_94): Changed to (CHARSET_ID_OFFSET - '0').
4681         (CHARSET_ID_OFFSET_96): Changed to (CHARSET_ID_OFFSET_94 + 80).
4682         (CHARSET_ID_OFFSET_94x94): Changed to (CHARSET_ID_OFFSET_96 + 80).
4683
4684 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4685
4686         * mule-charset.c (next_allocated_leading_byte): New variable in
4687         UTF-2000.
4688         (next_allocated_1_byte_leading_byte): Don't define in UTF-2000.
4689         (next_allocated_2_byte_leading_byte): Don't define in UTF-2000.
4690         (get_unallocated_leading_byte): Simply use
4691         `next_allocated_leading_byte' [ignore dimension] in UTF-2000.
4692         (vars_of_mule_charset): Setup `next_allocated_leading_byte' in
4693         UTF-2000.
4694
4695         * char-ucs.h (MIN_LEADING_BYTE_PRIVATE): New macro.
4696         (MAX_LEADING_BYTE_PRIVATE): New macro.
4697         (MIN_LEADING_BYTE_OFFICIAL_2): Deleted.
4698         (MAX_LEADING_BYTE_OFFICIAL_2): Deleted.
4699
4700 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4701
4702         * mule-charset.c (Fmake_charset): Allocate final-byte based
4703         charset-id for 94-set, 96-set and 94x94-set.
4704
4705 1999-10-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
4706
4707         * mule-charset.c (char_byte_table_equal): Fill braces to avoid
4708         ambiguous `else'.
4709         (Fmake_charset): Likewise.
4710         (complex_vars_of_mule_charset): Modify the font registry of
4711         `ucs-bmp' not to match `Ethiopic-Unicode'.
4712
4713 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4714
4715         * mule-charset.c (complex_vars_of_mule_charset): Add font
4716         registory of `ucs-bmp'.
4717
4718 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4719
4720         * text-coding.c (char_encode_iso2022): Ignore non-ISO-2022
4721         coded-charsets in `default-coded-charset-priority-list' when
4722         breaking up a character.
4723
4724         * mule-charset.c (Vcharset_latin_viscii): New variable.
4725         (Qlatin_viscii): New variable.
4726         (make_charset): Don't use `decoding_table'.
4727         (Fmake_charset): Regard graphic = 2 as 256^n-set; setup
4728         byte_offset.
4729         (Fset_charset_mapping_table): New implementation.
4730         (syms_of_mule_charset): Add new symbol `latin-viscii'.
4731         (complex_vars_of_mule_charset): Set `graphic' attribute of charset
4732         `ucs-bmp' and `latin_viscii' to 2; change font registry of charset
4733         `latin-viscii-lower' to "MULEVISCII-LOWER"; change font registry
4734         of charset `latin-viscii-upper' to "MULEVISCII-UPPER"; add new
4735         charset `latin_viscii'.
4736
4737         * char-ucs.h (LEADING_BYTE_LATIN_VISCII): New macro.
4738         (CHARSET_TYPE_94X94): Change to 1 from 2.
4739         (CHARSET_TYPE_96): Change to 2 from 1.
4740         (CHARSET_TYPE_128): New macro.
4741         (CHARSET_TYPE_128X128): Change to 5 from 4.
4742         (CHARSET_TYPE_256): New macro.
4743         (CHARSET_TYPE_256X256): Change to 7 from 5.
4744         (MAKE_CHAR): Use `XCHARSET_BYTE_OFFSET(charset)'.
4745
4746 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4747
4748         * text-coding.c (char_encode_shift_jis): Refer
4749         `XCHARSET_ENCODING_TABLE(Vcharset_latin_jisx0201)' instead of
4750         `XCHARSET_TO_BYTE1_TABLE(Vcharset_latin_jisx0201)'.
4751
4752         * mule-charset.c (mark_char_byte_table): New function in UTF-2000.
4753         (char_byte_table_equal): New function in UTF-2000.
4754         (char_byte_table_hash): New function in UTF-2000.
4755         (char_byte_table_description): New constant in UTF-2000.
4756         (char_byte_table): New type in UTF-2000.
4757         (make_char_byte_table): New function in UTF-2000.
4758         (copy_char_byte_table): New function in UTF-2000.
4759         (make_char_code_table): New macro in UTF-2000.
4760         (get_char_code_table): New function in UTF-2000.
4761         (put_char_code_table): New function in UTF-2000.
4762         (mark_charset): Mark `cs->encoding_table' in UTF-2000.
4763         (charset_description): Add setting in UTF-2000.
4764         (make_charset): Setup `CHARSET_ENCODING_TABLE(cs)' instead of
4765         `CHARSET_TO_BYTE1_TABLE(cs)'.
4766         (charset_get_byte1): Refer `XCHARSET_ENCODING_TABLE(charset)'
4767         instead of `XCHARSET_TO_BYTE1_TABLE(charset)'.
4768         (charset_get_byte2): Refer `XCHARSET_ENCODING_TABLE(charset)'
4769         instead of `XCHARSET_TO_BYTE2_TABLE(charset)'.
4770         (Fset_charset_mapping_table): Setup `CHARSET_ENCODING_TABLE(cs)'
4771         instead of `CHARSET_TO_BYTE1_TABLE(cs)' and
4772         `CHARSET_TO_BYTE2_TABLE(cs)'.
4773
4774         * char-ucs.h (char_byte_table): New type.
4775         (XCHAR_BYTE_TABLE): New macro.
4776         (XSETCHAR_BYTE_TABLE): New macro.
4777         (CHAR_BYTE_TABLE_P): New macro.
4778         (GC_CHAR_BYTE_TABLE_P): New macro.
4779         (struct Lisp_Char_Byte_Table): New structure.
4780         (get_char_code_table): New interface.
4781         (Emchar_to_byte_table): Deleted.
4782         (get_byte_from_character_table): Deleted.
4783         (struct Lisp_Charset): Add `encoding_table'; delete
4784         `to_byte1_table' and `to_byte2_table'.
4785         (CHARSET_ENCODING_TABLE): New macro.
4786         (CHARSET_TO_BYTE1_TABLE): Deleted.
4787         (CHARSET_TO_BYTE2_TABLE): Deleted.
4788         (XCHARSET_ENCODING_TABLE): New macro.
4789         (XCHARSET_TO_BYTE1_TABLE): Deleted.
4790         (XCHARSET_TO_BYTE2_TABLE): Deleted.
4791
4792 1999-10-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
4793
4794         * mule-charset.c (syms_of_mule_charset): Delete charset alias
4795         `vietnamese-viscii-*'.
4796
4797 1999-10-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
4798
4799         * mule-charset.c (Qvietnamese_viscii_lower): New variable.
4800         (Qvietnamese_viscii_upper): New variable.
4801         (Fdefine_charset_alias): New function.
4802         (syms_of_mule_charset): Add new function `define-charset-alias'.
4803         (syms_of_mule_charset): Rename charset `vietnamese-viscii-*' to
4804         `latin-viscii-*'; define `vietnamese-viscii-*' as aliases for
4805         `latin-viscii-*'.
4806
4807 1999-10-04  MORIOKA Tomohiko  <tomo@etl.go.jp>
4808
4809         * char-ucs.h (MIN_CHAR_OBS_94x94): New macro.
4810         (MAX_CHAR_OBS_94x94): New macro.
4811         (breakup_char_1): Support obsolete XEmacs-UCS private code space
4812         for 94x94 sets.
4813
4814         * mule-charset.c (put_byte_from_character_table): Change unit size
4815         from 128 to 256.
4816         (mark_charset): Don't mark `cs->decoding_table' if `UTF2000' is
4817         not defined.
4818         (Fmake_reverse_direction_charset): Modify dummy argument of
4819         `make_charset' for non-UTF-2000 environment.
4820
4821 1999-10-03  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4822
4823         * char-ucs.h (MAKE_CHAR): Allow nested decoding-table.
4824
4825         * mule-charset.c (destroy_byte_from_character_table): New macro.
4826         (latin_jisx0201_to_ucs): Deleted.
4827         (latin_iso8859_2_to_ucs): Deleted.
4828         (latin_iso8859_3_to_ucs): Deleted.
4829         (latin_iso8859_4_to_ucs): Deleted.
4830         (latin_iso8859_9_to_ucs): Deleted.
4831         (latin_viscii_lower_to_ucs): Deleted.
4832         (latin_viscii_upper_to_ucs): Deleted.
4833         (mark_charset): Mark `cs->decoding_table'.
4834         (Fcharset_mapping_table): Fix DOC-string.
4835         (Fset_charset_mapping_table): New function.
4836         (syms_of_mule_charset): Add nwe function
4837         `set-charset-mapping-table'.
4838         (complex_vars_of_mule_charset): Don't setup and use
4839         `latin_*_to_ucs'.
4840
4841 1999-10-01  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4842
4843         * char-ucs.h (MAKE_CHAR): Check the result for range-represented
4844         charset.
4845
4846 1999-09-30  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4847
4848         * mule-charset.c (Vcharset_hiragana_jisx0208): New variable.
4849         (Vcharset_katakana_jisx0208): New variable.
4850         (Qhiragana_jisx0208): New variable.
4851         (Qkatakana_jisx0208): New variable.
4852         (make_charset): Add new argument `byte_offset'.
4853         (charset_get_byte1): Modify for new coded-charset definition; use
4854         `XCHARSET_UCS_MIN', `XCHARSET_UCS_MAX', `XCHARSET_CODE_OFFSET' and
4855         `XCHARSET_BYTE_OFFSET'.
4856         (Fmake_charset): Modify for `make_charset'.
4857         (Fmake_reverse_direction_charset): Likewise.
4858         (syms_of_mule_charset): Add new symbols `hiragana-jisx0208' and
4859         `katakana-jisx0208'.
4860         (complex_vars_of_mule_charset): Modify for `make_charset'; quote
4861         `.'  in font registry of charset `katakana-jisx0201',
4862         `latin-jisx0201', `vietnamese-viscii-lower' and
4863         `vietnamese-viscii-upper'; modify DOC-string of charset
4864         `japanese-jisx0208-1978' and `japanese-jisx0208'; modify font
4865         registry of charset `japanese-jisx0208' not to use font for JIS
4866         X0208:1990; add new charset `hiragana-jisx0208' and
4867         `katakana-jisx0208'.
4868
4869         * char-ucs.h (LEADING_BYTE_HIRAGANA_JISX0208): New macro.
4870         (LEADING_BYTE_KATAKANA_JISX0208): New macro.
4871         (struct Lisp_Charset): Add `byte_offset'.
4872         (CHARSET_BYTE_OFFSET): New macro.
4873         (XCHARSET_UCS_MIN): New macro.
4874         (XCHARSET_UCS_MAX): New macro.
4875         (XCHARSET_CODE_OFFSET): New macro.
4876         (XCHARSET_BYTE_OFFSET): New macro.
4877         (MIN_CHAR_HIRAGANA): New macro.
4878         (MAX_CHAR_HIRAGANA): New macro.
4879         (MIN_CHAR_KATAKANA): New macro.
4880         (MAX_CHAR_KATAKANA): New macro.
4881         (MAKE_CHAR): Modify for new coded-charset definition; use
4882         `XCHARSET_UCS_MIN', `XCHARSET_UCS_MAX', `XCHARSET_CODE_OFFSET' and
4883         `XCHARSET_BYTE_OFFSET'.
4884
4885 1999-09-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
4886
4887         * mule-charset.c (CHAR96): Deleted.
4888         (latin_jisx0201_to_ucs): Type is changed from array of <Emchar> to
4889         <Lisp_Object>.
4890         (latin_iso8859_2_to_ucs): Likewise.
4891         (latin_iso8859_3_to_ucs): Likewise.
4892         (latin_iso8859_4_to_ucs): Likewise.
4893         (latin_iso8859_9_to_ucs): Likewise.
4894         (latin_viscii_lower_to_ucs): Likewise.
4895         (latin_viscii_upper_to_ucs): Likewise.
4896         (latin_tcvn5712_to_ucs): Commented out.
4897         (make_charset): Change type of argument `decoding_table' from
4898         <Emchar*> to <Lisp_Object> [vector of characters].
4899         (Fmake_charset): Modify for `make_charset'.
4900         (Fmake_reverse_direction_charset): Likewise.
4901         (Fcharset_mapping_table): New function in UTF-2000.
4902         (syms_of_mule_charset): Setup `Fcharset_mapping_table' in
4903         UTF-2000.
4904         (complex_vars_of_mule_charset): Modify for type change of
4905         `*_to_ucs'; modify for `make_charset'.
4906
4907         * char-ucs.h (struct Lisp_Charset): Change type of
4908         `decoding_table' from <Emchar*> to <Lisp_Object>.
4909         (MAKE_CHAR): Modify for new specification of `decoding_table'.
4910
4911 1999-09-23  MORIOKA Tomohiko  <tomo@etl.go.jp>
4912
4913         * mule-charset.c (Fmake_reverse_direction_charset): Fix compile
4914         error with non-UTF-2000-Mule.
4915
4916 1999-09-21  MORIOKA Tomohiko  <tomo@etl.go.jp>
4917
4918         * mule-charset.c (Vcharset_chinese_cns11643_3): Deleted [defined
4919         in lisp again].
4920         (Vcharset_chinese_cns11643_4): Likewise.
4921         (Vcharset_chinese_cns11643_5): Likewise.
4922         (Vcharset_chinese_cns11643_6): Likewise.
4923         (Vcharset_chinese_cns11643_7): Likewise.
4924         (Qchinese_cns11643_3): Likewise.
4925         (Qchinese_cns11643_4): Likewise.
4926         (Qchinese_cns11643_5): Likewise.
4927         (Qchinese_cns11643_6): Likewise.
4928         (Qchinese_cns11643_7): Likewise.
4929         (syms_of_mule_charset): Move definitions for `chinese-cns11643-3',
4930         `chinese-cns11643-4', `chinese-cns11643-5', `chinese-cns11643-6'
4931         and `chinese-cns11643-7' to lisp/mule/chinese.el.
4932         (complex_vars_of_mule_charset): Likewise.
4933
4934 1999-09-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
4935
4936         * mule-charset.c (charset_get_byte1): Fix bug about 94- and
4937         96-set.
4938         (Fmake_reverse_direction_charset): Inherit CHARSET_DECODING_TABLE,
4939         CHARSET_UCS_MIN, CHARSET_UCS_MAX and CHARSET_CODE_OFFSET.
4940
4941 1999-09-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
4942
4943         * char-ucs.h (MIN_CHAR_HALFWIDTH_KATAKANA): Changed to 0xFF61 from
4944         0xFF60.
4945         (MAKE_CHAR): Change offset for katakana-jisx0201 to 33 from 0x20.
4946         (breakup_char_1): Likewise.
4947
4948         * text-coding.c (char_encode_iso2022): Keep designated charsets if
4949         one of them includes the specified character.
4950
4951 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
4952
4953         * mule-charset.c: Update `utf-2000-version' to 0.8 (Kami).
4954
4955 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
4956
4957         * char-ucs.h (MAKE_CHAR): Fix problem in 2-dimension charset.
4958
4959 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
4960
4961         * mule-charset.c (latin_iso8859_2_to_ucs NULL): Add pseudo
4962         definition for non-UTF-2000 Mule.
4963         (latin_iso8859_3_to_ucs): Likewise.
4964         (latin_iso8859_4_to_ucs): Likewise.
4965         (latin_iso8859_9_to_ucs): Likewise.
4966         (latin_jisx0201_to_ucs): Likewise.
4967         (MIN_CHAR_THAI): Likewise.
4968         (MAX_CHAR_THAI): Likewise.
4969         (MIN_CHAR_GREEK): Likewise.
4970         (MAX_CHAR_GREEK): Likewise.
4971         (MIN_CHAR_HEBREW): Likewise.
4972         (MAX_CHAR_HEBREW): Likewise.
4973         (MIN_CHAR_HALFWIDTH_KATAKANA): Likewise.
4974         (MAX_CHAR_HALFWIDTH_KATAKANA): Likewise.
4975         (MIN_CHAR_CYRILLIC): Likewise.
4976         (MAX_CHAR_CYRILLIC): Likewise.
4977
4978 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
4979
4980         * char-ucs.h (breakup_char_1): Use
4981         `Vdefault_coded_charset_priority_list' for hebrew-iso8859-8,
4982         thai-tis620 and katakana-jisx0201 area.
4983
4984 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4985
4986         * char-ucs.h (breakup_char_1): Use
4987         `Vdefault_coded_charset_priority_list' for cyrillic-iso8859-5
4988         area.
4989
4990         * text-coding.c (reset_encoding_stream): Fixed.
4991         (char_encode_ucs4): Delete `& 255'.
4992
4993         * char-ucs.h (breakup_char_1): Use
4994         `Vdefault_coded_charset_priority_list' for greek-iso8859-7 area.
4995
4996 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4997
4998         * file-coding.c (Fmake_coding_system): Don't set up
4999         `codesys->fixed.size'.
5000         (encode_coding_no_conversion): Don't refer
5001         `str->codesys->fixed.size'.
5002
5003 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5004
5005         * mule-charset.c, char-ucs.h (latin_a_char_to_charset): Deleted.
5006         (latin_a_char_to_byte1): Deleted.
5007         (latin_a_char_to_byte2): Deleted.
5008
5009 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5010
5011         * mule-charset.c (make_charset): Add new argument `ucs_min',
5012         `ucs_max' and `code_offset'.
5013         (charset_get_byte1): New implementation [delete specific charset
5014         depended implementations].
5015         (Fmake_charset): Modify for `make_charset'.
5016         (Fmake_reverse_direction_charset): Likewise.
5017         (complex_vars_of_mule_charset): Likewise.
5018
5019         * char-ucs.h (struct Lisp_Charset): Add `ucs_min', `ucs_max' and
5020         `code_offset'.
5021         (CHARSET_UCS_MIN): New macro.
5022         (CHARSET_UCS_MAX): New macro.
5023         (CHARSET_CODE_OFFSET): New macro.
5024         (MAKE_CHAR): Delete charset depended definitions [except
5025         katakana-jisx0201].
5026
5027 1999-09-13  MORIOKA Tomohiko  <tomo@etl.go.jp>
5028
5029         * char-ucs.h (breakup_char_1): Use
5030         `Vdefault_coded_charset_priority_list' for C0-Controls,
5031         Basic-Latin, C1-Controls and Latin-1-Supplement area.
5032
5033 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5034
5035         * char-ucs.h (charset_get_byte1): New function.
5036         (XCHARSET_GET_BYTE1): Deleted.
5037         (charset_get_byte2): New function.
5038         (XCHARSET_GET_BYTE2): Deleted.
5039         (Vdefault_coded_charset_priority_list): New external variable.
5040         (breakup_char_1): Use `charset_get_byte1', `charset_get_byte2' and
5041         `Vdefault_preferred_coded_charset_list'.
5042
5043         * mule-charset.c (charset_get_byte1): New function.
5044         (charset_get_byte2): New function.
5045         (Vdefault_coded_charset_priority_list): New variable.
5046         (vars_of_mule_charset): Add new variable
5047         `default-coded-charset-priority-list'.
5048
5049 1999-09-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5050
5051         * char-ucs.h (XCHARSET_GET_BYTE1): New inline function.
5052         (XCHARSET_GET_BYTE2): New inline function.
5053         (breakup_char_1): Use `XCHARSET_GET_BYTE1' and
5054         `XCHARSET_GET_BYTE2'.
5055
5056 1999-09-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5057
5058         * mule-charset.c (make_charset): Initialize
5059         `CHARSET_TO_BYTE1_TABLE(cs)' and `CHARSET_TO_BYTE2_TABLE(cs)' by
5060         NULL if table is not defined.
5061
5062 1999-09-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5063
5064         * text-coding.c (char_encode_shift_jis): Use
5065         `XCHARSET_TO_BYTE1_TABLE' for `Vcharset_latin_jisx0201' instead of
5066         `ucs_to_latin_jisx0201'.
5067
5068         * mule-charset.c (ucs_to_latin_jisx0201): Deleted.
5069         (ucs_to_latin_iso8859_2): Deleted.
5070         (ucs_to_latin_iso8859_3): Deleted.
5071         (ucs_to_latin_iso8859_4): Deleted.
5072         (ucs_to_latin_iso8859_9): Deleted.
5073         (ucs_to_latin_viscii_lower): Deleted.
5074         (ucs_to_latin_viscii_upper): Deleted.
5075         (ucs_to_latin_tcvn5712): Deleted.
5076         (make_charset): Add new argument `decoding_table'; set up
5077         `CHARSET_DECODING_TABLE(cs)' in UTF-2000; set up
5078         `CHARSET_TO_BYTE1_TABLE(cs)' for 94-set and 96-set if
5079         `decoding_table' is defined in UTF-2000.
5080         (Fmake_charset): Modify for `make_charset'.
5081         (Fmake_reverse_direction_charset): Likewise.
5082         (complex_vars_of_mule_charset): Likewise; delete `GENERATE_94_SET'
5083         and `GENERATE_96_SET'.
5084
5085         * char-ucs.h (latin_jisx0201_to_ucs): Deleted.
5086         (ucs_to_latin_jisx0201): Deleted.
5087         (latin_iso8859_2_to_ucs): Deleted.
5088         (ucs_to_latin_iso8859_2): Deleted.
5089         (latin_iso8859_3_to_ucs): Deleted.
5090         (ucs_to_latin_iso8859_3): Deleted.
5091         (latin_iso8859_4_to_ucs): Deleted.
5092         (ucs_to_latin_iso8859_4): Deleted.
5093         (latin_iso8859_9_to_ucs): Deleted.
5094         (ucs_to_latin_iso8859_9): Deleted.
5095         (latin_viscii_lower_to_ucs): Deleted.
5096         (ucs_to_latin_viscii_lower): Deleted.
5097         (latin_viscii_upper_to_ucs): Deleted.
5098         (ucs_to_latin_viscii_upper): Deleted.
5099         (struct Lisp_Charset): Renamed `encoding_table' to
5100         `to_byte1_table'; add `to_byte2_table'.
5101         (CHARSET_DECODING_TABLE): New macro.
5102         (CHARSET_TO_BYTE1_TABLE): New macro.
5103         (CHARSET_TO_BYTE2_TABLE): New macro.
5104         (XCHARSET_DECODING_TABLE): New macro.
5105         (XCHARSET_TO_BYTE1_TABLE): New macro.
5106         (XCHARSET_TO_BYTE2_TABLE): New macro.
5107         (MAKE_CHAR): Use `XCHARSET_DECODING_TABLE'; don't use `*_to_ucs'
5108         tables.
5109         (breakup_char_1): Use `XCHARSET_TO_BYTE1_TABLE' if it is defined;
5110         don't use `ucs_to_*' tables.
5111
5112 1999-09-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5113
5114         * text-coding.c (Fmake_coding_system): Don't set up
5115         `codesys->fixed.size'.
5116         (encode_coding_no_conversion): Use `if' instead of `switch'.
5117
5118         * file-coding.h (struct Lisp_Coding_System): Delete `fixed.size'.
5119
5120 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
5121
5122         * mule-charset.c (make_charset): Delete argument `rep_bytes'.
5123         (Fmake_charset): Modify for `make_charset'.
5124         (Fmake_reverse_direction_charset): Likewise.
5125         (complex_vars_of_mule_charset): Likewise.
5126
5127 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
5128
5129         * text-coding.c (char_encode_shift_jis): Use table
5130         `ucs_to_latin_jisx0201' and BREAKUP_CHAR.
5131
5132 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
5133
5134         * text-coding.c (text_encode_generic): Use `if' instead of
5135         `switch'.
5136         (decode_coding_sjis): Use `MAKE_CHAR' and `DECODE_ADD_UCS_CHAR' to
5137         decode JIS-Latin.
5138
5139 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
5140
5141         * text-coding.c (encode_coding_sjis): Deleted.
5142         (char_encode_shift_jis): New function.
5143         (char_finish_shift_jis): New function.
5144         (reset_encoding_stream): Set up `encode_char' and `finish' for
5145         `CODESYS_UCS4' and `CODESYS_SHIFT_JIS'.
5146         (mule_encode): Use generic encoder for `CODESYS_SHIFT_JIS'.
5147         (char_encode_utf8): Treat `eol_type'.
5148
5149 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
5150
5151         * file-coding.c (decode_coding_iso2022): Use
5152         `DECODE_ADD_UCS_CHAR'; don't use `XCHARSET_REP_BYTES'.
5153
5154 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
5155
5156         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
5157         to 0.7 (Hirano).
5158
5159 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
5160
5161         * char-lb.h (CHAR_COLUMNS): New macro.
5162
5163 1999-09-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
5164
5165         * text-coding.c (char_encode_ucs4): New function.
5166         (char_finish_ucs4): New function.
5167         (encode_coding_ucs4): Deleted.
5168         (mule_encode): Use generic encoder for `CODESYS_UCS4'.
5169         (text_encode_generic): Delete local variable `charset' and `half'.
5170         (ucs_to_mule_table): Deleted.
5171         (mule_to_ucs_table): Deleted.
5172         (Fset_ucs_char): Deleted.
5173         (ucs_to_char): Deleted.
5174         (Fucs_char): Deleted.
5175         (Fset_char_ucs): Deleted.
5176         (Fchar_ucs): Deleted.
5177         (decode_ucs4): Deleted.
5178         (mule_char_to_ucs4): Deleted.
5179         (encode_ucs4): Deleted.
5180         (decode_coding_ucs4): Use `DECODE_ADD_UCS_CHAR'.
5181         (decode_coding_utf8): Likewise.
5182         (decode_coding_iso2022): Likewise; don't use `XCHARSET_REP_BYTES'.
5183         (char_encode_iso2022): Fixed.
5184         (syms_of_file_coding): Delete `Fset_ucs_char', `Fucs_char',
5185         `Fset_char_ucs' and `Fchar_ucs'.
5186         (complex_vars_of_file_coding): Don't initialize
5187         `ucs_to_mule_table'.
5188
5189         * objects-tty.c (tty_initialize_font_instance): Don't use
5190         `XCHARSET_COLUMNS'.
5191
5192         * mule-charset.c (make_charset): Don't set up CHARSET_REP_BYTES in
5193         UTF-2000.
5194
5195         * redisplay-tty.c (tty_output_display_block): Use `CHAR_COLUMNS'
5196         instead of `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
5197
5198         * insdel.c (bufbyte_string_displayed_columns): Use `CHAR_COLUMNS'
5199         instead of `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
5200         (emchar_string_displayed_columns): Likewise.
5201
5202         * indent.c (column_at_point): Use `CHAR_COLUMNS' instead of
5203         `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
5204         (string_column_at_point): Likewise.
5205         (Fmove_to_column): Likewise.
5206
5207         * char-ucs.h (struct Lisp_Charset): Delete `rep_bytes'; add
5208         `encoding_table' and `decoding_table'.
5209         (CHARSET_REP_BYTES): Deleted.
5210         (XCHARSET_REP_BYTES): Deleted.
5211         (XCHARSET_COLUMNS): Deleted.
5212         (CHAR_COLUMNS): New macro.
5213         (lookup_composite_char): Deleted unconditionally.
5214         (composite_char_string): Likewise.
5215
5216 1999-09-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
5217
5218         * char-ucs.h (Emchar_to_byte_table): New type.
5219         (get_byte_from_character_table): New function interface.
5220         (Vcharset_latin_jisx0201): New variable.
5221         (latin_jisx0201_to_ucs): New variable.
5222         (ucs_to_latin_jisx0201): New variable.
5223         (Vcharset_latin_iso8859_2): New variable.
5224         (latin_iso8859_2_to_ucs): New variable.
5225         (ucs_to_latin_iso8859_2): New variable.
5226         (Vcharset_latin_iso8859_3): New variable.
5227         (latin_iso8859_3_to_ucs): New variable.
5228         (ucs_to_latin_iso8859_3): New variable.
5229         (Vcharset_latin_iso8859_4): New variable.
5230         (latin_iso8859_4_to_ucs): New variable.
5231         (ucs_to_latin_iso8859_4): New variable.
5232         (Vcharset_latin_iso8859_9): New variable.
5233         (latin_iso8859_9_to_ucs): New variable.
5234         (ucs_to_latin_iso8859_9): New variable.
5235         (Vcharset_latin_viscii_lower): New variable.
5236         (latin_viscii_lower_to_ucs): New variable.
5237         (ucs_to_latin_viscii_lower): New variable.
5238         (Vcharset_latin_viscii_upper): New variable.
5239         (latin_viscii_upper_to_ucs): New variable.
5240         (ucs_to_latin_viscii_upper): New variable.
5241         (CHARSET_ID_OFFSET_94): Changed from 0x60 to 0x55.
5242         (LEADING_BYTE_LATIN_VISCII_LOWER): New macro.
5243         (LEADING_BYTE_LATIN_VISCII_UPPER): New macro.
5244         (MAKE_CHAR): Map `latin-iso8859-2', `latin-iso8859-3',
5245         `latin-iso8859-4', `latin-iso8859-9', `latin-jisx0201',
5246         `vietnamese-viscii-lower' and `vietnamese-viscii-upper' to BMP.
5247         (breakup_char_1): Use `ucs_to_latin_iso8859_2',
5248         `ucs_to_latin_iso8859_3', `ucs_to_latin_iso8859_4',
5249         `ucs_to_latin_iso8859_9', `ucs_to_latin_viscii_lower',
5250         `ucs_to_latin_viscii_upper' and `ucs_to_latin_jisx0201' tables.
5251
5252         * mule-charset.c (Vcharset_latin_viscii_lower): New variable.
5253         (Vcharset_latin_viscii_upper): New variable.
5254         (make_byte_from_character_table): New function.
5255         (put_byte_from_character_table): New function.
5256         (get_byte_from_character_table): New function.
5257         (CHAR96): New macro.
5258         (ucs_to_latin_jisx0201): New variable.
5259         (latin_jisx0201_to_ucs): New variable.
5260         (ucs_to_latin_iso8859_2): New variable.
5261         (latin_iso8859_2_to_ucs): New variable.
5262         (ucs_to_latin_iso8859_3): New variable.
5263         (latin_iso8859_3_to_ucs): New variable.
5264         (ucs_to_latin_iso8859_4): New variable.
5265         (latin_iso8859_4_to_ucs): New variable.
5266         (ucs_to_latin_iso8859_9): New variable.
5267         (latin_iso8859_9_to_ucs): New variable.
5268         (ucs_to_latin_viscii_lower): New variable.
5269         (latin_viscii_lower_to_ucs): New variable.
5270         (ucs_to_latin_viscii_upper): New variable.
5271         (latin_viscii_upper_to_ucs): New variable.
5272         (ucs_to_latin_tcvn5712): New variable.
5273         (latin_tcvn5712_to_ucs): New variable.
5274         (Qlatin_viscii_lower): New variable.
5275         (Qlatin_viscii_upper): New variable.
5276         (syms_of_mule_charset): Set up new symbol
5277         `vietnamese-viscii-lower' and `vietnamese-viscii-upper'.
5278         (complex_vars_of_mule_charset): Set up new charset
5279         `vietnamese-viscii-lower' and `vietnamese-viscii-upper'; new macro
5280         `GENERATE_94_SET' and `GENERATE_96_SET'; use them to generate
5281         `ucs_to_<CHARSET>' tables.
5282
5283 1999-09-08  MORIOKA Tomohiko  <tomo@etl.go.jp>
5284
5285         * text-coding.c: New file.
5286
5287 1999-09-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
5288
5289         * mule-charset.c (Fmake_char): Fix problem of 256-set.
5290
5291         * char-ucs.h (Vcharset_ucs_bmp): New variable.
5292         (MAKE_CHAR): Modify for `ucs-bmp'.
5293         (breakup_char_1): Return `ucs-bmp' and code point of BMP for
5294         non-MULE characters of BMP.
5295
5296 1999-09-06  MORIOKA Tomohiko  <tomo@etl.go.jp>
5297
5298         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
5299         to 0.6.
5300
5301 1999-09-05  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5302
5303         * lstream.h:
5304         - Include multibyte.h instead of character.h for `BYTE_ASCII_P'.
5305         - Include character.h for `CHAR_ASCII_P'.
5306
5307         * mb-multibyte.h (CHAR_MULTIBYTE_P): Moved from mule-charset.h.
5308
5309         * mule-charset.h (CHAR_MULTIBYTE_P): Moved to mb-multibyte.h.
5310         (CHAR_ASCII_P): Don't use `CHAR_MULTIBYTE_P'.
5311
5312         * mb-multibyte.h (BYTE_ASCII_P): Moved from char-ucs.h.
5313         (BYTE_C0_P): Likewise.
5314         (BYTE_C1_P): Likewise.
5315         (Lstream_get_emchar_1): Likewise.
5316         (Lstream_fput_emchar): Likewise.
5317         (Lstream_funget_emchar): Likewise.
5318         (copy_internal_to_external): Likewise.
5319         (copy_external_to_internal): Likewise.
5320
5321         * char-ucs.h (BYTE_ASCII_P): Moved to mb-multibyte.h.
5322         (BYTE_C0_P): Likewise.
5323         (BYTE_C1_P): Likewise.
5324         (Lstream_get_emchar_1): Likewise.
5325         (Lstream_fput_emchar): Likewise.
5326         (Lstream_funget_emchar): Likewise.
5327         (copy_internal_to_external): Likewise.
5328         (copy_external_to_internal): Likewise.
5329
5330         * mb-1byte.h (BYTE_ASCII_P): Moved from buffer.h.
5331         (REP_BYTES_BY_FIRST_BYTE): Likewise.
5332
5333         * buffer.h (REP_BYTES_BY_FIRST_BYTE): Moved to mb-1byte.h.
5334         (BYTE_ASCII_P): Moved to mb-1byte.h.
5335
5336 1999-09-04  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5337
5338         * mb-utf-8.h, mb-lb.h: Include mb-multibyte.h.
5339
5340         * multibyte.h: Include mb-1byte.h in unibyte-XEmacs.
5341         (MAX_EMCHAR_LEN): Moved to mb-1byte.h.
5342         (VALID_CHARPTR_P): Moved to mb-*byte.h.
5343         (VALIDATE_CHARPTR_BACKWARD): Likewise.
5344         (VALIDATE_CHARPTR_FORWARD): Likewise.
5345         (simple_charptr_emchar): Moved to mb-multibyte.h.
5346         (simple_set_charptr_emchar): Likewise.
5347         (simple_charptr_copy_char): Likewise.
5348         (non_ascii_charptr_emchar): Likewise.
5349         (non_ascii_set_charptr_emchar): Likewise.
5350         (non_ascii_charptr_copy_char): Likewise.
5351         (charptr_emchar): Moved to mb-*byte.h.
5352         (set_charptr_emchar): Likewise.
5353         (charptr_copy_char): Likewise.
5354
5355         * mb-1byte.h, mb-multibyte.h: New files.
5356
5357 1999-09-03  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5358
5359         * mb-utf-8.h (MULTIBYTE): New macro.
5360         (MAX_EMCHAR_LEN): Moved from buffer.h.
5361         (REP_BYTES_BY_FIRST_BYTE): Moved from char-ucs.h.
5362
5363         * char-ucs.h (REP_BYTES_BY_FIRST_BYTE): Moved to mb-utf-8.h.
5364
5365         * mb-lb.h, multibyte.h: New files.
5366
5367         * char-1byte.h (Charset_ID): Moved from buffer.h.
5368         (MIN_LEADING_BYTE): Likewise.
5369         (LEADING_BYTE_ASCII): Likewise.
5370         (NUM_LEADING_BYTES): Likewise.
5371         (CHARSETP): Likewise.
5372         (CHARSET_BY_LEADING_BYTE): Likewise.
5373         (XCHARSET_LEADING_BYTE): Likewise.
5374         (XCHARSET_GRAPHIC): Likewise.
5375         (XCHARSET_COLUMNS): Likewise.
5376         (XCHARSET_DIMENSION): Likewise.
5377         (CHAR_CHARSET): Likewise.
5378         (CHAR_LEADING_BYTE): Likewise.
5379         (BREAKUP_CHAR): Likewise.
5380         (Vcharset_ascii): Likewise.
5381
5382         * buffer.h: Include multibyte.h unconditionally.
5383         (VALID_CHARPTR_P): Moved to multibyte.h.
5384         (ASSERT_VALID_CHARPTR): Likewise.
5385         (REAL_INC_CHARPTR): Likewise.
5386         (REAL_INC_CHARBYTIND): Likewise.
5387         (REAL_DEC_CHARPTR): Likewise.
5388         (INC_CHARPTR): Likewise.
5389         (INC_CHARBYTIND): Likewise.
5390         (DEC_CHARPTR): Likewise.
5391         (VALIDATE_CHARPTR_BACKWARD): Likewise.
5392         (VALIDATE_CHARPTR_FORWARD): Likewise.
5393         (charptr_n_addr): Likewise.
5394         (MAX_EMCHAR_LEN): Moved to mb-*.h.
5395         (simple_charptr_emchar): Moved to multibyte.h.
5396         (simple_set_charptr_emchar): Likewise.
5397         (simple_charptr_copy_char): Likewise.
5398         (non_ascii_charptr_emchar): Likewise.
5399         (non_ascii_set_charptr_emchar): Likewise.
5400         (non_ascii_charptr_copy_char): Likewise.
5401         (charptr_emchar): Likewise.
5402         (set_charptr_emchar): Likewise.
5403         (charptr_copy_char): Likewise.
5404         (charptr_emchar_n): Likewise.
5405         (Charset_ID): Moved to char-1byte.h.
5406         (Vcharset_ascii): Likewise.
5407         (CHAR_CHARSET): Likewise.
5408         (CHAR_LEADING_BYTE): Likewise.
5409         (LEADING_BYTE_ASCII): Likewise.
5410         (NUM_LEADING_BYTES): Likewise.
5411         (MIN_LEADING_BYTE): Likewise.
5412         (CHARSETP): Likewise.
5413         (CHARSET_BY_LEADING_BYTE): Likewise.
5414         (XCHARSET_LEADING_BYTE): Likewise.
5415         (XCHARSET_GRAPHIC): Likewise.
5416         (XCHARSET_COLUMNS): Likewise.
5417         (XCHARSET_DIMENSION): Likewise.
5418         (BREAKUP_CHAR): Likewise.
5419
5420 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5421
5422         * character.h: Add document about interface for characters.
5423
5424         * char-ucs.h (CHAR_ASCII_P): Modify name of argument.
5425         (MAKE_CHAR): Delete comment about
5426         `FIELD2_TO_OFFICIAL_LEADING_BYTE' and
5427         `FIELD2_TO_PRIVATE_LEADING_BYTE'.
5428         (BREAKUP_CHAR): Modify name of arguments.
5429         (CHAR_CHARSET): Modify name of argument.
5430
5431         * buffer.h: Delete document about Emchar accessors.
5432
5433 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5434
5435         * character.h (CHAR_INTP): Moved from buffer.h
5436         (CHAR_OR_CHAR_INTP): Likewise.
5437         (XCHAR_OR_CHAR_INT): Likewise.
5438         (CHECK_CHAR_COERCE_INT): Likewise.
5439
5440         * buffer.h (CHAR_INTP): Moved to character.h
5441         (CHAR_OR_CHAR_INTP): Likewise.
5442         (XCHAR_OR_CHAR_INT): Likewise.
5443         (CHECK_CHAR_COERCE_INT): Likewise.
5444
5445 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5446
5447         * character.h:
5448         - Move definitions about UCS-2000 (UCS-4) to char-ucs.h.
5449         - Include char-1byte.h, char-lb.h or char-ucs.h.
5450
5451         * mb-utf-8.h (CHAR_ASCII_P): Moved to char-ucs.h.
5452
5453         * buffer.h: Include character unconditionally.
5454         (valid_char_p): Moved to char-*.h.
5455         (non_ascii_valid_char_p): Moved to char-lb.h.
5456
5457         * char-1byte.h, char-lb.h, char-ucs.h: New files.
5458
5459 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5460
5461         * mule-ccl.c (ccl_driver): Don't define `CCL_WriteMultibyteChar2'
5462         in UTF-2000 because it is not ported yet and not to use
5463         `FIELD2_TO_OFFICIAL_LEADING_BYTE', `MIN_LEADING_BYTE_OFFICIAL_2',
5464         `FIELD1_TO_OFFICIAL_LEADING_BYTE' and
5465         `FIELD1_TO_PRIVATE_LEADING_BYTE'.
5466
5467         * mb-utf-8.h (CHAR_MULTIBYTE_P): Moved from character.h.
5468         (CHAR_ASCII_P): Moved from character.h.
5469
5470         * character.h (CHAR_MULTIBYTE_P): Moved to mb-utf-8.h.
5471         (CHAR_ASCII_P): Likewise.
5472         (CHAR_FIELD1_MASK): Deleted.
5473         (CHAR_FIELD2_MASK): Deleted.
5474         (CHAR_FIELD3_MASK): Deleted.
5475         (MAX_CHAR_BASIC_LATIN): New macro.
5476         (CHAR_FIELD1): Deleted.
5477         (CHAR_FIELD2_INTERNAL): Deleted.
5478         (CHAR_FIELD3_INTERNAL): Deleted.
5479         (FIELD1_TO_PRIVATE_LEADING_BYTE): Deleted.
5480         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Deleted.
5481         (FIELD2_TO_PRIVATE_LEADING_BYTE): Deleted.
5482         (FIELD2_TO_OFFICIAL_LEADING_BYTE): Deleted.
5483         (MIN_CHAR_FIELD1_OFFICIAL): Deleted.
5484         (MAX_CHAR_FIELD1_OFFICIAL): Deleted.
5485         (MIN_CHAR_FIELD2_PRIVATE): Deleted.
5486         (MAX_CHAR_FIELD2_PRIVATE): Deleted.
5487         (MIN_CHAR_FIELD1_PRIVATE): Deleted.
5488         (MAX_CHAR_FIELD1_PRIVATE): Deleted.
5489         (MULE_CHAR_PRIVATE_OFFSET): Deleted.
5490         (MIN_CHAR_PRIVATE_TYPE9N): Deleted.
5491         (MAX_CHAR_PRIVATE_TYPE9N): Deleted.
5492         (MIN_CHAR_PRIVATE_TYPE9NX9N): Deleted.
5493         (MIN_CHAR_OFFICIAL_TYPE9NX9N): Deleted.
5494         (MIN_CHAR_COMPOSITION): Deleted.
5495         (breakup_char_1): Use `MAX_CHAR_BASIC_LATIN' instead of
5496         `CHAR_ASCII_P'; use `0x7f' instead of `CHAR_FIELD3_INTERNAL'.
5497
5498 1999-09-02  MORIOKA Tomohiko  <tomo@m17n.org>
5499
5500         * buffer.h: Include mb-utf-8.h in UTF-2000.
5501
5502         * character.h (BUFBYTE_FIRST_BYTE_P): Moved to mb-utf-8.h.
5503
5504         * mb-utf-8.h: New file.
5505
5506 1999-09-02  MORIOKA Tomohiko  <tomo@etl.go.jp>
5507
5508         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use `Charset_ID'
5509         instead of `int'.
5510
5511         * mule-charset.h, buffer.h (Charset_ID): New type.
5512
5513 1999-09-01  MORIOKA Tomohiko  <tomo@etl.go.jp>
5514
5515         * mule-canna.c (c2mu): Use `MAKE_CHAR',
5516         `Vcharset_japanese_jisx0212' and `Vcharset_japanese_jisx0208'
5517         instead of `MULE_CHAR_PRIVATE_OFFSET',
5518         `LEADING_BYTE_JAPANESE_JISX0212', `LEADING_BYTE_JAPANESE_JISX0208'
5519         and `FIELD1_TO_OFFICIAL_LEADING_BYTE'.
5520         (m2c): Use `BREAKUP_CHAR' and `XCHARSET_FINAL'.
5521
5522         * character.h (Vcharset_japanese_jisx0212): New variable
5523         definition.
5524
5525 1999-09-01  MORIOKA Tomohiko  <tomo@etl.go.jp>
5526
5527         * mule-charset.c (Vcharset_ucs_bmp): New variable in UTF-2000.
5528         (charset_by_attributes): Delete array about direction.
5529         (latin_a_char_to_charset): New variable in UTF-2000.
5530         (latin_a_char_to_byte1): New variable in UTF-2000.
5531         (latin_a_char_to_byte2): New variable in UTF-2000.
5532         (Qucs_bmp): New variable.
5533         (next_allocated_1_byte_leading_byte): Use `Charset_ID' instead of
5534         `Bufbyte'.
5535         (next_allocated_2_byte_leading_byte): Likewise.
5536         (non_ascii_set_charptr_emchar): Likewise.
5537         (make_charset): Likewise; add `CHARSET_TYPE_128X128' and
5538         `CHARSET_TYPE_256X256' in UTF-2000; modify for
5539         `charset_by_attributes'.
5540         (get_unallocated_leading_byte): Use `Charset_ID' instead of `int'.
5541         (char-charset): Use `CHAR_CHARSET' instead of `CHAR_LEADING_BYTE'
5542         and `CHARSET_BY_LEADING_BYTE'.
5543         (syms_of_mule_charset): Set up `ucs-bmp'; move setting of
5544         `utf-2000-version' to `vars_of_mule_charset'.
5545         (vars_of_mule_charset): Modify for `charset_by_attributes'; don't
5546         define `leading-code-private-11' in UTF-2000; move setting of
5547         `utf-2000-version' from `syms_of_mule_charset'.
5548         (complex_vars_of_mule_charset): Set up charset `ucs-bmp' in
5549         UTF-2000.
5550
5551         * character.h (Charset_ID): New type.
5552         (LEADING_BYTE_UCS_BMP): New macro.
5553         (LEADING_BYTE_CONTROL_1): Changed from 0x8F to 0x81.
5554         (CHARSET_ID_OFFSET_94): New macro.
5555         (MIN_CHARSET_ID_PRIVATE_94): New macro.
5556         (MAX_CHARSET_ID_PRIVATE_94): New macro.
5557         (LEADING_BYTE_ASCII): Changed to use CHARSET_ID_OFFSET_94 and
5558         final-byte.
5559         (LEADING_BYTE_KATAKANA_JISX0201): Likewise.
5560         (LEADING_BYTE_LATIN_JISX0201): Likewise.
5561         (CHARSET_ID_OFFSET_96): New macro.
5562         (LEADING_BYTE_LATIN_ISO8859_1): Changed to use
5563         CHARSET_ID_OFFSET_96 and final-byte.
5564         (LEADING_BYTE_LATIN_ISO8859_2): Likewise.
5565         (LEADING_BYTE_LATIN_ISO8859_3): Likewise.
5566         (LEADING_BYTE_LATIN_ISO8859_4): Likewise.
5567         (LEADING_BYTE_GREEK_ISO8859_7): Likewise.
5568         (LEADING_BYTE_ARABIC_ISO8859_6): Likewise.
5569         (LEADING_BYTE_HEBREW_ISO8859_8): Likewise.
5570         (LEADING_BYTE_CYRILLIC_ISO8859_5): Likewise.
5571         (LEADING_BYTE_LATIN_ISO8859_9): Likewise.
5572         (LEADING_BYTE_THAI_TIS620): Likewise.
5573         (MIN_LEADING_BYTE_PRIVATE_1): Changed from 0x0D0 to 0xD0.
5574         (MAX_LEADING_BYTE_PRIVATE_1): Changed from 0x11f to 0xDF.
5575         (CHARSET_ID_OFFSET_94x94): New macro.
5576         (LEADING_BYTE_CHINESE_BIG5_1): Changed to use
5577         CHARSET_ID_OFFSET_94x94 and final-byte.
5578         (LEADING_BYTE_CHINESE_BIG5_2): Likewise.
5579         (MIN_LEADING_BYTE_PRIVATE_2): Likewise.
5580         (MAX_LEADING_BYTE_PRIVATE_2): Likewise.
5581         (LEADING_BYTE_JAPANESE_JISX0208_1978): Likewise.
5582         (LEADING_BYTE_CHINESE_GB2312): Likewise.
5583         (LEADING_BYTE_JAPANESE_JISX0208): Likewise.
5584         (LEADING_BYTE_KOREAN_KSC5601): Likewise.
5585         (LEADING_BYTE_JAPANESE_JISX0212): Likewise.
5586         (LEADING_BYTE_CHINESE_CCITT_GB): Likewise.
5587         (LEADING_BYTE_CHINESE_CNS11643_*): Likewise.
5588         (LEADING_BYTE_KOREAN_KPS9566): Likewise.
5589         (CHARSET_TYPE_128X128): New macro.
5590         (CHARSET_TYPE_256X256): New macro.
5591         (XCHARSET_PRIVATE_P): Delete unconditionally.
5592         (charset_by_attributes): Delete array about direction.
5593         (CHARSET_BY_LEADING_BYTE): Use `Charset_ID' instead of `int'.
5594         (CHARSET_BY_ATTRIBUTES): Modify for `charset_by_attributes'.
5595         (MIN_CHAR_94): New macro.
5596         (MAX_CHAR_94): New macro.
5597         (MIN_CHAR_96): New macro.
5598         (MAX_CHAR_96): New macro.
5599         (MIN_CHAR_94x94): New macro.
5600         (MAX_CHAR_94x94): New macro.
5601         (MIN_CHAR_96x96): New macro.
5602         (MAX_CHAR_96x96): New macro.
5603         (FIELD1_TO_PRIVATE_LEADING_BYTE): Use `CHARSET_ID_OFFSET_94x94'.
5604         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Likewise.
5605         (FIELD2_TO_PRIVATE_LEADING_BYTE): Use `(MIN_LEADING_BYTE_PRIVATE_1
5606         - 32)'.
5607         (FIELD2_TO_OFFICIAL_LEADING_BYTE): Use `LEADING_BYTE_ASCII'.
5608         (MIN_CHAR_FIELD2_OFFICIAL): Deleted.
5609         (MAX_CHAR_FIELD2_OFFICIAL): Deleted.
5610         (MIN_CHAR_OFFICIAL_TYPE9N): Deleted.
5611         (MAX_CHAR_PRIVATE_TYPE9N): Changed.
5612         (MAKE_CHAR): Use `XCHARSET_FINAL' instead of
5613         `XCHARSET_LEADING_BYTE' to make code-point.
5614         (latin_a_char_to_charset): New variable.
5615         (latin_a_char_to_byte1): New variable.
5616         (latin_a_char_to_byte2): New variable.
5617         (breakup_char_1): Use `latin_a_char_to_{charset|byte1|byte2}' for
5618         Latin Extended-A; use `CHARSET_BY_ATTRIBUTES' instead of
5619         `CHARSET_BY_LEADING_BYTE' to get charset for ISO-2022 characters.
5620
5621         * insdel.c (find_charsets_in_bufbyte_string): Use `Charset_ID'
5622         instead of `unsigned char'; use `MIN_LEADING_BYTE' instead of 128.
5623         (find_charsets_in_emchar_string): Likewise.
5624         (vars_of_insdel): Don't define local variable `i' in UTF-2000.
5625
5626         * file-coding.c (Fdecode_big5_char): Use `Charset_ID' instead of
5627         `int'.
5628         (decode_coding_iso2022): Likewise.
5629
5630         * toolbar-x.c (x_output_toolbar_button): Use `Charset_ID' instead
5631         of `unsigned char'.
5632
5633         * redisplay.c (redisplay_text_width_emchar_string): Use
5634         `Charset_ID' instead of `unsigned char'.
5635         (redisplay_frame_text_width_string): Likewise.
5636
5637         * glyphs.c (glyph_height_internal): Use `Charset_ID' instead of
5638         `unsigned char'.
5639
5640         * faces.h, faces.c (ensure_face_cachel_complete): Use `Charset_ID'
5641         instead of `unsigned char'.
5642         (face_cachel_charset_font_metric_info): Likewise.
5643
5644         * chartab.c (print_char_table): Use `Charset_ID' instead of `int'.
5645         (get_non_ascii_char_table_value): Likewise.
5646         (get_char_table): Likewise.
5647         (put_char_table): Likewise.
5648         (map_over_other_charset): Likewise.
5649         (map_char_table): Likewise.
5650
5651         * buffer.h (find_charsets_in_bufbyte_string): Use `Charset_ID'
5652         instead of `unsigned char'.
5653
5654 1999-08-31  MORIOKA Tomohiko  <tomo@etl.go.jp>
5655
5656         * character.h (PRE_LEADING_BYTE_PRIVATE_1): Deleted.
5657         (PRE_LEADING_BYTE_PRIVATE_2): Deleted.
5658
5659         * mule-charset.c (leading_code_private_11): Don't define in
5660         UTF-2000.
5661
5662         * mule-ccl.c (ccl_driver): Don't define `CCL_ReadMultibyteChar2'
5663         in UTF-2000 because it is not ported yet and not to use
5664         `PRE_LEADING_BYTE_PRIVATE_1' and `PRE_LEADING_BYTE_PRIVATE_2'.
5665
5666 1999-08-30  MORIOKA Tomohiko  <tomo@etl.go.jp>
5667
5668         * character.h (LEADING_BYTE_COMPOSITE): Deleted.
5669
5670 1999-08-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
5671
5672         * regex.c (re_compile_fastmap): Don't use `LEADING_BYTE_PREFIX_P'
5673         in UTF-2000.
5674
5675         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use int instead
5676         of unsigned char to store leading-byte.
5677
5678         * chartab.c (get_non_ascii_char_table_value): Don't use
5679         `BREAKUP_CHAR_1_UNSAFE' in UTF-2000.
5680
5681         * file-coding.c (encode_coding_big5): Delete bogus implementation
5682         in UTF2000.
5683
5684         * character.h (LEADING_BYTE_*): Delete definition for
5685         non-UTF-2000.
5686         (LEADING_BYTE_PRIVATE_P): Deleted unconditionally.
5687         (LEADING_BYTE_PREFIX_P): Deleted.
5688         (PRIVATE_LEADING_BYTE_PREFIX): Deleted.
5689         (BUFBYTE_FIRST_BYTE_P): Delete definition for non-UTF-2000.
5690         (BUFBYTE_LEADING_BYTE_P): Deleted.
5691         (CHARSET_PRIVATE_P): Deleted unconditionally.
5692         (rep_bytes_by_first_byte): Deleted unconditionally.
5693         (REP_BYTES_BY_FIRST_BYTE): Delete definition for non-UTF-2000.
5694         (FIELD1_TO_PRIVATE_LEADING_BYTE): Likewise.
5695         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Likewise.
5696         (FIELD2_TO_PRIVATE_LEADING_BYTE): Likewise.
5697         (CHAR_FIELD2): Deleted.
5698         (CHAR_FIELD3): Deleted.
5699         (MAKE_CHAR): Delete definition for non-UTF-2000.
5700         (BREAKUP_CHAR_1_UNSAFE): Deleted.
5701         (breakup_char_1): New implementation.
5702         (CHAR_CHARSET): Use `BREAKUP_CHAR'.
5703         (CHAR_LEADING_BYTE): Use `CHAR_CHARSET'.
5704
5705 1999-08-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
5706
5707         * character.h (REP_BYTES_BY_FIRST_BYTE): Change order of
5708         condition.
5709
5710 1999-08-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
5711
5712         * character.h (LEADING_BYTE_PRIVATE_P): Don't define in UTF2000.
5713         (CHARSET_PRIVATE_P): Likewise.
5714         (XCHARSET_PRIVATE_P): Likewise.
5715         (MAKE_CHAR): Don't use XCHARSET_PRIVATE_P in UTF2000.
5716
5717         * file-coding.c (encode_coding_ucs4): Delete bogus implement in
5718         UTF2000.
5719         (decode_coding_iso2022): Don't use XCHARSET_PRIVATE_P in UTF2000.
5720
5721 1999-08-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
5722
5723         * character.h (LEADING_BYTE_*): Changed in UTF2000.
5724         (NUM_LEADING_BYTES): Changed from 128 to 256.
5725         (FIELD1_TO_PRIVATE_LEADING_BYTE): Change value to 0x80 in UTF2000.
5726         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Change value to 0x80 in
5727         UTF2000.
5728         (FIELD2_TO_PRIVATE_LEADING_BYTE): Change value to 0x80 in UTF2000.
5729
5730         * mule-charset.c (Vcharset_chinese_cns11643_3): New variable in
5731         UTF2000.
5732         (Vcharset_chinese_cns11643_4): New variable in UTF2000.
5733         (Vcharset_chinese_cns11643_5): New variable in UTF2000.
5734         (Vcharset_chinese_cns11643_6): New variable in UTF2000.
5735         (Vcharset_chinese_cns11643_7): New variable in UTF2000.
5736         (Qchinese_cns11643_3): New variable in UTF2000.
5737         (Qchinese_cns11643_4): New variable in UTF2000.
5738         (Qchinese_cns11643_5): New variable in UTF2000.
5739         (Qchinese_cns11643_6): New variable in UTF2000.
5740         (Qchinese_cns11643_7): New variable in UTF2000.
5741         (syms_of_mule_charset): Define `chinese-cns11643-3',
5742         `chinese-cns11643-4', `chinese-cns11643-5', `chinese-cns11643-6'
5743         and `chinese-cns11643-7' in UTF2000.
5744         (vars_of_mule_charset): Initialize
5745         next_allocated_2_byte_leading_byte by LEADING_BYTE_CHINESE_BIG5_2
5746         + 1 in UTF2000.
5747         (complex_vars_of_mule_charset): Setup charset
5748         `chinese-cns11643-3', `chinese-cns11643-4', `chinese-cns11643-5',
5749         `chinese-cns11643-6' and `chinese-cns11643-7' in UTF2000.
5750
5751 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
5752
5753         * mule-charset.c: Move setting for `leading-code-private-11' from
5754         `syms_of_mule_charset' to `vars_of_mule_charset'.
5755
5756 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
5757
5758         * mule-charset.h (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE'
5759         and `NUM_LEADING_BYTES' in assert.
5760
5761 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
5762
5763         * character.h (charset_by_leading_byte): Use `NUM_LEADING_BYTES'
5764         instead of 128.
5765         (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE' and
5766         `NUM_LEADING_BYTES' instead of 128.
5767
5768 1999-08-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
5769
5770         * mule-charset.h (charset_by_leading_byte): Use
5771         `NUM_LEADING_BYTES' instead of 128.
5772         (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE' instead of 128.
5773
5774         * mule-charset.c (charset_by_leading_byte): Use
5775         `NUM_LEADING_BYTES' instead of 128.
5776         (make_charset): Use `MIN_LEADING_BYTE' instead of 128.
5777
5778         * faces.h (FACE_CACHEL_FONT): Use `MIN_LEADING_BYTE' instead of
5779         128.
5780
5781 1999-08-25  MORIOKA Tomohiko  <tomo@etl.go.jp>
5782
5783         * mule-charset.c (syms_of_mule_charset): Update to
5784         0.4 (Shin-Imamiya).
5785
5786 1999-07-13 Daiki Ueno <ueno@ueda.info.waseda.ac.jp>
5787
5788         * file-coding.c (encode_coding_sjis): New implementation for
5789         UTF2000.  (decode_coding_sjis): Ditto.
5790
5791 1999-06-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
5792
5793         * mule-charset.c, character.h (Bytecount rep_bytes_by_first_byte):
5794         Don't define in UTF2000.
5795
5796         * character.h: Include mule-charset.h if CHAR_IS_UCS4 is not
5797         defined.
5798
5799         * redisplay-msw.c, objects-tty.c, objects-msw.c, mule-wnnfns.c,
5800         mule-ccl.c, lstream.h, buffer.h: Include character.h in every
5801         MULE.
5802
5803 1999-06-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
5804
5805         * config.h.in (CHAR_IS_UCS4): New macro.
5806
5807         * mule-charset.c (rep_bytes_by_first_byte): Modify for
5808         conventional MULE representation.
5809         (syms_of_mule_charset): Update to 0.3 (Imamiya).
5810
5811         * mule-charset.h: Reverted to original.
5812
5813         * redisplay-msw.c, objects-tty.c, objects-msw.c, mule-wnnfns.c,
5814         mule-ccl.c, lstream.h, buffer.h: Use "character.h" instead of
5815         "mule-charset.h" if CHAR_IS_UCS4 is defined.
5816
5817         * character.h: New file.
5818
5819         * file-coding.c (Fmake_coding_system): Set 1 to
5820         `codesys->fixed.size' if TYPE is `no-conversion' and UTF2000 is
5821         defined.
5822         (encode_coding_no_conversion): New implementation for UTF2000.
5823
5824         * file-coding.h (struct Lisp_Coding_System): Add new member
5825         `fixed.size'.
5826
5827 1999-06-16  MORIOKA Tomohiko  <tomo@etl.go.jp>
5828
5829         * file-coding.c (decode_coding_iso2022): Code-point arguments of
5830         `MAKE_CHAR' must be smaller than 0x80 in UTF2000.
5831         (encode_coding_iso2022): New implementation for UTF2000.
5832
5833 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
5834
5835         * mule-canna.c (c2mu): New implementation for UTF2000.
5836         (m2c): Likewise.
5837
5838 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
5839
5840         * file-coding.c (encode_coding_no_conversion): Modify for UTF2000.
5841
5842 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
5843
5844         * file-coding.c (reset_encoding_stream): Set 0 to
5845         `str->iso2022.current_char_boundary' in UTF2000.
5846         (encode_utf8): Don't define in UTF2000.
5847         (encode_coding_utf8): New implementation for UTF-8 representation
5848         of UTF2000.
5849         (complex_vars_of_file_coding): Define coding-system `utf-8'.
5850
5851 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
5852
5853         * mule.c (vars_of_mule): Provide `utf-2000' in UTF2000.
5854
5855         * mule-charset.h (BUFBYTE_FIRST_BYTE_P): Modify for UTF-8 in
5856         UTF2000.
5857         (REP_BYTES_BY_FIRST_BYTE): Likewise.
5858
5859         * buffer.h (non_ascii_valid_char_p): Don't define in UTF2000.
5860
5861         * mule-charset.c (non_ascii_set_charptr_emchar): Don't define
5862         local variables `lb', `c1', `c2' and `charset' in UTF2000; encode
5863         as UTF-8 in UTF2000.
5864         (non_ascii_charptr_emchar): Decode as UTF-8 in UTF2000.
5865         (non_ascii_valid_char_p): Don't define in UTF2000.
5866         (non_ascii_charptr_copy_char): Add case 5 and 6 in UTF2000.
5867         (Lstream_get_emchar_1): Likewise.
5868         (utf-2000-version): New variable in UTF2000.
5869
5870         * lread.c (read_escape): Add new reader `u'.
5871
5872         * insdel.c (three_to_one_table): Don't define in UTF2000.
5873         (bufpos_to_bytind_func): Use `buf->text->mule_size' instead of
5874         `buf->text->mule_shifter' and `buf->text->mule_three_p' in
5875         UTF2000.
5876         (bytind_to_bufpos_func): Likewise.
5877         (buffer_mule_signal_inserted_region): Likewise.
5878         (vars_of_insdel): Don't initialize `three_to_one_table'.
5879         (init_buffer_text): Use `buf->text->mule_size' instead of
5880         `buf->text->mule_shifter' and `buf->text->mule_three_p' in
5881         UTF2000.
5882
5883         * file-coding.c (DECODE_ADD_BINARY_CHAR): New implementation for
5884         UTF-8 representation in UTF2000.
5885         (DECODE_ADD_UCS_CHAR): New macro in UTF2000.
5886         (decode_ucs4): Use `DECODE_ADD_UCS_CHAR' in UTF2000.
5887         (decode_coding_iso2022): Don't define local variable `lb' in
5888         UTF2000; don't use LEADING_BYTE in UTF2000; use
5889         `DECODE_ADD_UCS_CHAR' in UTF2000.
5890         (convert_to_external_format): Decode as UTF-8 in UTF2000.
5891
5892         * config.h.in (UTF2000): New macro.
5893
5894         * buffer.h (struct buffer_text): Add new member `mule_size' and
5895         don't add `mule_shifter' and `mule_three_p' in UTF2000.
5896         (valid_char_p): Return always 1 in UTF2000.
5897         (MAX_EMCHAR_LEN): 6 in UTF2000.
5898         (three_to_one_table): Don't define in UTF2000.
5899         (real_bufpos_to_bytind): Modify for UTF-8 representation in
5900         UTF2000.
5901         (real_bytind_to_bufpos): Likewise.
5902
5903         * alloc.c (Fmake_string): Add case 5 and 6 for UTF2000.
5904
5905 1999-06-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
5906
5907         * mule-charset.c (rep_bytes_by_first_byte): Modified for character
5908         representation change.
5909         (Vutf_2000_version): New variable.
5910         (leading_code_private_11): New variable.
5911         (syms_of_mule_charset): Add new variables `utf-2000-version' and
5912         `leading-code-private-11'.
5913
5914         * mule-charset.h (LEADING_BYTE_CHINESE_CCITT_GB): New macro.
5915         (LEADING_BYTE_CHINESE_BIG5_1): Changed to 0x96 temporally.
5916         (LEADING_BYTE_CHINESE_CNS11643_1): Changed to 0x97.
5917         (LEADING_BYTE_CHINESE_CNS11643_2): Changed to 0x98.
5918         (LEADING_BYTE_CHINESE_CNS11643_3): New macro.
5919         (LEADING_BYTE_CHINESE_CNS11643_4): Likewise.
5920         (LEADING_BYTE_CHINESE_CNS11643_5): Likewise.
5921         (LEADING_BYTE_CHINESE_CNS11643_6): Likewise.
5922         (LEADING_BYTE_CHINESE_CNS11643_7): Likewise [but not used].
5923         (LEADING_BYTE_CHINESE_BIG5_2): Changed to 0x9D temporally.
5924         (LEADING_BYTE_KOREAN_KPS9566): New macro [but not used].
5925         (CHAR_FIELD1_MASK): Changed to (0x7F << 14).
5926         (MIN_CHAR_GREEK): New macro.
5927         (MAX_CHAR_GREEK): New macro.
5928         (MIN_CHAR_CYRILLIC): New macro.
5929         (MAX_CHAR_CYRILLIC): New macro.
5930         (MIN_CHAR_HEBREW): New macro.
5931         (MAX_CHAR_HEBREW): New macro.
5932         (MIN_CHAR_THAI): New macro.
5933         (MAX_CHAR_THAI): New macro.
5934         (MIN_CHAR_HALFWIDTH_KATAKANA): New macro.
5935         (MAX_CHAR_HALFWIDTH_KATAKANA): New macro.
5936         (CHAR_FIELD2_INTERNAL): New macro [renamed from `CHAR_FIELD2'.
5937         (CHAR_FIELD3_INTERNAL): New macro [renamed from `CHAR_FIELD3'.
5938         (FIELD1_TO_PRIVATE_LEADING_BYTE): Changed to 0xc0.
5939         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Changed to 0x50.
5940         (CHAR_FIELD2): New inline function.
5941         (CHAR_FIELD3): New inline function.
5942         (MULE_CHAR_PRIVATE_OFFSET): New macro.
5943         (MIN_CHAR_OFFICIAL_TYPE9N): Shifted to `MULE_CHAR_PRIVATE_OFFSET'.
5944         (MIN_CHAR_PRIVATE_TYPE9N): Likewise.
5945         (MIN_CHAR_PRIVATE_TYPE9NX9N): Likewise.
5946         (MIN_CHAR_OFFICIAL_TYPE9NX9N): Likewise.
5947         (MIN_CHAR_COMPOSITION): Likewise.
5948         (CHAR_LEADING_BYTE): Modified for character representation change.
5949         (MAKE_CHAR): Likewise.
5950
5951         * lisp.h (Vcharset_latin_iso8859_1): New variable.
5952         (Vcharset_greek_iso8859_7): Likewise.
5953         (Vcharset_cyrillic_iso8859_5): Likewise.
5954         (Vcharset_hebrew_iso8859_8): Likewise.
5955         (Vcharset_thai_tis620): Likewise.
5956         (Vcharset_katakana_jisx0201): Likewise.
5957
5958 2007-10-07  Vin Shelton  <acs@xemacs.org>
5959
5960         * XEmacs 21.4.21 is released
5961
5962 2007-08-14  Marcus Crestani  <crestani@xemacs.org>
5963
5964         * s/sol2.h: Fix for GCC lossage not needed with SunOS 5.10.
5965
5966 2007-02-17  Stephen J. Turnbull  <stephen@xemacs.org>
5967
5968         * glyphs-eimage.c (png_instantiate_unwind): Avoid recursion.
5969         (png_instantiate): Initialize setjmp_buffer early, and avoid
5970         recursive entry to error handler.
5971
5972 2007-06-23  Stephen J. Turnbull  <stephen@xemacs.org>
5973
5974         * linuxplay.c (linux_play_data_or_file): More 64-bit tweaking, and
5975         a typo fix.
5976
5977 2007-05-12  Aidan Kehoe  <kehoea@parhasard.net>
5978
5979         * event-Xt.c (x_reset_modifier_mapping):
5980         * event-gtk.c (gtk_reset_modifier_mapping):
5981         Zero out the device's modifier map once we've freed it, to prevent
5982         a double free on a re-entrant call. 
5983
5984 2007-05-17  Vin Shelton  <acs@xemacs.org>
5985
5986         * linuxplay.c (linux_play_data_or_file): Fix playing sound on
5987         64-bit linux.  Patch from Hans de Graaff.
5988
5989 2007-05-02  Vin Shelton  <acs@xemacs.org>
5990
5991         * dumper.c (pdump): Don't close pdump_fd (already closed by
5992         fclose() call.  Patch from Steve Higham.
5993         * callproc.c (Fold_call_process_internal): Don't close fd1 if it's
5994         already closed.  Patch inspired by Steve Higham.
5995
5996 2007-05-01  Vin Shelton  <acs@xemacs.org>
5997
5998         * nt.c (mswindows_stat): Tie _S_IEXEC permission to read access.
5999         (mswindows_fstat): Ditto.
6000         * sysfile.h: Under Windows, define X_OK to be the same as R_OK.
6001
6002 2007-02-08  Adrian Aichner  <adrian@xemacs.org>
6003
6004         * postgresql.c: Update Steve Baur's email address by his request.
6005         * postgresql.h: Ditto.
6006
6007 2007-01-04  Vin Shelton  <acs@xemacs.org>
6008
6009         * fileio.c (check_writable): Check old-style readonly bit only for
6010         non-directories.
6011
6012 2006-12-25  Benson I. Margulies  <benson@dchbk.us>
6013
6014         * src/fileio.c (check_writable): 
6015         Cope with the fact that the read-only attribute trumps Windows NTFS
6016         ACLS.
6017
6018
6019 2006-12-09  Vin Shelton  <acs@xemacs.org>
6020
6021         * XEmacs 21.4.20 is released
6022
6023 2006-12-08  Nelson Ferreira  <njsf@sxemacs.org>
6024
6025         * src/fns.c (XMALLOC_OR_ALLOCA,free_malloced_ptr,XMALLOC_UNBIND):
6026         relocated the definitions to be used sooner in file.
6027         (concat,plists_differ,mapcar1,Fmapconcat,Fmapcar): Use
6028         XMALLOC_OR_ALLOCA macro instead of alloca to prevent stack
6029         overflow.
6030
6031 2006-11-29  Aidan Kehoe  <kehoea@parhasard.net>
6032
6033         * sound.c (init_native_sound):
6034         Only X11 and GTK devices can possibly not be on the console of the
6035         associated machine. Fixes a crash when init_native_sound is called
6036         on a msprinter device. 
6037
6038 2006-11-14  Stephen J. Turnbull  <stephen@xemacs.org>
6039
6040         * buffer.c (buffer-file-name): Document invariant.
6041         (buffer-file-truename): Sync wording to buffer-file-name.
6042         Thanks to Nelson Ferreira <nelson.ferreira@ieee.org> for report
6043         and discussion.
6044
6045 2006-11-19  Benson Margulies  <benson@dchbk.us>
6046
6047         * fileio.c: Add code to use full Win32 API to check for write
6048         access.  Win32 has the general design policy that you aren't
6049         supposed to ask this question, since security checks change
6050         depending on asynchronous processes.  Nonetheless, there is a way,
6051         by acting as if we are a server doing interpretive access
6052         control.
6053
6054 2006-07-31  Aidan Kehoe <kehoea@parhasard.net>
6055
6056         * bytecode.c: Use xnew_array instead of alloca.
6057
6058 2006-07-04  Vin Shelton  <acs@xemacs.org>
6059
6060         * redisplay-msw.c: Fix tiny, but crucial typo.
6061
6062 2006-06-22  Jerry James  <james@xemacs.org>
6063
6064         * EmacsShell-sub.c (ChangeManaged):
6065         * device-x.c (x_IO_error_handler): Do not dereference d if it is
6066         NULL.
6067         * dgif_lib.c (DGifCloseFile): Do not dereference GifFile before
6068         checking if it is NULL.  Also fix a memory leak.
6069         * dialog-x.c (dbox_selection_callback): Ensure f is non-NULL, then
6070         dereference it, not the other way around.
6071         * dumper.c (pdump_register_object): Fix off-by-one array bounds
6072         overflow check.
6073         * dumper.c (pdump_register_struct): Ditto.
6074         * editfns.c (Ftemp_directory): Don't let a copy from (long) path
6075         to (short) warnpath overflow warnpath.
6076         * extents.c (detach_all_extents): Call extent_list_delete_all with
6077         a non-NULL parameter only.
6078         * glyphs-widget.c (widget_query_geometry): Guard against possibly
6079         NULL width and height.
6080         * input-method-xlib.c (XIM_SetGeometry): Do not dereference f or
6081         xic before checking if they are NULL.
6082         * keymap.c (where_is_recursive_mapper): Don't throw away the newly
6083         allocated array.
6084         * md5.c (Fmd5): Check whether Lstream_read encountered an error.
6085         * nas.c (Err): Fix a memory leak.
6086         * redisplay-gtk.c (gtk_output_display_block): Fix a Dynarr leak.
6087         Don't create the buffer if there is nothing to do.
6088         * redisplay-msw.c (mswindows_output_display_block): Ditto.
6089         * redisplay-output.c (redisplay_output_layout): Ditto.
6090         * redisplay-tty.c (tty_output_display_block): Ditto.
6091         * redisplay-x.c (x_output_display_block): Ditto.
6092         * scrollbar-gtk.c (gtk_free_scrollbar_instance): Do not
6093         dereference instance->scrollbar_data if it is NULL.
6094         * scrollbar-x.c (x_free_scrollbar_instance): Ditto.
6095         * scrollbar-msw.c (mswindows_free_scrollbar_instance): Ditto, but
6096         for sb->scrollbar_data.
6097         * sound.c (init_native_sound): Avoid a buffer overflow by
6098         allocating a buffer with the appropriate size.
6099
6100 2006-05-08  Stephen J. Turnbull  <stephen@xemacs.org>
6101
6102         * EmacsShell-sub.c (RootGeometryManager):
6103         Change garbage to useful messages under DEBUG_GEOMETRY_MANAGEMENT.
6104         Based on a suggestion by Francois L'Archeveque.
6105
6106 2006-03-21  Malcolm Purvis  <malcolmp@xemacs.org>
6107
6108         * regex.c: Bump INIT_FAILURE_ALLOC and re_max_failures to the
6109         current values found in GNU Emacs.
6110
6111 2006-03-17  Vin Shelton  <acs@xemacs.org>
6112
6113         * dialog-msw.c (handle_directory_dialog_box): Don't declare
6114         Q_title here.  LOCAL_FILE_FORMAT_TO_TSTR requires an lvalue.
6115
6116         * glyphs-msw.c (read_bitmap_data): change 'initialized' to
6117         'hex_initialized' because it conflicts with 'initialized' in
6118         lisp.h.
6119
6120 2006-01-28  Vin Shelton  <acs@xemacs.org>
6121
6122         * XEmacs 21.4.19 is released
6123
6124 2006-01-20  Rick Rankin <rrankin1424-xemacs@yahoo.com>
6125
6126         * sysdir.h: Workaround missing d_ino field from 'struct dirent'.
6127
6128 2005-12-24  Aidan Kehoe  <kehoea@parhasard.net>
6129
6130         * objects-gtk.c (MAX_FONT_COUNT): Increase MAX_FONT_COUNT from
6131         5000 to INT_MAX.
6132
6133 2005-12-05  Dr. Volker Zell  <Dr.Volker.Zell@oracle.com>
6134
6135         * database.c: Suppress compiler warning under Cygwin.
6136         * database.c: Removed __FreeBSD__ check, should be handled by
6137         HAVE_U_xxx_T defines.
6138
6139 2005-12-18  Malcolm Purvis  <malcolmp@xemacs.org>
6140
6141         * console.c (stuff_buffered_input): Compile body only if
6142         HAVE_TTY.
6143
6144 2005-05-10  Aidan Kehoe  <kehoea@parhasard.net>
6145
6146         * callproc.c: #include sysdir.h, so that any appropriate Mule
6147         magic happens with the chdir() call when calling a subprocess. 
6148
6149 2005-12-06  Aidan Kehoe  <kehoea@parhasard.net>
6150
6151         * mule-ccl.c (POSSIBLE_LEADING_BYTE_P): Add.
6152         * mule-ccl.c: Check that a character set exists before using it
6153         to create a character. 
6154
6155 2005-12-06  Vin Shelton  <acs@xemacs.org>
6156
6157         * objects-x.c (MAX_FONT_COUNT): Increase MAX_FONT_COUNT from 5000
6158         to INT_MAX.
6159
6160 2005-12-03  Vin Shelton <acs@xemacs.org>
6161
6162         * XEmacs 21.4.18 is released
6163
6164 2005-11-27  Kean Johnston <kean@armory.com>
6165
6166         * redisplay-tty.c (set_tty_modes):
6167         (reset_tty_modes): disable auto-margins if the terminal supports
6168         them.
6169         (init_tty_for_redisplay): fix cursor shape.
6170
6171 2005-04-05  Aidan Kehoe  <kehoea@parhasard.net>
6172
6173         * mule-ccl.c (ccl_driver): Calculate the charset and position code
6174         for control-1 characters properly, both when reading multibyte
6175         characters and writing them. 
6176
6177 2005-03-12  Aidan Kehoe  <kehoea@parhasard.net>
6178
6179         * config.h.in: Make HAVE_XTREGISTERDRAWABLE available. 
6180         * select-x.c (x_reply_selection_request): Use it; fix the bug we
6181         were seeing with incremental selection transfer failing. 
6182
6183 2005-11-26  Vin Shelton  <acs@xemacs.org>
6184
6185         * callproc.c (Fold_call_process_internal): Create the buffer if it
6186         does not already exist.  The original patch came from Ben Wing in
6187         http://list-archive.xemacs.org/xemacs-patches/200205/msg00117.html
6188
6189 2002-05-13  Adrian Aichner  <adrian@xemacs.org>
6190
6191         * callproc.c: Process-related docstring improvements spurred by
6192         Norbert Koch.
6193
6194 2005-11-25  Vin Shelton  <acs@xemacs.org>
6195
6196         * depend: Regenerated.
6197
6198 2005-07-11  Malcolm Purvis  <malcolmp@xemacs.org>
6199
6200         * glyphs-gtk.c:  Rename a local static variable because gcc 4.0
6201         says it clashes with a global with the same name.
6202
6203 2005-07-11  Atanu Ghosh <atanu@icsi.berkeley.edu>
6204
6205         * sysdll.c (dll_open): Under MacOS X return NULL under the
6206         filename is NULL.  Fixes problems finding local symbols under 10.4
6207         (Tiger)
6208
6209 2005-11-15  Dr. Volker Zell  <Dr.Volker.Zell@oracle.com>
6210         
6211         * config.h.in: New HAVE_U_INT*_T defines.
6212         
6213         * database.c: Only use u_int*_t typedefs if not already
6214         defined.
6215
6216 2005-04-07 15:08  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
6217
6218         * src/process-unix.c (unix_open_network_stream): moved
6219           'portbuf' buffer out of an inner block as it is used in the
6220           entire function. With gcc4, the stack may get corrupted
6221           after leaving this block. This patches adjusts the size of
6222           the used buffer also; static '128' bytes are far too much
6223           currently and might not suffice for future architectures
6224           (e.g. for 512 bit ones ;)). Instead of, use only the really
6225           required space (max octets * ln(256)/ln(10) chars + space
6226           for '\0' and the sign)
6227
6228 2005-04-08  Aidan Kehoe  <kehoea@parhasard.net>
6229
6230         * callproc.c: Include sysdir.h, so any necessary Mule processing
6231         is done on the current directory name before starting a new
6232         process.
6233
6234 2005-04-06  Stephen J. Turnbull  <stephen@xemacs.org>
6235
6236         * chartab.c (Fchar_table_p):
6237         (Fget_range_char_table):
6238         (Fput_char_table):
6239         (Fmap_char_table):
6240         Describe range representation and fix typo.
6241
6242 2005-02-12  Vin Shelton  <acs@xemacs.org>
6243
6244         * emacs.c (shut_down_emacs): Advise users to send email to the
6245         xemacs-beta list instead of crashes@xemacs.org.
6246
6247 2005-02-03  David Evers  <extsw@appliedgenerics.com>
6248
6249         * process-unix.c (unix_send_process): Flush the last chunk, even
6250         when the pipe is blocked.
6251
6252 2005-02-06  Vin Shelton <acs@xemacs.org>
6253
6254         * XEmacs 21.4.17 is released
6255
6256 2005-01-31  Ben Wing  <ben@xemacs.org>
6257
6258         * emacs.c:
6259         Define assert_failed() always.
6260         * lisp.h:
6261         Always define ABORT().
6262
6263 2005-01-25  Ben Wing  <ben@xemacs.org>
6264
6265         * Makefile.in.in:
6266         * Makefile.in.in (%.o):
6267         Don't compile executable as Windows (-mwindows) under Cygwin.
6268         Semi-recent changes to Cygwin's executable-startup handling make
6269         it impossible to access the TTY this way.
6270
6271         Don't use special linker file under Cygwin (cygwin.sc) except
6272         when non-PDUMP (even in this case it is highly questionable); you
6273         get errors like
6274
6275       1 [main] temacs 1364 fhandler_console::fixup_after_exec: error opening input console handle after exec, errno 13, Win32 error 5
6276    5820 [main] temacs 1364 fhandler_console::fixup_after_exec: error opening output console handle after exec, errno 13, Win32 error 5
6277
6278 2005-01-29  Ben Wing  <ben@xemacs.org>
6279
6280         Port this: 2003-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
6281
6282         * mule-charset.c (get_unallocated_leading_byte): Compiler quietus.
6283
6284 2005-01-29  Ben Wing  <ben@xemacs.org>
6285
6286         * bytecode.c (optimize_compiled_function):
6287         * print.c (FROB):
6288         * print.c (long_to_string):
6289         Add casts to avoid warning.
6290         
6291         * glyphs-eimage.c:
6292         Some really nasty hacks to allow TIFF and JPEG to both be compiled.
6293         #### The better solution is to move the TIFF and JPEG code to
6294         different files.
6295         
6296         * glyphs-msw.c (mswindows_xbm_instantiate):
6297         Define __STDC__ to avoid problems with compface.h.
6298         
6299         * EmacsFrame.c (EmacsFrameRecomputeCellSize):
6300         * EmacsShell-sub.c:
6301         * EmacsShell-sub.c (ABORT):
6302         * EmacsShell-sub.c (SuperClassRootGeometryManager):
6303         * EmacsShell-sub.c (RootGeometryManager):
6304         * EmacsShell.c:
6305         * EmacsShell.c (ABORT):
6306         * EmacsShell.c (EmacsShellUpdateSizeHints):
6307         * alloc.c (free_lcrecord):
6308         * alloca.c (i00afunc):
6309         * buffer.c (delete_from_buffer_alist):
6310         * buffer.c (MARKED_SLOT):
6311         * bytecode.c (execute_rare_opcode):
6312         * bytecode.c (optimize_byte_code):
6313         * bytecode.c (Ffetch_bytecode):
6314         * chartab.c (char_table_type_to_symbol):
6315         * chartab.c (Freset_char_table):
6316         * chartab.c (decode_char_table_range):
6317         * chartab.c (Fget_range_char_table):
6318         * chartab.c (check_valid_char_table_value):
6319         * chartab.c (map_char_table):
6320         * chartab.c (slow_map_char_table_fun):
6321         * chartab.c (chartab_instantiate):
6322         * cm.c (cmcheckmagic):
6323         * console-msw.c (DHEADER):
6324         * console.c (MARKED_SLOT):
6325         * data.c (finish_marking_weak_lists):
6326         * data.c (encode_weak_list_type):
6327         * debug.h (DASSERT):
6328         * device-gtk.c (gtk_init_device):
6329         * device-msw.c (mswindows_get_default_margin):
6330         * device-tty.c (tty_init_device):
6331         * device-x.c (get_device_from_display):
6332         * device-x.c (x_get_visual_depth):
6333         * doprnt.c (parse_doprnt_spec):
6334         * doprnt.c (get_doprnt_args):
6335         * dumper.c (pdump_get_indirect_count):
6336         * dumper.c (pdump_register_sub):
6337         * dumper.c (pdump_register_object):
6338         * dumper.c (pdump_register_struct):
6339         * dumper.c (pdump_dump_data):
6340         * dumper.c (pdump_reloc_one):
6341         * elhash.c (print_hash_table):
6342         * elhash.c (make_standard_lisp_hash_table):
6343         * elhash.c (hash_table_instantiate):
6344         * emacs.c:
6345         * emacs.c (Fforce_debugging_signal):
6346         * emacs.c (sort_args):
6347         * emacs.c (main):
6348         * emacs.c (assert_failed):
6349         * eval.c (throw_or_bomb_out):
6350         * eval.c (signal_1):
6351         * eval.c (Fsignal):
6352         * event-Xt.c:
6353         * event-Xt.c (emacs_Xt_mapping_action):
6354         * event-Xt.c (Xt_process_to_emacs_event):
6355         * event-msw.c:
6356         * event-stream.c (check_event_stream_ok):
6357         * event-stream.c (Fadd_timeout):
6358         * event-stream.c (Fadd_async_timeout):
6359         * event-stream.c (Fdiscard_input):
6360         * event-stream.c (execute_internal_event):
6361         * event-stream.c (Frecent_keys):
6362         * event-stream.c (extract_this_command_keys_nth_mouse_event):
6363         * event-stream.c (lookup_command_event):
6364         * event-unixoid.c (poll_fds_for_input):
6365         * events.c:
6366         * events.c (mark_event):
6367         * events.c (event_equal):
6368         * events.c (event_hash):
6369         * events.c (Fmake_event):
6370         * events.c (Fdeallocate_event):
6371         * events.c (event_chain_find_previous):
6372         * events.c (event_to_character):
6373         * events.c (format_event_object):
6374         * events.c (Fevent_type):
6375         * events.c (event_pixel_translation):
6376         * events.c (Fevent_properties):
6377         * extents.c (extent_in_region_p):
6378         * extents.c (print_extent):
6379         * extents.c (process_extents_for_insertion_mapper):
6380         * extents.c (report_extent_modification_mapper):
6381         * extents.c (glyph_layout_to_symbol):
6382         * faces.c (face_validate):
6383         * file-coding.c (eol_type_to_symbol):
6384         * file-coding.c (subsidiary_coding_system):
6385         * file-coding.c (Fcoding_system_type):
6386         * file-coding.c (Fcoding_system_property):
6387         * file-coding.c (mule_decode):
6388         * file-coding.c (mule_encode):
6389         * file-coding.c (encode_coding_ucs4):
6390         * file-coding.c (encode_coding_utf8):
6391         * file-coding.c (parse_iso2022_esc):
6392         * file-coding.c (encode_coding_iso2022):
6393         * fileio.c:
6394         * fns.c (concat):
6395         * fns.c (Fsubseq):
6396         * fns.c (mapcar1):
6397         * fns.c (Fbase64_encode_region):
6398         * fns.c (Fbase64_encode_string):
6399         * fns.c (Fbase64_decode_region):
6400         * fns.c (Fbase64_decode_string):
6401         * font-lock.c (find_context):
6402         * font-lock.c (context_to_symbol):
6403         * frame-gtk.c (gtk_set_frame_pointer):
6404         * frame-gtk.c (gtk_update_frame_external_traits):
6405         * frame-x.c (x_wm_mark_shell_size_user_specified):
6406         * frame-x.c (x_wm_mark_shell_position_user_specified):
6407         * frame-x.c (x_wm_set_shell_iconic_p):
6408         * frame-x.c (x_wm_set_cell_size):
6409         * frame-x.c (x_wm_set_variable_size):
6410         * frame-x.c (x_wm_store_class_hints):
6411         * frame-x.c (x_wm_maybe_store_wm_command):
6412         * frame-x.c (x_initialize_frame_size):
6413         * frame-x.c (x_update_frame_external_traits):
6414         * frame.c:
6415         * frame.c (delete_frame_internal):
6416         * frame.c (mouse_pixel_position_1):
6417         * frame.c (change_frame_size_1):
6418         * free-hook.c (check_free):
6419         * free-hook.c (check_realloc):
6420         * free-hook.c (note_block_input):
6421         * free-hook.c (log_gcpro):
6422         * gccache-gtk.c (gc_cache_lookup):
6423         * glyphs-eimage.c (tiff_memory_write):
6424         * glyphs-gtk.c (gtk_finalize_image_instance):
6425         * glyphs-gtk.c (init_image_instance_from_gdk_pixmap):
6426         * glyphs-gtk.c (init_image_instance_from_xbm_inline):
6427         * glyphs-gtk.c (gtk_xpm_instantiate):
6428         * glyphs-gtk.c (gtk_unmap_subwindow):
6429         * glyphs-gtk.c (gtk_map_subwindow):
6430         * glyphs-gtk.c (gtk_button_redisplay):
6431         * glyphs-msw.c:
6432         * glyphs-msw.c (init_image_instance_from_xbm_inline):
6433         * glyphs-x.c (init_image_instance_from_xbm_inline):
6434         * glyphs-x.c (extract_xpm_color_names):
6435         * glyphs-x.c (x_xpm_instantiate):
6436         * glyphs.c (get_image_instantiator_governing_domain):
6437         * glyphs.c (print_image_instance):
6438         * glyphs.c (image_instance_equal):
6439         * glyphs.c (image_instance_hash):
6440         * glyphs.c (encode_image_instance_type):
6441         * glyphs.c (make_image_instance_1):
6442         * glyphs.c (inherit_instantiate):
6443         * glyphs.c (image_instantiate):
6444         * glyphs.c (allocate_glyph):
6445         * glyphs.c (Fglyph_type):
6446         * glyphs.c (redisplay_subwindow):
6447         * glyphs.c (display_table_entry):
6448         * gtk-glue.c (xemacs_list_to_gtklist):
6449         * gtk-glue.c (xemacs_gtklist_to_list):
6450         * gtk-glue.c (xemacs_list_to_array):
6451         * gutter.c (SET_GUTTER_WAS_VISIBLE_FLAG):
6452         * gutter.c (gutter_was_visible):
6453         * gutter.c (get_gutter_coords):
6454         * input-method-xlib.c (get_XIM_input):
6455         * insdel.c (bufpos_to_bytind_func):
6456         * insdel.c (bytind_to_bufpos_func):
6457         * insdel.c (move_gap):
6458         * intl.c (x_get_composed_input):
6459         * keymap.c (keymap_lookup_directly):
6460         * keymap.c (keymap_delete_inverse_internal):
6461         * keymap.c (ensure_meta_prefix_char_keymapp):
6462         * keymap.c (accessible_keymaps_mapper_1):
6463         * keymap.c (where_is_recursive_mapper):
6464         * lisp.h:
6465         * lisp.h (ABORT):
6466         * lread.c (read_atom):
6467         * lstream.c (Lstream_delete):
6468         * lstream.c (make_lisp_buffer_stream_1):
6469         * macros.c (pop_kbd_macro_event):
6470         * malloc.c (malloc):
6471         * malloc.c (free):
6472         * marker.c (bi_marker_position):
6473         * marker.c (set_bi_marker_position):
6474         * menubar-gtk.c (menu_descriptor_to_widget_1):
6475         * menubar-msw.c (prune_menubar):
6476         * menubar-x.c (set_frame_menubar):
6477         * mule-charset.c (get_unallocated_leading_byte):
6478         * mule-charset.h (CHAR_LEADING_BYTE):
6479         * native-gtk-toolbar.c (SET_TOOLBAR_WAS_VISIBLE_FLAG):
6480         * nt.c (init_environment):
6481         * nt.c (generate_inode_val):
6482         * ntproc.c (delete_child):
6483         * ntproc.c (_sys_read_ahead):
6484         * ntproc.c (create_child):
6485         * objects.c (color_instantiate):
6486         * objects.c (font_instantiate):
6487         * objects.c (face_boolean_instantiate):
6488         * print.c (printing_major_badness):
6489         * process-nt.c (nt_send_process):
6490         * process-unix.c (unix_send_process):
6491         * process.c (get_process):
6492         * ralloc.c (obtain):
6493         * ralloc.c (relinquish):
6494         * ralloc.c (relocate_blocs):
6495         * ralloc.c (resize_bloc):
6496         * ralloc.c (r_alloc_free):
6497         * ralloc.c (r_re_alloc):
6498         * ralloc.c (r_alloc_thaw):
6499         * ralloc.c (init_ralloc):
6500         * ralloc.c (Free_Addr_Block):
6501         * ralloc.c (r_alloc):
6502         * redisplay-gtk.c (gtk_output_display_block):
6503         * redisplay-msw.c (mswindows_output_display_block):
6504         * redisplay-output.c (get_next_display_block):
6505         * redisplay-output.c (get_cursor_size_and_location):
6506         * redisplay-output.c (redisplay_output_layout):
6507         * redisplay-output.c (redisplay_clear_region):
6508         * redisplay-tty.c (tty_output_display_block):
6509         * redisplay-x.c (x_output_display_block):
6510         * redisplay.c (add_propagation_runes):
6511         * redisplay.c (add_glyph_rune):
6512         * redisplay.c (create_text_block):
6513         * redisplay.c (add_margin_runes):
6514         * redisplay.c (create_left_glyph_block):
6515         * redisplay.c (create_right_glyph_block):
6516         * redisplay.c (create_string_text_block):
6517         * redisplay.c (regenerate_window):
6518         * redisplay.c (REGEN_INC_FIND_START_END):
6519         * redisplay.c (redisplay_frame):
6520         * redisplay.c (point_in_line_start_cache):
6521         * regex.c:
6522         * regex.c (ABORT):
6523         * regex.c (re_compile_fastmap):
6524         * regex.c (re_match_2_internal):
6525         * regex.c (regerror):
6526         * scrollbar-gtk.c (gtk_scrollbar_loop):
6527         * scrollbar-gtk.c (scrollbar_cb):
6528         * scrollbar-gtk.c (gtk_update_frame_scrollbars):
6529         * scrollbar-msw.c (mswindows_handle_scrollbar_event):
6530         * scrollbar-x.c (x_update_scrollbar_instance_status):
6531         * scrollbar-x.c (x_scrollbar_loop):
6532         * scrollbar-x.c (x_update_frame_scrollbars):
6533         * search.c (search_command):
6534         * search.c (Fmatch_data):
6535         * select-x.c (motif_clipboard_cb):
6536         * signal.c (interrupt_signal):
6537         * specifier.c (specifier_add_spec):
6538         * specifier.c (specifier_instance_from_inst_list):
6539         * specifier.c (specifier_instance):
6540         * specifier.h:
6541         * specifier.h (struct specifier_methods):
6542         * strftime.c (add_num_time_t):
6543         * sunplay.c (init_device):
6544         * symbols.c (Fsetplist):
6545         * symbols.c (do_symval_forwarding):
6546         * symbols.c (store_symval_forwarding):
6547         * symbols.c (Fset):
6548         * symbols.c (Fbuilt_in_variable_type):
6549         * symbols.c (decode_magic_handler_type):
6550         * symbols.c (handler_type_from_function_symbol):
6551         * syntax.c (update_syntax_cache):
6552         * sysdep.c (init_baud_rate):
6553         * toolbar-gtk.c (SET_TOOLBAR_WAS_VISIBLE_FLAG):
6554         * toolbar-msw.c (SET_TOOLBAR_WAS_VISIBLE_FLAG):
6555         * toolbar-x.c (SET_TOOLBAR_WAS_VISIBLE_FLAG):
6556         * toolbar.c (get_toolbar_coords):
6557         * ui-gtk.c (build_gtk_boxed):
6558         * ui-gtk.c (describe_gtk_arg):
6559         * ui-gtk.c (gtk_type_to_lisp):
6560         * ui-gtk.c (lisp_to_gtk_type):
6561         * ui-gtk.c (lisp_to_gtk_ret_type):
6562         * ui-gtk.c (lisp_to_flag):
6563         * unexnt.c (read_in_bss):
6564         * unexnt.c (map_in_heap):
6565         * window.c (real_window):
6566         * window.c (window_display_lines):
6567         * window.c (window_display_buffer):
6568         * window.c (set_window_display_buffer):
6569         * window.c (window_modeline_height):
6570         * window.c (unshow_buffer):
6571         * window.c (window_loop):
6572         * window.c (Fget_lru_window):
6573         * window.c (Fsplit_window):
6574         * window.c (Fset_window_configuration):
6575         * window.c (saved_window_index):
6576         * xgccache.c (gc_cache_lookup):
6577         abort() -> ABORT().  Eliminate preprocessor games with abort()
6578         since it creates huge problems in VC7, solvable only by including
6579         massive amounts of files in every compile (and not worth it).
6580
6581         * sysdep.c:
6582         * sysproc.h:
6583         Inclusion of process.h does not need to be before lisp.h any more.
6584         Move later and remove comment about abort().
6585
6586 2005-01-26  Arnaud Giersch  <arnaud.giersch@free.fr>
6587
6588         * regex.c (re_match_2_internal):
6589         Correctly initialize loop which clears uninitialized registers.
6590
6591 2005-01-28  Vin Shelton  <acs@xemacs.org>
6592
6593         * sheap.c (more_static_core): Applied Ben's version of the long
6594         string patch.
6595
6596 2005-01-24  Vin Shelton  <acs@xemacs.org>
6597
6598         * sheap.c (more_static_core): Reformatted printf string so
6599         gcc-3.3.3 will compile this on Cygwin.
6600
6601 2004-02-22  Stephen J. Turnbull  <stephen@xemacs.org>
6602
6603         * console.c (function_key_map): Reference `key-binding'.
6604
6605         * keymap.c (Vkey_translation_map): Improve docstring.
6606
6607 2004-03-30  Zajcev Evgeny  <zevlg@yandex.ru>
6608
6609         * window.c: Declare `allow_deletion_of_last_visible_frame' extern.
6610         * window.c (window_loop): [fix] Take into account
6611         `allow-deletion-of-last-visible-frame' variable.
6612         * window.c (replace-buffer-in-windows): Ditto.
6613
6614 2004-12-15  Stephen J. Turnbull  <stephen@xemacs.org>
6615
6616         * EmacsManager.c (EmacsManagerChangeSize): Respect XtGeometryNo.
6617
6618 2005-01-20  Malcolm Purvis  <malcolmp@xemacs.org>
6619
6620         * event-gtk.c: Recognise AltGr as a valid modifier.
6621
6622 2005-01-12  Ville Skyttä  <scop@xemacs.org>
6623
6624         * console-x.h: #include X11/keysym.h before xintrinsic.h.
6625
6626 2005-01-13  Stephen J. Turnbull  <stephen@xemacs.org>
6627
6628         Fix backreference bug caught by test suite.
6629
6630         * regex.c (regex_compile):
6631         Make backref duplicate internal register.
6632
6633 2005-01-13  Stephen J. Turnbull  <stephen@xemacs.org>
6634
6635         Documentation, code clarification, and warning suppression.
6636         
6637         * regex.c (regex_compile):
6638         Improve comments.
6639         (re_match_2_internal):
6640         Improve comments and avoid redundant braces.  [Most of the big hunk
6641         at l. 4710 is indentation; use diff -w to see the real changes.]
6642         (alt_match_null_string_p):
6643         (common_op_match_null_string_p):
6644         Avoid shadowing global on Mac OS X 10.4, at least.
6645
6646 2004-09-08  Stephen J. Turnbull  <stephen@xemacs.org>
6647
6648         * regex.c (regcomp): Fix "unsigned comparison" warning (maybe
6649         introduced with shy groups fix).  [Already applied, probably
6650         with the second "fix shy groups" patch of 2004-10-07.] 
6651
6652 2005-01-10  Steve Youngs  <steve@sxemacs.org>
6653
6654         From Andrey Slusar <anrays@gmail.com>:
6655
6656         * unexelf.c: define `Elfw(type)' for FreeBSD alpha and amd64.
6657
6658 2004-11-21  Malcolm Purvis  <malcolmp@xemacs.org>
6659
6660         * Makefile (RECURSIVE_MAKE): Removed.
6661         * Makefile (RECURSIVE_MAKE_ARGS): New.  The new method for
6662         handling parallel builds.
6663
6664 2004-09-08  Malcolm Purvis  <malcolmp@xemacs.org>
6665
6666         * Makefile.in.in: Enable support for parallel builds.
6667
6668 2005-01-09  Steve Youngs  <steve@sxemacs.org>
6669
6670         From Andrey Slusar <anrays@gmail.com>:
6671
6672         * s/freebsd.h (LIBS_SYSTEM): Only set to "-lutil -lxpg4" if
6673         FreeBSD version is >= 199701 _and_ < 600006.
6674
6675 2005-01-06  Zajcev Evgeny <zevlg@yandex.ru>
6676
6677         * scrollbar.c (compute_scrollbar_instance_usage):
6678         Only call device method compute_scrollbar_instance_usage() if it
6679         is defined.
6680
6681 2004-12-05  Vin Shelton <acs@xemacs.org>
6682
6683         * XEmacs 21.4.16 is released
6684
6685 2004-12-04  Vin Shelton  <acs@xemacs.org>
6686
6687         * depend: Regenerated.
6688
6689 2004-10-07  Stephen J. Turnbull  <stephen@xemacs.org>
6690
6691         * regex.c (re_match_2_internal): Map internal to external
6692         registers.  Fixes bug identified by Steve Youngs 2004-09-30
6693         <microsoft-free.87ekkjhj7t.fsf@youngs.au.com>.
6694
6695 2004-09-02  Yoshiki Hayashi  <yoshiki@xemacs.org>
6696
6697         * buffer.c (Frecord_buffer): Make sure the argument is buffer
6698         to fix a crash.  Also, check the buffer is live and it
6699         really exists in buffer_list.  If the buffer is not in the list,
6700         prepend it.
6701
6702 2004-09-08  Stephen J. Turnbull  <stephen@xemacs.org>
6703
6704         Fix shy groups by implementing recording of all groups for
6705         repetition and backtracking.  Backport from 21.5.
6706         
6707         * regex.h (struct re_pattern_buffer): Add members re_ngroups,
6708         external_to_internal_register, external_to_internal_register_size,
6709         and update comments for re_nsub.
6710
6711         * regex.c (re_opcode_t): Update comments.
6712         (print_compiled_pattern): Ouput external_to_internal_register,
6713         external_to_internal_register_size, and re_ngroups for debugging.
6714         (INIT_REG_TRANSLATE_SIZE): New manifest constant.
6715         (regex_compile): Update header comment.
6716         Ensure that all groups are recorded so that repeat matches and
6717         backtracking work correctly.  Comment related warning for groups >
6718         255.
6719         (re_search_2): Construct map of API indexes (which count only
6720         nonshy groups) to internal register numbers, and keep it updated.
6721
6722 2004-07-27  Malcolm Purvis  <malcolmp@xemacs.org>
6723
6724         * frame-gtk.c (gtk_make_frame_visible):
6725         * frame-gtk.c (gtk_make_frame_invisible): Use map/unmap instead of
6726         show/hide.  This is what X uses and is prevents previously hidden
6727         widgets from suddenly reappearing.
6728         * gtk-xemacs.c (gtk_xemacs_paint):
6729         * gtk-xemacs.c (gtk_xemacs_draw):
6730         * gtk-xemacs.c (gtk_xemacs_expose): Only operate if the widget is
6731         drawable.
6732         * scrollbar-gtk.c (gtk_update_scrollbar_instance_status): Force
6733         size and location changes so that they can be seen before the next
6734         idle event.  Without this rapid changes to scrollbar properties
6735         are not seen.
6736
6737 2004-07-02  Malcolm Purvis  <malcolmp@xemacs.org>
6738
6739         * console-gtk.h:
6740         * console-gtk.h (struct gtk_frame):
6741         * console-gtk.h (FRAME_GTK_WIDGET_INSTANCE_HASH_TABLE):
6742           Add hash tables track tab_control callback data.
6743           Added #defines for GTK object data names.
6744           Declaration of gtk_widget_to_frame().
6745         * event-gtk.c (enqueue_gtk_dispatch_event) No longer static:
6746         * frame-gtk.c (gtk_widget_to_frame): New.
6747         * frame-gtk.c (gtk_create_widgets):
6748         * frame-gtk.c (allocate_gtk_frame_struct):
6749         * frame-gtk.c (gtk_mark_frame):
6750         Manage frame callbakc hash tables.
6751         * glyphs-gtk.c (gtk_map_subwindow): Fix size and moving bugs.
6752         * glyphs-gtk.c (gtk_redisplay_widget): Use correct size for widgets.
6753         * glyphs-gtk.c (gtk_widget_instantiate_1): Force reconsideration
6754         of widget size.
6755         * glyphs-gtk.c (gtk_widget_query_geometry): New
6756         * glyphs-gtk.c (gtk_register_gui_item): New
6757         * glyphs-gtk.c (gtk_add_tab_item): New
6758         * glyphs-gtk.c (gtk_tab_control_callback): New
6759         * glyphs-gtk.c (gtk_tab_control_instantiate): New
6760         * glyphs-gtk.c (gtk_tab_control_redisplay): Set notebook page.
6761         Use correct list when loading item.
6762         * glyphs-gtk.c (image_instantiator_format_create_glyphs_gtk):
6763         Register new methods.
6764         * gtk-xemacs.c (gtk_xemacs_size_allocate): Use XEmacs size, not
6765         default size, for widgets.
6766         * gui-x.c:  Improved comment.
6767         * menubar-gtk.c (__generic_button_callback): Use
6768         gtk_widget_to_frame instead of __get_channel.
6769         * scrollbar-gtk.c:
6770         * ui-gtk.c: Use symbolic names for GTK object data.
6771
6772 2004-06-23  Ilya N. Golubev <gin@mo.msk.ru>
6773
6774         * s/usg5-4.h (NSIG): Define only inside emacs binary.
6775
6776 2002-03-04  Stephen J. Turnbull  <stephen@xemacs.org>
6777
6778         * fileio.c (Fwrite_region_internal): Document use of start == Qnil.
6779
6780 2004-06-16  Malcolm Purvis  <malcolmp@xemacs.org>
6781
6782         * malloc.c (morecore): siz is a long because in some architectures
6783         (eg ia-64) an int cannot hold the address range.  Additional patch
6784         from the SuSe distribution.
6785
6786 2004-06-13  Malcolm Purvis  <malcolmp@xemacs.org>
6787
6788         * emacs.c:
6789         * malloc.c: lim_data is a long because in some architectures
6790         (eg ia-64) an int cannot hold the address range.
6791         * mem-limits.h: lim-data is a long.  Linux uses getrlimit()
6792         instead of ulimit() because ulimit() always returns -1.
6793
6794 2004-06-09  Stephen J. Turnbull  <stephen@xemacs.org>
6795
6796         * search.c: Reenable an ansync semaphore.  Remove bogus comments.
6797
6798 2004-06-11  David Kastrup  <dak@gnu.org>
6799
6800         * search.c (match_limit): Don't flag an error if match-data
6801         exceeding the allocated search_regs.num_regs gets requested, just
6802         return Qnil.
6803
6804 2003-07-21  Malcolm Purvis  <malcolmpurvis@optushome.com.au>
6805
6806         * glyphs-gtk.c (gtk_xpm_instantiate): Rewrite the XPM data to
6807         replace symbolic color entries with the real colors specified in
6808         xpm-color-symbols, before passing the XPM to gtk.
6809         * glyphs-gtk.h: Use the generic pixmap_image_instance.mask for masks,
6810         instead of a GTK specific field, so that it is used in by generic
6811         code.
6812
6813 2004-05-05  Chuck Hines <chuck.hines@baesystems.com>
6814
6815        * dgif_lib.c (DGifSlurp): Changed do-while to while to stop
6816         coredump from deref of NULL ptr (ExtData)
6817
6818 2004-04-19  Jerry James  <james@xemacs.org>
6819
6820         * data.c (sign_extend_lisp_int): Use INT_VALBITS instead of
6821         VALBITS to compute the location of the sign bit.
6822         * event-stream.c (Fcurrent_event_timestamp): Replace incorrect use
6823         of VALBITS with EMACS_INT_MAX.
6824         * events.c (Fevent_timestamp): Ditto.
6825         * events.c (TIMESTAMP_HALFSPACE): Change VALBITS to INT_VALBITS to
6826         compute the halfway point to timestamp wraparound.
6827         * floatfns.c (float_to_int): Compare against EMACS_INT_MAX and
6828         EMACS_INT_MIN instead of using VALBITS.
6829         * floatfns.c (Flogb): Use EMACS_INT_MIN instead of building an
6830         incorrect number with VALBITS.
6831         * fns.c (Frandom): Correct number of integer bits in docstring.
6832         Use INT_VALBITS instead of VALBITS to compute the denominator.
6833         * sysdep.c (get_random): Use INT_VALBITS instead of VALBITS to
6834         build random numbers.
6835
6836 2004-03-23  Malcolm Purvis  <malcolmpurvis@optushome.com.au>
6837         * event-gtk.c:
6838         * event-gtk.c (gtk_event_to_emacs_event):
6839         * menubar-gtk.c:
6840         * menubar-gtk.c (gtk_xemacs_menubar_class_init):
6841         * menubar-gtk.c (gtk_xemacs_menubar_size_request):
6842         * menubar-gtk.c (gtk_xemacs_accel_label_get_type):
6843         * menubar-gtk.c (gtk_xemacs_set_accel_keys):
6844         * menubar-gtk.c (__activate_menu):
6845         * menubar-gtk.c (convert_underscores):
6846         * menubar-gtk.c (remove_underscores):
6847         * menubar-gtk.c (menu_convert):
6848         * menubar-gtk.c (menu_descriptor_to_widget_1):
6849         * menubar-gtk.c (menu_descriptor_to_widget):
6850         * menubar-gtk.c (menu_can_reuse_widget):
6851         * menubar-gtk.c (menu_create_menubar):
6852         * menubar-gtk.c (gtk_popup_menu):
6853         * menubar-gtk.c (Fgtk_build_xemacs_menu):
6854         Added support for Gtk menu bar and menu item mnemonics.
6855
6856 2004-03-23  Malcolm Purvis  <malcolmpurvis@optushome.com.au>
6857
6858         * sysdll.c: (dll_function): Added support for finding symbols in
6859         Darwin shared libraries as well in Darwin bundles.
6860         * sysdll.c (image_for_address): New
6861         * sysdll.c (my_find_image): New
6862         * sysdll.c (search_linked_libs): New
6863
6864 2004-03-23  Malcolm Purvis  <malcolmpurvis@optushome.com.au>
6865
6866         * ui-gtk.c (__internal_callback_marshal): Marshalling data to
6867         return to GTK requires a different API to marshalling data to use
6868         as GTK parameters.
6869         * ui-gtk.c (lisp_to_gtk_ret_type): New.
6870
6871 2004-03-08  Lutz Euler  <lutz.euler@freenet.de>
6872
6873         * lstream.c (Lstream_pseudo_close): Fix test for LSTREAM_FL_IS_OPEN.
6874
6875 2004-02-19  Stephen J. Turnbull  <stephen@xemacs.org>
6876
6877         * glyphs.c (process_image_string_instantiator):
6878         (Fset_console_type_image_conversion_list):
6879         Stop GCC from warning about shadowing of `exp'.
6880
6881         * redisplay-x.c (x_output_string): Fix unsigned lossage.
6882
6883 2004-02-19  Stephen J. Turnbull  <stephen@xemacs.org>
6884
6885         * regex.c (re_match_2_internal): Shut up GCC about syn1, syn2.
6886
6887 2004-02-03  Vin Shelton  <acs@xemacs.org>
6888
6889         * glyphs.c (image_instance_layout): Remove pointless assertion.
6890         * regex.c (regex_grow_registers): Return type is void.
6891
6892 2004-02-02  Vin Shelton <acs@xemacs.org>
6893
6894         * XEmacs 21.4.15 is released
6895
6896 2004-01-30  Glynn Clements  <glynn.clements@virgin.net>
6897
6898         * device-x.c (x_error_handler): Don't call stderr_out
6899
6900 2003-11-07  Katsumi Yamaoka <yamaoka@jpl.org>
6901
6902         * buffer.c (other-buffer): Clarify documentation of order of
6903         arguments for FSF Emacs.
6904
6905 2003-10-11  Olivier Galibert  <galibert@pobox.com>
6906
6907         * window.c (Fdelete_window): Dirty the mirror structure _before_
6908         marking the window deleted.
6909
6910 2003-09-15  Jerry James  <james@xemacs.org>
6911
6912         * event-msw.c (debug_mswin_messages): Conditionally compile
6913         messages missing from the Cygwin headers.
6914
6915 2003-06-16  Stephen J. Turnbull  <stephen@xemacs.org>
6916
6917         * data.c (eq_with_ebola_notice): Fix typo in comment.
6918         (Ftrue_list_p): Improve docstring.
6919
6920 2003-10-13  Stephen J. Turnbull  <stephen@xemacs.org>
6921
6922         * frame-x.c (x_update_frame_external_traits): Fix XtSetArg idiom.
6923
6924 2003-09-27  Stephen J. Turnbull  <stephen@xemacs.org>
6925
6926         * search.c (trivial_regexp_p): Regexps containing "\{" are
6927         nontrivial.  Thanks to Manfred Bartz for reporting the bug and
6928         Stefan Monnier for suggesting a diagnosis.
6929
6930 2003-09-25  Stephen J. Turnbull  <stephen@xemacs.org>
6931
6932         * elhash.c (make-hash-table): Clarify use of :test #'equal.
6933
6934 2003-09-12  Stephen J. Turnbull  <stephen@xemacs.org>
6935
6936         * search.c (Fsearch_forward):
6937         (Fsearch_backward):
6938         Document negative count.
6939
6940 2003-09-13  Stephen J. Turnbull  <stephen@xemacs.org>
6941
6942         * regex.c (re_max_failures): Bump to 20000 for REGEX_MALLOC, too.
6943
6944 2003-09-13  Martin Buchholz  <martin@xemacs.org>
6945
6946         * s/sol2.h: Use OS_RELEASE=os_release_major*100+os_release_minor
6947
6948 2003-09-15  Vin Shelton  <acs@xemacs.org>
6949
6950         * .gdbinit (pobj): Remove Ilya's fix that was only intended for
6951         21.5.
6952
6953 2003-09-12  Yoshiki Hayashi  <yoshiki@xemacs.org>
6954
6955         * regex.c (TRANSLATE_EXTENDED_UNSAFE): Remove.
6956         (re_search_2): Match the first byte of Bufbyte, not Emchar.
6957         (re_match_2_internal): Use TRANSLATE instead of
6958         TRANSLATE_EXTENDED_UNSAFE.  The latter was a hack to bypass
6959         non-ASCII char case conversion.
6960
6961 2003-09-08  Mike Sperber  <mike@xemacs.org>
6962
6963         * symbols.c (Fvariable_binding_locus): Add, as per suggestion from
6964         RMS at: http://article.gmane.org/gmane.emacs.pretest.bugs/1010
6965
6966 2003-06-14  Ilya N. Golubev  <gin@mo.msk.ru>
6967
6968        * .gdbinit (pobj): fix printing of symbol name.
6969
6970 2003-08-01  Ilya N. Golubev  <gin@mo.msk.ru>
6971
6972         * frame-x.c (x_layout_widgets): When resizing is about to cause
6973         frame size slip, mark it for redisplay.
6974
6975 2003-08-18  Jerry James  <james@xemacs.org>
6976
6977         * opaque.h: Remove unused (X)OPAQUE_MARKFUN definitions.
6978
6979 2003-09-03  Vin Shelton <acs@xemacs.org>
6980
6981         * XEmacs 21.4.14 is released
6982
6983 2003-08-15  Stephen J. Turnbull  <stephen@xemacs.org>
6984
6985         * config.h.in (REGEX_MALLOC): Make it configure'able.
6986
6987 2003-08-14  Andrew Begel  <abegel@CS.Berkeley.EDU>
6988
6989         * config.h.in: Add HAVE_DYLD to indicate Darwin/MacOSX dynamic
6990         linking.
6991         * sysdll.c (dll_init):
6992         * sysdll.c (dll_open):
6993         * sysdll.c (dll_close):
6994         * sysdll.c (dll_function):
6995         * sysdll.c (dll_variable):
6996         * sysdll.c (dll_error):
6997         Add support for loading bundles using Darwin/MacOSX
6998         native API.
6999
7000 2003-08-12  Stephen J. Turnbull  <stephen@xemacs.org>
7001
7002         * process.c (start-process-internal): Document coding systems.
7003
7004 2003-07-30  Jerry James  <james@xemacs.org>
7005
7006         * sysdll.c: configure sets HAVE_DLD_INIT, not HAVE_INIT_DLD.
7007
7008 2003-07-31  René Kyllingstad  <listmailxemacs@kyllingstad.com>
7009
7010         * event-msw.c (mswindows_enqueue_mouse_button_event):
7011         * event-msw.c (mswindows_wnd_proc):
7012           enqueue button event when scrollwheel event isn't handled by 
7013           mswindows_handle_mousewheel_event, such as when the scrollbars
7014           are not showing.
7015
7016 2003-07-29  Stephen J. Turnbull  <stephen@xemacs.org>
7017
7018         * EmacsFrame.c (emacsFrameClassRec): Motif groks not XtCompress*.
7019
7020 2003-03-24  Stephen J. Turnbull  <stephen@xemacs.org>
7021
7022         * database.c (Fopen_database): Don't use DB_AUTO_COMMIT.
7023
7024 2003-03-21  Stephen J. Turnbull  <stephen@xemacs.org>
7025
7026         * regex.c (re_match_2_internal): Fix matching degenerate word
7027         boundaries.
7028
7029 2003-05-25  XEmacs Build Bot <builds@cvs.xemacs.org>
7030
7031         * XEmacs 21.4.13 is released
7032
7033 2003-03-20  Stephen J. Turnbull  <stephen@xemacs.org>
7034
7035         * config.h.in (INTPTR_T_IN_CYGWIN_TYPES_H): 
7036         * lisp.h (<inttypes.h>):
7037         Cygwin defines these types in <cygwin/types.h>.  Don't duplicate
7038         the definition.
7039
7040 2003-03-15  Martin Buchholz  <martin@xemacs.org>
7041
7042         * dumper.c (pdump_load): Pdump'ed XEmacs can't find its .dmp file.
7043         Scenario: Prepend ~/bin to PATH; then `mkdir ~/bin/xemacs'
7044         Result: "temacs can only be run in -batch mode."
7045         Fix: Check xemacs executable candidate for directory-ness.
7046
7047 2003-03-03  Robert Pluim  <rpluim@bigfoot.com>
7048
7049         * database.c: Don't use the u_int8_t etc typedefs on FreeBSD,
7050           they conflict with <sys/types.h>.
7051
7052 2003-02-14  Martin Buchholz  <martin@xemacs.org>
7053
7054         * database.c: Berkeley DB wants __STDC__ to be defined.
7055
7056 2003-02-13  Martin Buchholz  <martin@xemacs.org>
7057
7058         * EmacsFrame.c: Use symbolic name `NotUseful' in lieu of `0'.
7059
7060 2003-02-01  Martin Buchholz  <martin@xemacs.org>
7061
7062         * process-unix.c (unix_send_process): Fix C++ compile error.
7063
7064 2003-02-25  Andrew Begel  <abegel@cs.berkeley.edu>
7065
7066         * Added .dylib as an acceptable shared library file extension
7067         * to support MacOSX.
7068
7069 2003-02-01  Martin Buchholz  <martin@xemacs.org>
7070
7071         * EmacsFrameP.h (EmacsFramePart):
7072         Kludge to allow compiling with Motif1, but linking with Motif2.
7073
7074 2003-01-28  Martin Buchholz  <martin@xemacs.org>
7075
7076         * config.h.in (_ALL_SOURCE): Guard against multiple definition.
7077
7078
7079 2003-02-23  Stephen J. Turnbull  <stephen@xemacs.org>
7080
7081         * config.h.in (DLSYM_NEEDS_UNDERSCORE): Define on darwin.
7082
7083 2003-02-06  Andrew Begel  <abegel@CS.Berkeley.EDU>
7084
7085         * sysdll.c: Included lisp.h to define needed alloca_array.
7086
7087 2003-02-13  Martin Buchholz  <martin@xemacs.org>
7088
7089         Make XEmacs redisplay 10 times faster.
7090         If, that is, you're using a slow X connection and MoveOpaque.
7091         Use compress_exposure = XtExposeCompressMaximal | XtExposeNoRegion.
7092         Use compress_motion = TRUE.
7093         * EmacsFrame.c (emacsFrameClassRec): 
7094         * EmacsShell-sub.c (EMACS_SHELL_CLASS_REC):
7095         * EmacsManager.c (emacsManagerClassRec):
7096         * xintrinsicp.h: Make sure XtExposeNoRegion is defined.
7097
7098 2003-01-30  Vin Shelton  <acs@xemacs.org>
7099
7100         * s/linux.h (ORDINARY_LINK): define ORDINARY_LINK for linux.
7101
7102 2003-01-17  Stephen J. Turnbull  <stephen@xemacs.org>
7103
7104         * glyphs-eimage.c (tiff_memory_seek): Lobotomize unsigned typedef.
7105         Patch by Martin Buchholz.
7106
7107 2003-01-16  Stephen J. Turnbull  <stephen@xemacs.org>
7108
7109         * glyphs-eimage.c (tiff_instantiate): Fix unsigned comparison.
7110         Thanks to icc for warning and Martin Buchholz for reporting.
7111
7112 2003-01-29  Vin Shelton <acs@xemacs.org>
7113
7114         Patch courtesy of Andrew Begel <abegel@cs.berkeley.edu>
7115
7116         * dynarr.c (Dynarr_realloc): memcpy copies number of bytes, so
7117         remember to multiply by the element size.
7118
7119 2003-01-15  Stephen J. Turnbull  <stephen@xemacs.org>
7120
7121         * XEmacs 21.4.12 "Portable Code" is released.
7122
7123 2003-01-14  Sergey Okhapkin <sos@prospect.com.ru>
7124
7125         * Makefile.in.in (ldflags): re-order sections for gcc 3.2.
7126         * s/cygwin.sc: new linker file.
7127
7128 2003-01-14  Stephen J. Turnbull  <stephen@xemacs.org>
7129
7130         Build fixes courtesy Martin Buchholz <martin@xemacs.org>:
7131
7132         * redisplay-x.c (x_output_string): Use X11-specified types.
7133         * syntax.c, syntax.h (SYNTAX_CODE): Use enum syntaxcode, not int.
7134         * emacs.c (__free_hook): Use typeof with Intel compiler.
7135         * config.h.in (alloca.h): Quick safe hack to please Intel compiler.
7136
7137 2003-01-08  Andy Piper  <andy@xemacs.org>
7138
7139         * unexcw.c (copy_executable_and_dump_data_section): Set the stack
7140         reserve size during unexec().
7141
7142 2003-01-07  Daiki Ueno  <daiki@xemacs.org>
7143
7144         * process-unix.c (unix_create_process): Don't let outchannel block.
7145
7146 2003-01-05  Rick Rankin  <rick_rankin@yahoo.com>
7147
7148         * emacs.c: Include "syswindows.h" when compiling under Cygwin.
7149         Needed for IsBadReadPtr().
7150
7151 2003-01-03  Stephen J. Turnbull  <stephen@xemacs.org>
7152
7153         * XEmacs 21.4.11 "Native Windows TTY Support" is released.
7154
7155 2002-12-14  Ben Wing  <ben@xemacs.org>
7156
7157         * callint.c: Declaration error.
7158         * dumper.c (pdump):
7159         * dumper.c (pdump_load): Warning fix.
7160         * process.c: GCPRO error.
7161         * glyphs.c (unmap_subwindow):
7162         * glyphs.c (map_subwindow): Parenthesizing errors with ! and &&.
7163         * event-stream.c (maybe_kbd_translate): Wrong argument to
7164         character_to_event().
7165
7166         * alloc.c (garbage_collect_1):
7167         * emacs.c:
7168         * emacs.c (debug_can_access_memory):
7169         * emacs.c (fatal_error_signal):
7170         * emacs.c (mswindows_handle_hardware_exceptions):
7171         * emacs.c (main_1):
7172         * emacs.c (main):
7173         * emacs.c (assert_failed):
7174         * emacs.c (syms_of_emacs):
7175         * lisp.h:
7176         * print.c:
7177         * print.c (std_handle_out_va):
7178         * print.c (write_string_to_stdio_stream):
7179         * print.c (write_fmt_string):
7180         * print.c (printing_badness):
7181         * print.c (printing_major_badness):
7182         * print.c (print_internal):
7183         * print.c (debug_print_no_newline):
7184         * print.c (debug_backtrace):
7185         Be more defensive in handling bad values when printing.  Add code
7186         from trunk involving inhibit_non_essential_printing_operations.
7187         When going down or in debug_print(), don't do external conversion
7188         and such and try really, really hard when printing to avoid core
7189         dumping.  Add force-debugging-signal, debug_break().
7190
7191 2002-12-12  Stephen J. Turnbull  <stephen@xemacs.org>
7192
7193         * dumper.c (pdump_load): Include sysdep.h; retry with truename.
7194         Analysis and original patch by Vin Shelton <acs@xemacs.org>.
7195
7196 2002-12-02  Greg Allen  <greg_allen@westlb-systems.co.uk>
7197
7198         * database.c: Fix open_database. Berkeley DB API has changed in
7199         4.1. see: http://www.sleepycat.com/docs/ref/upgrade.4.1/fop.html
7200
7201 2002-11-26  Stephen J. Turnbull  <stephen@xemacs.org>
7202
7203         * specifier.c (Fvalid_specifier_type_p): Typo in comment.
7204
7205 2002-11-13  Stephen J. Turnbull  <stephen@xemacs.org>
7206
7207         * event-Xt.c (Xt_timeout):
7208         (Xt_timeout_callback):
7209         (emacs_Xt_add_timeout):
7210         (emacs_Xt_remove_timeout):
7211         (Xt_timeout_to_emacs_event):
7212         Turn completed_timeouts from a stack into a queue.  Fixes
7213         deadlocks <15829.21626.171573.994716@sinisa.nasamreza.org>.
7214
7215 2002-11-07  Wolfram Gloger  <wg@malloc.de>
7216
7217         * alloc.c (reinit_alloc_once_early): Disable mmap in Doug Lea malloc.
7218         * emacs.c (main): Assert that mmap'd allocation is disabled.
7219
7220 2002-10-14  Andy Piper  <andy@xemacs.org>
7221
7222         * glyphs-widget.c (layout_query_geometry): add in fiddle
7223         factor. Include border text in width layout calculation.
7224         (layout_layout): use BORDER_FIDDLE_FACTOR instead of 10.
7225
7226 2002-11-02  Stephen J. Turnbull  <stephen@xemacs.org>
7227
7228         * XEmacs 21.4.10 "Military Intelligence" is released.
7229
7230 2002-10-17  Raymond Toy  <toy@rtp.ericsson.se>
7231
7232         * nas.c: Update for NAS 1.6 and later, from Jon Trulson.  Was
7233         using the NAS private array SoundFileInfo that no longer exists in
7234         NAS 1.6 and later.  Preserve backward compatibility with NAS 1.5a
7235         and earlier.  This is broken for some versions between 1.5a and
7236         1.5f.
7237
7238 2002-10-10  Stephen J. Turnbull  <stephen@xemacs.org>
7239
7240         * realpath.c (win32_readlink): Try to fix truename of wildcard bug.
7241
7242         * emacs.c (shut_down_emacs): Improve crash message.
7243
7244 2002-10-09  Stephen J. Turnbull  <stephen@xemacs.org>
7245
7246         * file-coding.c (determine_real_coding_system): Check for coding
7247         cookie in first LINES_TO_CHECK lines (currently 2).  Cater to
7248         shebangs and Python PEP 263.
7249
7250 2002-10-08  Andy Piper  <andy@xemacs.org>
7251
7252         * glyphs-widget.c (layout_query_geometry): only resize dynamically
7253         if static sizes haven't been set.
7254
7255 2002-08-30  Mike Alexander  <mta@arbortext.com>
7256
7257         * event-msw.c (winsock_closer): Use closesocket, not CloseHandle
7258         to close a socket.
7259
7260 2002-10-03  Stephen J. Turnbull  <stephen@xemacs.org>
7261
7262         * callproc.c (child_setup): 21.4 doesn't have retry_close.
7263
7264 2002-09-20  Mike Sperber <mike@xemacs.org>
7265
7266         (This partially gets back my patch from 2002-07-20 without the
7267         bug.)
7268         * callproc.c (child_setup): Remove Ben's comment noting confusion
7269         over the file descriptors >= 3: close_process_descs() doesn't
7270         close those.  Fix fd range to go up to MAXDESC-1 instead of 64.
7271         * process-unix.c (unix_create_process): Call
7272         begin_dont_check_for_quit to inhibit unwanted interaction (and
7273         thus breaking of X event synchronicity) in the child.
7274
7275 2002-09-26  Golubev I. N.  <gin@mo.msk.ru>
7276
7277         * frame-x.c (x_delete_frame): do not call XtDisplay on a destroyed
7278         widget.
7279
7280 2002-08-20  Ben Sigelman  <bhsigelm@cs.brown.edu>
7281
7282         * event-Xt.c (drain_X_queue): loop over while(XEventsQueued())
7283         instead of while(XtAppPending()&XtIMXEvent).  Upon a gdm logout,
7284         the xemacs process did not exit, but looped infinitely here.  This
7285         fixes that problem.
7286
7287 2002-09-28  Stephen J. Turnbull  <stephen@xemacs.org>
7288
7289         * font-lock.c (SYNTAX_START_STYLE, SYNTAX_END_STYLE): Quiet GCC.
7290         (find_context): Improve comments.
7291
7292         * regex.c (re_compile_fastmap):  Gratuitous #ifdef comment fixes.
7293         (re_match_2): An XCHAR_TABLE operation was missing.
7294
7295         Many of the following changes were inspired by Andy Piper's (now
7296         obsolete) patch to make syntax-table text property lookup optional.
7297
7298         [Documentation]
7299
7300         * syntax.h (top level): Document semantics of syntax flags.
7301         * syntax.c (comstr_start, Fforward_comment): Improve comments.
7302         * syntax.c, syntax.h (top level): Document syntax cache better in
7303         comments.
7304
7305         [Instrument syntax caching (temporary change)]
7306
7307         * syntax.h (enum syntax_cache_statistics_functions, struct
7308         syntax_cache_statistics, SCS_STATISTICS_SET_FUNCTION,
7309         SYNTAX_CACHE_STATISTICS_COUNT_INIT): New types and macros.
7310         * syntax.c (scan_words, Fforward_comment, scan_lists,
7311         Fbackward_prefix_characters):
7312         * font-lock.c (find_context):
7313         Use them to instrument syntax caching. 
7314         * syntax.c (struct syntax_cache_statistics, scs_statistics,
7315         syntax_cache_statistics_function_names): New type and variables.
7316         * syntax.c (update_syntax_cache): Update and report statistics.
7317
7318         [Major syntax cache optimizations]
7319
7320         syntax.c (lookup_syntax_properties): Default off.
7321
7322         * syntax.h (UPDATE_SYNTAX_INTERNAL): New, implements UPDATE_SYNTAX*.
7323         * syntax.c (update_syntax_cache):
7324         Move init test from update_syntax_cache to UPDATE_SYNTAX_INTERNAL.
7325
7326         [Minor syntax cache optimizations and code clarifications]
7327
7328         * syntax.h (SYNTAX_COMMENT_BITS, SYNTAX_START_P, SYNTAX_END_P,
7329         SYNTAX_STYLES_MATCH_START_P, SYNTAX_STYLES_MATCH_1CHAR_P,
7330         SYNTAX_STYLES_MATCH_END_P, STYLE_FOUND_1CHAR_P, STYLE_FOUND_P,
7331         SYNTAX_COMMENT_MASK_END, SYNTAX_COMMENT_MASK_START,
7332         SYNTAX_COMMENT_1CHAR_MASK): Remove redundant argument `table'.
7333         (Code clarification.)
7334
7335         * syntax.c (scan_words, find_end_of_comment, scan_sexps_forward,
7336         scan_lists): Compute code from syncode, use Boolean macros instead
7337         of redundant masking operations.  (Code clarification; any decent
7338         compiler can do this optimization.)
7339
7340         * syntax.c (scan_lists): Rearrange switches (case Sstring_fence)
7341         for clarity.
7342
7343         * syntax.h, syntax.c (NEXT_SINGLE_PROPERTY_CHANGE,
7344         PREVIOUS_SINGLE_PROPERTY_CHANGE, update_syntax_cache): Conditionally
7345         use F*_single_property_change instead of F*_extent_change.
7346         Currently F*_single_property_change is _much_ less efficient.
7347
7348         * dired.c (Fdirectory_files): Qt not valid in syntax_cache.object.
7349         * syntax.h (SETUP_SYNTAX_CACHE_FOR_OBJECT):  Initialize
7350         syntax_cache.object properly, don't leave Qt or Qnil.
7351         (SYNTAX_CACHE_BYTE_TO_CHAR): Use SETUP_SYNTAX_CACHE_FOR_OBJECT.
7352         * syntax.c (update_syntax_cache): Use BUFFERP and STRINGP, not
7353         tests for Qt or Qnil.
7354
7355 2002-09-21  Stephen J. Turnbull  <stephen@xemacs.org>
7356
7357         * redisplay.c (point_in_line_start_cache): 
7358         * extents.c (print_extent_1):
7359         Fix warnings.
7360
7361         * extents.c (Fset_extent_property): Document `syntax-table' property.
7362
7363         * extents.h (Fnext_single_property_change): EXFUN it.
7364
7365 2002-09-09  Stephen J. Turnbull  <stephen@xemacs.org>
7366
7367         * search.c (clear_unused_search_regs): New static function.
7368         (search_buffer): 
7369         (simple_search): 
7370         (boyer_moore):
7371         Use it.  Fixes "stale match data" bug reported by Martin Stjernholm.
7372         Minor clarifications in comments.
7373
7374         * regex.c (re_match_2_internal): Ensure no stale submatches.
7375
7376 2002-09-09  Stephen J. Turnbull  <stephen@xemacs.org>
7377
7378         * event-Xt.c (enqueue_focus_event): Add missing prototype.
7379
7380 2002-08-29  Jerry James  <james@xemacs.org>
7381
7382         * lisp.h: structrures -> structures.
7383
7384 2002-06-03  Andy Piper  <andy@xemacs.org>
7385
7386         * frame.c (frame_conversion_internal): add conversion appropriate
7387         for setting frame dimensions in pixels.
7388
7389         * console.h (struct console_methods): add device-specific widget
7390         layout functions.
7391
7392         * emacs.c (main_1): initialize glyph vars.
7393
7394         * event-Xt.c (handle_focus_event_1): call handle_focus_event_2
7395         (handle_focus_event_2): new function. Allow focus to
7396         be set to a particular window and widget.
7397         (enqueue_focus_event): new function. Create a
7398         synthetic focus event.
7399         (emacs_Xt_handle_magic_event): call
7400         handle_focus_event_2.
7401
7402         * frame.c (Fset_frame_pixel_height): new function. Allow
7403         pixel-based sizing. Does the right thing on character-oriented
7404         displays.
7405         (Fset_frame_pixel_width): ditto.
7406         (Fset_frame_pixel_size): ditto.
7407         (syms_of_frame): declare.
7408
7409         * general-slots.h: add :vertically-justify and
7410         :horizontally-justify.
7411
7412         * glyphs-msw.c (xbm_create_bitmap_from_data): warning fix.
7413         (mswindows_widget_border_width): new function.
7414         (mswindows_combo_box_instantiate): set border widths.
7415         (console_type_create_glyphs_mswindows): declare.
7416
7417         * glyphs-widget.c:
7418         (check_valid_justification): allow vertical and horizontal
7419         justification.
7420         (widget_border_width): new function. Call device methods.
7421         (widget_instance_border_width): ditto.
7422         (logical_unit_height): new function. Determine the height of a
7423         logical-unit. Logical units are intended to provide grid-like
7424         layout for subcontrols in a layout. If the layout is
7425         :vertically-justify top then subcontrols will be positioned on
7426         logical-unit boundaries, thus allowing adjacent subcontrols to
7427         line up.
7428         (widget_logical_unit_height): ditto for widgets.
7429         (redisplay_widget): misc cleanup.
7430         (widget_spacing): new function. Call device specific
7431         methods. Intended to be the default gap between adjacent widgets.
7432         (widget_query_geometry): use new spacing functions to determine
7433         appropriate geometry.
7434         (initialize_widget_image_instance): initialize horizontal and
7435         vertical justification.
7436         (widget_instantiate): use logica-units where appropriate for
7437         sizing large widgets.
7438         (button_query_geometry): use widget_instance_border_width.
7439         (tree_view_query_geometry): ditto.
7440         (tab_control_query_geometry): ditto.
7441         (edit_field_query_geometry): new function.
7442         (layout_update): pick up :justify, :horizontally-justify and
7443         :vertically-justify none of which worked previously. :justify is
7444         used as a fallback for both horizontal and vertical justification.
7445         (layout_query_geometry): use logical units to size appropriately.
7446         (layout_layout): ditto.
7447         (Fwidget_logical_to_character_width): new function. Allow users to
7448         convert from logical units to characters so that frame sizes can
7449         be set appropriately.
7450         (Fwidget_logical_to_character_height): ditto.
7451         (syms_of_glyphs_widget): declare.
7452         (image_instantiator_edit_fields): add edit_field_query_geometry.
7453         (VALID_LAYOUT_KEYWORDS): declare :vertically-justify and
7454         :horizontally-justify.
7455         (specifier_vars_of_glyphs_widget): new function. Declare
7456         Vwidget_border_width which is not yet used.
7457
7458         * glyphs-x.c (x_map_subwindow): enqueue appropriate focus events.
7459         (x_widget_border_width): new function.
7460         (x_widget_instantiate): create a sensible name for widgets.
7461         (console_type_create_glyphs_x): declare x_widget_border_width.
7462
7463         * glyphs.h (DEFAULT_WIDGET_BORDER_WIDTH): new macro.
7464         (struct Lisp_Image_Instance): add :vertically-justify and
7465         :horizontally-justify.
7466         (LAYOUT_JUSTIFY_TOP): new.
7467         (IMAGE_INSTANCE_SUBWINDOW_H_JUSTIFY): new.
7468         (ROUND_UP): new macro. Round argument up to next integral
7469         interval.
7470
7471         * redisplay-output.c (redisplay_output_layout): misc formatting.
7472
7473         * symsinit.h: declare specifier_vars_of_glyphs_widget.
7474
7475 2002-08-23  Stephen J. Turnbull  <stephen@xemacs.org>
7476
7477         * XEmacs 21.4.9 "Informed Management" is released.
7478
7479 2002-08-19  Andy Piper  <andy@xemacs.org>
7480
7481         * fileio.c (Ffile_truename): on cygwin using win32 normalize to
7482         win32 format.
7483
7484         * realpath.c (xrealpath): normalize drive spec also so that dir
7485         sep chars are not mixed on cygwin.
7486
7487 2002-08-06  Jerry James  <james@xemacs.org>
7488
7489         * window.c (Fsplit_window): Count only half of the divider width
7490         against the left window when splitting horizontally. 
7491
7492 2002-06-24  Andy Piper  <andy@xemacs.org>
7493
7494         * toolbar-gtk.c (GTK_OUTPUT_BUTTONS_LOOP): output button if whole
7495         toolbar was cleared.
7496
7497         * toolbar-msw.c (mswindows_clear_frame_toolbars): new
7498         function. Split out from mswindows_output_frame_toolbars.
7499         (mswindows_output_frame_toolbars): move clear pieces to
7500         mswindows_output_frame_toolbars.
7501
7502         * toolbar-gtk.c (gtk_clear_frame_toolbars): new function. Split
7503         out from gtk_output_frame_toolbars.
7504         (gtk_output_frame_toolbars): move clear pieces to
7505         gtk_clear_frame_toolbars.
7506
7507         * toolbar-x.c (X_OUTPUT_BUTTONS_LOOP): always output buttons when
7508         the frame is cleared. How this ever worked before is a mystery.
7509         (x_output_frame_toolbars): Only output toolbars.
7510         (x_clear_frame_toolbars): new. Clear previous toolbar locations.
7511
7512         * gutter.c (update_gutter_geometry):
7513         Mark frame layout changed.
7514         (update_frame_gutter_geometry, update_frame_gutters):
7515         Respect frame_layout_changed.
7516
7517         * console.h (struct console_methods): add
7518         clear_frame_toolbars_method.
7519
7520         * redisplay.c (redisplay_frame): call
7521         update_frame_toolbars_geometry and re-order update_frame_toolbars.
7522
7523         * toolbar.h: declare update_frame_toolbars_geometry.
7524
7525         * toolbar.c (update_frame_toolbars_geometry): new function. Split
7526         out from update_frame_toolbars.  Call clear_frame_toolbars.
7527         (update_frame_toolbars): only output, do not change geometry.
7528
7529         * redisplay.c: add frame_layout_changed.
7530
7531         * redisplay.h: add frame_layout_changed.
7532         (CLASS_RESET_CHANGED_FLAGS): set it.
7533         (GLOBAL_RESET_CHANGED_FLAGS): ditto.
7534         (CLASS_REDISPLAY_FLAGS_CHANGEDP): test it.
7535         (GLOBAL_REDISPLAY_FLAGS_CHANGEDP): ditto.
7536
7537         * device.h (struct device): add frame_layout_changed.
7538         (MARK_DEVICE_FRAME_LAYOUT_CHANGED): new.
7539
7540         * frame.h (struct frame): add frame_layout_changed.
7541         (MARK_FRAME_LAYOUT_CHANGED): new.
7542
7543 2002-06-30  Mike Alexander  <mta@arbortext.com>
7544
7545         * event-msw.c (mswindows_need_event): Don't wait for a new message
7546         if the queue is not empty.  Suggested by Paul Moore.
7547
7548 2002-06-12  Andy Piper  <andy@xemacs.org>
7549
7550         * frame-msw.c (msprinter_init_frame_3): calculate the frame size
7551         for printing on accurately.
7552
7553 2002-06-09  Rick Rankin <rick_rankin@yahoo.com>
7554
7555         * event-msw.c (mswindows_wnd_proc): Add a handler for the
7556         WM_ACTIVATE message. Make sure that the frame is visible if the
7557         window is visible. This seemss to fix the problem where XEmacs
7558         appears to freeze after switching desktops with certain virtual
7559         window managers.
7560         (debug_output_mswin_message): Added code to output message
7561         parameters for WM_WINDOWPOSCHANGED, 
7562         WM_WINDOWPOSCHANGING, WM_MOVE, and WM_SIZE messages.
7563
7564 2002-05-25  Andy Piper  <andy@xemacs.org>
7565
7566         * select-x.c (vars_of_select_x): Fix docstring of
7567         x-selection-strict-motif-ownership
7568
7569 2002-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
7570
7571         * keymap.c (get_keymap):
7572         Add comment about do_autoload GCPROs own args.
7573
7574 2002-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
7575
7576         * bytecode.c (execute_optimized_program): check_opcode ifdef
7577         ERROR_CHECK_BYTE_CODE.
7578
7579 2002-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
7580
7581         Thanks to Ben Wing and Michael Sperber.
7582
7583         * eval.c (Fcommand_execute):
7584         (Feval):
7585         (Ffuncall):
7586         (Fmacroexpand_internal):
7587         (function_argcount):
7588         callint.c (Fcall_interactively):
7589         Add comment about do_autoload GCPROs own args.
7590
7591         * (do_autoload): GCPRO both args as well as local Lisp_Object.
7592
7593         * eval.c (Ffuncall): Extra braces to placate GCC.
7594
7595 2002-08-10  Stephen J. Turnbull  <stephen@xemacs.org>
7596
7597         * backtrace.h (grow_specpdl):
7598         (SPECPDL_RESERVE):
7599         * EmacsFrame.c (EmacsFrameSetValues):
7600         * eval.c (grow_specpdl):
7601         * ExternalShell.c (hack_event_masks_1):
7602         * glyphs-x.c (convert_EImage_to_XImage): 
7603         (x_finalize_image_instance):
7604         * ralloc.c (page_size):
7605         (r_alloc_sbrk):
7606         * xgccache.c (gc_cache_hash):
7607         Fix unsigned comparison warnings.
7608
7609 2002-07-29  Jerry James  <james@xemacs.org>
7610
7611         * lread.c (locate_file): Any nonnegative return value indicates
7612         success if MODE is nonnegative.
7613
7614 2002-08-03  Brian A Palmer  <bpalmer@rescomp.Stanford.EDU>
7615
7616         * emacs.c (Fsplit_string_by_char): Make 2nd arg SEPCHAR a required
7617         argument. 
7618
7619 2002-07-17  Stephen J. Turnbull  <stephen@xemacs.org>
7620
7621         * process-unix.c (unix_send_process): #ifdef the coding_stream member.
7622
7623         * dumper.c (pdump_get_indirect_count):
7624         (pdump_scan_by_alignment):
7625         (pdump_dump_root_struct_ptrs):
7626         (pdump_dump_rtables):
7627         (pdump_dump_root_objects):
7628         (pdump):
7629         * nas.c (WaveOpenDataForReading):
7630         * fns.c (print_bit_vector):
7631         * font-lock.c (SINGLE_SYNTAX_STYLE):
7632         * glyphs.c (check_for_ignored_expose):
7633         (find_matching_subwindow):
7634         * glyphs-eimage.c:
7635         * imgproc.c (get_histogram):
7636         * redisplay.c (point_in_line_start_cache):
7637         * redisplay-output.c (redisplay_unmap_subwindows):
7638         * symbols.c (defsymbol_massage_name_1):
7639         (defkeyword_massage_name):
7640         (deferror_massage_name_and_message):
7641         * redisplay-x.c (x_output_string): 
7642         * emacs.c (run_temacs_argv_size, run_temacs_args_size):
7643         * frame.h (struct frame):
7644         * filelock.c (current_lock_owner):
7645         * doprnt.c (emacs_doprnt_1):
7646         * lisp.h (struct Lisp_Bit_Vector):
7647         (DO_REALLOC):
7648         Fix warnings.
7649
7650 2002-02-13  Ben Wing  <ben@xemacs.org>
7651
7652         * event-stream.c (reset_key_echo):
7653         * event-stream.c (reset_this_command_keys):
7654         * event-stream.c (execute_command_event):
7655         If console is dead as a result of C-x 5 0, then post-command stuff
7656         needs to be careful and do only non-console-specific stuff.
7657
7658 2002-07-01  Mike Sperber <mike@xemacs.org>
7659
7660         * process-unix.c (unix_send_process): Mark coding_outstream as
7661         non-open upon SIGPIPE.
7662
7663         * event-stream.c (Fnext_event): Reorder switch cases to something
7664         that makes sense.
7665
7666 2001-08-13  Dmitry Astapov  <adept@umc.com.ua>
7667
7668         * event-Xt.c (maybe_define_x_key_as_self_inserting_character):
7669         Don't bogusly reinitialize ascii_character property.
7670
7671 2002-07-08  Mike Sperber <mike@xemacs.org>
7672
7673         * process.c (Fstart_process_internal): Do error checking before we
7674         fork off the child, so the child can't muck with the state of the
7675         parent.
7676
7677 2002-07-08  Mike Sperber <mike@xemacs.org>
7678
7679         * ralloc.c (init_ralloc): Allocate properly for pdump.
7680
7681 2002-06-12  Andy Piper  <andy@xemacs.org>
7682
7683         * glyphs.c (query_string_geometry): check the string.
7684
7685         * glyphs-widget.c (widget_logical_unit_height): cope with nil
7686         widget names.
7687
7688 2002-06-17  Jerry James  <james@xemacs.org>
7689
7690         * sysdll.c: Remove RTLD_GLOBAL initialization.
7691         * sysdll.c (dll_open): Do not use RTLD_GLOBAL.
7692
7693 2002-06-25  Stephen J. Turnbull  <stephen@xemacs.org>
7694
7695         * search.c (skip_chars): Port Ben's crash fix and efficiency patch.
7696
7697 2002-05-16  Mathias Grimmberger  <mgri@zaphod.sax.de>
7698
7699         * sysdep.c (sys_rename): Make sys_rename work for the case where
7700         Windows rename sets errno to EACCES if target file exists.
7701
7702 2002-05-21  Jonathan Harris  <jonathan@xemacs.org>
7703
7704         * device-msw.c (mswindows_handle_page_setup_dialog_box):
7705         Fix detection of metric units to work on Win95
7706
7707 2002-05-21  Stephen J. Turnbull  <stephen@xemacs.org>
7708
7709         * syswindows.h: #define LOCALE_RETURN_NUMBER.  Why, I don't know.
7710
7711 2002-04-25  Andy Piper  <andy@xemacs.org>
7712
7713         * redisplay.c (create_text_block): Remove extra comment trailer.
7714
7715 2002-04-24  Andy Piper  <andy@xemacs.org>
7716
7717         * redisplay.c (create_text_block): Don't actually add propagation
7718         data if the line ends after we have added a glyph.
7719
7720 2002-04-22  Andy Piper  <andy@xemacs.org>
7721
7722         * extents.c (extent_fragment_update): check for glyphs we have
7723         previously displayed.
7724         * extents.c (print_extent_1): warning removal.
7725         * extents.h: change prototype.
7726         * redisplay-output.c (redisplay_normalize_glyph_area): calculate
7727         widths correctly for wide glyphs.
7728         * redisplay.c (position_redisplay_data_type): add end_glyph_width.
7729         * redisplay.c (prop_type): add PROP_GLYPH.
7730         * redisplay.c (struct prop_block): add glyph type
7731         * redisplay.c (add_glyph_rune): when adding part of a glyph add it
7732         to the propagation data.
7733         * redisplay.c (create_text_block): if there is a glyph in the
7734         propagation data use it to salt extent_fragment_update.
7735         * redisplay.c (create_string_text_block): ditto.
7736
7737 2002-04-13  Nix  <nix@esperi.demon.co.uk>
7738
7739         * redisplay.h (struct rune): Add ascent, descent, and yoffset fields.
7740         * redisplay-output.c (compare_runes): Compare them.
7741         * redisplay.c: Update copyright date.
7742         * redisplay.c (pos_data): Add need_baseline_computation field.
7743         * redisplay.c (add_glyph_rune): Update ascent, descent, and
7744         need_baseline_computation; zero yoffset. Set max_pixmap_height
7745         for all pixmaps, not just automatically positioned ones.
7746         * redisplay.c (calculate_yoffset): New, compute yoffset values.
7747         * redisplay.c (calculate_baseline): New, compute textual baseline.
7748         * redisplay.c (add_glyph_rune): Call them.
7749         * redisplay.c (create_text_block): Likewise.
7750         * redisplay.c (create_overlay_glyph_block): Likewise.
7751         * redisplay.c (add_margin_runes): Likewise.
7752         * redisplay.c (create_string_text_block): Likewise. Fix tabdamage.
7753
7754         * redisplay.h: (redisplay_calculate_display_boxes): Change prototype.
7755         * redisplay-output.c (redisplay_calculate_display_boxes): Use yoffset.
7756         * redisplay-msw.c (mswindows_output_blank): Pass 0 as yoffset.
7757         * redisplay-msw.c (mswindows_output_string): Likewise.
7758         * redisplay-msw.c (mswindows_output_display_block): Pass yoffset.
7759         * redisplay-gtk.c (gtk_output_display_block): Likewise.
7760         * redisplay-x.c (x_output_display_block): Likewise.
7761
7762 2002-03-28  Ben Wing  <ben@xemacs.org>
7763
7764         * redisplay.c: Fixed bug in redisplay
7765         w.r.t. hscroll/truncation/continuation glyphs causing jumping up
7766         and down of the lines, since they're bigger than the line
7767         size. (It was seen most obviously when there's a horizontal scroll
7768         bar, e.g. do C-h a glyph or something like that.) The problem was
7769         that the glyph-contrib-p setting on glyphs was ignored even if it
7770         was set properly, which it wasn't until now.
7771
7772 2002-04-24  Andy Piper  <andy@xemacs.org>
7773
7774         * lisp.h (Dynarr_end): Fix definition.
7775
7776 2002-02-06  Adrian Aichner  <adrian@xemacs.org>
7777
7778         * redisplay.c (mark_redisplay): Remove call to
7779         update_frame_window_mirror.
7780
7781 2001-11-15  Andy Piper  <andy@xemacs.org>
7782
7783         * win32.c (Fmswindows_shell_execute): fix handling of URL's under
7784         cygwin (again).
7785
7786 2002-02-13  Andy Piper  <andy@xemacs.org>
7787
7788         * event-msw.c (mswindows_wnd_proc): only mark the frame visible if
7789         we did in fact enqueue the XM_MAPFRAME event.
7790
7791 2002-01-15  Adrian Aichner  <adrian@xemacs.org>
7792
7793         * event-msw.c (mswindows_wnd_proc): Add handling of WM_SHOWWINDOW
7794         to fix problem switching between virtual desktops under virtuawin
7795         virtual window manager.
7796
7797 2001-07-30  Adrian Aichner  <adrian@xemacs.org>
7798
7799         * event-msw.c: Typo fix.
7800         * event-msw.c (mswindows_wnd_proc): Set FRAME_VISIBLE_P after
7801         magic XM_MAPFRAME event has been sent.
7802
7803 2001-11-23  Andy Piper  <andy@xemacs.org>
7804
7805         * event-msw.c (mswindows_wnd_proc): Don't pump mousewheel events.
7806
7807 2001-11-21  Andy Piper  <andy@xemacs.org>
7808
7809         * scrollbar-msw.c (mswindows_handle_mousewheel_event): cope with
7810         mouse events outside the frame.
7811
7812 2002-03-20  Andy Piper  <andy@xemacs.org>
7813
7814         * menubar-msw.c (mswindows_popup_menu): warning removal.
7815         * dialog-msw.c (dialog_popped_down): ditto.
7816
7817 2001-12-11  Andy Piper  <andy@xemacs.org>
7818
7819         * dialog-msw.c (dialog_popped_down): new function. unset popup_up_p.
7820         * dialog-msw.c (mswindows_make_dialog_box_internal): set
7821         popup_up_p.
7822         * menubar-msw.c (unsafe_handle_wm_initmenupopup_1): ditto.
7823         * menubar-msw.c (mswindows_handle_wm_command): ditto.
7824         * menubar-msw.c (mswindows_popup_menu): ditto.
7825
7826 2001-10-29  Andy Piper  <andy@xemacs.org>
7827
7828         * dialog-msw.c (handle_directory_dialog_box): quit if the user
7829         cancels.
7830
7831 2002-01-03  Andy Piper  <andy@xemacs.org>
7832
7833         * realpath.c (ABS_LENGTH): dtrt for cygwin systems using drive
7834         letters.
7835         (xrealpath): ditto.
7836
7837 2002-03-29  Jonathan Harris  <jonathan@xemacs.org>
7838
7839         * device-msw.c (plist_get_margin): Add arg specifying mm or inches
7840         * device-msw.c (plist_set_margin): Fix multiplicand used for mm
7841         * device-msw.c (mswindows_handle_page_setup_dialog_box):
7842         Detect and handle case where machine is set up for metric units
7843
7844 2002-04-02  Andy Piper  <andy@xemacs.org>
7845
7846         * dired-msw.c (mswindows_get_files): 
7847         * nt.c (mswindows_stat): SetErrorMode() so that file errors are
7848         completely handled by XEmacs. Suggested by Thomas Vogler
7849         <mail@thomas-vogler.de>.
7850
7851 2001-11-14  Andy Piper  <andy@xemacs.org>
7852
7853         * nt.c (REG_ROOT): change registry key to XEmacs.
7854
7855 2002-04-27  Andy Piper  <andy@xemacs.org>
7856
7857         * glyphs-msw.c (mswindows_widget_instantiate): remove dead-code.
7858
7859 2002-04-26  Andy Piper  <andy@xemacs.org>
7860
7861         * glyphs-msw.c (mswindows_map_subwindow): observe :initial-focus
7862         behavior.
7863
7864 2002-03-14  Mike Alexander  <mta@arbortext.com>
7865
7866         * event-msw.c (mswindows_unwait_process): New, remove process from
7867         wait list
7868         * process-nt.c (nt_finalize_process_data): Call
7869         mswindows_unwait_process
7870         * console-msw.h: Declare mswindows_unwait_process
7871
7872 2002-05-14  Stephen J. Turnbull  <stephen@xemacs.org>
7873
7874         * editfns.c (Fdecode_time):
7875         (Fformat_time_string):
7876         Check for invalid time.  Thanks to Nick Pakoulin <npak@ispras.ru>.
7877         (make_time): Warning elimination (change arg name).
7878
7879 2001-11-24  Andy Piper  <andy@xemacs.org>
7880
7881         * window.c (Fsplit_window): Doc return type.
7882
7883 2002-04-01  Andy Piper  <andy@xemacs.org>
7884
7885         * emacs.c (Fkill_emacs): Only output message box in interactive
7886         mode.
7887
7888 2002-04-26  Andy Piper  <andy@xemacs.org>
7889  
7890         * config.h.in: pull in 21.5.x change to stop alloca warnings under
7891         cygwin.
7892
7893 2002-03-18  Gregory Steuck  <greg-xemacs-patch@nest.cx>
7894
7895         * unexelf.c:  Use ELFSIZE or define from _LP64 to indicate a 64
7896         bit platform.
7897
7898 2002-05-09  Stephen J. Turnbull  <stephen@xemacs.org>
7899
7900         * XEmacs 21.4.8 "Honest Recruiter" is released.
7901
7902 2002-05-07  Nix  <nix@esperi.demon.co.uk>
7903
7904         Supersedes 2002-04-17 patch.
7905
7906         * process.h (PROCESS_LIVE_P): Use the process status as
7907         evidence of health, not the state of the input stream.
7908         (PROCESS_READABLE_P): Say if the process is readable
7909         from. (It may be dead nonetheless.)
7910         (CHECK_READABLE_PROCESS): Test for that condition.
7911
7912         * process.c (create_process): Use PROCESS_READABLE_P.
7913         (read_process_output, set_process_filter): Likewise.
7914
7915         * process.c (Fprocess_input_coding_system): Use CHECK_READABLE_PROCESS.
7916         (Fset_process_input_coding_system, Fprocess_coding_system): Likewise.
7917
7918         This code is #if 0'd, this is not the time to add new functions:
7919
7920         * process.c (Fprocess_readable_p): Report readability status.
7921         * process.c (Qprocess_readable_p): New, associated symbol...
7922         * process.c (syms_of_process): ... initialize it.
7923
7924 2002-05-04  Stephen J. Turnbull  <stephen@xemacs.org>
7925
7926         * XEmacs 21.4.7 "Economic Science" is released.
7927
7928 2002-04-17  Nix  <nix@esperi.demon.co.uk>
7929
7930         * process.h (PROCESS_LIVE_P): Use the process status as
7931         evidence of health, not the state of the input stream.
7932
7933 2002-04-30  Charles G. Waldman <cgw@xemacs.org>
7934
7935         * sysdep.c (sys_siglist): change "signum" to "signal"
7936
7937 2001-04-21  Martin Buchholz  <martin@xemacs.org>
7938
7939         * s/darwin.h: New file.
7940         Thanks to Greg Parker <gparker@cs.stanford.edu>.
7941         
7942 2002-04-23  Andreas Jaeger  <aj@suse.de>
7943
7944         * s/linux.h (LIB_STANDARD): Define correctly for x86-64 and s390x
7945         which use lib64 for 64-bit libs.
7946         (START_FILES): Likewise.
7947
7948 2002-02-11  Mike Sperber  <mike@xemacs.org>
7949
7950         * device-x.c: 
7951         (x_IO_error_handler):
7952         (x_init_device): Temporarily keep device in static variable
7953         `device_being_initialized' so we can recover gracefully from
7954         internal XOpenDevice failure.  (XOpenDevice is documented to
7955         return NULL on failure, but sometimes calls the IO error handler
7956         instead.)
7957
7958 2002-01-31  John H. Palmieri  <palmieri@math.washington.edu>
7959
7960         * dired.c (Ffile_name_all_completions): Change documentation --
7961         remove reference to completion-ignored-extensions.
7962         * dired.c (vars_of_dired): Change documentation for
7963         completion-ignored-extensions -- remove reference to
7964         file-name-all-completions.
7965
7966 2002-03-06  Jerry James  <james@xemacs.org>
7967
7968         * emodules.c (emodules_load): Fix multiple loading of same module.
7969
7970 2002-01-25  Andrew Begel <abegel@cs.berkeley.edu>
7971         * sysdll.c (dll_open): Changed to use RTLD_NOW instead of
7972         RTLD_LAZY to avoid incorrect symbol binding when using nested
7973         shared libraries on Solaris.
7974
7975 2002-02-12  Stephen J. Turnbull  <stephen@xemacs.org>
7976
7977         * fileio.c (Ffind_file_name_handler): Improve docstring.
7978
7979 2002-01-20  Stephen J. Turnbull  <stephen@xemacs.org>
7980
7981         * fns.c (Fmapconcat): Improve docstring.
7982
7983 2002-01-03  Eric Gillespie, Jr.  <epg@pretzelnet.org>
7984
7985         * device-gtk.c: Add prototype for
7986         emacs_gtk_selection_clear_event_handle.
7987         (gtk_init_device): Call gtk_selection_add_target for CLIPBOARD
7988         selection.  Setup signal handler for "selection_clear_event"
7989         (emacs_gtk_selection_clear_event_handle).
7990
7991         * select-gtk.c (emacs_gtk_selection_clear_event_handle): Handle
7992         other applications owning the clipboard (based on
7993         x_handle_selection_clear).
7994
7995 2001-12-23  William M. Perry  <wmperry@gnu.org>
7996
7997         * menubar-gtk.c (gtk_popup_menu)  Add sanity checks, fix crash.
7998         
7999 2002-01-04  Martin Buchholz  <martin@xemacs.org>
8000
8001         * keymap.c (define_key_alternate_name): Parenthesize EQ.
8002
8003 2001-12-17  Stephen J. Turnbull  <stephen@xemacs.org>
8004
8005         * XEmacs 21.4.6 "Common Lisp" is released.
8006
8007 2001-12-16  Torsten Duwe  <duwe@caldera.de>
8008
8009         * search.c (Freplace_match): Add missing sub-expression functionality.
8010
8011         * buffer.c (decode_buffer): Add a check for pointer type to
8012         decode_buffer, before gcc's CSE optimization reorders a
8013         dereference in front of the allow_string test.
8014
8015 2001-11-16  Darryl Okahata  <darrylo@xemacs.org>
8016
8017         * window.c (window_loop): Fix bug that sometimes prevented
8018         window_loop() from iterating across multiple devices.  Also, at
8019         Ben's request, changed infloop-detecting code to abort() instead
8020         of silently terminating window_loop().
8021
8022 2001-11-21  Stephen J. Turnbull  <stephen@xemacs.org>
8023
8024         Based on analysis and patch by Simon Josefson <jas@extundo.com>.
8025         * editfns.c (make_time): New function.
8026         (Fencode_time): Use it instead of wasteful_word_to_lisp.
8027         * lisp.h (make_time): Prototype and comment it.
8028         * dired.c (wasteful_word_to_lisp): Deprecate.
8029         (Ffile_attributes): Use make_time() instead of wasteful_word_to_lisp().
8030
8031 2001-10-31  Kyle Jones  <kyle_jones@wonderworks.com>
8032
8033         * fileio.c (auto_save_1): Use current coding system, not
8034         escape-quoted.
8035
8036 2001-11-13  Ben Wing  <ben@xemacs.org>
8037
8038         * window.c:
8039         * window.c (window_truncation_on):
8040         * window.c (syms_of_window):
8041         truncate-partial-width-windows should respect the buffer being
8042         displayed, like other redisplay vars.
8043
8044 2001-11-13  Hirokazu FUKUI  <hfukui@sannet.ne.jp>
8045
8046         * event-stream.c (Fread_key_sequence): save current buffer.
8047
8048 2001-10-29  Andrew Begel  <abegel@eecs.berkeley.edu>
8049
8050         * ntheap.c (_heap_init): Don't redefine in VS.NET (MSC >= 1300).
8051
8052 2001-10-29  Andrew Begel  <abegel@eecs.berkeley.edu>
8053
8054         * alloc.c (lcrecord_stats): Add space for types defined in modules.
8055
8056 2001-10-26  Mike Alexander  <mta@arbortext.com>
8057
8058         * event-msw.c (slurper_free_shared_data_maybe): Free the pipe handle.
8059
8060 2001-10-25  Andy Piper  <andy@xemacs.org>
8061
8062         * ChangeLog:
8063         * dialog-msw.c (handle_directory_proc): new function.
8064          (handle_directory_dialog_box): new fucntion.
8065          (handle_file_dialog_box): use new directory dialog support.
8066          (mswindows_make_dialog_box_internal): ditto.
8067         * event-msw.c (mswindows_wnd_proc): minor fix to scrollbar event
8068         handling.
8069         (mswindows_find_frame): make global.
8070         * fileio.c (Fexpand_file_name): build fix.
8071         * general-slots.h: add Qdirectory.
8072         * scrollbar-msw.c (mswindows_handle_scrollbar_event): fix focus
8073         handling.
8074         * syswindows.h (LOCAL_TO_WIN32_FILE_FORMAT): fix problem with
8075         cygwin not leaving win32 paths unchanged.
8076         * win32.c (Fmswindows_cygwin_to_win32_path): new function. Use the
8077         cygwin runtime to do path conversion.
8078         (Fmswindows_shell_execute): fix cygwin handling of URLs.
8079         (syms_of_win32): add new function.
8080         * window.c (window_loop): build fix.
8081
8082 2001-10-15  Andy Piper  <andy@xemacs.org>
8083
8084         (Fmswindows_shell_execute): fix handling of URL's under cygwin.
8085
8086 2001-10-23  Stephen J. Turnbull  <stephen@xemacs.org>
8087
8088         * XEmacs 21.4.5 "Civil Service" is released.
8089
8090 2001-04-08  Danny Colascione  <qtmstr@optonline.net>
8091
8092         * glyphs-x.c: Force buffer-tab highlight update when moving the
8093         buffer, avoiding an ugly black border, used for keyboard focus
8094         indication, on a widget that can never have keyboard focus, the
8095         buffer tab.
8096
8097 2001-08-30  Daiki Ueno  <ueno@unixuser.org>
8098
8099         * process-unix.c (unix_open_multicast_group): Remove too much
8100         conversion between host and network byte order.
8101
8102 2001-09-10  Nix  <nix@esperi.demon.co.uk>
8103
8104         * src/buffer.c (kill_buffer): Undedicate windows showing BUF
8105         before replacing them.
8106
8107         * src/window.c (window_loop): Implement new UNDEDICATE_BUFFER
8108         operation.
8109
8110         * src/window.c (undedicate_windows): Use it.
8111         * src/window.h: Add prototype.
8112
8113 2001-09-17  Ben Wing  <ben@xemacs.org>
8114
8115         * fileio.c (normalize_filename):
8116         * fileio.c (Fexpand_file_name):
8117         Fix various C++ compile errors in Andy's recent code.
8118         
8119         * callint.c (Fcall_interactively):
8120         * editfns.c (Ftemp_directory):
8121         * editfns.c (Fuser_full_name):
8122         * emacs.c (argmatch):
8123         * lread.c (locate_file_map_suffixes):
8124         * redisplay-x.c (x_ring_bell):
8125         Fix sign-compare warnings.
8126         
8127 2001-09-08  Andy Piper  <andy@xemacs.org>
8128
8129         * fileio.c (normalize_filename): copied from nt.c
8130         * (Ffile_name_directory): enable win32 paths under cygwin.
8131         * (Ffile_name_nondirectory): ditto.
8132         * (directory_file_name): ditto.
8133         * (Fexpand_file_name): ditto.
8134         * (Ffile_truename): ditto.
8135         * (Fsubstitute_in_file_name): ditto.
8136         * (Ffile_name_absolute_p): ditto.
8137         * (Ffile_readable_p): ditto.
8138
8139 2001-09-08  Andy Piper  <andy@xemacs.org>
8140
8141         * device-msw.c (mswindows_finish_init_device): remove dde
8142         initialization.
8143         * device-msw.c (mswindows_init_dde): factor out from
8144         mswindows_finish_init_device()
8145         * device-msw.c (init_mswindows_very_early): new function
8146         initialize but don't enable dde.
8147         * emacs.c (main_1): call init_mswindows_very_early.
8148         * event-msw.c:
8149         * event-msw.c (mswindows_dde_callback): only execute when we are
8150         ready.
8151         * symsinit.h: declare init_mswindows_very_early.
8152
8153 2001-05-02  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
8154
8155         [sjt: This has been in 21.5 for months with no complaints.]
8156
8157         * console.h (struct console_methods): Added flags member.
8158         (CONSOLE_IMPLEMENTATION_FLAGS): Defined.
8159         (CONMETH_IMPL_FLAG):
8160         (CONSOLE_IMPL_FLAG): Macro to check implememntation flags.
8161         Defined XDEVIMPF_DONT_PREEMPT_REDISPLAY.
8162
8163         * device.c (window_system_pixelated_geometry): Use the above macros.
8164
8165         * device.h (DEVICE_IMPL_FLAG): Macro to check a device
8166         implememntation flag.
8167         * device.h (DEVICE_DISPLAY_P): Use it.
8168
8169         * frame.c (delete_frame_internal): Use the above macro.
8170
8171         * redisplay.c (redisplay_device): Use it.
8172         (redisplay_device): Obey XDEVIMPF_DONT_PREEMPT_REDISPLAY.
8173         (redisplay_frame): Ditto.
8174
8175         * device-msw.c (mswindows_device_implementation_flags): Removed.
8176         (msprinter_device_implementation_flags): Removed.
8177         (console_type_create_device_mswindows): Removed references to
8178         implementation_flags methods, set implementation flags here.
8179         (console_type_create_device_mswindows): Added XDEVIMPF_DONT_PREEMPT.
8180
8181         * device-gtk.c (gtk_device_implementation_flags): Removed method.
8182         (console_type_create_device_gtk): Removed method declaration.
8183         Added commented out statement which semantically matches the
8184         commented out statement in the above removed method.
8185
8186 2001-04-14  Gordon Sadler  <gbsadler1@lcisp.com>
8187
8188         The attached patch fixes a few warnings. 
8189
8190         * src/emacs.c: prototype console_type_create_select_gtk for GTK only
8191         * src/frame-gtk.c: guard against GNOME calls in GTK only
8192         * src/redisplay-gtk.c: include <sys/poll.h> #ifdef HAVE_POLL
8193         * src/select-gtk.c: prototype lisp_to_time
8194
8195 2001-06-08  Ben Wing  <ben@xemacs.org>
8196
8197         ------ gc-in-window-procedure fixes ------
8198         
8199         * alloc.c:
8200         * alloc.c (struct post_gc_action):
8201         * alloc.c (register_post_gc_action):
8202         * alloc.c (run_post_gc_actions):
8203         * alloc.c (garbage_collect_1):
8204         Create "post-gc actions", to avoid those dreaded "GC during window
8205         procedure" problems.
8206
8207         * event-msw.c:
8208         Abort, clean and simple, when GC in window procedure.  We want
8209         to flush these puppies out.
8210
8211         * glyphs-msw.c:
8212         * glyphs-msw.c (finalize_destroy_window):
8213         * glyphs-msw.c (mswindows_finalize_image_instance):
8214         Use a post-gc action when destroying subwindows.
8215
8216         * lisp.h:
8217         Declare register_post_gc_action().
8218
8219         * scrollbar-msw.c:
8220         * scrollbar-msw.c (unshow_that_mofo):
8221         Use a post-gc action when unshowing scrollbar windows, if in gc.
8222
8223         * redisplay.c (mark_redisplay):
8224         Add comment about the utter evilness of what's going down here.
8225
8226         ------ cygwin setitimer fixes ------
8227         
8228         * Makefile.in.in (sheap_objs):
8229         * Makefile.in.in (profile_objs):
8230         * Makefile.in.in (objs):
8231         Compile profile.c only when HAVE_SETITIMER.
8232         
8233         * nt.c (mswindows_sigset):
8234         * nt.c (mswindows_sighold):
8235         * nt.c (mswindows_sigrelse):
8236         * nt.c (mswindows_sigpause):
8237         * nt.c (mswindows_raise):
8238         * nt.c (close_file_data):
8239         Style fixes.
8240         
8241         * nt.c:
8242         Move setitimer() emulation to win32.c, because Cygwin needs it too.
8243         
8244         * profile.c:
8245         * profile.c (Fstart_profiling):
8246         * profile.c (Fstop_profiling):
8247         Make sure we don't compile if no setitimer().  Use qxe_setitimer()
8248         instead of just plain setitimer().
8249         
8250         * signal.c:
8251         * signal.c (set_one_shot_timer):
8252         * signal.c (alarm):
8253         Define qxe_setitimer() as an encapsulation around setitimer() --
8254         call setitimer() directly unless Cygwin or MS Win, in which case
8255         we use our simulated version in win32.c.
8256         
8257         * systime.h:
8258         * systime.h (struct itimerval):
8259         * systime.h (ITIMER_REAL):
8260         Prototype mswindows_setitimer() and qxe_setitimer().  Long
8261         comment about "qxe" and the policy regarding encapsulation.
8262
8263         * win32.c:
8264         * win32.c (setitimer_helper_proc):
8265         * win32.c (setitimer_helper_period):
8266         * win32.c (setitimer_helper):
8267         * win32.c (mswindows_setitimer):
8268         Move setitimer() emulation here, so Cygwin can use it.
8269         Rename a couple of functions and variables to be longer and more
8270         descriptive.  In setitimer_helper_proc(), send the signal
8271         using either mswindows_raise() or (on Cygwin) kill().  If for
8272         some reason we are still getting lockups, we'll change the kill()
8273         to directly invoke the signal handlers.
8274
8275         ------ windows shell fixes ------
8276         
8277         * callproc.c:
8278         * ntproc.c:
8279         Comments about how these two files must die.
8280
8281         * callproc.c (init_callproc):
8282         On MS Windows, init shell-file-name from SHELL, then COMSPEC,
8283         not just COMSPEC. (more correct and closer to FSF.) Don't
8284         force a value for SHELL into the environment. (Comments added
8285         to explain why not.)
8286         
8287         * nt.c (init_user_info):
8288         Don't shove a fabricated SHELL into the environment.  See above.
8289
8290 2001-06-01  Ben Wing  <ben@xemacs.org>
8291
8292         * Makefile.in.in (ldflags):
8293         eliminate that pesky "defaulting to 00401000" warning.
8294         * nt.h:
8295         eliminate warnings.
8296
8297 2001-06-15  Golubev I. N.  <gin@mo.msk.ru>
8298
8299         * s/sco5.h (FORCE_ALLOCATE_PTY_THE_OLD_FASHIONED_WAY): #define.
8300         * process-unix.c (allocate_pty): #ifndef "modern" pty allocation.
8301
8302 2001-04-24  Jerry James <james@xemacs.org>
8303
8304         * faces.h: pass parameters to Fadd_spec_to_specifier in the
8305         correct order.
8306
8307 2001-06-01  Ben Wing  <ben@xemacs.org>
8308
8309         * event-msw.c (debug_mswin_messages):
8310         conditionalize the messages that were causing compile errors.
8311         (if only macros could generate #ifdef statements ...)
8312
8313 2001-07-28  Stephen J. Turnbull  <stephen@xemacs.org>
8314
8315         * XEmacs 21.4.4 "Artificial Intelligence" is released.
8316
8317 2001-07-22  Stephen J. Turnbull  <stephen@xemacs.org>
8318
8319         * event-msw.c (mswindows_wnd_proc): Add GC debugging assert.
8320
8321 2001-07-22  Stephen J. Turnbull  <stephen@xemacs.org>
8322
8323         * config.h.in (IPV6_CANONICALIZE): New #define for --with-ipv6-lookup.
8324         * process-unix.c (unix_canonicalize_host_name):
8325         sysdep.c (init_system_name):
8326         Use it to conditionally support IPv6 canonicalization.
8327
8328 2001-05-31  Paul Stodghill  <stodghil@cs.cornell.edu>
8329
8330         * event-msw.c:
8331         Cygwin does not define WM_IME_xxx. Modify the #if's accordingly.
8332
8333 2001-05-19  Paul Krause  <paulkrause1@mediaone.net>
8334
8335         * scrollbar-msw.c: Fixes a crash that occurs on Windows when an
8336         attempt is made to scroll when no scroll bar is available.
8337
8338 2001-04-19  Glynn Clements  <glynn.clements@virgin.net>
8339
8340         * input-method-motif.c (XIM_delete_frame): New callback.
8341         (XIM_init_frame): Register it.  (Reapplied by SJT, it somehow
8342         got deleted from 21.4.3.)
8343
8344 2001-06-01  Ben Wing  <ben@xemacs.org>
8345
8346         * nt.c (mswindows_utime):
8347         * nt.c (close_file_data):
8348         fix off-by-one-indirection error.
8349
8350 2001-05-29  Adrian Aichner  <adrian@xemacs.org>
8351
8352         * fileio.c: Include nt.h.  Remove lisp_string_set_file_times()
8353         because set_file_times() now takes Lisp_Object path, instead of
8354         char*.
8355         * nt.c: Include buffer.h.
8356         * nt.c (convert_from_time_t): New.
8357         * nt.c (mswindows_utime): New.  Use utime, since SetFileTime does
8358         not set mtime correctly.
8359         * nt.h: Declare mswindows_utime().
8360         * sysdep.c (set_file_times): set_file_times() now takes Lisp_Object
8361         path, instead of char*.
8362         * systime.h: Include <sys/utime.h> on WIN32_NATIVE.
8363
8364 2001-05-30  Ben Wing  <ben@xemacs.org>
8365
8366         For 21.4:
8367
8368         (Stephen, just take all event-msw.c patches.  This includes
8369         the "iconify" fix below.)
8370
8371         * event-msw.c:
8372         * event-msw.c (mswindows_dequeue_dispatch_event):
8373         * event-msw.c (assert):
8374         * event-msw.c (emacs_mswindows_quit_p):
8375         * event-msw.c (debug_mswin_messages):
8376         * event-msw.c (debug_output_mswin_message):
8377         * event-msw.c (vars_of_event_mswindows):
8378         Fix yet more problems with C-g handling.
8379         Implement debug-mswindows-events.
8380         
8381 2001-05-24  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
8382
8383         * event-msw.c (WM_DROPFILES): Use correct type for OLE characters.
8384         
8385 2001-05-23  Ben Wing  <ben@xemacs.org>
8386
8387         * event-msw.c (winsock_writer):
8388         * event-msw.c (winsock_closer):
8389         prior kludgy code was clobbering the buffer, thinking it was
8390         "unused" space to store an unneeded return value; instead, use
8391         the variable we've already got staring us in the face.
8392
8393 2001-05-17  Andy Piper  <andy@xemacs.org>
8394
8395         * sysfile.h: don't assume that file attributes are boolean
8396
8397 2001-05-23  Ben Wing  <ben@xemacs.org>
8398
8399         * device-msw.c (msprinter_init_device):
8400         signal an error rather than crash with an unavailable network
8401         printer (from Mike Alexander).
8402         
8403         * event-msw.c:
8404         * event-msw.c (struct winsock_stream):
8405         * event-msw.c (winsock_writer):
8406         * event-msw.c (winsock_closer):
8407         * event-msw.c (make_winsock_stream_1):
8408         cleanup headers.  fix (hopefully) an error with data corruption
8409         when sending to a network connection.
8410
8411         * fileio.c (Fexpand_file_name): Fix evil code that attempts
8412         to handle the ~user prefix by (a) always assuming we're referencing
8413         ourselves and not even verifying the user -- hence any file with
8414         a tilde as its first char is invalid! (b) if there wasn't a slash
8415         following the filename, the pointer was set *past* the end of
8416         file and we started reading from uninitialized memory.  Now we
8417         simply treat these as files, always.
8418
8419         * buffer.c (common_init_complex_vars_of_buffer): comment change.
8420         
8421 2001-05-19  Ben Wing  <ben@xemacs.org>
8422
8423         * eval.c: doc comment about gcpro'ing in record_unwind_protect.
8424
8425         * process-nt.c:
8426         * process-nt.c (vars_of_process_nt):
8427         remove unused mswindows-quote-process-args.  rec for 21.4.
8428         
8429 2001-05-12  Ben Wing  <ben@xemacs.org>
8430
8431         * event-msw.c (mswindows_dde_callback):
8432         * event-msw.c (mswindows_wnd_proc):
8433         eliminate cygwin warnings.
8434
8435 2001-05-06  Ben Wing  <ben@xemacs.org>
8436
8437         * console-msw.h:
8438         * device-msw.c:
8439         * device-msw.c (print_dialog_worker):
8440         * device-msw.c (mswindows_handle_print_dialog_box):
8441         * device-msw.c (syms_of_device_mswindows):
8442         * dialog-msw.c (mswindows_make_dialog_box_internal):
8443         * general-slots.h:
8444         implement printing the selection when it's selected.
8445
8446 2001-05-20  Drazen Kacar  <dave@arsdigita.com>
8447
8448         * glyphs-gtk.c (gtk_resource_instantiate): C++ comment -> #if 0
8449
8450 2001-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
8451
8452         * lisp.h (EMACS_INT_MAX): This should be one bit less since
8453         EMACS_INT is signed.
8454
8455 2001-04-15  Michael Lausch  <mla@1012surf.net>
8456
8457         * scrollbar-gtk.c (gtk_create_scrollbar_instance): Call
8458         gtk_widget_request_size() to give scrollbar >0 width for
8459         GTK >1.2.8.
8460
8461 2001-05-30  William M. Perry  <wmperry@gnu.org>
8462
8463         * event-gtk.c: Check for buttons as modifier keys.
8464
8465 2001-05-25  Craig Lanning  <CraigL@Knology.net>
8466
8467         * s\mingw32.h:
8468         Properly find MinGW's <process.h> inside Cygwin's restructured
8469         include directories.  Don't try to include <cygwin/version.h>
8470         since we are dropping support for MinGW in versions of Cygwin
8471         earlier than b21.
8472         * nt.c:
8473         Drop support for MinGW in versions of Cygwin before b21.
8474         * sysdep.c:
8475         Properly find MinGW's <process.h> inside Cygwin's restructured
8476         include directories.
8477         * syswindows.h:
8478         Drop support for MinGW in versions of Cygwin before b21.
8479         * unexcw.c:
8480         Even though a.out.h is no longer detected by configure, allow
8481         MinGW to use it until we figure out how to do the job with Win32.
8482
8483 2001-07-11  Matt Tucker  <tuck@whistlingfish.net>
8484
8485         * syntax.c (find_start_of_comment):
8486         Fix `unbalanced parentheses' bug when dealing with mixed comment
8487         styles in c++/java/etc. mode
8488
8489 2001-05-29  Mike Alexander  <mta@arbortext.com>
8490
8491         * console-msw.h (FRAME_MSPRINTER_CHARHEIGHT): Unswap
8492         FRAME_MSPRINTER_CHARWIDTH and FRAME_MSPRINTER_CHARHEIGHT
8493
8494 2001-05-17  Andrew Begel  <abegel@eecs.berkeley.edu>
8495
8496         * lrecord.h (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): Add needed cast.
8497
8498 2001-03-31  Mike Sperber <mike@xemacs.org>
8499
8500         * search.c (Freplace_match): Support FSF-style specification of
8501         match subexpression when applied to a buffer.
8502
8503 2001-05-27  Karl M. Hegbloom  <karlheg@hegbloom.net>
8504
8505         * event-stream.c (is_scrollbar_event): add missing semicolon
8506
8507 2001-05-22  Isaac Hollander  <ysh@mindspring.com>
8508
8509         * Makefile.in.in: Use TAR macro instead of hardcoding
8510           tar.  Allows use of GNU tar instead of system tar
8511
8512 2001-05-27  Karl M. Hegbloom  <karlheg@hegbloom.net>
8513
8514         * event-stream.c (is_scrollbar_event): add missing semicolon
8515
8516 2001-05-17  Stephen J. Turnbull  <stephen@xemacs.org>
8517
8518         * XEmacs 21.4.3 "Academic Rigor" is released.
8519
8520 2001-05-17  Stephen J. Turnbull  <stephen@xemacs.org>
8521
8522         * regex.c: Define DECLARE_NOTHING when "lisp.h" is not included.
8523
8524 2001-05-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
8525
8526         * buffer.c (Vcase_fold_search): Remove obsolete
8527           comment about non ASCII case-fold-search.  This
8528           bug has been fixed by case-table changes.
8529
8530 2001-05-11  Stephen J. Turnbull  <stephen@xemacs.org>
8531
8532         * event-msw.c: Restore include of events-mod.h.
8533
8534 2001-04-22   zhaoway  <zw@debian.org>
8535
8536         * event-stream.c (is_scrollbar_event): Noop returning 0 if
8537         !HAVE_SCROLLBARS.
8538
8539 2001-05-10  Stephen J. Turnbull  <stephen@xemacs.org>
8540
8541         * XEmacs 21.4.2 "Developer-Friendly Unix APIs" is released.
8542
8543 2001-05-08  Yoshiaki Kasahara  <kasahara@nc.kyushu-u.ac.jp>
8544
8545         * mule-charset.c (Fmake_charset): Add missing else.
8546
8547 2001-04-23  Ben Wing  <ben@xemacs.org>
8548
8549         * event-msw.c (FAKE_MOD_QUIT):
8550         * event-msw.c (mswindows_dequeue_dispatch_event):
8551         * event-msw.c (mswindows_wnd_proc):
8552         * event-msw.c (emacs_mswindows_quit_p):
8553         Get critical quit working.
8554
8555 2001-05-05  Ben Wing  <ben@xemacs.org>
8556
8557         * console-msw.h:
8558         * device-msw.c:
8559         * device-msw.c (mswindows_get_default_margin):
8560         * frame-msw.c (mswindows_size_frame_internal):
8561         * frame-msw.c (msprinter_init_frame_1):
8562         * frame-msw.c (vars_of_frame_mswindows):
8563         Change top/bottom margin defaults to 0.5 inches.
8564
8565 2001-05-01  Martin Buchholz  <martin@xemacs.org>
8566
8567         Fix link error with gcc 3.0 on Linux.
8568         * terminfo.c (UP): Remove.
8569         * terminfo.c (BC): Remove.
8570         * terminfo.c (PC): Remove.
8571         They weren't used, and in any case, these symbols should be
8572         defined in the *library*.
8573
8574 2001-05-03  Martin Buchholz  <martin@xemacs.org>
8575
8576         * s/aix4.h: Fix crash with xlc -O3.
8577         Improve comment explaining how -O3 works.
8578
8579 2001-04-15  Ben Wing  <ben@xemacs.org>
8580
8581         * event-stream.c:
8582         * event-stream.c (Fnext_event):
8583         * event-stream.c (is_scrollbar_event):
8584         * event-stream.c (execute_command_event):
8585         Better fix for Yoshiki's `C-x @ h <scrollbar-drag> x causes a
8586         crash' problem.  His fix introduces other problems.  We filter
8587         out scrollbar events specifically, making them somewhat invisible
8588         to command-building, and not appearing in `this-command-keys'.
8589         More work is still needed (see comments in event-stream.c), but
8590         this fixes all the major problems.
8591
8592 2001-04-20  Ben Wing  <ben@xemacs.org>
8593
8594         * .cvsignore: Added stuff for Windows.
8595
8596 2001-04-28  Ben Wing  <ben@xemacs.org>
8597
8598         * buffer.c (Ferase_buffer):
8599         * editfns.c (buffer_insert1):
8600         * editfns.c (Finsert_before_markers):
8601         * editfns.c (Finsert_string):
8602         * editfns.c (Finsert_char):
8603         * editfns.c (Fdelete_region):
8604         * editfns.c (Fwiden):
8605         * editfns.c (Fnarrow_to_region):
8606         remove bogus lines setting zmacs_region_stays to 0.
8607         
8608 2001-04-15  Gunnar Evermann  <ge204@eng.cam.ac.uk>
8609
8610         * process-unix.c (unix_open_network_stream): If connect() fails
8611         invalidate file descriptor after closing it.
8612
8613 2001-03-08  Mike Alexander  <mta@arbortext.com>
8614
8615         * event-msw.c (mswindows_need_event_in_modal_loop):
8616         Don't dispatch a message if we didn't get one.
8617         (mswindows_need_event):
8618         Terminate the correct process when one exits instead of the first
8619         one on Vprocess_list and look for process termination when in
8620         mswindows_protect_modal_loop.
8621
8622 2001-04-19  Stephen J. Turnbull  <stephen@xemacs.org>
8623
8624         * XEmacs 21.4.1 "Copyleft" is released.
8625
8626 2001-04-19  Glynn Clements  <glynn.clements@virgin.net>
8627
8628         * input-method-motif.c (XIM_delete_frame): New callback.
8629         (XIM_init_frame): Register it.
8630
8631 2001-04-16  Stephen J. Turnbull  <stephen@xemacs.org>
8632
8633         * XEmacs 21.4.0 "Solid Vapor" is released.
8634
8635 2001-04-15  Ben Wing  <ben@xemacs.org>
8636
8637         * cmdloop.c (call_command_loop):
8638         Fix braino in bit-rotting code.
8639         
8640 2001-04-07  Hrvoje Niksic  <hniksic@arsdigita.com>
8641
8642         * extents.c (Fset_extent_endpoints): Force creation of extent info
8643         in buffer_or_string.
8644
8645         * extents.c (process_extents_for_insertion_mapper): Correctly
8646         check for open-open zero-length extents.
8647
8648 2001-04-16  Stephen J. Turnbull  <stephen@xemacs.org>
8649
8650         * lisp.h: New typedefs Memory_count, Element_count.
8651         * regex.c:
8652         * regex.h:
8653         Sign-compare warning elimination: several unsigned -> signed.
8654         Based on work by Ben Wing <ben@xemacs.org>.
8655
8656 2001-04-14  Stephen J. Turnbull  <stephen@xemacs.org>
8657
8658         * XEmacs 21.2.47 "Zephir" is released.
8659
8660 2001-04-02  Jan Vroonhof  <jan@xemacs.org>
8661
8662         * redisplay.c (add_bufbyte_string_runes): Update data->bytepos
8663
8664 2001-04-03  Mike Sperber <mike@xemacs.org>
8665
8666         * search.c: Revert previous patch due because of release.
8667
8668 2001-03-30  Ben Wing  <ben@xemacs.org>
8669
8670         * s\cygwin32.h:
8671         Add missing killpg prototype.
8672
8673         * elhash.c:
8674         Add a comment about fixing problems when a new entry is added
8675         while mapping.
8676
8677         * frame-msw.c (mswindows_init_frame_1):
8678         Fix compile warnings.
8679
8680         * menubar.c (vars_of_menubar):
8681         Provide `menu-accelerator-support' to indicate that we properly
8682         support %_ in menu specifications, so that package code can
8683         conditionalize on this (and remove %_ from menu specifications
8684         on older versions).
8685
8686         * event-msw.c:
8687         * scrollbar-msw.c:
8688         * scrollbar-msw.c (can_scroll):
8689         * scrollbar-msw.h:
8690         Fix handling of mouse wheel under Windows to follow standards --
8691         now scrolls window under pointer, not selected window.
8692
8693 2001-03-31  Mike Sperber <mike@xemacs.org>
8694
8695         * search.c (Freplace_match): Support FSF-style specification of
8696         match subexpression when applied to a buffer.
8697
8698 2001-03-15  Martin Buchholz  <martin@xemacs.org>
8699
8700         * keymap.c (Fmap_keymap): map-keymap explicitly allows a mapping
8701         function to modify KEYMAP, so map over a copy of the hash table.
8702
8703 2001-03-21  Martin Buchholz <martin@xemacs.org>
8704
8705         * XEmacs 21.2.46 "Urania" is released.
8706
8707 2001-03-20  Dan Holmsand  <dan@eyebee.com>
8708
8709         * realpath.c (xrealpath): Make file-truename work with symlinks to
8710         /cygdrive paths on cygwin. Always lowercase drive-letters on
8711         native windows.
8712         (cygwin_readlink): Don't try to find canonical filename unless
8713         file exists.
8714
8715 2001-03-15  Stephen J. Turnbull  <stephen@xemacs.org>
8716
8717         * ChangeLog: Log GTK merge.
8718
8719         * dumper.c:
8720         * select-x.c:
8721         * specifier.c:
8722         * symeval.h:
8723         Revert gratuitous whitespace changes from GTK merge.
8724
8725         * emacs.c: Document end of complex #ifdef @ l. 1495.
8726
8727
8728 2001-03-12  Andy Piper  <andy@xemacs.org>
8729
8730         * mingw32.h: unfortunately cygnus changed mingw32 -> mingw so we
8731         have to do likewise.
8732
8733 2001-03-12  Andy Piper  <andy@xemacs.org>
8734
8735         * sysdep.c: we only support mingw now.
8736
8737 2001-03-09  Andy Piper  <andy@xemacs.org>
8738
8739         * unexcw.c (copy_executable_and_dump_data_section): making approx
8740         overrun a warning only.
8741
8742 2001-03-10  William M. Perry  <wmperry@aventail.com>
8743
8744         * faces.c (complex_vars_of_faces): Rewrote the font mucking to
8745         satisfy Stephen's identical-after-cpp plea.
8746
8747 2001-03-02  Ben Wing  <ben@xemacs.org>
8748
8749         * cmds.c:
8750         * cmds.c (Fforward_char):
8751         * syntax.c:
8752         * window.c:
8753
8754         Augment documentation of the most common motion commands to make
8755         note of the shifted-motion support.
8756         
8757 2001-03-02  Ben Wing  <ben@xemacs.org>
8758
8759         * nt.c (mswindows_fstat):
8760         * nt.c (mswindows_stat):
8761         * search.c (boyer_moore):
8762         Fix compile warnings under Windows.
8763         
8764         * sysdep.c (sys_readdir):
8765         Fix buggy filename-conversion code under Mule.
8766
8767 2001-03-09  William M. Perry  <wmperry@aventail.com>
8768
8769         * Makefile.in.in:
8770         * config.h.in:
8771         * console.c:
8772         * console.h:
8773         * device.c:
8774         * device.h:
8775         * dragdrop.c:
8776         * emacs.c:
8777         * event-stream.c:
8778         * events.c:
8779         * events.h:
8780         * faces.c:
8781         * frame.h:
8782         * general-slots.h:
8783         * glyphs.c:
8784         * gutter.c:
8785         * inline.c:
8786         * lisp.h:
8787         * lrecord.h:
8788         * make-src-depend:
8789         * redisplay-output.c:
8790         * redisplay.c:
8791         * symsinit.h:
8792         * sysfile.h:
8793         * toolbar.c:
8794         * window.c:
8795         The Great GTK Merge.
8796
8797         * ChangeLog.GTK:
8798         * console-gtk.c:
8799         * console-gtk.h:
8800         * device-gtk.c:
8801         * emacs-marshals.c:
8802         * emacs-widget-accessors.c:
8803         * event-gtk.c:
8804         * frame-gtk.c:
8805         * gccache-gtk.c:
8806         * gccache-gtk.h:
8807         * glade.c:
8808         * glyphs-gtk.c:
8809         * glyphs-gtk.h:
8810         * gtk-glue.c:
8811         * gtk-xemacs.c:
8812         * gtk-xemacs.h:
8813         * gui-gtk.c:
8814         * gui-gtk.h:
8815         * menubar-gtk.c:
8816         * native-gtk-toolbar.c:
8817         * objects-gtk.c:
8818         * objects-gtk.h:
8819         * redisplay-gtk.c:
8820         * scrollbar-gtk.c:
8821         * scrollbar-gtk.h:
8822         * select-gtk.c:
8823         * toolbar-gtk.c:
8824         * ui-byhand.c:
8825         * ui-gtk.c:
8826         * ui-gtk.h:
8827         The Great GTK Merge: new files.
8828
8829 2001-02-26  Ben Wing  <ben@xemacs.org>
8830
8831         Reapplied Lstream change.
8832
8833 2001-02-26  Ben Wing  <ben@xemacs.org>
8834
8835         Undid the last change, since it is more controversial than I
8836         thought.  It should be back in at some point soon.
8837         
8838 2001-02-25  Ben Wing  <ben@xemacs.org>
8839
8840         * buffer.c:
8841         * callproc.c (Fold_call_process_internal):
8842         * event-msw.c (ntpipe_slurp_reader):
8843         * event-msw.c (ntpipe_shove_writer):
8844         * event-msw.c (winsock_reader):
8845         * event-msw.c (winsock_writer):
8846         * file-coding.c:
8847         * file-coding.c (detect_eol_type):
8848         * file-coding.c (detect_coding_type):
8849         * file-coding.c (determine_real_coding_system):
8850         * file-coding.c (Fdetect_coding_region):
8851         * file-coding.c (decoding_reader):
8852         * file-coding.c (decoding_writer):
8853         * file-coding.c (mule_decode):
8854         * file-coding.c (Fdecode_coding_region):
8855         * file-coding.c (encoding_reader):
8856         * file-coding.c (encoding_writer):
8857         * file-coding.c (mule_encode):
8858         * file-coding.c (Fencode_coding_region):
8859         * file-coding.c (detect_coding_sjis):
8860         * file-coding.c (decode_coding_sjis):
8861         * file-coding.c (encode_coding_sjis):
8862         * file-coding.c (detect_coding_big5):
8863         * file-coding.c (decode_coding_big5):
8864         * file-coding.c (encode_coding_big5):
8865         * file-coding.c (detect_coding_ucs4):
8866         * file-coding.c (decode_coding_ucs4):
8867         * file-coding.c (encode_coding_ucs4):
8868         * file-coding.c (detect_coding_utf8):
8869         * file-coding.c (decode_coding_utf8):
8870         * file-coding.c (encode_coding_utf8):
8871         * file-coding.c (detect_coding_iso2022):
8872         * file-coding.c (decode_coding_iso2022):
8873         * file-coding.c (encode_coding_iso2022):
8874         * file-coding.c (decode_coding_no_conversion):
8875         * file-coding.c (encode_coding_no_conversion):
8876         * glyphs-x.c (write_lisp_string_to_temp_file):
8877         * gpmevent.c (tty_get_foreign_selection):
8878         * lisp.h:
8879         * lstream.c:
8880         * lstream.c (Lstream_flush_out):
8881         * lstream.c (Lstream_adding):
8882         * lstream.c (Lstream_write_1):
8883         * lstream.c (Lstream_write):
8884         * lstream.c (Lstream_raw_read):
8885         * lstream.c (Lstream_read_more):
8886         * lstream.c (Lstream_read):
8887         * lstream.c (Lstream_unread):
8888         * lstream.c (Lstream_fputc):
8889         * lstream.c (stdio_reader):
8890         * lstream.c (stdio_writer):
8891         * lstream.c (filedesc_reader):
8892         * lstream.c (filedesc_writer):
8893         * lstream.c (lisp_string_reader):
8894         * lstream.c (struct fixed_buffer_stream):
8895         * lstream.c (make_fixed_buffer_input_stream):
8896         * lstream.c (make_fixed_buffer_output_stream):
8897         * lstream.c (fixed_buffer_reader):
8898         * lstream.c (fixed_buffer_writer):
8899         * lstream.c (struct resizing_buffer_stream):
8900         * lstream.c (resizing_buffer_writer):
8901         * lstream.c (dynarr_writer):
8902         * lstream.c (lisp_buffer_reader):
8903         * lstream.c (lisp_buffer_writer):
8904         * lstream.h:
8905         * lstream.h (lstream_implementation):
8906         * lstream.h (struct lstream):
8907         * md5.c (Fmd5):
8908         * process-nt.c (nt_send_process):
8909         * process-unix.c (unix_send_process):
8910         
8911         Correct Lstream lossage due to mixing of signed and unsigned
8912         quantities.  All Lstream uses of size_t and ssize_t are now a
8913         single signed data type Lstream_data_count.  This fixes problems
8914         under Windows with sending large quantities of data to a process,
8915         and may well fix other subtle bugs.
8916
8917 2001-02-23  Martin Buchholz <martin@xemacs.org>
8918
8919         * XEmacs 21.2.45 "Thelxepeia" is released.
8920
8921 2001-02-21  Martin Buchholz  <martin@xemacs.org>
8922
8923         * lisp-union.h (XSETINT): 
8924         (XSETCHAR):
8925         (XSETOBJ): 
8926         Reverse previous change of 2001-02-06.
8927
8928 2001-02-20  Matt Tucker  <tuck@whistlingfish.net>
8929
8930         Fix `VALID_BYTIND_P' crashes in regex.c when using narrowed
8931         buffers.
8932         * syntax.h (SYNTAX_CACHE_BYTE_TO_CHAR):
8933         * syntax.h (SYNTAX_CACHE_OBJECT_BYTE_TO_CHAR):
8934         Add `BI_BUF_BEGV' to bytepos before calculating bufpos.
8935         * regex.c (POS_AS_IN_BUFFER): removed
8936         * regex.c (re_search_2):
8937         * regex.c (re_match_2):
8938         Don't use an offset of 1 when calculating buffer positions, since
8939         `BI_BUF_BEGV' does it already.
8940
8941 2001-02-18  Wim Dumon  <wim@easics.be>
8942
8943         * insdel.c (prepare_to_modify_buffer): Also check for
8944         supersession when clash-detection is enabled. 
8945
8946 2001-02-17  Matt Tucker  <tuck@whistlingfish.net>
8947
8948         * regex.c (re_match_2_internal):
8949         Convert temp characters from 'const unsigned char' to 're_char'.
8950         Fix crashing bug with extended characters under mule.
8951         * syntax.c (Qsyntax_table): Moved from vars_of_syntax to
8952         syms_of_syntax. Use defsymbol to define. Fixes hanging bug with
8953         font-lock, pdump, and new syntax-table code.
8954         * syntax.c (find_start_of_comment):
8955         (find_end_of_comment):
8956         (forward-comment):
8957         Fix crashing bugs involving moving beyond end of buffer.
8958         * syntax.c (find_start_of_comment):
8959         Fixed logic to allow proper detection of cases where the same
8960         character is used to end both a two-char comment start and a
8961         two-char comment end sequence. Fixes `(forward-comment -1)'.
8962         * syntax.c (find_start_of_comment):
8963         Return position just past last comment-end character for all cases
8964         (previously was only done for two-char comment-end sequences).
8965         * syntax.c (forward-comment):
8966         Take value returned from `find_end_of_comment', rather than
8967         incrementing it.
8968         * syntax.h (SYNTAX_CACHE_BYTE_TO_CHAR):
8969         Properly deal with BUFFERP (syntax_cache.object)
8970
8971 2001-02-17  Martin Buchholz  <martin@xemacs.org>
8972
8973         * alloc.c (Fgarbage_collect): 
8974         * alloc.c (make_bit_vector_from_byte_vector):
8975         -Wsign-compare-correctness.
8976
8977 2001-02-16  Martin Buchholz  <martin@xemacs.org>
8978
8979         * lisp-union.h (XSETINT): Eliminate unnecessary temp var.
8980         (XSETCHAR): Likewise.
8981         (XSETOBJ): Likewise.
8982
8983 2001-02-15  Martin Buchholz  <martin@xemacs.org>
8984
8985         * mule-canna.c (canna-func-delete_previous): 
8986         Rename to canna-func-delete-previous.
8987
8988 2001-02-14  Martin Buchholz  <martin@xemacs.org>
8989
8990         * mule-ccl.c (ccl_driver): Warning suppression.  Use countof.
8991
8992 2001-02-13  Matt Tucker  <tuck@whistlingfish.net>
8993
8994         * font-lock.c (find_context): Fix C++ compile errors introduced by
8995         recent patch
8996
8997 2001-02-13  Martin Buchholz  <martin@xemacs.org>
8998
8999         * s/aix4.h: Later versions of IBM C compiler need a bug workaround
9000         pragma, but earlier ones barf on the same pragma.
9001
9002 2001-02-06  Mike Sperber <mike@xemacs.org>
9003
9004         * emacs.c (complex_vars_of_emacs): Add `mule-lisp-directory' and
9005         `configure-mule-lisp-directory'.
9006
9007 2001-02-12  Martin Buchholz  <martin@xemacs.org>
9008
9009         Make sure dump-id.c is compiled in the same way as other .c's.
9010         Fixes pdump compilation failure with HP's cc, which defaults to K&R.
9011         * dump-id.h: Remove.
9012         * emacs.c: Move dump-id.h into dumper.h.
9013         * dumper.h: Move dump-id.h into dumper.h.
9014         * Makefile.in.in:
9015         Use standard .c.o rule for building dump-id.o.
9016         Remove preprocessor flags from link command.
9017         Add dump-id.o to ${otherobjs} if PDUMP.
9018
9019 2001-02-07  Matt Tucker  <tuck@whistlingfish.net>
9020
9021         Port FSF 20.7 syntax table improvements.
9022         * syntax.c.
9023         * syntax.h.
9024
9025         Fixups for new syntax table stuff.
9026         * dired.c: Include syntax.c.
9027         (Fdirectory_files): Initialize regex_match_object and
9028         regex_emacs_buffer.
9029         * extents.h: EXFUN Fnext_extent_change, Fprevious_extent_change,
9030         and Fget_char_property.
9031
9032         Use ported FSF 20.7 syntax table improvements.
9033         * font-lock.c.
9034         * regex.c.
9035         * search.c.
9036         
9037 2001-02-09  Martin Buchholz  <martin@xemacs.org>
9038
9039         * regex.c (Boolean): Renamed to `re_bool', to avoid conflict with
9040         Unixware's enum boolean from sys/types.h.
9041
9042 2001-02-10  Martin Buchholz  <martin@xemacs.org>
9043
9044         Fix support for building with latest Purify.
9045         * Makefile.in.in (PURIFY_LIBS): Remove thread flags.
9046         (PURIFY_FLAGS): Likewise.
9047
9048 2001-02-09  Martin Buchholz  <martin@xemacs.org>
9049
9050         * fileio.c (lisp_string_set_file_times): New.
9051         * fileio.c (Fcopy_file): Use it.
9052         Fixes bug:
9053         (copy-file filename non-ascii-filename t t)
9054         ==> No such file or directory, non-ascii-filename
9055
9056 2001-02-10  Martin Buchholz  <martin@xemacs.org>
9057
9058         * glyphs-x.c (generate_cursor_fg_bg): Avoid a warning.
9059         USHRT_MAX seems clearer than ~0 anyways.
9060
9061 2001-02-09  Martin Buchholz  <martin@xemacs.org>
9062
9063         dumper improvements.  Inspired by Olivier.
9064         * dumper.c (pdump_max_align): New.
9065         * dumper.c (pdump_add_entry): Use pdump_max_align.
9066         * dumper.c (pdump_get_entry_list): Likewise.
9067         * dumper.c (pdump_scan_by_alignment): Likewise.
9068         Don't iterate through unnecessary alignments.
9069         * dumper.c (pdump_file_get): No need to align result of malloc().
9070         * dumper.c (pdump_mallocadr): Remove.  
9071         The result of malloc() is guaranteed to be maximally aligned.
9072         * dumper.c: s/elmt/elt/g;
9073         * dumper.c (pdump_object_table): Allocate dynamically, not statically.
9074         * dumper.c (pdump_alert_undump_object): Likewise.
9075         * dumper.c (pdump_align_table): 
9076         Don't support alignments > 64.
9077         Store ALIGNOF's, not shift counts, in table.
9078
9079 2001-02-09  Martin Buchholz  <martin@xemacs.org>
9080
9081         * s/mingw32.h (HAVE_STRUCT_UTIMBUF): Remove.
9082         * s/windowsnt.h (HAVE_STRUCT_UTIMBUF): Remove.
9083         * systime.h: Use HAVE_UTIME.
9084         * sysdep.c (struct utimbuf): Remove.
9085         * sysdep.c (set_file_times): Prefer utime() to utimes().
9086         * config.h.in (HAVE_UTIME): New.
9087         * config.h.in (HAVE_UTIME_H): Remove.
9088         * config.h.in (HAVE_STRUCT_UTIMBUF): Remove.
9089
9090 2001-02-09  Martin Buchholz  <martin@xemacs.org>
9091
9092         * s/aix4.h: Hide #pragmas inside #ifndef NOT_C_CODE.
9093
9094 2001-02-08  Martin Buchholz  <martin@xemacs.org>
9095
9096         * s/irix6-0.h: Use the standard system memmove, not bcopy.
9097
9098 2001-02-08  Martin Buchholz <martin@xemacs.org>
9099
9100         * XEmacs 21.2.44 "Thalia" is released.
9101
9102 2001-02-06  Martin Buchholz  <martin@xemacs.org>
9103
9104         Fixes crashes in kill-emacs on some systems.
9105         * process-unix.c (unix_kill_child_process):
9106         It's OK for kill() to fail with ESRCH.
9107
9108 2001-02-07  Martin Buchholz  <martin@xemacs.org>
9109
9110         Contortions to make .gdbinit tricks work on most systems.
9111         * alloc.c (dbg_inhibit_dbg_symbol_deletion): Keep debugger info.
9112         * alloc.c (dbg_valmask): Make non-const.
9113         * alloc.c (dbg_typemask): Make non-const.
9114         * alloc.c (dbg_USE_UNION_TYPE): Make non-const.
9115         * alloc.c (dbg_valbits): Make non-const.
9116         * alloc.c (dbg_gctypebits): Make non-const.
9117         * .gdbinit (decode_object): Make it work with AIX cc.
9118
9119 2001-02-06  Martin Buchholz  <martin@xemacs.org>
9120
9121         * elhash.c (make_general_lisp_hash_table):
9122         Use simpler and more efficient calloc to clear entries.
9123
9124 2001-02-07  Martin Buchholz  <martin@xemacs.org>
9125
9126         * window.c (window_scroll): Work around an AIX C compiler bug.
9127         Fixes 'scroll-up' does nothing problem with xlC.
9128
9129 2001-02-05  Martin Buchholz  <martin@xemacs.org>
9130
9131         * .gdbinit: Remove obsolete comment.
9132
9133 2001-01-31  Mike Alexander  <mta@arbortext.com>
9134
9135         * select.c (Fown_selection_internal): Set owned_p for device
9136         method correctly.
9137
9138 2001-02-01  Martin Buchholz  <martin@xemacs.org>
9139
9140         Port to g++ 2.97.
9141         "not" cannot be used as a macro name as it is an operator in C++
9142         * config.h.in: Stop #defining `not'.
9143         * chartab.c (check_category_char): not ==> not_p
9144         * chartab.h: Likewise.
9145         * regex.c (re_match_2_internal): Likewise.
9146
9147 2001-02-02  Martin Buchholz  <martin@xemacs.org>
9148
9149         * lisp-disunion.h: Fix up comments.
9150
9151 2001-01-31  Martin Buchholz  <martin@xemacs.org>
9152
9153         * keymap.c (define_key_check_and_coerce_keysym):
9154         (syms_of_keymap):
9155         Support mouse-6 and mouse-7 bindings in the obvious way.
9156
9157 2001-02-01  Martin Buchholz  <martin@xemacs.org>
9158
9159         * m/hp9000s300.h (UNEXEC): Check for HPUX, not !BSD.
9160
9161 2001-01-30  Martin Buchholz  <martin@xemacs.org>
9162
9163         Previous patch changing DEFVAR_INT to use EMACS_INT was incomplete.
9164         Previous patch missed DEFVAR_INT_MAGIC.
9165         Make sure future DEFVAR_foo use correct types.
9166         * symeval.h (DEFVAR_SYMVAL_FWD_FIXNUM): New.
9167         * (DEFVAR_SYMVAL_FWD_INT): Add type checking.
9168         * (DEFVAR_SYMVAL_FWD_OBJECT): Add type checking.
9169         * (DEFVAR_INT_MAGIC): Use DEFVAR_SYMVAL_FWD_FIXNUM.
9170         * (DEFVAR_INT): Likewise.
9171         * redisplay.c (vertical_clip): Should be of type Fixnum.
9172         * redisplay.c (horizontal_clip): Likewise.
9173         * lisp.h (dump_add_opaque_int): New.
9174         (dump_add_opaque_fixnum): New.
9175
9176 2001-01-29  Andy Piper  <andy@xemacs.org>
9177
9178         * glyphs-widget.c (check_valid_int_or_function): allow symbols
9179         since they can be eval'ed
9180
9181 2001-01-29  Martin Buchholz  <martin@xemacs.org>
9182
9183         * lisp.h (ALIGNOF): Make it work on non-gcc C++ compilers.
9184         Oops, XEmacs redefines `class'.  Use `typename' instead.
9185
9186 2001-01-28  Martin Buchholz  <martin@xemacs.org>
9187
9188         * dumper.c: Fix C++ compile errors.
9189
9190 2001-01-29  Martin Buchholz  <martin@xemacs.org>
9191
9192         * tparam.c: Use correct prototypes.
9193
9194 2001-01-28  Martin Buchholz  <martin@xemacs.org>
9195
9196         * sysproc.h: #include util.h for NetBSD's openpty.
9197
9198 2001-01-27  Martin Buchholz  <martin@xemacs.org>
9199
9200         More 64-bit correctness.
9201         The C value of a DEFVAR_INT should be of type EMACS_INT, not int.
9202         Use a typedef `fixnum' for the type used for DEFVAR_INT.
9203         Fix up comments.
9204         This finally finishes the 64-bit SGI port.
9205         Fixes things like (let ((gc-cons-threshold most-positive-fixnum)) ...).
9206         * symbols.c: Fix up comments and type casts.
9207         * symbols.c (do_symval_forwarding): s/int/Fixnum/g
9208         * symbols.c (store_symval_forwarding): s/int/Fixnum/g
9209         * symeval.h (Fixnum): New type.
9210         * symeval.h (symbol_value_type): Fix up comment.
9211
9212         * commands.h:
9213         * nt.c:
9214         * emacs.c:
9215         * data.c:
9216         * redisplay.c:
9217         * abbrev.c:
9218         * dired-msw.c:
9219         * event-Xt.c:
9220         * eldap.c:
9221         * window.c:
9222         * sound.c:
9223         * event-stream.c:
9224         * eval.c:
9225         * buffer.c:
9226         * mule-canna.c: A million DEFVAR_INTs here...
9227         * mule-canna.c (count_char): s/int */Fixnum */g in arglist.
9228         * extents.c:
9229         * cmdloop.c:
9230         * lisp.h:
9231         * select-x.c:
9232         * console-x.h:
9233         * event-msw.c:
9234         * mule-wnnfns.c:
9235         * hpplay.c:
9236         * ralloc.c:
9237         * alloc.c:
9238         * keymap.c:
9239         * profile.c:
9240         s/int/Fixnum/g in DEFVAR_INT declarations.
9241
9242 2001-01-26  Martin Buchholz  <martin@xemacs.org>
9243
9244         Port pdump to SGI alignment-sensitive environment.
9245         Lisp Object sizeof methods now return aligned sizes.  Rely on that.
9246         Eliminate is_lrecord since Lisp_Objects sizeof methods are now all
9247         properly aligned.
9248         Define and use aligned reading and writing macros.
9249         Use buffered stdio instead of posix i/o for faster dumping.
9250         Eliminate kludgy 256 byte space for header.
9251         Read and write from dump file using structs for alignment safety.
9252         * dumper.c (pdump_align_stream): New.
9253         * dumper.c (PDUMP_ALIGN_OUTPUT): New.
9254         * dumper.c (PDUMP_READ_ALIGNED): New.
9255         * dumper.c (PDUMP_WRITE_ALIGNED): New.
9256         * dumper.c (pdump_static_Lisp_Object): New struct.
9257         * dumper.c (pdump_static_pointer): New struct.
9258         * dumper.c (pdump_entry_list_element): Remove is_lrecord member.
9259         * dumper.c (pdump_add_entry): Remove is_lrecord parameter.
9260         * dumper.c (pdump_dump_data): Rely on sizeof method alignment.
9261         * dumper.c (pdump_allocate_offset): Rely on sizeof method alignment.
9262
9263         * dumper.c (pdump_backtrace):
9264         * dumper.c (pdump_get_indirect_count):
9265         * dumper.c (pdump_register_object):
9266         * dumper.c (pdump_register_struct):
9267         * dumper.c (pdump_reloc_one):
9268         * dumper.c (pdump_scan_by_alignment):
9269         * dumper.c (pdump_dump_from_root_struct_ptrs):
9270         * dumper.c (pdump_dump_opaques):
9271         * dumper.c (pdump_dump_rtables):
9272         * dumper.c (pdump_dump_from_root_objects):
9273         * dumper.c (pdump):
9274         * dumper.c (pdump_load_finish):
9275         Use aligned reading and writing.
9276
9277         * dumper.c (pdump_free): Make static.
9278         * dumper.c (pdump_hFile): Likewise.
9279         * dumper.c (pdump_hMap): Likewise.
9280
9281 2001-01-26  Martin Buchholz <martin@xemacs.org>
9282
9283         * XEmacs 21.2.43 "Terspichore" is released.
9284
9285 2001-01-25  Martin Buchholz  <martin@xemacs.org>
9286
9287         Type fiddling for window_config.saved_windows_count
9288         * window.c (struct window_config): 
9289         Make saved_windows_count member unsigned.
9290         * window.c (sizeof_window_config_for_n_windows): 
9291         Make parameter unsigned.
9292         * window.c (mark_window_config):
9293         * window.c (window_config_equal):
9294         * window.c (free_window_configuration):
9295         * window.c (Fset_window_configuration):
9296         * window.c (count_windows):
9297         * window.c (Fcurrent_window_configuration):
9298         * window.c (reinit_vars_of_window):
9299         Update all callers and users.
9300
9301 2001-01-25  Martin Buchholz  <martin@xemacs.org>
9302
9303         Alignment correctness for flexible arrays.
9304         * lisp.h (FLEXIBLE_ARRAY_STRUCT_SIZEOF):
9305         Make alignment-correct. Add interesting comments.
9306         * alloc.c (size_vector):
9307         * alloc.c (make_vector_internal):
9308         * alloc.c (make_bit_vector_internal):
9309         * alloc.c (sweep_bit_vectors_1):
9310         * fns.c (size_bit_vector):
9311         Update all callers of FLEXIBLE_ARRAY_STRUCT_SIZEOF to add new arg.
9312         * window.c (sizeof_window_config_for_n_windows): 
9313         Use FLEXIBLE_ARRAY_STRUCT_SIZEOF.
9314
9315 2001-01-24  Martin Buchholz  <martin@xemacs.org>
9316
9317         * lread.c (read1): Rename `fexp', which is #defined in SGI's math.h
9318
9319 2001-01-23  Andy Piper  <andy@xemacs.org>
9320
9321         * select.c (Fown_selection_internal): pass owned_p
9322
9323         * select-msw.c (mswindows_own_selection): New Signature.
9324
9325         * console.h (struct console_methods): add owned_p to
9326         _own_selection.
9327
9328         * select-x.c (x_own_selection): pass owned_p
9329         (hack_motif_clipboard_selection): use owned_p
9330         (vars_of_select_x): new variable -
9331         x_selection_strict_motif_ownership.
9332
9333 2001-01-23  Martin Buchholz  <martin@xemacs.org>
9334
9335         * specifier.h (specifier_data_offset): Remove pointless parens.
9336         * glyphs.h (IMAGE_SPECIFIER_DATA): Likewise.
9337
9338 2001-01-24  Martin Buchholz  <martin@xemacs.org>
9339
9340         Make Lisp_Object sizeof methods be alignment-correct.
9341         pdump must restore objects to the same alignment as the C compiler
9342         assumes.  It really matters on SGIs.
9343         * lstream.c (aligned_sizeof_lstream): New.
9344         (sizeof_lstream): Use aligned_sizeof_lstream.
9345         (Lstream_new): Likewise.
9346         * opaque.c (aligned_sizeof_opaque): New.
9347         (sizeof_opaque): Use aligned_sizeof_opaque.
9348         (make_opaque): Likewise.
9349         * specifier.c (aligned_sizeof_specifier): New.
9350         (sizeof_specifier): Use aligned_sizeof_specifier.
9351         (make_specifier_internal): Likewise.
9352
9353 2001-01-23  Martin Buchholz  <martin@xemacs.org>
9354
9355         * lstream.h (struct lstream): Use max_align_t for trailing data.
9356         * specifier.h (struct Lisp_Specifier): Likewise.
9357
9358 2001-01-22  Martin Buchholz  <martin@xemacs.org>
9359
9360         * mule-ccl.c (CCL_Extension): Renamed from CCL_Extention.
9361         (CCL_SUCCESS): Kludge to prevent Sun cc compiler warnings.
9362         (CCL_SUSPEND): Likewise.
9363         (CCL_INVALID_CMD): Likewise.
9364         (CCL_CALL_FOR_MAP_INSTRUCTION): Likewise.
9365         (ccl_driver): Likewise.
9366         (CCL_WRITE_CHAR): Macro hygiene.
9367         (CCL_WRITE_STRING): Macro hygiene.
9368
9369 2001-01-22  Martin Buchholz  <martin@xemacs.org>
9370
9371         Port "portable" dumper to SunOS 4 and HP-UX.
9372         * s/aix4.h (AIX4): Move MAP_FAILED definition elsewhere.
9373         * emacs.c (main): PDUMP implies no RUN_TIME_REMAP.
9374         * dumper.c (pdump_file_get): Define MAP_FAILED if not already defined.
9375
9376 2001-01-22  Martin Buchholz  <martin@xemacs.org>
9377
9378         * lisp.h (ALIGNOF): A better definition for C++.
9379
9380 2001-01-20  Martin Buchholz  <martin@xemacs.org>
9381
9382         Macro hygiene.
9383         Fix printf warnings: int format, long int arg.
9384         * regex.c (DECLARE_DESTINATION): Use DECLARE_NOTHING.
9385         (PUSH_FAILURE_POINT): Use correct printf formats.
9386         (POP_FAILURE_POINT): Use correct printf formats.  
9387         Use do {...} while (0)
9388
9389 2001-01-20  Martin Buchholz <martin@xemacs.org>
9390
9391         * XEmacs 21.2.42 "Poseidon" is released.
9392
9393 2001-01-20  Martin Buchholz  <martin@xemacs.org>
9394
9395         * console-x.h: typo fix du jour.  Remove #if 0'ed code.
9396
9397 2001-01-19  Martin Buchholz  <martin@xemacs.org>
9398
9399         De-kludgify FIXED_TYPE free list frobbing.
9400         Fix crashes on 64-bit platforms introduced by my patch of 2001-01-13.
9401         * alloc.c (DECLARE_FIXED_TYPE_ALLOC): Use Lisp_Free.
9402         * alloc.c (ALLOCATE_FIXED_TYPE_1): Use new definitions.
9403         * alloc.c (Lisp_Free): New pseudo lisp object definition.
9404         * alloc.c (LRECORD_FREE_P): New.
9405         * alloc.c (MARK_LRECORD_AS_FREE): New.
9406         * alloc.c (MARK_LRECORD_AS_NOT_FREE): New.
9407         * alloc.c (STRUCT_FREE_P): Deleted.
9408         * alloc.c (MARK_STRUCT_AS_FREE): Deleted.
9409         * alloc.c (MARK_STRUCT_AS_NOT_FREE): Deleted.
9410         * alloc.c (STRING_CHARS_FREE_P): New.
9411         * alloc.c (MARK_STRING_CHARS_AS_FREE): New.
9412         * alloc.c (PUT_FIXED_TYPE_ON_FREE_LIST): Use new definitions.
9413         * alloc.c (FREE_FIXED_TYPE): Use new definitions.
9414         * alloc.c (STRING_CHARS_FREE_P): Use new definitions.
9415         * alloc.c (resize_string): Use new definitions.
9416         * alloc.c (SWEEP_FIXED_TYPE_BLOCK): Use new definitions.
9417         * alloc.c (verify_string_chars_integrity): Use new definitions.
9418         * alloc.c (compact_string_chars): Use new definitions.
9419         * alloc.c: Update monster comments.
9420         * lrecord.h (lrecord_type): Add some new lrecord types for
9421         alloc.c's use.
9422
9423 2001-01-18  Martin Buchholz  <martin@xemacs.org>
9424
9425         Improve alignment hackery.
9426         * lisp.h (ALIGNOF): Better definition for the non-gcc case.
9427         (max_align_t): Moved from opaque.h - general purpose.
9428         (ALIGN_PTR): Use size_t, not long.
9429         * opaque.h (max_align_t): Move to lisp.h.
9430
9431 2001-01-18  Norbert Koch  <nk@LF.net>
9432
9433         * gui.h: Fix and add prototypes to fix build problems.
9434
9435 2001-01-18  Martin Buchholz  <martin@xemacs.org>
9436
9437         temacs is going away, so `dump-temacs' is now a bad name.
9438         * .dbxrc (dump-temacs): Rename to `dmp'.
9439         * .gdbinit (dump-temacs): Rename to `dmp'.
9440
9441 2001-01-17  Andy Piper  <andy@xemacs.org>
9442
9443         * glyphs.c (print_image_instance): comment to make martin happy.
9444
9445         * glyphs-x.c (x_redisplay_widget): update faces after a frame
9446         change.
9447
9448         * glyphs-msw.c (mswindows_redisplay_widget): add code to cope with
9449         activation.
9450         (mswindows_tab_control_redisplay): warning suppression.
9451
9452         * glyphs-widget.c (widget_update): re-write to cope with updated
9453         items.
9454         (widget_instantiate): use new gui_item functions.
9455         (tab_control_update): deleted.
9456         (progress_gauge_update): deleted.
9457         (image_instantiator_progress_guage): take out update reference.
9458         (image_instantiator_tree_view): ditto.
9459         (image_instantiator_tab_control): ditto.
9460
9461         * gui.c (widget_gui_parse_item_keywords): new function. Do things
9462         Right the new way.
9463         (gui_item_add_keyval_pair): re-write to cope with descriptors and
9464         return whether anything was changed.
9465         (update_gui_item_keywords): as it sounds.
9466
9467         * gui.h: declare widget_gui_parse_item_keywords.
9468
9469         * fns.c (safe_copy_tree): new function taken from Fcopy_tree.
9470         (Fcopy_tree): use it. Stops infloop death in bogus instantiators.
9471
9472 2001-01-17  Martin Buchholz <martin@xemacs.org>
9473
9474         * XEmacs 21.2.41 "Polyhymnia" is released.
9475
9476 2001-01-16  Didier Verna  <didier@xemacs.org>
9477
9478         * glyphs.c (image_instantiate): don't use fallbacks when
9479         instantiating a face's background pixmap by inheritance.
9480
9481 2001-01-14  Mike Sperber <mike@xemacs.org>
9482
9483         * sysdep.c (start_of_data): PDUMP implies ORDINARY_LINK.
9484         Conditionalize accordingly.
9485
9486 2001-01-16  Martin Buchholz  <martin@xemacs.org>
9487
9488         * dumper.c (pdump_file_get): Fix a compiler warning.
9489
9490 2001-01-15  Martin Buchholz  <martin@xemacs.org>
9491
9492         Make Purify happy when pdumping.
9493         * symbols.c (Fmake_variable_buffer_local): Make Purify happy, by
9494         iniitalizing all bits of new lisp object memory.
9495         * symbols.c (Fmake_local_variable): Likewise.
9496         * symbols.c (Fdontusethis_set_symbol_value_handler): Likewise.
9497         * symbols.c (Fdefvaralias): Likewise.
9498         * mule-charset.c (vars_of_mule_charset): Likewise.
9499
9500 2001-01-15  Martin Buchholz  <martin@xemacs.org>
9501         Add the `-nd' flag when running pre-dump operations under the debugger.
9502         * .dbxrc (run-temacs): Add `-nd'.
9503         * .dbxrc (update-elc): Likewise.
9504         * .dbxrc (dump-temacs): Likewise.
9505         * .gdbinit (run-temacs): Likewise.
9506         * .gdbinit (check-temacs): Likewise.
9507         * .gdbinit (update-elc): Likewise.
9508         * .gdbinit (dump-temacs): Likewise.
9509
9510 2001-01-14  Martin Buchholz  <martin@xemacs.org>
9511
9512         Allow building 64-bit executables on AIX with GNU malloc, e.g.
9513         export OBJECT_MODE=64
9514         configure --pdump --use-union-type=no
9515         * m/ibmrs6000.h (DATA_START): Define for 64-bit world.
9516         * gmalloc.c (__default_morecore): Remove pre-ANSI cruft.
9517
9518         * miscplay.c (sndcnv8U_2mono):
9519         Avoid two uses of `++' in the same expression.
9520         Suppresses a GCC warning.
9521
9522 2001-01-13  Martin Buchholz  <martin@xemacs.org>
9523
9524         Make sure future compilers don't miscompile alloc.c.
9525         * alloc.c:
9526         (MARK_STRUCT_AS_FREE): Make aliasing-optimization-resistant.
9527         (MARK_STRUCT_AS_NOT_FREE): Make aliasing-optimization-resistant.
9528
9529 2001-01-12  Martin Buchholz  <martin@xemacs.org>
9530
9531         * dumper.c: A little post-pdump-rename comment fixup.
9532
9533 2001-01-09  Jerry James  <james@eecs.ku.edu>
9534
9535         * lisp-disunion.h: Change LISP_TO_CVOID arg to match its use.
9536
9537 2001-01-13  Martin Buchholz  <martin@xemacs.org>
9538
9539         * *.[ch]: Globally rename symbols using the following `pdump-rename'
9540         script:
9541         #!/bin/sh
9542         replace_symbol () {
9543           (findn texi$; findn [ch]$) | xargs g -lw "$1" | xargs global-replace 's/(?<!_)\b'$1'\b(?!_)/'$2'/g'
9544         }
9545
9546         replace_symbol pdump_wire_lists pdump_weak_object_chains
9547         replace_symbol pdump_wire_list dump_add_weak_object_chain
9548
9549         replace_symbol pdump_wires pdump_root_objects
9550         replace_symbol pdump_wire dump_add_root_object
9551
9552         replace_symbol pdump_dump_wired pdump_dump_from_root_objects
9553         replace_symbol pdump_dump_structs pdump_dump_from_root_struct_ptrs
9554
9555         replace_symbol dumpstructinfos pdump_root_struct_ptrs
9556         replace_symbol dumpstructinfo_dynarr pdump_root_struct_ptr_dynarr
9557         replace_symbol dumpstructinfo pdump_root_struct_ptr
9558         replace_symbol dumpstruct dump_add_root_struct_ptr
9559
9560         replace_symbol dumpopaque dump_add_opaque
9561         replace_symbol dumpopaqueinfo_dynarr pdump_opaque_dynarr
9562         replace_symbol dumpopaqueinfos pdump_opaques
9563         replace_symbol dumpopaqueinfo pdump_opaque
9564
9565         replace_symbol nb_structdump nb_root_struct_ptrs
9566         replace_symbol nb_opaquedump nb_opaques
9567
9568         replace_symbol align_table pdump_align_table
9569         replace_symbol dump_header pdump_header
9570
9571         replace_symbol DUMP_SIGNATURE_LEN PDUMP_SIGNATURE_LEN
9572         replace_symbol DUMP_SIGNATURE PDUMP_SIGNATURE
9573
9574
9575 2001-01-12  Martin Buchholz  <martin@xemacs.org>
9576
9577         * s/aix4.h: Keep the C for AIX compiler from overaggressively
9578         optimizing bytecount_to_charcount().
9579
9580 2001-01-06  Golubev I. N.  <gin@mo.msk.ru>
9581
9582         * config.h.in:
9583         (HAVE_DLFCN_H): Removed.
9584         * sysdll.c: Remove HAVE__DLOPEN, HAVE_DLFCN_H.
9585
9586 2001-01-06  Martin Buchholz  <martin@xemacs.org>
9587
9588         Portable dumper maintainability improvements.
9589         * alloc.c (staticpro):
9590         * alloc.c (staticpro_nodump):
9591         * alloc.c (garbage_collect_1):
9592         * alloc.c (reinit_alloc_once_early):
9593         * alloc.c (init_alloc_once_early):
9594         * alloc.c: Move dumper functions to alloc.c.
9595         * dumper.c (pdump_backtrace):
9596         * dumper.c (pdump_dump_structs):
9597         * dumper.c (pdump_dump_opaques):
9598         * dumper.c (pdump_dump_rtables):
9599         * dumper.c (pdump_dump_wired):
9600         * dumper.c (pdump):
9601         * dumper.c (pdump_load_check):
9602         * dumper.c (pdump_load_finish):
9603         * dumper.c (pdump_file_unmap):
9604         * dumper.c (pdump_file_get):
9605         * dumper.c (pdump_resource_free):
9606         * dumper.c (pdump_resource_get):
9607         * dumper.c (pdump_file_free):
9608         * dumper.c (pdump_file_try):
9609         * dumper.c (pdump_load):
9610         Remove fixed size limits on staticpro(), staticpro_nodump(),
9611         dumpopaque(), dumpstruct() by using Dynarrs instead of static C arrays.
9612         Remove custom code for dumping lrecord_implementations_table - use
9613         dumpopaque instead.
9614         Remove (most of the) custom code for dumping staticpros - dump it
9615         like any other dynarr.
9616
9617         * alloc.h: Removed.  No longer useful, since dumper now more self-contained.
9618         * dumper.c: Moved functions from alloc.c.
9619         * alloc.c (dumpstruct): Moved to dumper.c.
9620         * alloc.c (dumpopaque): Likewise.
9621         * alloc.c (pdump_wire): Likewise.
9622         * alloc.c (pdump_wire_list): Likewise.
9623
9624         * lisp.h (Dynarr_sizeof): New.
9625         * lisp.h (Dynarr_begin): New.  Very slightly C++oid.
9626         * lisp.h (Dynarr_end): New.  Very slightly C++oid.
9627         * lisp.h (Lisp_Object_ptr_dynarr): New.  For staticpros.
9628
9629         * lisp.h (dumpstruct): Define to nothing if not PDUMPing.
9630         * lisp.h (dumpopaque): ditto.
9631         * lisp.h (pdump_wire): ditto.
9632         * lisp.h (pdump_wire_list): ditto.
9633
9634 2001-01-09  Martin Buchholz  <martin@xemacs.org>
9635
9636         * make-src-depend (PrintPatternDeps):
9637         Use `sort' to make output independent of perl version.
9638
9639 2001-01-08  Martin Buchholz  <martin@xemacs.org>
9640
9641         Port to Netbsd 1.5.
9642         * unexelf.c: Remove (never used) bogus Netbsd-specific cruft.
9643         * s/netbsd.c: Use unexelf.o if __ELF__ is defined.
9644
9645 2001-01-03  Didier Verna  <didier@xemacs.org>
9646
9647         * event-stream.c (emacs_handle_focus_change_preliminary): ensure
9648         that `focus_frame' is alive before thinking of calling
9649         `redisplay_redraw_cursor' on it.
9650
9651 2001-01-08  Martin Buchholz <martin@xemacs.org>
9652
9653         * XEmacs 21.2.40 is released.
9654
9655 2001-01-06  Golubev I. N.  <gin@mo.msk.ru>
9656
9657         * regex.c: Replace PREFETCH with REGEX_PREFETCH.
9658
9659 2001-01-06  Martin Buchholz  <martin@xemacs.org>
9660
9661         * alloc.c (dbg_valmask): Make const.
9662         * alloc.c (dbg_typemask): Make const.
9663         * alloc.c (dbg_USE_UNION_TYPE): Make const.
9664         * alloc.c (dbg_valbits): Make const.
9665         * alloc.c (dbg_gctypebits): Make const.
9666
9667 2001-01-06  Stephen J. Turnbull  <stephen@xemacs.org>
9668
9669         * redisplay-x.c (x_bevel_area):
9670         redisplay.h (struct rune):
9671         Typo fixes in comments.
9672
9673 2001-01-05  Andy Piper  <andy@xemacs.org>
9674
9675         * glyphs-x.c (x_redisplay_widget): use size changed for offset
9676         adjustment.
9677
9678         * menubar.c (menubar_visible_p_changed): don't mark frame changed.
9679
9680 2001-01-05  Martin Buchholz  <martin@xemacs.org>
9681
9682         * alloc.c (pure-bytes-used): Remove unused mendacious variable.
9683
9684         * mule-ccl.c (stack_idx_of_map_multiple):
9685         Non const global data must not be initialized!
9686         Found by MIYASHITA Hisashi.
9687
9688 2001-01-02  Andy Piper  <andy@xemacs.org>
9689
9690         * frame.c (change_frame_size): make sure frame size is always
9691         marked as changed.
9692
9693         * glyphs.c (image_instance_layout): minor code reuse.
9694
9695         * window.c (Fcurrent_window_configuration): revert previous
9696         change.
9697
9698 2001-01-02  Martin Buchholz  <martin@xemacs.org>
9699
9700         * glyphs.h:
9701         * glyphs.c (make_image_instance_cache_hash_table): Use ANSI prototypes.
9702
9703 2000-12-31  Andy Piper  <andy@xemacs.org>
9704
9705         * glyphs-x.c (x_unmap_subwindow): return focus to enclosing frame
9706         when widget gets unmapped.
9707
9708         * event-Xt.c (emacs_Xt_handle_widget_losing_focus): new
9709         function. Make sure widgets losing focus don't just drop it.
9710         (handle_focus_event_1): record the widget with focus.
9711
9712 2000-12-31  Andy Piper  <andy@xemacs.org>
9713
9714         * window.c (allocate_window): use
9715         make_image_instance_cache_hash_table.
9716         (make_dummy_parent): ditto.
9717         (Fset_window_configuration): ditto.
9718
9719         * glyphs.h (INSTANTIATOR_TYPE): new macro.  declare new functions.
9720
9721         * glyphs.c (process_image_string_instantiator): use
9722         INSTANTIATOR_TYPE.
9723         (get_image_instantiator_governing_domain): ditto.
9724         (normalize_image_instantiator): ditto.
9725         (instantiate_image_instantiator): ditto.
9726         (make_image_instance_1): ditto.
9727         (image_instantiate): ditto. Key on glyph *and* instantiator type.
9728         (instantiator_eq_equal): new function for use with instance hash
9729         tables.
9730         (instantiator_eq_hash): ditto.
9731         (make_image_instance_cache_hash_table): create a suitable hash
9732         table for storing image instances.
9733
9734         * elhash.h (hash_table_weakness): new internal weakness type
9735         HASH_TABLE_KEY_CAR_VALUE_WEAK.
9736         declare new functions.
9737
9738         * elhash.c (finish_marking_weak_hash_tables): introduce yet
9739         another weakness type for glyphs.
9740         (make_standard_lisp_hash_table): new function split out from
9741         make_general_lisp_hash_table.
9742         (make_lisp_hash_table): call make_standard_lisp_hash_table.
9743         (hash_table_instantiate): ditto.
9744         (Fmake_hash_table): ditto.
9745
9746 2000-12-31  Martin Buchholz <martin@xemacs.org>
9747
9748         * XEmacs 21.2.39 is released.
9749
9750 2000-12-29  Andy Piper  <andy@xemacs.org>
9751
9752         * menubar.c (menubar_visible_p_changed): signal the frame changed.
9753
9754         * glyphs-x.c (x_redisplay_widget): Re-calculate widget offsets if
9755         the frame has changed so that we pick up geometry changes such as
9756         menubar visibility.
9757
9758 2000-12-28  Andy Piper  <andy@xemacs.org>
9759
9760         * lastfile.c (my_ebss): make a char array so we can pad the
9761         bss. Fixes cygwin unexec.
9762
9763         * unexcw.c: invert BROKEN_GDB to NO_DEBUG.
9764
9765 2000-12-26  Andy Piper  <andy@xemacs.org>
9766
9767         * event-Xt.c (emacs_Xt_force_event_pending): add some verbose
9768         comments and try and be more precise about a non-/SIGIO world.
9769         (emacs_Xt_event_pending_p): use XtAppPending under cygwin and non
9770         SIGIO.
9771
9772         * redisplay-output.c (redisplay_normalize_glyph_area): make sure
9773         we don't normalize to zero width or height.
9774
9775 2000-12-24  Andy Piper  <andy@xemacs.org>
9776
9777         * Makefile.in.in (ldflags): add -mwindows when appropriate.
9778
9779 2000-08-18  Golubev I. N.  <gin@mo.msk.ru>
9780
9781         * s/sco5.h: SCO 5 has pty support.
9782
9783 2000-07-20  Kazuyuki IENAGA <ienaga@xemacs.org>
9784
9785         * input-method-xlib.c: supports both XIM_XLIB and USE_XFONTSET.
9786         input-method-xlib.c contains whole contents of input-method-xfs.c,
9787         so we can use input-method-xlib.c's code for USE_XFONTSET
9788         using #ifdefs.
9789         * input-method-xfs.c: removed.
9790
9791 2000-12-20  Stephen Turnbull  <stephen@xemacs.org>
9792
9793         * file-coding.h (enum coding_category_type): reorder enumerators to
9794         make autodetection safer.  Make CODING_CATEGORY_LAST an enumerator
9795         (now one greater than largest real coding_category_type enumerator).
9796         * file-coding.c (coding_category_symbol, coding_category_by_priority,
9797         coding_category_system, fcd_descriptihon_1, decode_coding_category,
9798         Fcoding_category_list, Fset_coding_priority_list,
9799         Fcoding_priority_list, coding_system_from_mask, Fdetect_coding_region,
9800         vars_of_file_coding): adjust for change in CODING_CATEGORY_LAST.
9801
9802 2000-12-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
9803
9804         * redisplay-output.c (redisplay_clear_top_of_window): Remove static.
9805         * redisplay-output.c (redisplay_output_window): Clear top of window
9806         when face is changed.
9807         * redisplay-x.c (x_redraw_exposed_window): Call
9808         redisplay_clear_top_of_window.
9809         * redisplay.h: Publish redisplay_clear_top_of_window.
9810
9811 2000-12-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
9812
9813         * buffer.c (Fkill_buffer): Map over all devices.
9814         * window.c (window_loop): Remove UNSHOW_BUFFER code.
9815         (list_windows): New function.
9816         (list_all_windows): Ditto.
9817         (Freplace_buffer_in_windows): Use them.
9818
9819 2000-02-02   Daiki Ueno <ueno@ueda.info.waseda.ac.jp>
9820
9821         * database.c (berkdb_subtype): Recognize new subtype `queue'.
9822         (Fopen_database): Use `db_create' instead of `db_open'.
9823         (syms_of_database): Initialize Qqueue.
9824
9825 2000-12-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
9826
9827         * buffer.c (common_init_complex_vars_of_buffer): Initialize
9828         buffer_local_face_property.
9829         * buffer.h (struct buffer): New member buffer_local_face_property.
9830         * window.c (Fset_window_buffer):  Mark window's face as changed
9831         when buffer has buffer local face.
9832         * window.h (MARK_WINDOW_FACES_CHANGED): New macro.
9833         * objects.c (color_after_change): Set buffer_local_face_property
9834         when locale of face specifier is buffer.
9835         * objects.c (font_after_change): Ditto.
9836         * objects.c (face_boolean_after_change): Ditto.
9837         * glyphs.c (image_after_change): Ditto.
9838
9839 2000-12-09  Dan Holmsand  <dan@eyebee.com>
9840
9841         * nt.c (mswindows_fstat): Report file permissions, volume serial
9842         number, etc. Code adapted from FSF Emacs 20.7.
9843
9844 2000-12-09  Dan Holmsand  <dan@eyebee.com>
9845
9846         * sysfile.h (lstat): Make lstat an alias for xemacs_stat instead
9847         of stat when we don't have symbolic links, to make sure
9848         mswindows_stat is called on mswindows.
9849
9850 2000-12-12  Yoshiki Hayashi  <yoshiki@xemacs.org>
9851
9852         * alloca.c: Define malloc to xmalloc only when built with XEmacs.
9853
9854 2000-12-12  Martin Buchholz  <martin@xemacs.org>
9855
9856         * doprnt.c (emacs_doprnt_1): More printing fixes.
9857         Make printing of numbers compatible with libc and FSF Emacs.
9858         BUG was: (format "%6.3f" 1.2) ==>"1.200000"
9859         Use the system printf to do most of the hard work of formatting,
9860         instead of doprnt_1().
9861         Calculate memory to allocate for format string.
9862         Remove arbitrary limit on precision, e.g. (format "%.1000f" 3.14)
9863         (doprnt_1): Cleaner code and documentation.
9864
9865 2000-12-01  Jerry James  <james@eecs.ukans.edu>
9866
9867         * Makefile.in.in: Use the loop variable to install headers.
9868
9869 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
9870
9871         * window.c (Fsplit_window): Don't invalidate face cache.
9872
9873 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
9874
9875         * minibuf.c (Fall_completions): Undo the previous change
9876         which removed checking elements start with space.
9877
9878 2000-12-06  Stephen Turnbull  <stephen@xemacs.org>
9879
9880         * mule-canna.c: Didier suppression.
9881
9882 2000-12-06  Stephen Turnbull  <stephen@xemacs.org>
9883
9884         * mule-canna.c: rename static unsigned char buf[] to key_buffer
9885         (warning suppression).  Add English comment translations.
9886
9887 2000-12-05  Martin Buchholz  <martin@xemacs.org>
9888
9889         * unexelfsgi.c (unexec): Better test for mmap failure.
9890
9891 2000-12-05  Martin Buchholz <martin@xemacs.org>
9892
9893         * XEmacs 21.2.38 is released.
9894
9895 2000-12-05  Martin Buchholz  <martin@xemacs.org>
9896
9897         * redisplay.c (bar-cursor): Make a user variable.
9898
9899         * symsinit.h: Add init_postgresql_from_environment.
9900
9901 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
9902
9903         * regex.c: Convert to clean C.
9904
9905 2000-12-05  Dan Holmsand  <dan@eyebee.com>
9906
9907         * realpath.c:
9908         Don't #include sysfile.h. Revert to duplicating PATH_MAX
9909         initialization.
9910         (sys_readlink): renamed to system_readlink to avoid conflict with
9911         the other sys_readlink.
9912
9913 2000-12-04  Hiroaki Abe  <h-abe@pc.highway.ne.jp>
9914
9915         * dumper.c (pdump_file_get): Correct uses of pdump_fd.
9916
9917 2000-12-04  Stephen J. Turnbull  <stephen@xemacs.org>
9918
9919         * postgresql.c (init_postgresql_from_environment): new function.
9920         (vars_of_postgresql): Move code initializing Lisp variables out and
9921         into init_postgresql_from_environment.
9922         emacs.c (main_1): Call init_postgresql_from_environment if and only
9923         if running a dumped XEmacs.
9924
9925 2000-08-31  Dan Holmsand  <dan@eyebee.com>
9926
9927         * buffer.c: Make find-file-compare-truenames default to true on
9928         windows.
9929
9930         * realpath.c (win32_abs_start):
9931         (cygwin_readlink):
9932         (win32_readlink): New functions.
9933         (xrealpath): Return really real filenames on windows.
9934
9935         * fileio.c (Ffile_truename): Make file-truename work on windows.
9936
9937 2000-11-29  Didier Verna  <didier@xemacs.org>
9938
9939         * faces.c (MAYBE_UNFROB_BACKGROUND_PIXMAP): new macro.
9940         * faces.c (update_face_cachel_data): use it.
9941         * faces.c (add_face_cachel): use it. Complete background pixmap
9942         frobbing in face cache if `update_face_cachel_data' has not done so.
9943
9944 2000-11-29  Yoshiki Hayashi  <yoshiki@xemacs.org>
9945
9946         * search.c (string_match_1): Don't set last_thing_searched
9947         when search failed.
9948
9949 2000-11-27  Yoshiki Hayashi  <yoshiki@xemacs.org>
9950
9951         * buffer.c: Include casetab.h
9952         (common_init_complex_vars_of_buffer): Use new case-table object.
9953         * buffer.h: Include casetab.h
9954         * buffer.h (MAKE_TRT_TABLE): Use generic char-table.
9955         (DOWNCASE_TABLE_OF): Ditto.
9956         * bufslots.h: Remove char-tables and add case-table.
9957         * casetab.c: Include casetab.h
9958         (CASE_TABLE_P): Removed.
9959         (mark_case_table): New function.
9960         (allocate_case_table): New function.
9961         (Fcase_table_p): Use new case-table.
9962         (case_table_char): New function.
9963         (Fget_case_table): Ditto.
9964         (Fput_case_table): Ditto.
9965         (Fput_case_table_pair): Ditto.
9966         (Fcopy_case_table): Ditto.
9967         (Fcurrent_case_table): Return case-table.
9968         (Fstandard_case_table): Return case-table.
9969         (Fset_case_table): Fix doc-string.
9970         (set_case_table): Use case-table
9971         (syms_of_casetab): DEFSUBR new functions.
9972         (complex_vars_of_casetab): Set up standard case-table.
9973         * casetab.h: New file.
9974         * editfns.c: Include casetab.h
9975         (Fcompare_buffer_substrings): Use case-table.
9976         * inline.c: Include casetab.h
9977         * lisp.h: Remove bogus extern.
9978         * lrecord.h (lrecord_type): Add lrecord_type_case_table.
9979         * search.c: Include casetab.h
9980         (TRANSLATE_ASCII): Removed.
9981         (TRANSLATE): Unconditionally translate character.
9982         (looking_at_1): Use case-table.
9983         (string_match_1): Ditto.
9984         (fast_string_match): Ditto.
9985         (search_command): Ditto.
9986         (search_buffer): Separate boyer_moore.  Check whether
9987         boyer_moore is possible.
9988         (simple_search): New function.
9989         (boyer_moore): Separated from search_buffer. Translate char.
9990
9991 2000-11-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
9992
9993         * regex.c (RE_TR_ASCII): Removed.
9994         (RE_TRANSLATE): Unconditionally use TRT_TABLE.
9995         (PATFETCH): Call PATFETCH_RAW.
9996         (PATFETCH_RAW): Fetch Emchar.
9997         (PATUNFETCH): Decrement charptr.
9998         (GET_BUFFER_SPACE): Rename b to buf_end.
9999         (BUF_PUSH): Ditto.
10000         (BUF_PUSH_2): Ditto.
10001         (BUF_PUSH_3): Ditto.
10002         (EXTEND_BUFFER): Ditto.
10003         (SET_LIST_BIT): Ditto.
10004         (regex_compile): Ditto.  Translate non ASCII char.
10005         (compile_range): Ditto.
10006         (re_search_2): Ditto.
10007         (re_match_2_internal): Compare Emchar.
10008         (bcmp_translate): Ditto.
10009
10010 2000-11-29  Stephen J. Turnbull  <turnbull@xemacs.org>
10011
10012         * lisp.h (basic char/int typedefs):  comment improvement.
10013
10014 2000-11-24  Stephen J. Turnbull  <turnbull@xemacs.org>
10015
10016         * emacs.c (main_1):  unconditional pdump unstomping; don't save and
10017         unstomp inhibit_site_lisp.  Improve comments.
10018
10019 2000-11-22  Stephen J. Turnbull  <turnbull@xemacs.org>
10020
10021         * mule-charset.c (Fcharset_property):  improve type checking, comments.
10022
10023 2000-11-28  Andy Piper  <andy@xemacs.org>
10024
10025         * redisplay-output.c (redisplay_output_subwindow): make sure we do
10026         clipped display for windows in the gutter also.
10027         (redisplay_display_boxes_in_window_p): change semantics of return
10028         codes to be more intuitive.
10029
10030         * gutter.h: declare display_boxes_in_gutter_p.
10031
10032         * gutter.c (display_boxes_in_gutter_p): new function for
10033         redisplay.
10034
10035 2000-11-22  Andy Piper  <andy@xemacs.org>
10036
10037         * glyphs-x.c (image_instantiator_format_create_glyphs_x): change
10038         autodetect domain.
10039
10040 2000-11-21  Yoshiki Hayashi  <yoshiki@xemacs.org>
10041
10042         * callproc.c (Fold_call_process_internal):
10043         * gpm.c (Freceive_gpm_event):
10044         (tty_get_foreign_selection): Might be just warning supression.
10045         * fileio.c (Fwrite_region_internal):
10046         (Fset_visited_file_modtime):
10047         * keymap.c (event_matches_key_specifier_p):
10048         Initialize GCPROed variable.
10049
10050         * menubar-x.c (command_builder_find_menu_accelerator):
10051         Initialize before use.
10052
10053 2000-11-23  Andy Piper  <andy@xemacs.org>
10054
10055         * unexcw.c (unexec): make the resulting executable executable.
10056
10057 2000-11-21  Martin Buchholz  <martin@xemacs.org>
10058
10059         * doc.c (get_doc_string):
10060         Use size_t, not int, for result of XSTRING_LENGTH.
10061
10062         * cmds.c (Fdelete_char):
10063         * cmds.c (Fpoint_at_eol):
10064         * cmds.c (Fself_insert_command):
10065         Use EMACS_INT, not int, for result of XINT.
10066         Someday, someone will want to insert more than 2**31 identical characters.
10067
10068         * cmds.c (Fdelete_char):
10069         * cmds.c (Fdelete_backward_char):
10070         * syntax.c (Fforward_word):
10071         * syntax.c (Fforward_comment):
10072         Make COUNT argument optional, for consistency with forward-char et al.
10073
10074 2000-11-22  Martin Buchholz  <martin@xemacs.org>
10075
10076         * lisp.h:
10077         * print.c (long_to_string):
10078         Return a useful value: the pointer at end of data written.
10079
10080         * doprnt.c:
10081         Use `static const char * const' for constant strings.
10082         (union printf_arg): Delete `i', `ui' members.
10083         (get_doprnt_args):
10084         (emacs_doprnt_1):
10085         Fix LP64 platform bug: (format "%d" most-positive-fixnum) ==> "-1"
10086         Do all printf-ing via the `l' specifier.
10087         Use EMACS_INT instead of int.
10088         Optimize.
10089
10090 2000-11-20  Didier Verna  <didier@xemacs.org>
10091
10092         * faces.c (update_face_cachel_data): don't frob the background
10093         pixmap when the window is being created. The face is needed but
10094         does not exist yet.
10095
10096 2000-11-20  Andy Piper  <andy@xemacs.org>
10097
10098         * unexcw.c (copy_executable_and_dump_data_section): Only do bss
10099         messing with a debug environment.
10100
10101 2000-11-20  Martin Buchholz  <martin@xemacs.org>
10102
10103         * emacs.c (__sti__iflPNGFile_c___): Pedantically correct prototype.
10104
10105 2000-11-20  Martin Buchholz  <martin@xemacs.org>
10106
10107         * casetab.c (Fcase_table_p): Fix compile error and crash.
10108
10109 2000-11-18  Philip Aston  <philipa@mail.com>
10110
10111         * s/cygwin32.h: Cygwin has SVR4-like pty support.
10112
10113 2000-11-18  Martin Buchholz  <martin@xemacs.org>
10114
10115         * fileio.c (Fexpand_file_name): GCPRO bug!  Protect `handler'.
10116         * filelock.c (lock_file): GCPRO bug! Initialize all GCPROed vars!
10117
10118 2000-11-17  Martin Buchholz  <martin@xemacs.org>
10119
10120         * config.h.in: Define HAVE_ELF_H if elf.h exists.
10121         * unexelf.c: Use HAVE_ELF_H.
10122         * unexelfsgi.c: Fix bug with dumped xemacs stdout/stderr not working.
10123         I copied FSF Emacs 20.7 unexelf.c to unexelfsgi.c and ANSIfied it.
10124         Max Matveev <makc@sgi.com> removed non-SGI-relevant parts and tested.
10125         Greg Harrington <greg_harrington@hotmail.com> provided a machine
10126         for testing.
10127         So this is an unexelfsgi.c from a different line of development.
10128
10129 2000-11-16  Yoshiki Hayashi  <yoshiki@xemacs.org>
10130
10131         * regex.c (RE_TR_ASCII): New function.
10132         (RE_TRANSLATE): Call it.
10133
10134 2000-11-16  Yoshiki Hayashi  <yoshiki@xemacs.org>
10135
10136         * buffer.h (TRT_TABLE_OF): Remove assert.
10137         (IN_TRT_TABLE_DOMAIN): Removed.
10138
10139 2000-11-16  Gunnar Evermann  <ge204@eng.cam.ac.uk>
10140
10141         * free-hook.c (log_gcpro):
10142         (show_gcprohist): Add support for GCPRO5.
10143
10144 2000-11-08  Stephen J. Turnbull  <stephen@xemacs.org>
10145
10146         * emacs.c (main_1): Improve -sd error message when --pdump=no.
10147
10148 2000-11-16  Olivier Galibert  <galibert@xemacs.org>
10149
10150         * symeval.h: Declare flush_all_buffer_local_cache.
10151
10152         * symbols.c: Change XD_LO_RESET_NIL into XD_LISP_OBJECTs.
10153         (flush_buffer_local_cache): Added.
10154         (flush_all_buffer_local_cache): Added.
10155
10156         * lrecord.h: Remove unused XD_LO_RESET_NIL.
10157
10158         * dumper.c (pdump_register_sub): Remove unused XD_LO_RESET_NIL.
10159         (pdump_dump_data): Ditto.
10160         (pdump_reloc_one): Ditto.
10161         (pdump): Remove unused pdump_qnil.  Flush buffer local caches
10162         before dumping.
10163
10164
10165 2000-11-14  Yoshiki Hayashi  <yoshiki@xemacs.org>
10166
10167         * buffer.c: Remove if 0'ed entry.
10168         * buffer.h: Rewrite TRT to use char-table.
10169         * bufslots.h: Remove mirror tables.
10170         * casetab.c: Remove mirror tables.
10171         (CASE_TABLE_P): New macro.
10172         (Fcase_table_p): Element of a case table is string or char-table.
10173         (make_mirror_trt_table): Removed.
10174         (set_case_table): Setup char-table from strings for backward
10175         compatibility.
10176         * dired.c (Fdirectory_files):
10177         * dired-msw.c: (mswindows_get_files):
10178         * lisp.h: Change prototype of re_pattern_buffer.
10179         * regex.c: (RE_TRANSLATE): New macro.
10180         (TRANSLATE_P): Ditto.
10181         Change translate to type RE_TRANSLATE_TYPE.
10182         * regex.h: Define RE_TRANSLATE_TYPE
10183         * search.c (TRANSLATE): New macro.
10184         (TRANSLATE_ASCII): New macro.
10185         Translate table is changed to Lisp_Object.
10186         (signal_failure): Inhibit return.
10187
10188 2000-11-14  Yoshiki Hayashi  <yoshiki@xemacs.org>
10189
10190         * device-msw.c:
10191         * eldap.c:
10192         * event-Xt.c:
10193         * event-stream.c:
10194         * print.c:
10195         Do UNGCPRO before return.
10196
10197 2000-11-14  Martin Buchholz <martin@xemacs.org>
10198
10199         * XEmacs 21.2.37 is released.
10200
10201 2000-11-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
10202
10203         * fileio.c (Finsert_file_contents_internal): UNGCPRO before return.
10204         Add comments about discarded return value.
10205
10206 2000-11-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
10207
10208         * callint.c:
10209         * event-stream.c: Fix comments.  Remove some #if 0'ed part.
10210
10211 2000-10-27  Andy Piper  <andy@xemacs.org>
10212
10213         * gutter.c (Fset_default_gutter_position): default left and right
10214         gutters to visible.
10215         (calculate_gutter_size): calculate resonable heuristic for left
10216         and right gutter sizes.
10217         (specifier_vars_of_gutter): change left and right gutter sizes to
10218         autodetect.
10219         (calculate_gutter_size_from_display_lines): new function.
10220         (output_gutter): check for resizing on left and right gutters.
10221         (clear_gutter): don't special case top and left gutters.
10222         (specifier_vars_of_gutter): use new signature for
10223         set_specifier_caching.
10224
10225         * glyphs-x.c (x_redisplay_widget): spelling fix.
10226         * glyphs.c (specifier_vars_of_glyphs):
10227         * menubar.c (specifier_vars_of_menubar):
10228         * redisplay.c (specifier_vars_of_redisplay):
10229         * toolbar.c (specifier_vars_of_toolbar):
10230         * window.c (specifier_vars_of_window):
10231         * scrollbar.c (specifier_vars_of_scrollbar):
10232         (complex_vars_of_scrollbar): use new signature for
10233         set_specifier_caching.
10234
10235         * specifier.c (set_specifier_caching): include recompute flag.
10236         (recompute_one_cached_specifier_in_window): always recompute if
10237         flag set.
10238         (recompute_one_cached_specifier_in_frame): ditto.
10239
10240         * specifier.h (struct specifier_caching): add recompute flag.
10241
10242 2000-10-24  Andy Piper  <andy@xemacs.org>
10243
10244         * unexcw.c (copy_executable_and_dump_data_section): add new
10245         BSS_PAD_SIZE so that we can re-instate a mini-bss. This keeps gdb
10246         5.0 happy.
10247
10248 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
10249
10250         * console-x.h (x_device): New member modifier_release_time.
10251         * event-Xt.c (x_handle_sticky_modifiers):
10252         Bound interval modifier keys are sticky.
10253         * event-stream.c (Vmodifier_keys_sticky_time): New variable.
10254         * events.h: extern it.
10255
10256 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
10257
10258         * cmdloop.c (Fcommand_loop_1): Just add C-g to event queue.
10259
10260 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
10261
10262         * event-stream.c (execute_command_event): Preserve current_events
10263         and the like when event is misc-user-event.
10264         Inhibit quit during the call to maybe_echo_keys.
10265
10266 2000-10-31  Yoshiki Hayashi  <yoshiki@xemacs.org>
10267
10268         * filelock.c (lock_buffer): Cope with kill-buffer. Don't create a
10269         symlink when buffer is killed.
10270         (inhibit_clash_detection): New variable.
10271
10272 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
10273
10274         * console.c (Fset_input_method): Trigger redisplay on tty.
10275
10276 2000-11-07  Martin Buchholz  <martin@xemacs.org>
10277
10278         * process.c (Fprocess_status): Revert to previous behavior:
10279         (process-status "nosuchprocess") ==> nil
10280
10281 2000-11-06  Martin Buchholz  <martin@xemacs.org>
10282
10283         * mule-charset.h (CHARSET_BY_LEADING_BYTE):
10284         Work around another GCC 2.95.2 optimizer bug.
10285
10286 2000-11-02  Martin Buchholz  <martin@xemacs.org>
10287
10288         * process.c (Fget_process): Use LIST_LOOP_2.
10289         (kill_buffer_processes): Use LIST_LOOP_2.
10290
10291         * minibuf.c (Fall_completions):
10292         Delete old non-functional code for FSF fourth argument.
10293
10294         * frame.c (frame_matches_frame_spec):
10295         Renamed from `frame_matches_frametype'.  Update all callers.
10296         (device_matches_device_spec):
10297         Renamed from 'device_matches_console_spec'.  Update all callers.
10298
10299         * doc.c (Fsubstitute_command_keys):
10300         Remove buffer overflow crash.  Small code cleanups.
10301
10302         * casetab.c (check_case_table): Simpler code.
10303
10304         * window.c (Freplace_buffer_in_windows):
10305         Give this the same WHICH-FRAMES and WHICH-DEVICES parameters
10306         (and similar implementation) as Fdelete_windows_on.
10307         Update all callers.
10308
10309         * alloc.c (Fmake_list):
10310         * alloc.c (make_vector):
10311         * alloc.c (Fmake_vector):
10312         * alloc.c (make_bit_vector):
10313         * alloc.c (Fmake_bit_vector):
10314         * alloc.c (Fbit_vector):
10315         * alloc.c (Fmake_string):
10316         * alloc.c (Fpurecopy):
10317         * alloc.c (Fmemory_limit):
10318         * buffer.c:
10319         * buffer.c (Fget_buffer):
10320         * buffer.c (Fkill_buffer):
10321         * buffer.c (complex_vars_of_buffer):
10322         * bytecode.c (Fcompiled_function_stack_depth):
10323         * callint.c (Fprefix_numeric_value):
10324         * event-stream.c:
10325         * event-stream.c (Fread_key_sequence):
10326         * casetab.c:
10327         * casetab.c (Fcase_table_p):
10328         * casetab.c (check_case_table):
10329         * casetab.c (Fset_case_table):
10330         * casetab.c (Fset_standard_case_table):
10331         * chartab.c:
10332         * chartab.c (Fchar_table_type):
10333         * chartab.c (Freset_char_table):
10334         * chartab.c (Fget_char_table):
10335         * chartab.c (Fget_range_char_table):
10336         * chartab.c (Fput_char_table):
10337         * chartab.c (Fmap_char_table):
10338         * chartab.c (Fcategory_table_p):
10339         * chartab.c (Fcheck_category_at):
10340         * chartab.c (Fchar_in_category_p):
10341         * chartab.c (Fcategory_table):
10342         * chartab.c (Fcopy_category_table):
10343         * chartab.c (Fset_category_table):
10344         * chartab.c (Fcategory_designator_p):
10345         * chartab.c (Fcategory_table_value_p):
10346         * cmds.c (Fdelete_char):
10347         * cmds.c (Fdelete_backward_char):
10348         * cmds.c (Fself_insert_command):
10349         * cmds.c (Fself_insert_internal):
10350         * console.c (Fvalid_console_type_p):
10351         * console.c (Fcdfw_console):
10352         * console.c (Fconsole_type):
10353         * console.c (Fconsole_name):
10354         * console.c (Fconsole_device_list):
10355         * console.c (Fconsole_on_window_system_p):
10356         * data.c:
10357         * data.c (Feq):
10358         * data.c (Fold_eq):
10359         * data.c (Fsubr_interactive):
10360         * data.c (Fchar_to_int):
10361         * data.c (Fint_to_char):
10362         * data.c (Fsetcar):
10363         * data.c (Fsetcdr):
10364         * data.c (Fnumber_to_string):
10365         * data.c (Fstring_to_number):
10366         * data.c (Frem):
10367         * database.c (mark_database):
10368         * database.c (finalize_database):
10369         * database.c (Fdatabase_live_p):
10370         * database.c (Fdatabasep):
10371         * device-x.c (Fx_get_resource):
10372         * device.c (Fdfw_device):
10373         * dired.c:
10374         * dired.c (Ffile_name_completion):
10375         * dired.c (Ffile_name_all_completions):
10376         * dired.c (Fuser_name_completion):
10377         * dired.c (Fuser_name_completion_1):
10378         * dired.c (Fuser_name_all_completions):
10379         * doc.c (Fdocumentation):
10380         * doc.c (Fdocumentation_property):
10381         * doc.c (Fsubstitute_command_keys):
10382         * editfns.c:
10383         * editfns.c (Fchar_to_string):
10384         * editfns.c (Fstring_to_char):
10385         * editfns.c (Ftemp_directory):
10386         * editfns.c (Finsert_char):
10387         * editfns.c (Fbuffer_substring_no_properties):
10388         * editfns.c (Fnarrow_to_region):
10389         * editfns.c (Fchar_equal):
10390         * editfns.c (Fchar_Equal):
10391         * editfns.c (Ftranspose_regions):
10392         * emacs.c (Fdump_emacs):
10393         * eval.c (Fthrow):
10394         * eval.c (Fcommand_execute):
10395         * eval.c (Fautoload):
10396         * eval.c (Fbacktrace):
10397         * eval.c (Fbacktrace_frame):
10398         * events.c:
10399         * events.c (Fcopy_event):
10400         * events.c (Fcharacter_to_event):
10401         * events.c (Fevent_button):
10402         * events.c (Fevent_process):
10403         * extents.c:
10404         * extents.c (Fnext_extent_change):
10405         * extents.c (Fextent_property):
10406         * faces.c (Ffacep):
10407         * faces.c (Fmake_face):
10408         * file-coding.c:
10409         * file-coding.c (Fencode_shift_jis_char):
10410         * file-coding.c (Fencode_big5_char):
10411         * fileio.c (Ffile_name_directory):
10412         * fileio.c (Ffile_name_nondirectory):
10413         * fileio.c (Ffile_name_as_directory):
10414         * fileio.c (Fdirectory_file_name):
10415         * fileio.c (Ffile_truename):
10416         * fileio.c (Fsubstitute_in_file_name):
10417         * fileio.c (Ffile_modes):
10418         * fileio.c (Fset_file_modes):
10419         * fileio.c (Fset_default_file_modes):
10420         * fileio.c (Fverify_visited_file_modtime):
10421         * floatfns.c (Facos):
10422         * floatfns.c (Fasin):
10423         * floatfns.c (Fatan):
10424         * floatfns.c (Fcos):
10425         * floatfns.c (Fsin):
10426         * floatfns.c (Ftan):
10427         * floatfns.c (Fbessel_j0):
10428         * floatfns.c (Fbessel_j1):
10429         * floatfns.c (Fbessel_jn):
10430         * floatfns.c (Fbessel_y0):
10431         * floatfns.c (Fbessel_y1):
10432         * floatfns.c (Fbessel_yn):
10433         * floatfns.c (Ferf):
10434         * floatfns.c (Ferfc):
10435         * floatfns.c (Flog_gamma):
10436         * floatfns.c (Fexp):
10437         * floatfns.c (Fexpt):
10438         * floatfns.c (Flog):
10439         * floatfns.c (Flog10):
10440         * floatfns.c (Fsqrt):
10441         * floatfns.c (Fcube_root):
10442         * floatfns.c (Facosh):
10443         * floatfns.c (Fasinh):
10444         * floatfns.c (Fatanh):
10445         * floatfns.c (Fcosh):
10446         * floatfns.c (Fsinh):
10447         * floatfns.c (Ftanh):
10448         * floatfns.c (Fabs):
10449         * floatfns.c (Ffloat):
10450         * floatfns.c (Flogb):
10451         * floatfns.c (Fceiling):
10452         * floatfns.c (Ffloor):
10453         * floatfns.c (Fround):
10454         * floatfns.c (Ftruncate):
10455         * floatfns.c (Ffceiling):
10456         * floatfns.c (Fffloor):
10457         * floatfns.c (Ffround):
10458         * floatfns.c (Fftruncate):
10459         * fns.c (Fstring_equal):
10460         * fns.c (Fstring_lessp):
10461         * fns.c (concat2):
10462         * fns.c (concat3):
10463         * fns.c (vconcat2):
10464         * fns.c (vconcat3):
10465         * fns.c (Fsubstring):
10466         * fns.c (Fassoc):
10467         * fns.c (Fold_assoc):
10468         * fns.c (assoc_no_quit):
10469         * fns.c (Fassq):
10470         * fns.c (Fold_assq):
10471         * fns.c (assq_no_quit):
10472         * fns.c (Frassoc):
10473         * fns.c (Fold_rassoc):
10474         * fns.c (Frassq):
10475         * fns.c (Fold_rassq):
10476         * fns.c (rassq_no_quit):
10477         * fns.c (Fremassoc):
10478         * fns.c (remassoc_no_quit):
10479         * fns.c (Fremassq):
10480         * fns.c (remassq_no_quit):
10481         * fns.c (Fremrassoc):
10482         * fns.c (Fremrassq):
10483         * fns.c (remrassq_no_quit):
10484         * fns.c (Fsort):
10485         * fns.c (Fplist_get):
10486         * fns.c (Fplist_put):
10487         * fns.c (Fplist_remprop):
10488         * fns.c (Fplist_member):
10489         * fns.c (Flax_plist_get):
10490         * fns.c (Flax_plist_put):
10491         * fns.c (Flax_plist_remprop):
10492         * fns.c (Flax_plist_member):
10493         * fns.c (Fequal):
10494         * fns.c (Fold_equal):
10495         * fns.c (Frequire):
10496         * fns.c (Fbase64_encode_region):
10497         * fns.c (Fbase64_encode_string):
10498         * fns.c (Fbase64_decode_region):
10499         * frame.c:
10500         * frame.c (frame_matches_frame_spec):
10501         * frame.c (device_matches_device_spec):
10502         * frame.c (next_frame):
10503         * frame.c (previous_frame):
10504         * frame.c (Fnext_frame):
10505         * frame.c (Fprevious_frame):
10506         * frame.c (Fframe_property):
10507         * frame.c (Fset_frame_height):
10508         * frame.c (Fset_frame_size):
10509         * frame.h:
10510         * glyphs.c:
10511         * glyphs.c (if):
10512         * glyphs.c (decode_error_behavior_flag):
10513         * glyphs.c (Fmake_image_instance):
10514         * indent.c (Findent_to):
10515         * intl.c (Fignore_defer_gettext):
10516         * keymap.c (Fkeymapp):
10517         * keymap.c (Flookup_key):
10518         * lread.c:
10519         * lread.c (Fload_internal):
10520         * lread.c (Feval_buffer):
10521         * lread.c (Feval_region):
10522         * macros.c (Fexecute_kbd_macro):
10523         * marker.c (set_marker_internal):
10524         * marker.c (Fset_marker):
10525         * marker.c (set_marker_restricted):
10526         * marker.c (Fcopy_marker):
10527         * marker.c (noseeum_copy_marker):
10528         * menubar.c:
10529         * menubar.c (Fpopup_menu):
10530         * minibuf.c:
10531         * mule-charset.c (Fcharset_name):
10532         * mule-charset.c (Fchar_charset):
10533         * mule-charset.c (Fchar_octet):
10534         * mule-charset.c (Fsplit_char):
10535         * mule-wnnfns.c (Fwnn_open):
10536         * mule-wnnfns.c (Fwnn_dict_comment):
10537         * mule-wnnfns.c (Fwnn_quit_henkan):
10538         * mule-wnnfns.c (Fwnn_word_toroku):
10539         * mule-wnnfns.c (Fwnn_word_sakujo):
10540         * mule-wnnfns.c (Fwnn_word_use):
10541         * mule-wnnfns.c (Fwnn_hindo_set):
10542         * objects.c:
10543         * objects.c (Fmake_color_instance):
10544         * objects.c (Fmake_font_instance):
10545         * print.c (Fwrite_char):
10546         * process.c:
10547         * process.c (mark_process):
10548         * process.c (print_process):
10549         * process.c (get_process_from_usid):
10550         * process.c (Fprocessp):
10551         * process.c (Fprocess_live_p):
10552         * process.c (Fget_process):
10553         * process.c (Fget_buffer_process):
10554         * process.c (get_process):
10555         * process.c (Fprocess_id):
10556         * process.c (Fprocess_name):
10557         * process.c (Fprocess_command):
10558         * process.c (init_process_io_handles):
10559         * process.c (start_process_unwind):
10560         * process.c (Fstart_process_internal):
10561         * process.c (Fopen_multicast_group_internal):
10562         * process.c (Fset_process_window_size):
10563         * process.c (read_process_output):
10564         * process.c (send_process):
10565         * process.c (Fprocess_tty_name):
10566         * process.c (Fset_process_buffer):
10567         * process.c (Fprocess_buffer):
10568         * process.c (Fprocess_mark):
10569         * process.c (set_process_filter):
10570         * process.c (Fset_process_filter):
10571         * process.c (Fprocess_filter):
10572         * process.c (Fprocess_send_region):
10573         * process.c (Fprocess_send_string):
10574         * process.c (exec_sentinel):
10575         * process.c (Fset_process_sentinel):
10576         * process.c (Fprocess_sentinel):
10577         * process.c (status_notify):
10578         * process.c (Fprocess_status):
10579         * process.c (Fprocess_exit_status):
10580         * process.c (process_send_signal):
10581         * process.c (Fprocess_send_eof):
10582         * process.c (deactivate_process):
10583         * process.c (remove_process):
10584         * process.c (Fdelete_process):
10585         * process.c (kill_buffer_processes):
10586         * process.c (Fprocess_kill_without_query):
10587         * process.c (Fprocess_kill_without_query_p):
10588         * rangetab.c:
10589         * rangetab.c (Fget_range_table):
10590         * rangetab.c (Fput_range_table):
10591         * rangetab.c (Fremove_range_table):
10592         * rangetab.c (Fclear_range_table):
10593         * search.c:
10594         * search.c (Fskip_chars_forward):
10595         * search.c (Fskip_chars_backward):
10596         * search.c (Fskip_syntax_forward):
10597         * search.c (Fskip_syntax_backward):
10598         * search.c (search_command):
10599         * search.c (Freplace_match):
10600         * search.c (Fregexp_quote):
10601         * select.c (Fown_selection_internal):
10602         * select.c (Fselection_owner_p):
10603         * select.c (Fselection_exists_p):
10604         * select.c (Fget_selection_internal):
10605         * specifier.c:
10606         * symbols.c:
10607         * symbols.c (Fintern):
10608         * symbols.c (Fintern_soft):
10609         * symbols.c (Funintern):
10610         * symbols.c (Fapropos_internal):
10611         * symbols.c (Fset_default):
10612         * syntax.c:
10613         * syntax.c (Fsyntax_table_p):
10614         * syntax.c (Fcopy_syntax_table):
10615         * syntax.c (Fset_syntax_table):
10616         * syntax.c (Fchar_syntax):
10617         * syntax.c (syntax_match):
10618         * syntax.c (Fmatching_paren):
10619         * syntax.c (Fforward_word):
10620         * syntax.c (scan_lists):
10621         * syntax.c (Fscan_lists):
10622         * syntax.c (Fscan_sexps):
10623         * syntax.c (Fparse_partial_sexp):
10624         * toolbar.c (Fcheck_toolbar_button_syntax):
10625         * tooltalk.doc:
10626         * window.c:
10627         * window.c (Fwindowp):
10628         * window.c (Fwindow_live_p):
10629         * window.c (Fwindow_point):
10630         * window.c (Fdelete_window):
10631         * window.c (Fnext_window):
10632         * window.c (Fprevious_window):
10633         * window.c (Fother_window):
10634         * window.c (window_loop):
10635         * window.c (Fget_lru_window):
10636         * window.c (Fsplit_window):
10637         * window.c (Fenlarge_window):
10638         * window.c (Fenlarge_window_pixels):
10639         * window.c (Fshrink_window):
10640         * window.c (Fshrink_window_pixels):
10641         * window.c (change_window_height):
10642         * window.c (Fwindow_configuration_p):
10643         * window.c (Fcurrent_window_configuration):
10644         * window.h:
10645         * casefiddle.c (casify_object):
10646         * casefiddle.c (Fupcase):
10647         * casefiddle.c (Fdowncase):
10648         * casefiddle.c (Fcapitalize):
10649         * casefiddle.c (Fupcase_initials):
10650         * casefiddle.c (casify_region_internal):
10651         * casefiddle.c (casify_region):
10652         * casefiddle.c (Fupcase_region):
10653         * casefiddle.c (Fdowncase_region):
10654         * casefiddle.c (Fcapitalize_region):
10655         * casefiddle.c (Fupcase_initials_region):
10656         * casefiddle.c (Fupcase_word):
10657         * casefiddle.c (Fdowncase_word):
10658         * casefiddle.c (Fcapitalize_word):
10659         Docstring arglist/Texinfo fixes.  See man/ChangeLog for details.
10660         Replace 0 with '\0' when working with bytes.
10661         Replace initial "(" with "\(" in docstrings.
10662
10663 2000-11-01  Martin Buchholz  <martin@xemacs.org>
10664
10665         * config.h.in: Handle alloca with Compaq C on Alpha Linux.
10666
10667         * m/alpha.h: Let configure handle SYSTEM_MALLOC on Linux.
10668
10669 2000-10-31  Martin Buchholz  <martin@xemacs.org>
10670
10671         * eldap.c (print_ldap): 64-bit cleaner.  Fixes warning.
10672
10673 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
10674
10675         * doprnt.c (emacs_do_prnt_1): Format (format "%01.2d" 10)
10676         correctly.
10677
10678 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
10679
10680         * fileio.c (Vauto_save_list_file_prefix): Moved from startup.el.
10681         (inhibit_auto_save_session): New variable.
10682         (vars_of_fileio): Declare and initialize them.
10683         * fileio.c (Fdo_auto_save): Don't create session file if
10684         Vinhibit_auto_save_session or Vauto_save_list_file_prefix is non-nil.
10685
10686 2000-10-31  Martin Buchholz  <martin@xemacs.org>
10687
10688         * sgiplay.c (play_internal): C++ compilability.
10689         * alloc.c (SWEEP_FIXED_TYPE_BLOCK): Remove unused var `SFTB_prev'.
10690         * callproc.c (Fold_call_process_internal):
10691         Remove unused vars `env', `first'.
10692         * scrollbar.c (update_scrollbar_instance):
10693         #### unused var `current_window'.
10694         * redisplay-tty.c: Put currently unused vars insert_mode_on,
10695         etc. within #ifdef NOT_YET.
10696         * emacs.c: #### unused vars `initial_argc', `initial_argv'.
10697         * dialog-x.c (dbox_descriptor_to_widget_value): ### unused var `title'.
10698         * specifier.c (specifier_instance):
10699         #### unused var `tag'.
10700         Use WINDOW_BUFFER, FRAME_DEVICE instead of their expansion.
10701
10702 2000-10-27  Martin Buchholz  <martin@xemacs.org>
10703
10704         * fns.c (Fbutlast):
10705         * fns.c (list_sort):
10706         * fns.c (Ffillarray):
10707         * fns.c (bytecode_nconc2):
10708         * fns.c (Fnconc):
10709         * fns.c (mapcar1):
10710         * fns.c (Fmapconcat):
10711         Be pedantically 64-bit correct.  For the time when someone will
10712         want to have a list with length > 2**32.
10713
10714         * lisp.h (PRIVATE_EXTERNAL_LIST_LOOP_6):
10715         Work around MIPSpro compiler bug.
10716
10717         * process-unix.c (unix_kill_child_process): Add snarky comment.
10718         * process-unix.c (try_to_initialize_subtty):  Oops, `=' ==> `=='
10719
10720         * config.h.in: Oops, _getpt ==> _getpty
10721
10722 2000-10-26  Martin Buchholz  <martin@xemacs.org>
10723
10724         * config.h.in:
10725         * regex.c:
10726         Use void*, not char*, as return type of alloca().
10727
10728         * alloc.c (free_marker): Side effect inside assert expression!
10729
10730 2000-10-16  MIYASHITA Hisashi  <himi@m17n.org>
10731
10732         * mule-charset.c (Fset_charset_ccl_program): To check
10733         if the given ccl program is valid, use setup_ccl_program()
10734         instead of CHECK_VECTOR().
10735         (Fmake_charset): Likewise.
10736
10737 2000-10-20  Golubev I. N.  <gin@mo.msk.ru>
10738
10739         * faces.c (get_extent_fragment_face_cache_index):
10740         Fix cachel.merged_faces memory leak.
10741
10742 2000-10-14  MIYASHITA Hisashi  <himi@m17n.org>
10743
10744         * mule-ccl.c (ccl_driver)<CCL_DECODE_SJIS>:
10745         Reset MSB of octets obtained by DECODE_SJIS
10746         because of the incompatibility with Emacs.
10747         (ccl_driver)<CCL_ENCODE_SJIS>:
10748         Set MSB of octets before passing them to
10749         ENCODE_SJIS because of the incompatibility
10750         with Emacs.
10751
10752 2000-10-18   Daiki Ueno  <ueno@unixuser.org>
10753
10754         * lrecord.h (DECLARE_TYPECHECK_LRECORD): Abolish.
10755         (DECLARE_LRECORD): Undo the last change.
10756         (DECLARE_EXTERNAL_LRECORD): Expand typechecking stuff.
10757
10758 2000-10-17   Daiki Ueno  <ueno@unixuser.org>
10759
10760         * lrecord.h (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): Connect
10761         the implementation to lrecord_implementations_table.
10762
10763 2000-10-14   Daiki Ueno  <ueno@unixuser.org>
10764
10765         * lrecord.h (MAKE_EXTERNAL_LRECORD_IMPLEMENTATION): Don't set the
10766         initial value of `lrecord_type_##c_name' and
10767         `lrecord_##c_name.lrecord_type_index'; discard "const" qualifier.
10768         (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): New macro.
10769         [ERROR_CHECK_TYPECHECK] (DECLARE_TYPECHECK_LRECORD): New macro.
10770         [ERROR_CHECK_TYPECHECK] (DECLARE_LRECORD): Use it.
10771         [ERROR_CHECK_TYPECHECK] (DECLARE_EXTERNAL_LRECORD): Use it.
10772
10773 2000-10-17  Martin Buchholz  <martin@xemacs.org>
10774
10775         * miscplay.c (sndcnv8S_2mono):
10776         (sndcnv2monounsigned):
10777         (sndcnvULaw_2linear):
10778         (sndcnv16swap):
10779         Remove implementation-defined behavior.
10780
10781 2000-10-12  Martin Buchholz  <martin@xemacs.org>
10782
10783         * input-method-xlib.c: Warning suppression.
10784
10785 2000-10-05  MIYASHITA Hisashi  <himi@m17n.org>
10786
10787         * mule-ccl.c: Sync up with Emacs 21.0.90.
10788         (ccl_driver)<CCL_TranslateCharacter>: Disabled.
10789         Do nothing.
10790         (ccl_driver)<CCL_TranslateCharacterConstTbl>:
10791         Likewise.
10792         (ccl_driver[WriteMultibyteChar2]): Bug fix.
10793         Use MAX_LEADING_BYTE_OFFICIAL_2 instead of
10794         MIN_LEADING_BYTE_OFFICIAL_2 to check whether the
10795         leading char belongs to official 2-dimensional charset.
10796         (CCL_WRITE_CHAR): When CCL_MODE_ENCODING,
10797         write the given character as is.  Otherwise,
10798         if it is a multibyte char, convert it by
10799         non_ascii_set_charptr_emchar, then write it.
10800         (CCL_WRITE_STRING): Likewise.
10801         (ccl_get_compiled_code): New function.
10802         (setup_ccl_program): When ccl_prog is invalid,
10803         return -1.
10804         (Fregister_code_conversion_map): New function.
10805         (syms_of_mule_ccl): defsubr Fregister_code_conversion_map.
10806
10807         * mule-ccl.h: Sync up with Emacs 21.0.90.
10808         (Fregister_ccl_program): export it.
10809
10810         * redisplay-msw.c (separate_textual_runs):
10811         If ccl program is not valid, don't do ccl conversion.
10812
10813         * redisplay-x.c (separate_textual_runs): Ditto.
10814
10815         * file-coding.c (Fmake_coding_system):
10816         When type is ccl and value is vector, register it
10817         with a proper symbol.  And checks whether the
10818         given ccl program is valid.
10819         (mule_decode): When calling ccl_driver, if src indicates
10820         NULL pointer, set an empty string instead.
10821         (mule_encode): Likewise.
10822
10823 2000-10-11  Martin Buchholz  <martin@xemacs.org>
10824
10825         The following large batch of changes gets us back to a state of
10826         C++ compilability.  Extbyte is now a char, which means that
10827         Extbyte * and Bufbyte * cannot be freely interchanged - a win!
10828
10829         * tooltalk.c (Fset_tooltalk_message_attribute): Type correctness.
10830
10831         * sound.c (Fplay_sound): Type correctness.
10832
10833         * select-x.c (hack_motif_clipboard_selection): Type correctness.
10834         (x_get_window_property): Type correctness.
10835         (receive_incremental_selection): unsigned char ==> Extbyte
10836         (selection_data_to_lisp_data): unsigned char ==> Extbyte
10837         (Fx_get_cutbuffer_internal): unsigned char ==> Extbyte
10838         (Fx_store_cutbuffer_internal): Type correctness.
10839
10840         * process-unix.c (try_to_initialize_subtty): Type correctness.
10841
10842         * objects-x.c (x_print_color_instance): Type correctness.
10843         (x_print_font_instance): Type correctness.
10844         (x_list_fonts): SExtbyte ==> Extbyte.
10845         (valid_x_font_name_p): SExtbyte ==> Extbyte.
10846         (x_find_charset_font): SExtbyte ==> Extbyte.
10847         Use TO_INTERNAL_FORMAT.  build_string ==> make_string.
10848         (truename_via_XListFonts): SExtbyte ==> Extbyte.
10849         (x_font_instance_properties): Use TO_INTERNAL_FORMAT.
10850         Use bufbyte_strcmp.
10851
10852         * mule-charset.h (LEADING_BYTE_PREFIX_P): unsigned char ==> Bufbyte
10853         (PRIVATE_LEADING_BYTE_PREFIX): Add paranoia cast.
10854         (BYTE_ASCII_P): Use bit ops for char-signedness safety.
10855         (BYTE_C0_P): Use bit ops for char-signedness safety.
10856         (BYTE_C1_P): Use bit ops for char-signedness safety.
10857         (CHARSET_BY_LEADING_BYTE):
10858         (CHARSET_BY_ATTRIBUTES):
10859         Always use inline function.
10860         Use type_checking_assert.
10861         Hide chlook.
10862
10863         * mule-charset.c (non_ascii_charptr_copy_char):
10864         Modify to work with both ASCII and non-ASCII characters.
10865         Improve docs and variable names.
10866         Replace over-clever fall-through switch with a simple loop.
10867         (Lstream_get_emchar_1):
10868         Replace over-clever fall-through switch with a simple loop.
10869
10870         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
10871         Warning suppression.
10872
10873         * lstream.h (Lstream_get_emchar): BYTE_ASCII_P cannot be used on
10874         the return value of Lstream_getc, which could be EOF as well.
10875
10876         * lstream.c (Lstream_raw_read): Now returns ssize_t, not int.
10877
10878         * lisp.h: Make Extbyte a char, not unsigned char, so that external
10879         APIs can be used on Extbytes without casts.  Risky!
10880         (SExtbyte): Remove.
10881         (UExtbyte): Remove.
10882
10883         * input-method-xlib.c (XIM_init_device):
10884         Use Xlib.h instead of IntrinsicP.h.
10885         Use HAVE_XREGISTERIMINSTANTIATECALLBACK instead of THIS_IS_X11R6,
10886         which will break in X11R7.
10887         Use XREGISTERIMINSTANTIATECALLBACK_NONSTANDARD_PROTOTYPE,
10888         to call XRegisterIMInstantiateCallback with correct types.
10889
10890         * gui-x.c (button_item_to_widget_value): Type correctness.
10891
10892         * glyphs.c (bitmap_to_lisp_data):  Type correctness.
10893
10894         * glyphs-x.c (pixmap_from_xbm_inline): Type correctness.
10895         (xbm_instantiate_1): Type correctness.
10896         (BUILD_GLYPH_INST):  Type correctness.
10897
10898         * fileio.c (Fsubstitute_in_file_name): Type correctness.
10899
10900         * file-coding.c:
10901         (decode_coding_sjis):
10902         (decode_coding_big5):
10903         (decode_coding_ucs4):
10904         (decode_coding_utf8):
10905         (decode_coding_iso2022):
10906         (decode_coding_no_conversion):
10907         Make all decoding functions take an Extbyte * arg.
10908         (encode_coding_sjis):
10909         (encode_coding_big5):
10910         (encode_coding_ucs4):
10911         (encode_coding_utf8):
10912         (encode_coding_iso2022):
10913         (encode_coding_no_conversion):
10914         Make all encoding functions take a Bufbyte * arg.
10915         Use size_t instead of unsigned int for memory sizes.
10916         Only cast to unsigned char whenever dereferencing Extbyte *.
10917
10918         * doc.c (unparesseuxify_doc_string): Type correctness.
10919
10920         * console-x.c (split_up_display_spec):
10921         Rewrite without using details of internal string representation.
10922         (x_semi_canonicalize_device_connection): Type correctness.
10923
10924         * config.h.in:
10925         (HAVE_XREGISTERIMINSTANTIATECALLBACK): New.
10926         (XREGISTERIMINSTANTIATECALLBACK_NONSTANDARD_PROTOTYPE): New.
10927         (HAVE_XFREE386): Removed.
10928
10929         * buffer.h (DEC_CHARPTR): `const' correctness.
10930         (bufbyte_strcmp): New.
10931         (bufbyte_memcmp): New.
10932
10933         * buffer.c (dfc_convert_to_internal_format): Extbyte ==> Bufbyte
10934
10935         * buffer.h (XCHAR_OR_CHAR_INT):
10936         Always use inline function.
10937         Remove redundant type checking assert() - XINT will abort quite nicely.
10938
10939 2000-10-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
10940
10941         * search.c (Freplace_match): Set newtext to an empty string.
10942
10943 2000-10-10  Martin Buchholz  <martin@xemacs.org>
10944
10945         * s/decosf1-3.h: Remove #include of stropts.h
10946         * s/ptx.h: Remove #include of stropts.h
10947         * s/usg5-4.h: Remove #include of stropts.h
10948         * sysproc.h:
10949         * config.h.in:
10950         Use stropts.h, not sys/stropts.h.
10951         Use strtio.h, not sys/strtio.h.
10952
10953 2000-10-04  Martin Buchholz <martin@xemacs.org>
10954
10955         * XEmacs 21.2.36 is released.
10956
10957 2000-09-21  Andy Piper  <andy@xemacs.org>
10958
10959         * glyphs-x.c (x_redisplay_widget): make sure non-structural
10960         changes still involve copying the widget tree.
10961         (update_widget_face): make sure a change is register in the widget
10962         tree. Call update_tab_widget_face appropriately.
10963         (update_tab_widget_face): ditto.
10964         (x_tab_control_redisplay): make sure non-structural changes still
10965         involve copying the widget tree.
10966
10967 2000-08-31   Daiki Ueno  <ueno@unixuser.org>
10968
10969         * lread.c (locate_file): Check the path element is non-nil.
10970
10971 2000-10-02  Martin Buchholz  <martin@xemacs.org>
10972
10973         * lisp.h: Warning suppression for SCO compilers.
10974
10975         * redisplay-tty.c (reset_tty_modes): Fix crash.
10976         E.g. from xemacs running on X: (delete-device (make-device 'tty nil))
10977
10978 2000-09-27  Martin Buchholz  <martin@xemacs.org>
10979
10980         Big signal/process handling overhaul.  Bugs fixed:
10981         M-x shell, type `sleep 10000', M-x comint-interrupt-subjob and
10982         M-x comint-kill-subjob should work for both values nil and t of
10983         process-connection-type. It was broken on most platforms.
10984         Testing on Irix and Cygwin still needed.  Other plaforms tested.
10985         * sysdep.c: Move #include of stropts.h into sysproc.h.  Use pid_t.
10986         * process-unix.c: Signal/Process handling overhaul.
10987         (pty_name): make 64 bytes, as `expect' does, for paranoia.
10988         (allocate_pty): Use all available modern methods of allocating
10989         ptys, falling back to old style BSD allocation as a last resort.
10990         Use allegedly more secure Unix98 pty allocation by default.
10991         (allocate_pty_the_old_fashioned_way): New. the last resort.
10992         (unix_create_process): Push ptem, ldterm, ttcompat where
10993         available.  Autoconfiscate.
10994         (try_to_initialize_subtty): New.
10995         (unix_kill_child_process): Proper signal handling for ptys on most
10996         platforms, using special knowledge of AIX, BSD, etc...
10997         (unix_create_process): Always disconnect_controlling_terminal() for
10998         subprocesses, whether using ptys or not.
10999         * process.h: Remove old getpt-dependent PTY code.
11000         * process.c (Fprocess_send_signal): New, obvious generic function.
11001         (decode_signal): New.
11002         (Finterrupt_process):
11003         (Fkill_process):
11004         (Fquit_process):
11005         (Fstop_process):
11006         (Fcontinue_process):
11007         (Fsignal_process): Use decode_signal.
11008         (process_send_signal):
11009         Many docstring corrections.
11010         Allow any signal to be sent to a process object.
11011         * config.h.in: Add symbols for big signal/process overhaul.
11012         * syssignal.h (EMACS_KILLPG): Use HAVE_KILLPG. Use `pid', not `gid'.
11013         * sysproc.h: Include process-related headers, where available:
11014         sys/stropts.h sys/strtio.h pty.h libutil.h
11015         * s/irix4-0.h:
11016         * s/irix5-0.h:
11017         * s/cygwin32.h:
11018         * s/gnu.h:
11019         * s/linux.h:
11020         * s/hpux.h:
11021         * s/aix3-1.h:
11022         Remove old S&M pty stuff.
11023         * console-tty.c (tty_init_console): Use pid_t, not int, for pids.
11024         * systty.h: Simplify cpp hackery, improve comments.
11025         Favor BSD ioctl(TIOCGPGRP) over Posix tcgetpgrp().
11026
11027         * editfns.c (Fformat_time_string):
11028         Be a little more paranoid with the return value of ctime.
11029
11030         * fileio.c (check_executable):
11031         (check_writable):
11032         Use symbolic constants X_OK, W_OK.
11033
11034         * console-x.c (split_up_display_spec): Fix a warning.
11035
11036 2000-10-02  Martin Buchholz  <martin@xemacs.org>
11037
11038         * gui-x.c (add_accel_and_to_external): strlen ==> XSTRING_LENGTH
11039         * ntproc.c (sys_spawnve): make_string ==> build_string
11040         Small clarity improvements.
11041
11042 2000-09-30  Martin Buchholz  <martin@xemacs.org>
11043
11044         * events.c (WRONG_EVENT_TYPE_FOR_PROPERTY): Warning removal.
11045
11046         * s/windowsnt.h (HAVE_STRCASECMP): Remove.
11047
11048         * config.h.in (HAVE_STRCASECMP): Remove.
11049
11050 2000-09-29  Martin Buchholz  <martin@xemacs.org>
11051
11052         * redisplay-output.c (redisplay_output_pixmap):
11053         Cleaner and possibly more 64-bit correct code.
11054
11055 2000-09-28  Stephen J. Turnbull  <stephen@xemacs.org>
11056
11057         * dumper.c (pdump_load_finish): move restoration of
11058         `noninteractive1' to emacs.c (main_1).
11059         * emacs.c (main_1): protect LISP-visible command-line flags
11060         from pdump_load().
11061
11062 2000-09-26  Stephen J. Turnbull  <stephen@xemacs.org>
11063
11064         * Makefile.in.in (versionclean):  Use EXE_TARGET and
11065         DUMP_TARGET instead of literal program names.
11066
11067 2000-09-20  Martin Buchholz  <martin@xemacs.org>
11068
11069         * Makefile.in.in: Recent purify's require absolute paths for cache-dir.
11070
11071 2000-09-19  Martin Buchholz  <martin@xemacs.org>
11072
11073         * *: Spelling mega-patch
11074
11075 2000-09-19  Martin Buchholz  <martin@xemacs.org>
11076
11077         * fns.c (bad_bad_turtle):
11078         Delete "Eek!" comment, since we fixed the bug to which it refers.
11079
11080 2000-09-16  Martin Buchholz  <martin@xemacs.org>
11081
11082         * alloca.c: Replace REGISTER with register.
11083
11084 2000-09-16   Daiki Ueno  <ueno@unixuser.org>
11085
11086         * file-coding.c (ucs_to_char): Use countof.
11087
11088 2000-09-16  Martin Buchholz  <martin@xemacs.org>
11089
11090         * file-coding.c: (ucs_to_char):
11091         (complex_vars_of_file_coding):
11092         Use countof instead of sizeof.
11093         Use CHECK_NATNUM instead of CHECK_INT.
11094
11095         * sysdep.c (strcasecmp): Remove.
11096         * device-x.c (ascii_strcasecmp): New.
11097         * device-x.c (Fx_get_resource): Use ascii_strcasecmp.
11098         Avoid using non-standard non-portable strcasecmp.
11099
11100 2000-09-16  Martin Buchholz  <martin@xemacs.org>
11101
11102         * Makefile.in.in (mostlyclean): remove reference to prefix-args.
11103         * font-lock.c: remove reference to emacsfns.h.
11104         * search.c: small doc improvement.
11105         * event-Xt.c: correct file names in comments.
11106         * console-x.h Correct file names in comments.
11107         * frame.c: Correct file names in comments.
11108         * event-stream.c: remove Energize from comments.
11109
11110 2000-09-15  Martin Buchholz  <martin@xemacs.org>
11111
11112         * symeval.h (DEFERROR_STANDARD):
11113         (DEFERROR):
11114         (DEFSYMBOL):
11115         (DEFSYMBOL_NO_DUMP):
11116         (DEFSYMBOL_MULTIWORD_PREDICATE):
11117         (DEFSYMBOL_MULTIWORD_PREDICATE_NO_DUMP):
11118         (DEFKEYWORD):
11119         The construct &##name is not sensible C.
11120         Fixes compilation errors with Unixware native compiler.
11121
11122 2000-09-14  Martin Buchholz  <martin@xemacs.org>
11123
11124         * frame.c (device_matches_console_spec): no longer takes a `frame' arg
11125         (next_frame_internal): Removed.  We now just have next_frame.
11126         (next_frame):
11127         Write a simpler and cleaner one-pass algorithm.
11128         Remove called_from_delete_device arg and #ifdefed-out code.
11129         (previous_frame):
11130         Renamed from prev_frame.  Update callers.
11131         Cleaned up to have an analogous implementation to next_frame.
11132         (other_visible_frames_internal): Remove the
11133         called_from_delete_device bogus arg, and hence, remove this
11134         function.  Just use other_visible_frames().
11135
11136         * window.c (Fnext_window):
11137         Prettify docstring.
11138         Since next_frame() is guaranteed to return a frame, remove check
11139         for nil inserted in previous patch.
11140         (Fprevious_window):
11141         Prettify docstring.
11142         Make code look more like Fnext_window.
11143         (window_loop):
11144         Respect the `console' arg when iterating through windows.
11145         Fixes bug: (get-buffer-window buffer t device) not respecting
11146         the `device' arg.
11147         This function needs more work, as others have pointed out.
11148
11149         * frame.h: Rename prev_frame to previous_frame.
11150         device_matches_console_spec no longer takes a `frame' arg.
11151
11152         * s/gnu.h:
11153         * s/linux.h:
11154         * s/hpux.h:
11155         Use EMACS_BLOCK_SIGNAL instead of sigblock.
11156         From "Golubev I. N." <gin@mo.msk.ru>.
11157
11158         * make-src-depend: Fix typo.
11159
11160 2000-09-13  Martin Buchholz  <martin@xemacs.org>
11161
11162         * window.c (Fnext_window):
11163         next_frame() might return nil, not a frame.
11164         Fixes this crash:
11165         (gdb) run -eval '(progn  (make-device (quote x) "polgar:0") (next-window (minibuffer-window) t (quote visible) (second (device-list))))'
11166
11167         * frame.c (next_frame_internal):
11168         We've passed a frame if we've passed its device.
11169         Fixes this crash:
11170         (gdb) run -eval '(progn (make-frame nil (make-device (quote x) "polgar:0")) (next-window (minibuffer-window) t (quote visible) (second (device-list))))'
11171 Fatal error: assertion failed, file /project/xemacs/ws/dev/src/frame.h, line 245, RECORD_TYPEP (obj, lrecord_type_frame)
11172
11173 2000-09-11  Jonathan Harris  <jhar@tardis.ed.ac.uk>
11174
11175         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
11176         Allow option to suppress accelerators in menu/dialog items.
11177         (populate_or_checksum_helper): Pass dialog title through above.
11178
11179 2000-09-10  Jonathan Harris  <jhar@tardis.ed.ac.uk>
11180
11181         * event-msw.c (mswindows_key_to_emacs_keysym):
11182         Add "pause" key, fix "menu" key.
11183
11184 2000-09-09  Martin Buchholz  <martin@xemacs.org>
11185
11186         * eval.c (reinit_vars_of_eval):
11187         Increase max_lisp_eval_depth to 1000,
11188         required for thai-xtis.el to byte-compile under some circumstances.
11189
11190 2000-09-04  Martin Buchholz  <martin@xemacs.org>
11191
11192         * event-Xt.c (x_to_emacs_keysym): Increase size of `buffer' to 513.
11193         From Kenichi Handa.
11194
11195 2000-09-01  Martin Buchholz  <martin@xemacs.org>
11196
11197         * make-src-depend: Make the generated Makefiles smaller.
11198
11199         * s/hpux.h (SETUP_SLAVE_PTY):
11200         Provide a %d in the format string for the errno argument.
11201
11202         * editfns.c (Ftemp_directory):
11203         Warning fix.
11204         Avoid buffer overrun on very long file name.
11205
11206         * input-method-xlib.c (XIM_init_device):
11207         6th parameter of XRegisterIMInstantiateCallback has different
11208         pointer types on different OSes, so simply cast to (void *).
11209
11210         * unexhp9k800.c: Warning fixes.  Fiddly changes.
11211
11212         * sysdll.c (dll_open):
11213         shl_load will hang hard if passed a NULL filename.
11214         Simply return NULL for compatibility with dlopen.
11215         * sysdll.c: Conform to XEmacs coding standards.
11216
11217         * sysdep.c (get_pty_max_bytes):
11218         Support pty input lines longer than 512 bytes on HP-UX 10.20.
11219
11220 2000-08-31  Martin Buchholz  <martin@xemacs.org>
11221
11222         * tooltalk.c: Add #include <syssignal.h>
11223
11224 2000-08-12  Alexandre Oliva  <aoliva@redhat.com>
11225
11226         * s/hpux.h: Don't use undefined function sigunblock().
11227
11228 2000-08-31  Martin Buchholz  <martin@xemacs.org>
11229
11230         * config.h.in: Add HAVE_BALLOON_HELP.
11231         * emacs.c: Use HAVE_BALLOON_HELP.
11232         * Makefile.in.in (x_objs):
11233         Make Balloon Help conditional on finding shape.h.
11234
11235 2000-08-23  Yoshiki Hayashi  <yoshiki@xemacs.org>
11236
11237         * syntax.c (regex_emacs_buffer_p): New variable.
11238         * syntax.h (regex_emacs_buffer_p): extern.
11239         * search.c (looking_at_1):
11240         (string_match_1):
11241         (fast_string_match):
11242         (search_buffer): Set regex_emacs_buffer_p.
11243         * regex.c (re_match_2_internal): Reference regex_emacs_buffer_p
11244         when before_dot, at_dot, after_dot.
11245
11246 2000-08-23  Andy Piper  <andy@xemacs.org>
11247
11248         * gui-x.c (popup_selection_callback): Only set action_occurred
11249         when we really have an image instance.
11250         * gui-msw.c (mswindows_handle_gui_wm_command): ditto.
11251
11252 2000-08-23  Andy Piper  <andy@xemacs.org>
11253
11254         * gui-msw.c (mswindows_handle_gui_wm_command): set
11255         action_occurred.
11256         * gui-x.c (popup_selection_callback): ditto.
11257
11258         * glyphs.h (IMAGE_INSTANCE_WIDGET_ACTION_OCCURRED): new accessor.
11259         (XIMAGE_INSTANCE_WIDGET_ACTION_OCCURRED): ditto.
11260         (struct Lisp_Image_Instance): add action_occurred flag.
11261
11262         * glyphs.c (redisplay_subwindow): use action_occurred flag.
11263         (image_instance_changed): ditto.
11264         (reset_frame_subwindow_instance_cache): only unmap windows - do
11265         not remove them from the cache also.
11266
11267         * glyphs-widget.c (tab_control_update): better debug.
11268         (progress_gauge_update): ditto.
11269         (layout_update): ditto.
11270         (layout_instantiate): ditto.
11271         (tab_control_order_only_changed): cope with null pending items.
11272
11273         * glyphs-msw.c (mswindows_tab_control_redisplay): add better
11274         debug. Force selection of an item when an action occurred. Cope
11275         with null pending_items.
11276         (mswindows_progress_gauge_redisplay): better debug.
11277         * glyphs-x.c (x_tab_control_redisplay): ditto.
11278
11279         * redisplay.c (redisplay_frame): reset the frame cache if the
11280         frame is garbaged.
11281
11282         * window.c (Fset_window_configuration): potentially re-enable
11283         frame cache reset.
11284         (window_unmap_subwindows): need to finalize instances here since
11285         it is only used in mark_window_as_deleted.
11286
11287 2000-08-22  Stephen J. Turnbull  <stephen@xemacs.org>
11288
11289         * nas.c (SndOpenDataForReading):
11290         nas.c (WaveOpenDataForReading):
11291         nas.c (readChunk): {BIG,LITTLE}_ENDIAN -> NAS_{BIG,LITTLE}_ENDIAN.
11292         Somehow escaped from the 2000-08-14 patch.
11293
11294 2000-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
11295
11296         * nas.c:  Preprocessor trickery to use NAS_LITTLE_ENDIAN instead
11297         of LITTLE_ENDIAN (conflicts with glibc, at least) in NAS <= 1.2p5.
11298
11299 2000-08-21  Andy Piper  <andy@xemacs.org>
11300
11301         * glyphs-x.c (x_map_subwindow): Minor optimization - only map the
11302         window if it is not already displayed.
11303
11304         * glyphs-msw.c (mswindows_map_subwindow): only map the window if
11305         it is not already displayed.
11306
11307         * window.c (Fset_window_configuration): don't reset the frame
11308         cache.
11309
11310         * glyphs.c (unmap_subwindow_instance_cache_mapper): only remove
11311         instances from the frame cache if we are actually finalizing them.
11312         (reset_frame_subwindow_instance_cache): reset frame cache only
11313         after unmapping everything.
11314         (map_subwindow): set displayed flag after mapping.
11315
11316 2000-08-21  Martin Buchholz  <martin@xemacs.org>
11317
11318         * data.c (indirect_function):
11319         Rename ERRORP to non-misleading VOID_FUNCTION_ERRORP.
11320
11321         * eval.c (function_argcount):
11322         Use original function when signaling errors.
11323
11324 2000-08-18  Andy Piper  <andy@xemacs.org>
11325
11326         * frame.c (delete_frame_internal): use new
11327         free_frame_subwindow_instances name.
11328
11329         * glyphs-msw.c (mswindows_tab_control_instantiate): verify index.
11330         (add_tab_item): make return type correct.
11331         (mswindows_tab_control_instantiate): assert index of tab.
11332         (mswindows_tab_control_redisplay): Re-code to use
11333         gui_item_equal_sans_selected and gui_item_list_find_selected.
11334
11335         * glyphs-widget.c (tab_control_update): Correct comment.
11336
11337         * window.c (window_unmap_subwindows): use new
11338         unmap_subwindow_instance_cache_mapper.
11339         (window_unmap_subwindows_cache_mapper): deleted.
11340         (Fset_window_configuration): comparisons should now be with
11341         EQ. Preserve the subwindow instance cache across configuration
11342         changes.
11343         (allocate_window): ditto.
11344         (make_dummy_parent): ditto.
11345
11346         * glyphs.c (free_frame_subwindow_instances): rename from
11347         free_frame_subwindow_instance_cache. finalize all instances rather
11348         than just those in the display cache.
11349         (finalize_all_subwindow_instances): walk windows unmapping and
11350         finalizing subwindows.
11351         (unmap_subwindow_instance_cache_mapper): moved from
11352         window.c. Allow finalization as well as unmapping.
11353
11354         * gui.c (gui_item_list_find_selected): new function.
11355
11356         * gui.h (gui_item_list_find_selected): declare.
11357
11358         * glyphs-x.c (x_tab_control_redisplay): pick tab
11359         explicitly. Re-code to use gui_item_equal_sans_selected and
11360         gui_item_list_find_selected.
11361
11362         * glyphs-x.h: add lwlib-utils.h
11363
11364         * buffer.c (Frecord_buffer): undo previous change.
11365
11366 2000-08-09  Vin Shelton  <acs@xemacs.org>
11367
11368         * config.h.in, s/gnu.h, s/hpux.h, s/linux.h: Use UNIX98 PTYs if
11369         possible.  Create temporary files more securely.  The patch was
11370         generated by Torsten Duwe <duwe@caldera.de>, Florian Weimer
11371         <Florian.Weimer@RUS.Uni-Stuttgart.DE> and Olaf Kirch.  See
11372         http://www.xemacs.org/list-archives/xemacs-patches/200007/msg00123.html
11373         for details.
11374
11375 2000-08-07  Ben Wing  <ben@xemacs.org>
11376
11377         * getloadavg.c: remove duplicate (and windows-breaking)
11378         includes of fcntl.h and sys/file.h.
11379
11380         * nt.c: remove duplicate getloadavg() definition.
11381
11382         * sysdll.h (Qdll_filename_encoding): add missing stand-in
11383         encodings.
11384
11385 2000-08-07  Gunnar Evermann  <ge204@eng.cam.ac.uk>
11386
11387         * eval.c (function_argcount): If function needs to be autoloaded
11388         actually use the loaded definition.
11389         GCPRO function.
11390
11391 2000-08-05  Ben Wing  <ben@xemacs.org>
11392
11393         * getloadavg.c: add prototype for getloadavg().  remove
11394         duplicate WIN32_NATIVE/CYGWIN code (already in the middle
11395         of the code).  remove duplicate header includes.
11396
11397         * s\cygwin32.h, s\mingw32.h: remove stray NO_ARG_ARRAY.
11398
11399         * s\cygwin32.h, s\mingw32.h, m\windowsnt.h:
11400         don't define LOAD_AVE_TYPE/LOAD_AVE_CVT because we have no
11401         useful load average.
11402
11403         * alloc.c (reinit_alloc_once_early): removed references to
11404         VIRT_ADDR_VARIES, malloc_sbrk_used/free, and data-bytes-used/free.
11405         the lisp vars are the only things referencing the malloc_sbrk_*
11406         vars, and they were already if 0'd out.  these vars only exist
11407         in the older malloc.c, which is basically unused, and they're
11408         only for informational purposes.
11409
11410         * m\*.h: removed useless VIRT_ADDR_VARIES.
11411
11412         * m\powerpc.h: removed stray NO_ARG_ARRAY.
11413
11414 2000-04-26  IKEYAMA Tomonori  <tomonori@suiyokai.org>
11415
11416         * redisplay-msw.c (mswindows_output_dibitmap): Set foreground
11417         color if the image is a mono pixmap.
11418
11419 2000-07-30  Ben Wing  <ben@xemacs.org>
11420
11421         * Makefile.in.in (release):
11422         Remove stray @.
11423
11424         * buffer.c (directory_is_current_directory):
11425         * dired-msw.c (mswindows_get_files):
11426         * dired.c:
11427         * dired.c (Fdirectory_files):
11428         * dired.c (file_name_completion_stat):
11429         * dired.c (Ffile_attributes):
11430         [[[[1]]]]: Rename stat() -> xemacs_stat() and eliminate nasty
11431         preprocessor tricks, to avoid problems on some machines
11432         (e.g. SCO).
11433
11434         * callproc.c (egetenv): GC docs.
11435
11436         * console-msw.h:
11437         * console-msw.h (struct mswindows_dialog_id):
11438         * lrecord.h (lrecord_type):
11439         New object for use with MSW dialogs.
11440
11441         * console.h (struct console_methods):
11442         New enable/disable frame methods, for proper modal dialogs.
11443
11444         * device-msw.c (msprinter_default_printer): Fix to follow
11445         proper Mule conventions.
11446
11447         * device-msw.c:
11448         * device-msw.c (signal_open_printer_error):
11449         * device-msw.c (msprinter_init_device):
11450         * device-msw.c (ensure_not_printing):
11451         * device-msw.c (plist_get_margin):
11452         * device-msw.c (Fmsprinter_select_settings):
11453         * device-msw.c (finalize_devmode):
11454         * device-msw.c (Fmsprinter_settings_despecialize):
11455         * device-msw.c (signal_enum_priner_error):
11456         * extents.c (decode_extent):
11457         * extents.c (decode_map_extents_flags):
11458         * extents.c (decode_extent_at_flag):
11459         * extents.c (Fextent_at):
11460         * extents.c (Fextents_at):
11461         * extents.c (symbol_to_glyph_layout):
11462         [[[[2]]]] Use structured errors.
11463
11464         * dialog-msw.c:
11465         * dialog-msw.c (mswindows_is_dialog_msg):
11466         * dialog-msw.c (mark_mswindows_dialog_id):
11467         * dialog-msw.c (dialog_proc):
11468         * dialog-msw.c (handle_question_dialog_box):
11469         * dialog-msw.c (syms_of_dialog_mswindows):
11470         Define new object to clean up marking; use it as a dialog identifier.
11471         Call new delete-dialog-box-hook.
11472
11473         * dialog-x.c (dbox_selection_callback):
11474         * dialog-x.c (dbox_descriptor_to_widget_value):
11475         * dialog-x.c (x_make_dialog_box_internal):
11476         Call new delete-dialog-box-hook.
11477         Return an id.
11478
11479         * dialog.c:
11480         * dialog.c (syms_of_dialog):
11481         * dialog.c (vars_of_dialog):
11482         Define new delete-dialog-box-hook, for use w/modal dialog boxes.
11483
11484         * eval.c:
11485         * eval.c (signal_call_debugger):
11486         when noninteractive, output stack traces on the console instead
11487         of in a (never-seen) buffer.
11488
11489         * eval.c (signal_type_error):
11490         * eval.c (invalid_argument_2):
11491         * lisp.h:
11492         new funs for use w/structured errors.
11493
11494         * event-Xt.c:
11495         * event-Xt.c (x_to_emacs_keysym):
11496         * event-Xt.c (describe_event):
11497         * event-Xt.c (emacs_Xt_event_handler):
11498         * event-Xt.c (vars_of_event_Xt):
11499         * event-msw.c:
11500         * event-msw.c (mswindows_wnd_proc):
11501         * event-msw.c (vars_of_event_mswindows):
11502         rename {x,mswindows}-debug-events to debug-{}-events for
11503         consistency with other debug-foo variables.
11504
11505         * event-stream.c:
11506         document next-event more clearly.
11507
11508         * fileio.c (Ffile_name_directory):
11509         * fileio.c (Ffile_name_nondirectory):
11510         * fileio.c (Funhandled_file_name_directory):
11511         * fileio.c (file_name_as_directory):
11512         * fileio.c (Ffile_name_as_directory):
11513         * fileio.c (directory_file_name):
11514         * fileio.c (Fdirectory_file_name):
11515         * fileio.c (Fmake_temp_name):
11516         * fileio.c (Ffile_truename):
11517         * fileio.c (Fsubstitute_in_file_name):
11518         * fileio.c (expand_and_dir_to_file):
11519         * fileio.c (barf_or_query_if_file_exists):
11520         * fileio.c (check_executable):
11521         * fileio.c (Ffile_exists_p):
11522         * fileio.c (Ffile_writable_p):
11523         * fileio.c (Ffile_directory_p):
11524         * fileio.c (Ffile_regular_p):
11525         * fileio.c (Ffile_modes):
11526         * fileio.c (Ffile_newer_than_file_p):
11527         * fileio.c (Fverify_visited_file_modtime):
11528         * fileio.c (Fset_visited_file_modtime):
11529         * fileio.c (auto_save_1):
11530         (1). (2).
11531         fix up gcpro's.
11532
11533         * frame-msw.c:
11534         * frame-msw.c (mswindows_init_frame_1):
11535         * frame-msw.c (mswindows_enable_frame):
11536         * frame-msw.c (error_frame_unsizable):
11537         * frame-msw.c (msprinter_init_frame_1):
11538         * frame-msw.c (msprinter_init_frame_3):
11539         * frame-msw.c (console_type_create_frame_mswindows):
11540         (2).
11541         implement new enable/disable frame methods.
11542
11543         * frame-x.c:
11544         * frame-x.c (x_enable_frame):
11545         * frame-x.c (console_type_create_frame_x):
11546         implement new enable/disable frame methods.
11547
11548         * frame.c:
11549         * frame.c (Fdisable_frame):
11550         * frame.c (syms_of_frame):
11551         * frame.h (struct frame):
11552         implement new enable/disable frame methods/functions.
11553
11554         * general-slots.h:
11555         add initial-focus.
11556
11557         * glyphs-msw.c (mswindows_widget_instantiate):
11558         comment that initial-focus should be implemented.
11559
11560         * glyphs-widget.c:
11561         * glyphs-widget.c (check_valid_instantiator):
11562         * glyphs-widget.c (check_valid_orientation):
11563         * glyphs-widget.c (check_valid_tab_orientation):
11564         * glyphs-widget.c (check_valid_justification):
11565         * glyphs-widget.c (check_valid_border):
11566         * glyphs-widget.c (check_valid_callback):
11567         * glyphs-widget.c (check_valid_int_or_function):
11568         * glyphs-widget.c (check_valid_string_or_vector):
11569         * glyphs-widget.c (check_valid_item_list_1):
11570         * glyphs-widget.c (widget_validate):
11571         * glyphs-widget.c (combo_box_validate):
11572         * glyphs-widget.c (widget_instantiate):
11573         * glyphs-widget.c (syms_of_glyphs_widget):
11574         * glyphs-widget.c (VALID_WIDGET_KEYWORDS):
11575         * glyphs-widget.c (image_instantiator_combo_box):
11576         * glyphs-widget.c (image_instantiator_scrollbar):
11577         * glyphs-widget.c (image_instantiator_tab_control):
11578         * glyphs-widget.c (VALID_LAYOUT_KEYWORDS):
11579         (2).
11580         support (unimplemented) keyword initial-focus.
11581         reindent long macros.
11582
11583         * glyphs-x.c (x_redisplay_widget):
11584         * glyphs-x.c (x_button_instantiate):
11585         * glyphs-x.c (x_button_redisplay):
11586         * glyphs-x.c (x_progress_gauge_instantiate):
11587         * glyphs-x.c (x_edit_field_instantiate):
11588         * glyphs-x.c (x_combo_box_instantiate):
11589         * glyphs-x.c (x_tab_control_instantiate):
11590         * glyphs-x.c (x_label_instantiate):
11591         * gui-x.c:
11592         * gui-x.c (button_item_to_widget_value):
11593         * gui-x.c (gui_items_to_widget_values_1):
11594         * gui-x.c (gui_item_children_to_widget_values):
11595         * gui-x.c (gui_items_to_widget_values):
11596         * gui-x.h:
11597         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
11598         add new flag to gui-parsing routines to indicate whether
11599         accelerator specs should be supported.
11600
11601         * glyphs.c (syms_of_glyphs): use DEFSYMBOL.
11602
11603         * glyphs.h (struct Lisp_Image_Instance):
11604         * glyphs.h (IMAGE_INSTANCE_WANTS_INITIAL_FOCUS):
11605         add initial-focus flag.
11606
11607         * gui.c:
11608         * gui.c (syms_of_gui):
11609         * gui.c (vars_of_gui):
11610         clean up menu-no-selection-hook.
11611
11612         * gui.h:
11613         support delete-dialog-box-hook.
11614
11615         * lread.c (Fload_internal):
11616         * lread.c (locate_file_in_directory_mapper):
11617         (1).
11618
11619         * lrecord.h:
11620         * lrecord.h (struct toolbar_button):
11621         * lrecord.h (syms_of_toolbar):
11622         document how to create a new object.
11623
11624         * menubar-msw.c (mswindows_char_is_accelerator):
11625         may be called on frames w/o menus.
11626
11627         * menubar.c (vars_of_menubar):
11628         clean up :filter docs.
11629
11630         * nt.c (readdir):
11631         * ntproc.c:
11632         (1).
11633
11634         * process-nt.c:
11635         * process-nt.c (validate_signal_number):
11636         * process-nt.c (signal_cannot_launch):
11637         * process-nt.c (nt_create_process):
11638         * process-nt.c (nt_send_process):
11639         * process-nt.c (nt_kill_child_process):
11640         * process-nt.c (nt_open_network_stream):
11641         * process-nt.c (syms_of_process_nt):
11642         (2).
11643         delete quote-handling.  call new lisp code that does it better.
11644
11645         * process-unix.c (connect_to_file_descriptor):
11646         * process-unix.c (allocate_pty):
11647         * process-unix.c (unix_send_process):
11648         * process-unix.c (unix_kill_child_process):
11649         * process-unix.c (unix_open_network_stream):
11650         * process-unix.c (unix_open_multicast_group):
11651         (1). (2).
11652
11653         * process.c:
11654         * process.c (Fstart_process_internal):
11655         (2).  need to canonicalize process path even if absolute.
11656
11657         * select-msw.c (symbol_to_ms_cf):
11658         * select-msw.c (ms_cf_to_symbol):
11659         * select-msw.c (cf_is_autofreed):
11660         * select-msw.c (mswindows_destroy_selection):
11661         * select.c:
11662         * select.c (syms_of_select):
11663         * select.h:
11664         support dibv5, fix bugs. (from Mike Alexander)
11665
11666         * select.c (Fget_selection_internal):
11667         * select.c (select_convert_out):
11668
11669         * sysdep.c:
11670         * sysdep.c (xemacs_stat):
11671         renamed.
11672
11673         * sysdep.c (mkdir):
11674         * sysdep.c (rmdir):
11675         but keep original stat() here because we provide encapsulation
11676         around these funs.
11677
11678         * sysfile.h:
11679         * sysfile.h (fstat):
11680         remove stat garbage.
11681
11682         * syswindows.h:
11683         fix X/MSW conflict.
11684         don't include tchar.h.  it's inappropriate because it makes
11685         compile-time distinctions when we want runtime distinctions.
11686         (we provide our own tchar replacements)
11687
11688         * toolbar.c:
11689         use default object printer for toolbar-button.
11690
11691         * unexcw.c:
11692         make sure we don't encapsulate.
11693
11694         * window.c (vars_of_window):
11695         emphasize that temp-buffer-show-hook is obsolete.
11696
11697 2000-08-05  Martin Buchholz  <martin@xemacs.org>
11698
11699         * glyphs.c (image_instance_hash): HASH2 wants EMACS_INT args.
11700         (Fimage_instance_subwindow_id): make_int wants EMACS_INT arg.
11701
11702         * events.c (Fevent_timestamp_lessp):
11703         Not 64-bit clean.  Use EMACS_INT, not int.
11704
11705 2000-06-05  Andrew Begel <abegel@cs.berkeley.edu>
11706
11707         * lrecord.h (lrecord_types): Changed lrecord_type_count to an
11708         unsigned int and changed the last enum to
11709         lrecord_type_last_built_in_type.
11710         (lrecord_implementations_table): changed prototype to know how
11711         long the array is supposed to be.
11712         (lrecord_type_count): new unsigned int to keep track of the
11713         current number of lisp lrecord types.
11714         (DEFINE_EXTERNAL_LRECORD):
11715         (DECLARE_EXTERNAL_LRECORD): Added these two for external
11716         dynamic-modules to declare new lisp types. They are the same
11717         as the non-EXTERNAL forms, but declare an lrecord_type unsigned
11718         int for each new type, and increment lrecord_type_count by 1.
11719
11720         * alloc.c (lrecord_implementations_table): Changed to reference
11721         lrecord_type_last_built_in_type for the size of the array.
11722         Moved MODULE_DEFINABLE_TYPE_COUNT to lrecord.h.
11723
11724 2000-08-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
11725
11726         * glyphs.h (check_valid_item_list): Renamed from
11727         check_valid_item_list_1.
11728
11729 2000-08-01 Alastair J. Houghton <ajhoughton@lineone.net>
11730
11731         * select.c (Qselect_coerce): New.
11732         * select.c (Vselection_coercion_alist): New.
11733         * select.c (syms_of_select): Declare.
11734         * select.c (get-selection-internal): Use it.
11735         Use the new select-coerce functionality.
11736
11737         * select.c (select_coerce): New.
11738         * select.h (select_coerce): Declare.
11739         New function to coerce one type of data into another.
11740
11741 2000-08-03  Martin Buchholz  <martin@xemacs.org>
11742
11743         * callproc.c (Fcall_process_internal):
11744         (Fcall_process_internal):
11745         * process-unix.c (unix_create_process):
11746         Save and restore the value of errno, so that error messages are accurate.
11747
11748 2000-08-01  Martin Buchholz  <martin@xemacs.org>
11749
11750         * elhash.c (print_hash_table):
11751         Fix printing of hash tables to also use `key-and-value' instead of `t'.
11752         Prettify docstrings and indentation.
11753
11754 2000-07-31  Yoshiki Hayashi  <yoshiki@xemacs.org>
11755
11756         * window.c (Fwindow_pixel_edges): Subtract frame border and
11757         gutter size.
11758
11759 2000-07-31  Andy Piper  <andy@xemacs.org>
11760
11761         * buffer.c (Frecord_buffer): make absolutely sure that redisplay
11762         will acknowledge the change.
11763
11764         * glyphs.h: declare tab_control_order_only_changed.
11765
11766         * glyphs-x.c (x_tab_control_redisplay): use
11767         tab_control_order_only_changed.
11768
11769         * glyphs-widget.c (tab_control_order_only_changed): new function.
11770
11771         * glyphs-msw.c (mswindows_tab_control_redisplay): use
11772         tab_control_order_only_changed.
11773
11774         * gui.c (gui_item_equal_sans_selected): new function.
11775         (gui_item_equal): use it.
11776
11777         * glyphs-msw.c (mswindows_combo_box_instantiate): deprecate
11778         :properties in favor of :items..
11779
11780         * glyphs-widget.c (check_valid_item_list): rename from
11781         check_valid_item_list_1.
11782         (check_valid_item_list_1): renamed.
11783         (combo_box_validate): deprecate :properties in favor of :items.
11784         (widget_instantiate): ditto.
11785         (tab_control_update): ditto.
11786         (image_instantiator_combo_box): ditto.
11787         (image_instantiator_tree_view): ditto.
11788         (image_instantiator_tab_control): ditto.
11789         (layout_post_instantiate): remove dead code.
11790
11791         * print.c (debug_print_no_newline): only write to debugger if in
11792         WIN32_NATIVE.
11793
11794         * elhash.c (Fmake_hash_table): update doc string.
11795
11796         * event-msw.c (mswindows_wnd_proc): don't allow processing of
11797         messages whilst in GC. This at least stops XEmacs crashing but has
11798         the potential for wierd behaviour.
11799
11800 2000-07-31  Martin Buchholz  <martin@xemacs.org>
11801
11802         * config.h.in:
11803         Make existence of s&m files optional.
11804
11805         * s/bsd386.h: Remove HAVE_GETLOADAVG.
11806         * s/freebsd.h: Remove HAVE_GETLOADAVG.
11807         * s/gnu.h: Remove HAVE_GETLOADAVG.
11808         * s/netbsd.h: Remove HAVE_GETLOADAVG.
11809         * s/sol2.h: Remove HAVE_GETLOADAVG.
11810         * lisp.h: Remove getloadavg() declaration.
11811         * fns.c:
11812         Include <sys/loadavg.h> if available.
11813         Don't declare our own getloadavg() if HAVE_GETLOADAVG.
11814         * config.h.in:  Group together getloadavg()-related macros.
11815         Use only configure-time tests to detect getloadavg().
11816
11817 2000-07-30  Martin Buchholz  <martin@xemacs.org>
11818
11819         * Makefile.in.in (TransientEmacsShell.o): Fix race condition.
11820
11821 2000-07-25  Andy Piper  <andy@xemacs.org>
11822
11823         * syswindows.h: add tchar.h for native builds.
11824
11825         * frame.c (syms_of_frame): remove set-glyph-image.
11826
11827         * general-slots.h: add Qset_glyph_image.
11828
11829         * glyphs-widget.c (layout_update): add domain arg to
11830         set-glyph-image.
11831         (syms_of_glyphs_widget): remove set-glyph-image.
11832
11833 2000-07-23  Ben Wing  <ben@xemacs.org>
11834
11835         * dialog-msw.c (vars_of_dialog_mswindows): need to staticpro
11836         Vpopup_frame_list.
11837
11838 2000-07-22  Andy Piper  <andy@xemacs.org>
11839
11840         * symsinit.h: add syms_of_win32().
11841
11842         * gui-msw.c (syms_of_gui_mswindows): remove
11843         Fmswindows_shell_execute.
11844         (Fmswindows_shell_execute): moved to win32.c.
11845
11846         * emacs.c (main_1): add syms_of_win32 ().
11847
11848         * win32.c (init_potentially_nonexistent_functions): rewrite in
11849         compiler-friendly terms.
11850         (Fmswindows_shell_execute): move here from gui-msw.c.
11851         (syms_of_win32): new.
11852
11853         * device-msw.c (Fmswindows_printer_list): clean up args to
11854         EnumPrinters.
11855         Don't include tchar under cygwin or mingw.
11856         (msprinter_default_printer): make cygwin-friendly.
11857
11858 2000-07-21  Andy Piper  <andy@xemacs.org>
11859
11860         * glyphs-widget.c (image_instantiator_tree_view): use tab
11861         control's update function.
11862         (layout_property): new function. Retrieve items.
11863
11864         * glyphs-msw.c (mswindows_tree_view_redisplay): new
11865         function. Re-populate the tree view from the pending items.
11866
11867         * glyphs.c (instantiate_image_instantiator): Make sure the domain
11868         is designated the parent if the domain is an image instance. This
11869         is needed so that dirtiness can be cascade up the hierarchy and
11870         thus for layout children to be redisplayed correctly.
11871         (allocate_image_instance): rename glyph -> parent.
11872
11873         * redisplay.h: change redisplay_output_layout signature.
11874
11875         * redisplay-msw.c (mswindows_output_display_block): use domain
11876         arg.
11877
11878         * redisplay-x.c (x_output_display_block): use domain arg.
11879
11880 2000-07-10  Andy Piper  <andy@xemacs.org>
11881
11882         * window.c (Fset_window_configuration): add comment.
11883
11884         * redisplay-output.c (compare_runes):
11885         (redisplay_output_subwindow): redisplay rather than update subwindow.
11886         (redisplay_output_layout): ditto.
11887
11888         * redisplay-msw.c (mswindows_frame_output_end):
11889         (mswindows_frame_output_end): make defer window pos optional.
11890
11891         * lisp.h: add Flast.
11892
11893         * glyphs.h (struct image_instantiator_methods): add dest_mask top
11894         normalize method. Change update method to be for changed
11895         instantiators. Add redisplay method. Change signature of layout
11896         method.
11897         (struct Lisp_Image_Instance): add instantiator.
11898         (IMAGE_INSTANCE_INSTANTIATOR): new.
11899         (IMAGE_INSTANCE_SUBWINDOW_FACE): new.
11900         (XIMAGE_INSTANCE_INSTANTIATOR): new.
11901         (XIMAGE_INSTANCE_SUBWINDOW_FACE): new.
11902
11903         * glyphs.c:
11904         (find_instantiator_differences): new function.
11905         (Fset_instantiator_property): new convenience function.
11906         (check_image_instance_structure): strictly check for vector
11907         instantiators.
11908         (normalize_image_instantiator): make non-static.
11909         (instantiate_image_instantiator): pass on dest_mask and use new
11910         signatures for image_instance_layout and friends.
11911         (mark_image_instance): mark the instantiator. Mark the subwindow
11912         face not the widget face.
11913         (image_instance_equal): add instantiator.
11914         (image_instance_hash): ditto.
11915         (allocate_image_instance): ditto.
11916         (Fset_image_instance_property): removed.
11917         (Fimage_instance_file_name): ditto.
11918         (Fcolorize_image_instance): ditto.
11919         (image_instance_layout): add offsets to be set.
11920         (update_image_instance): new function. update an image instance
11921         from its changed instantiator.
11922         (inherit_normalize): add dest_mask.
11923         (xbm_normalize): ditto.
11924         (xface_normalize): ditto.
11925         (xpm_normalize): ditto.
11926         (text_update): set_property -> update.
11927         (image_instantiate): use the glyph identity as a hash key, not the
11928         instantiator.
11929         (glyph_width): use new image_instance_layout signature.
11930         (glyph_ascent): ditto.
11931         (glyph_descent): ditto.
11932         (glyph_height): ditto.
11933         (glyph_query_geometry): ressurrect.
11934         (glyph_layout): ditto.
11935         (redisplay_subwindow): update -> redisplay.
11936         (syms_of_glyphs): add Fset_instantiator_property.
11937         (image_instantiator_format_create): set_property -> update.
11938
11939         * glyphs-x.c:
11940         (autodetect_normalize): add dest_maks to signature.
11941         (x_redisplay_subwindow): update -> redisplay.
11942         (x_redisplay_widget): ditto.
11943         (x_button_redisplay): ditto.
11944         (x_progress_gauge_redisplay): ditto.
11945         (x_tab_control_redisplay): ditto. Rewrite to cope with changed
11946         stacking order.
11947         (console_type_create_glyphs_x): update -> redisplay.
11948         (image_instantiator_format_create_glyphs_x): ditto.
11949
11950         * glyphs-widget.c:
11951         (check_valid_instantiator): disallow glyphs in the instantiator,
11952         they must now be vectors.
11953         (check_valid_instantiator_list): ditto.
11954         (glyph_instantiator_to_glyph): use internal symbol rather than
11955         intern.
11956         (widget_update): renamed from widget_set_property. Call cascaded
11957         update methods.
11958         (redisplay_widget): renamed from update_widget.
11959         (widget_layout): image_instance_layout now takes position as well
11960         as size.
11961         (widget_normalize): ditto.
11962         (widget_instantiate): ditto.
11963         (tab_control_query_geometry) ditto.:
11964         (tab_control_update): renamed from tab_control_set_property.
11965         (progress_gauge_update): set_property -> update.
11966         (layout_normalize): rewrite so that child instantiators are
11967         normalized also.
11968         (layout_update): new function. Create glyphs from the normalized
11969         children and cope with any other layout keywords. We do not
11970         instantiate children here that will be take care of by
11971         redisplay_output_layout.
11972         (layout_instantiate): call layout_update and not much else.
11973         (layout_post_instantiate): not sure whether this is needed
11974         anymore.
11975         (layout_query_geometry): query glyph geometry rather than
11976         image_instance geometry.
11977         (layout_layout): set offsets from pass in parameters. Use glyph
11978         geometry and layout functions rather than image instance ones.
11979         (native_layout_layout): ditto.
11980         (syms_of_glyphs_widget): add make-glyph and set-glyph-image.
11981         (image_instantiator_widget): set_property -> update.
11982         (image_instantiator_buttons): ditto.
11983         (image_instantiator_progress_guage): ditto.
11984         (image_instantiator_tab_control): ditto.
11985         (VALID_LAYOUT_KEYWORDS): instantiators must now be vectors.
11986         (image_instantiator_layout): add update method.
11987
11988         * glyphs-msw.c (bmp_normalize):
11989         (mswindows_resource_normalize): add dest_mask so that it can be
11990         proprogated by layout_normalize.
11991         (begin_defer_window_pos): make optional because it may not be the
11992         right thing to do and it introduces differences with X.
11993         (mswindows_unmap_subwindow): ditto.
11994         (mswindows_map_subwindow): ditto.
11995         (mswindows_redisplay_subwindow): renamed from
11996         mswindows_update_subwindow.
11997         (mswindows_redisplay_widget): ditto.
11998         (mswindows_button_redisplay): renamed from
11999         mswindows_button_update. Update is now what the instantiation
12000         function does for a changed instantiator.
12001         (mswindows_progress_gauge_instantiate): set the progress value
12002         here if appropriate.
12003         (mswindows_tab_control_redisplay): cope with re-ordering of the
12004         members of the tab widget by simply selecting the new top
12005         widget. This makes things appear ok if you click on a tab.
12006         (mswindows_combo_box_instantiate): image_instance_layout now takes
12007         position as well as size.
12008         (mswindows_progress_gauge_redisplay): renamed from
12009         mswindows_progress_gauge_update.
12010         (console_type_create_glyphs_mswindows): fix update -> redisplay.
12011         (image_instantiator_format_create_glyphs_mswindows): ditto.
12012
12013         * glyphs-eimage.c (jpeg_normalize):
12014         (gif_normalize):
12015         (png_normalize):
12016         (tiff_normalize): add dest_mask so that it can be proprogated by
12017         layout_normalize.
12018
12019         * elhash.c:
12020         (print_hash_table):
12021         (hash_table_weakness_validate):
12022         (decode_hash_table_weakness):
12023         (Fhash_table_weakness):
12024         (Fhash_table_type):
12025         (syms_of_elhash): use Ben's naming scheme for hashtable types..
12026
12027         * console.h (struct console_methods): move update_* to
12028         redisplay_*.
12029
12030 2000-07-20  Ben Wing  <ben@xemacs.org>
12031
12032         * *.[ch] (XSETOBJ): remove unused middle argument.
12033         lisp-disunion.h: correct wrap_object() to one argument.
12034
12035 2000-07-15  Ben Wing  <ben@xemacs.org>
12036
12037         * s/cygwin32.h:
12038         * s/cygwin32.h (CYGWIN_CONV_PATH):
12039         Add missing logb prototype for v1.1.
12040         Use post-b20 names and alias to pre-b20 names when pre-b20.
12041
12042         * s/windowsnt.h: [5].
12043
12044 2000-07-15  Ben Wing  <ben@xemacs.org>
12045
12046         * Makefile.in.in (x_objs):
12047         * Makefile.in.in (sheap_objs):
12048         * Makefile.in.in (objs):
12049         added win32.o, cosmetic cleanups.
12050
12051         * alloc.c (Fmake_byte_code):
12052         [[[1]]]: Changes for new LIST_LOOP, EXTERNAL_LIST_LOOP,
12053         etc. macros which declare their own args now.
12054
12055         * alloc.c (syms_of_alloc):
12056         [[[2]]]: Use DEFSYMBOL, DEFKEYWORD, DEFERROR and friends.
12057
12058         * buffer.c:
12059         Moved buffer-dedicated-frame, set-buffer-dedicated-frame into lisp.
12060
12061         * buffer.c (Fget_file_buffer):
12062         Fixed GCPRO problem.
12063
12064         * buffer.c (get_truename_buffer):
12065         Fixed comment about GC checking.
12066
12067         * buffer.c (syms_of_buffer):
12068         Undeclared those dedicated frame funs.
12069         [2].
12070
12071         * buffer.h:
12072         Define convenience macros for internal/external conversions.
12073         [[[3]]]: Define codesys aliases Qcommand_argument_encoding
12074         and Qenvironment_variable_encoding for cleaner code.
12075
12076         * bufslots.h:
12077         Remove dedicated-frame; in lisp.
12078
12079         * bytecode.c (funcall_compiled_function):
12080         [1].
12081
12082         * bytecode.c (syms_of_bytecode):
12083         [2].
12084
12085         * console-msw.c:
12086         * console-msw.c (mswindows_show_console): Rewrote.
12087
12088         * console-msw.c (Fmswindows_debugging_output): New.
12089         Sends to OutputDebugString (special MSWin debugger interface).
12090
12091         * console-msw.c (Fmswindows_message_box):
12092         Fixed stupid bugs so it works when called from kill-emacs.
12093
12094         * console-msw.c (syms_of_console_mswindows):
12095         Declare Fmswindows_debugging_output.
12096
12097         * console-msw.h:
12098         New MSWin prototypes.
12099
12100         * console-msw.h (struct mswindows_frame):
12101         New entry last-click-mods for improved button-modifier support.
12102
12103         * console-msw.h (FRAME_MSWINDOWS_POPUP):
12104         New struct entry `popup' with corresponding accessor.
12105
12106         * console-x.c:
12107         * console-x.c (split_up_display_spec):
12108         * console-x.c (get_display_arg_connection):
12109         * console-x.c (x_semi_canonicalize_console_connection):
12110         * console-x.c (x_canonicalize_device_connection):
12111         [[[6]]]: Change char to more specific type.
12112         [[[8]]]: Make use of abstracting codesys aliases defined in [3], [4];
12113
12114         * console-x.c (x_semi_canonicalize_console_connection):
12115         * console-x.c (x_canonicalize_device_connection):
12116         [[[9]]]: Fix up error signalling to use new structured error system.
12117
12118         * console-x.h:
12119         [[[4]]]: Define codesys aliases:
12120         Qlwlib_encoding, Qx_atom_name_encoding, Qx_font_name_encoding,
12121         Qx_color_name_encoding, Qx_display_name_encoding.
12122
12123         * console.h (struct console_methods):
12124         New method make_dialog_box_internal supersedes older
12125         popup_dialog_box method.
12126
12127         * data.c:
12128         Define many new errors, part of new structured errors.
12129
12130         * data.c (init_errors_once_early):
12131         * data.c (syms_of_data):
12132         [2].
12133
12134         * device-msw.c (mswindows_init_device):
12135         [[[5]]]: Cleanup to support NT 3.51.
12136
12137         * device-msw.c (decode_devmode): Cleanup.
12138
12139         * device-msw.c (mswindows_handle_print_setup_dialog_box):
12140         * device-msw.c (mswindows_handle_print_dialog_box):
12141         * device-msw.c (mswindows_handle_page_setup_dialog_box):
12142         * device-msw.c (syms_of_device_mswindows):
12143         Delete the dialog box primitives recently introduced by Kirill and
12144         instead interface to general dialog box interface.
12145
12146         * device-x.c:
12147         * device-x.c (compute_x_app_name):
12148         * device-x.c (x_init_device):
12149         * device-x.c (Fx_valid_keysym_name_p):
12150         * device-x.c (Fx_set_font_path):
12151         [6].
12152         [7].
12153
12154         * device.h (wrap_device): New.
12155         First of its kind; meant to replace XSETDEVICE.
12156
12157         * dialog-msw.c: Many file-dialog symbols.
12158
12159         * dialog-msw.c (mswindows_register_popup_frame): New.
12160         * dialog-msw.c (mswindows_is_dialog_msg): New.
12161         For supporting kbd traversal in dialog boxes.
12162
12163         * dialog-msw.c (dialog_proc):
12164         Support hitting ESC in dialogs.
12165
12166         * dialog-msw.c (struct):
12167         Common dialog box errors.
12168
12169         * dialog-msw.c (handle_file_dialog_box): New.
12170         Add file dialog code.
12171
12172         * dialog-msw.c (handle_question_dialog_box):
12173         Redo existing code to support new question dialog syntax.
12174
12175         * dialog-msw.c (console_type_create_dialog_mswindows):
12176         We support new dialog console method.
12177
12178         * dialog-msw.c (syms_of_dialog_mswindows):
12179         * dialog-msw.c (vars_of_dialog_mswindows):
12180         New file dialog symbols, vars.
12181
12182         * dialog-x.c:
12183         * dialog-x.c (maybe_run_dbox_text_callback):
12184         * dialog-x.c (dbox_descriptor_to_widget_value):
12185         * dialog-x.c (x_make_dialog_box_internal):
12186         * dialog-x.c (console_type_create_dialog_x):
12187         Mule-ize entire file.
12188         Redo to support question dialog syntax.
12189         [6].
12190
12191         * dialog.c:
12192         * dialog.c (Fmake_dialog_box_internal):
12193         * dialog.c (syms_of_dialog):
12194         Kill old popup-dialog-box, replace with new primitive.
12195         Just call device method or signal error.
12196
12197         * eldap.c (Fldap_open):
12198         * eldap.c (Fldap_search_basic):
12199         * eldap.c (Fldap_add):
12200         * eldap.c (Fldap_modify):
12201         [1].
12202         [7].
12203
12204         * emacs.c:
12205         * emacs.c (make_arg_list_1):
12206         * emacs.c (make_arg_list):
12207         Mule-ize call to dll_init().
12208         [6].
12209         [8].
12210
12211         * emacs.c (make_argc_argv):
12212         * emacs.c (free_argc_argv):
12213         * emacs.c (init_cmdargs):
12214         * emacs.c (main_1):
12215         * emacs.c (Fkill_emacs):
12216         * emacs.c (Fdump_emacs):
12217         Update comments about what can be used in syms_* etc.
12218         Call init_win32() when necessary.
12219         Fix up MS Win dialog box in kill-buffer to actually work right.
12220         [7].
12221
12222         * eval.c:
12223         * eval.c (For):
12224         * eval.c (Fand):
12225         * eval.c (Fprogn):
12226         * eval.c (Fprog1):
12227         * eval.c (Fprog2):
12228         * eval.c (FletX):
12229         * eval.c (Flet):
12230         * eval.c (condition_case_3):
12231         * eval.c (Feval):
12232         * eval.c (function_argcount):
12233         * eval.c (funcall_lambda):
12234         [1].
12235
12236         * eval.c (type_error): New.
12237         * eval.c (maybe_type_error): New.
12238         * eval.c (continuable_type_error): New.
12239         * eval.c (maybe_continuable_type_error): New.
12240         * eval.c (type_error_with_frob): New.
12241         * eval.c (maybe_type_error_with_frob): New.
12242         * eval.c (continuable_type_error_with_frob): New.
12243         * eval.c (maybe_continuable_type_error_with_frob): New.
12244         New functions for use with structured errors.
12245
12246         * event-Xt.c:
12247         * event-Xt.c (x_event_to_emacs_event):
12248         Buttons are now modifiers too.
12249
12250         * event-Xt.c (emacs_Xt_current_event_timestamp):
12251         Implement new event method.
12252         * event-Xt.c (reinit_vars_of_event_Xt): Set it.
12253
12254         * event-msw.c:
12255         * event-msw.c (ntpipe_shove_writer): [5].
12256         * event-msw.c (mswindows_enqueue_mouse_button_event):
12257         * event-msw.c (mswindows_drain_windows_queue):
12258         * event-msw.c (mswindows_wnd_proc): [7].
12259         * event-msw.c (mswindows_current_layout_has_AltGr): [5].
12260         * event-msw.c (mswindows_modifier_state):
12261         Throughout: support new button modifiers.
12262
12263         * event-msw.c (emacs_mswindows_current_event_timestamp):
12264         Implement new event method.
12265         * event-msw.c (reinit_vars_of_event_mswindows): Set it.
12266
12267         * event-stream.c:
12268         * event-stream.c (event_stream_current_event_timestamp): New.
12269         * event-stream.c (maybe_kbd_translate): New functionality.
12270         * event-stream.c (vars_of_event_stream):
12271         Document new kbd-translate-table functionality.
12272
12273         * event-stream.c (Fcurrent_event_timestamp): New.
12274         New primitive for use in fabricated events.
12275         * event-stream.c (syms_of_event_stream): [2]. Declare new primitive.
12276
12277         * events-mod.h (XEMACS_MOD_BUTTON1): new button modifiers.
12278
12279         * events.c:
12280         * events.c (Fmake_event):
12281         * events.c (WRONG_EVENT_TYPE_FOR_PROPERTY):
12282         [1].
12283         [9].
12284
12285         * events.c (format_event_object): fix gcc warnings.
12286
12287         * events.c (Fevent_timestamp): Document new primitives.
12288
12289         * events.c (TIMESTAMP_HALFSPACE): New.
12290
12291         * events.c (Fevent_timestamp_lessp): New.  New primitive for
12292         comparing timestamps correctly (half-space algorithm).
12293
12294         * events.c (Fevent_modifier_bits): Doc fix.
12295
12296         * events.c (Fevent_modifiers): Major doc addition.
12297         * events.c (event_x_y_pixel_internal): Typo fix.
12298         * events.c (syms_of_events): Declare new primitives.
12299
12300         * events.h:
12301         Update long comment for button modifiers, timestamps.
12302
12303         * events.h (struct event_stream):
12304         New current_event_timestamp method.
12305
12306         * extents.c:
12307         * extents.c (extent_in_region_p):
12308         * extents.c (decode_extent):
12309         * extents.c (Fset_extent_parent):
12310         * extents.c (decode_map_extents_flags):
12311         Fix gcc warnings.
12312         [9].
12313
12314         * extents.c (struct extent_at_arg):
12315         * extents.c (decode_extent_at_flag):
12316         * extents.c (extent_at_mapper):
12317         * extents.c (extent_at_bytind):
12318         * extents.c (Fextent_at): Adapt to new lower-level interface. [9].
12319         * extents.c (Fextents_at): New primitive. [9].
12320         * extents.c (symbol_to_glyph_layout): [9].
12321         Support new primitive `extents-at'.
12322
12323
12324         * extents.c (get_text_property_bytind):
12325         extent_at_bytind has another arg.
12326         [9].
12327
12328         * extents.c (syms_of_extents): New primitive.
12329
12330         * file-coding.c (Fmake_coding_system): [1].
12331         * file-coding.c (subsidiary_coding_system): fix gcc warning
12332         * file-coding.c (syms_of_file_coding): [2].
12333
12334         * fileio.c (Fexpand_file_name):
12335         * fileio.c (Fsysnetunam):
12336         * fileio.c (Ffile_exists_p):
12337         * fileio.c (Ffile_executable_p):
12338         * fileio.c (Fverify_visited_file_modtime):
12339         Clean up GCPROing.
12340
12341         * fileio.c (syms_of_fileio): [2].
12342
12343         * filelock.c (lock_file_1):
12344         * filelock.c (current_lock_owner):
12345         * filelock.c (lock_if_free):
12346         * filelock.c (lock_file):
12347         * filelock.c (unlock_file):
12348         Clean up GCPROing.
12349
12350         * fns.c (concat): Fix gcc warning.
12351
12352         * fns.c (Fmember):
12353         * fns.c (Fold_member):
12354         * fns.c (Fmemq):
12355         * fns.c (Fold_memq):
12356         * fns.c (memq_no_quit):
12357         * fns.c (Fassoc):
12358         * fns.c (Fold_assoc):
12359         * fns.c (Fassq):
12360         * fns.c (Fold_assq):
12361         * fns.c (assq_no_quit):
12362         * fns.c (Frassoc):
12363         * fns.c (Fold_rassoc):
12364         * fns.c (Frassq):
12365         * fns.c (Fold_rassq):
12366         * fns.c (rassq_no_quit):
12367         * fns.c (Fdelete):
12368         * fns.c (Fold_delete):
12369         * fns.c (Fdelq):
12370         * fns.c (Fold_delq):
12371         * fns.c (delq_no_quit):
12372         * fns.c (Fremassoc):
12373         * fns.c (Fremassq):
12374         * fns.c (remassq_no_quit):
12375         * fns.c (Fremrassoc):
12376         * fns.c (Fremrassq):
12377         * fns.c (remrassq_no_quit):
12378         * fns.c (Freverse):
12379         * fns.c (mapcar1):
12380         [1].
12381
12382         * frame-msw.c (mswindows_init_frame_1):
12383         * frame-msw.c (mswindows_delete_frame):
12384         Register popups with dialog code so keyboard traversing works.
12385
12386         * frame-tty.c (tty_raise_frame_no_select): [1].
12387
12388         * frame-x.c:
12389         * frame-x.c (x_set_frame_text_value):
12390         * frame-x.c (x_set_frame_properties):
12391         * frame-x.c (x_create_widgets):
12392         [7].
12393
12394         * frame.c:
12395         * frame.c (Fmouse_pixel_position): Minor doc fixes.
12396
12397         * frame.h (wrap_frame): New.
12398         Macro like wrap_device.
12399
12400         * general.c:
12401         * general.c (SYMBOL):
12402         * general.c (syms_of_general):
12403         Major reorg.  This is now just a wrapper and symbols themselves
12404         are listed in general-slots.h.
12405
12406         * glyphs-eimage.c (tiff_instantiate): Need cast to fix warning.
12407         * glyphs-msw.c (mswindows_resource_instantiate): [5].
12408
12409         * glyphs-msw.c (mswindows_native_layout_instantiate):
12410         Add DS_CONTROL so keyboard traversal will work.
12411
12412         * glyphs-widget.c:
12413         * glyphs-widget.c (syms_of_glyphs_widget):
12414         Move some symbols to general-slots.h.
12415
12416         * glyphs-x.c:
12417         * glyphs-x.c (xbm_instantiate_1):
12418         * glyphs-x.c (x_xbm_instantiate):
12419         * glyphs-x.c (x_xface_instantiate):
12420         * glyphs-x.c (autodetect_instantiate):
12421         * glyphs-x.c (cursor_font_instantiate):
12422         * glyphs-x.c (x_update_widget):
12423         * glyphs-x.c (x_widget_instantiate):
12424         * glyphs.c (bitmap_to_lisp_data):
12425         * glyphs.c (pixmap_to_lisp_data):
12426         [7].
12427
12428         * glyphs.c (syms_of_glyphs):
12429         [2].
12430
12431         * gui-x.c:
12432         * gui-x.c (print_widget_value):
12433         * gui-x.c (menu_separator_style_and_to_external):
12434         * gui-x.c (add_accel_and_to_external):
12435         * gui-x.c (button_item_to_widget_value):
12436         * gui-x.c (gui_items_to_widget_values_1):
12437         * gui-x.c (gui_items_to_widget_values):
12438         * gui-x.c (syms_of_gui_x):
12439         * gui-x.c (vars_of_gui_x):
12440         Mule-ize entire file.  Move menu-no-selection-hook to gui.c.
12441         [9].
12442
12443         * gui-x.h:
12444         Muleize, prototype changes matching gui-x.c.
12445
12446         * gui.c:
12447         * gui.c (separator_string_p):
12448         * gui.c (gui_item_add_keyval_pair):
12449         * gui.c (make_gui_item_from_keywords_internal):
12450         * gui.c (signal_too_long_error):
12451         * gui.c (parse_gui_item_tree_item):
12452         * gui.c (syms_of_gui):
12453         * gui.c (vars_of_gui):
12454         * gui.h:
12455         menu-no-selection-hook moved here (used by MSWin).
12456         Move some symbols to general-slots.h.
12457         [6].
12458         [9].
12459
12460         * insdel.c (get_buffer_pos_char):
12461         * insdel.c (get_buffer_range_char):
12462         Add GC comments.
12463
12464         * keymap.c (keymap_lookup_directly):
12465         * keymap.c (keymap_store):
12466         * keymap.c (ensure_meta_prefix_char_keymapp):
12467         * keymap.c (describe_map):
12468         * keymap.h:
12469         Support new button modifiers.
12470
12471         * lisp-disunion.h (wrap_object):
12472         * lisp-disunion.h (XSETOBJ):
12473         Rename make_obj to wrap_object.
12474
12475         * lisp-union.h:
12476         * lisp-union.h (make_int):
12477         * lisp-union.h (make_char):
12478         Support wrap_object.
12479
12480         * lisp.h:
12481         * lisp.h (LIST_LOOP):
12482         * lisp.h (EXTERNAL_LIST_LOOP):
12483         * lisp.h (LIST_LOOP_2):
12484         * lisp.h (EXTERNAL_LIST_LOOP_1):
12485         * lisp.h (EXTERNAL_LIST_LOOP_2):
12486         * lisp.h (EXTERNAL_LIST_LOOP_3):
12487         * lisp.h (EXTERNAL_LIST_LOOP_4_NO_DECLARE):
12488         * lisp.h (PRIVATE_EXTERNAL_LIST_LOOP_6):
12489         * lisp.h (GET_EXTERNAL_LIST_LENGTH):
12490         * lisp.h (EXTERNAL_ALIST_LOOP_5):
12491         * lisp.h (EXTERNAL_ALIST_LOOP_6):
12492         * lisp.h (EXTERNAL_ALIST_LOOP_6_NO_DECLARE):
12493         * lisp.h (EXTERNAL_PROPERTY_LIST_LOOP_5_NO_DECLARE):
12494         * lisp.h (EXTERNAL_PROPERTY_LIST_LOOP_7):
12495         * lisp.h (struct Lisp_Symbol):
12496         * lisp.h (maybe_continuable_error_with_frob):
12497         Fix up section comments.
12498         Add new types for char to indicate usage.
12499         Delete symbols auto-generated from general-slots.h.
12500         Add prototypes for structured error functions.
12501         Add long comments describing looping macros and change interface
12502         so that lvalues are automatically declared.
12503         Add NO_DECLARE macro in case callers want to declare lvalues
12504         themselves.
12505
12506         * lread.c (read_syntax_error):
12507         * lread.c (continuable_read_syntax_error):
12508         * lread.c (read_structure):
12509         * lread.c (sequence_reader):
12510         * lread.c (read_list_conser):
12511         * lread.c (read_compiled_function):
12512         Rename syntax_error and continuable_syntax_error to avoid clash
12513         with same-named structured error functions.
12514
12515         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
12516         * menubar-msw.c (populate_menu_add_item):
12517         * menubar-msw.c (populate_or_checksum_helper):
12518         [5].
12519         [9].
12520
12521         * menubar-x.c:
12522         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
12523         Mule-ize whole file.
12524
12525         * menubar.c (Fnormalize_menu_item_name): Add optimization.
12526
12527         * mule-charset.c (Fmake_charset):
12528         * mule-wnnfns.c (Fwnn_set_param):
12529         [1].
12530
12531         * ntproc.c (create_child):
12532         * ntproc.c (Fwin32_set_current_locale):
12533         Add comments portending doom.
12534
12535         * objects-msw.c:
12536         * objects-msw.c (old_font_enum_callback_2):
12537         * objects-msw.c (font_enum_callback_1):
12538         * objects-msw.c (mswindows_enumerate_fonts):
12539         [5].
12540
12541         * objects-x.c:
12542         * objects-x.c (allocate_nearest_color):
12543         * objects-x.c (x_parse_nearest_color):
12544         * objects-x.c (x_initialize_color_instance):
12545         * objects-x.c (x_print_color_instance):
12546         * objects-x.c (x_finalize_color_instance):
12547         * objects-x.c (x_valid_color_name_p):
12548         * objects-x.c (x_initialize_font_instance):
12549         * objects-x.c (x_print_font_instance):
12550         * objects-x.c (valid_x_font_name_p):
12551         * objects-x.c (truename_via_FONT_prop):
12552         * objects-x.c (truename_via_random_props):
12553         * objects-x.c (truename_via_XListFonts):
12554         * objects-x.c (x_font_truename):
12555         * objects-x.c (x_font_instance_truename):
12556         * objects-x.c (x_font_instance_properties):
12557         * objects-x.c (x_list_fonts):
12558         * objects-x.c (x_find_charset_font):
12559         Mule-ize entire file.
12560         [7].
12561
12562         * objects-x.h:
12563         Mule-verify.
12564
12565         * print.c:
12566         * print.c (std_handle_out_external):
12567         * print.c (debug_print_no_newline):
12568         * print.c (syms_of_print):
12569         Output to all debugger kinds in debug-print.
12570         Fix console-output code under MSWin to actually work.
12571
12572         * process-nt.c (send_signal):
12573         * process-nt.c (nt_create_process):
12574         Use newer Unicode macros.
12575
12576         * process-unix.c (unix_create_process):
12577         * process-unix.c (unix_canonicalize_host_name):
12578         * process-unix.c (unix_open_network_stream):
12579         [7].
12580
12581         * scrollbar-x.c:
12582         Mule-verify.
12583
12584         * search.c (syms_of_search):
12585         [2].
12586
12587         * select-msw.c (mswindows_destroy_selection):
12588         Use LIST_LOOP_2.
12589
12590         * select-x.c (symbol_to_x_atom):
12591         [7].
12592
12593         * select.c (syms_of_select):
12594         [2].
12595
12596         * sound.c (Fplay_sound_file):
12597         [7].
12598
12599         * specifier.c:
12600         * specifier.c (decode_specifier_type):
12601         * specifier.c (Fvalid_specifier_locale_type_p):
12602         * specifier.c (check_valid_locale_or_locale_type):
12603         * specifier.c (decode_locale):
12604         * specifier.c (decode_locale_type):
12605         * specifier.c (decode_locale_list):
12606         * specifier.c (check_valid_domain):
12607         * specifier.c (decode_specifier_tag_set):
12608         * specifier.c (Fcanonicalize_tag_set):
12609         * specifier.c (Fdefine_specifier_tag):
12610         * specifier.c (Fspecifier_tag_predicate):
12611         * specifier.c (check_valid_inst_list):
12612         * specifier.c (check_valid_spec_list):
12613         * specifier.c (decode_how_to_add_specification):
12614         * specifier.c (check_modifiable_specifier):
12615         * specifier.c (specifier_add_spec):
12616         * specifier.c (boolean_validate):
12617         * specifier.c (display_table_validate):
12618         [9].
12619
12620         * specifier.c (syms_of_specifier):
12621         Move some symbols to general-slots.h.
12622         [2].
12623
12624         * symbols.c:
12625         * symbols.c (Fmapatoms):
12626         * symbols.c (Fapropos_internal):
12627         Add GCPROs.
12628
12629         * symbols.c (set_default_buffer_slot_variable):
12630         * symbols.c (set_default_console_slot_variable):
12631         [1].
12632
12633         * symbols.c (defsymbol_massage_name_1):
12634         * symbols.c (defkeyword_massage_name):
12635         * symbols.c (deferror_1):
12636         * symbols.c (deferror):
12637         * symbols.c (deferror_massage_name_and_message):
12638         * symeval.h:
12639         * symeval.h (DEFSYMBOL):
12640         Support DEFSYMBOL*, DEFKEYWORD, DEFERROR
12641
12642         * symbols.c (syms_of_symbols):
12643         [2].
12644
12645         * symsinit.h:
12646         * symsinit.h (init_win32): New.
12647         Also new is syms_of_dialog_mswindows.
12648
12649         * syswindows.h:
12650         Add new Unicode macros, missing Cygwin wide-char functions,
12651         convenience conversion macros for Qmswindows_tstr, macros for
12652         encapsulating required MSWin <-> Cygwin filename conversions,
12653         prototype for dynamically-extracted (not in NT 3.51) functions.
12654
12655         * toolbar-x.c:
12656         Mule-verify.
12657
12658         * tooltalk.c (Fadd_tooltalk_message_arg):
12659         * tooltalk.c (Fadd_tooltalk_pattern_attribute):
12660         * tooltalk.c (Fadd_tooltalk_pattern_arg):
12661         [7].
12662
12663         * tooltalk.c (syms_of_tooltalk):
12664         [2].
12665
12666         * unexnt.c:
12667         * unexnt.c (unexec):
12668         Fix up headers, declaration of unexec() to be more standard.
12669
12670 2000-07-20  Martin Buchholz  <martin@xemacs.org>
12671
12672         * offix.h: Revert change to guard macros - they're used in offix.c!
12673
12674 2000-07-18  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12675
12676         * lisp.h: Defsubred Fdelete.
12677
12678         * console-msw.h:  (msprinter_default_printer): Added.
12679
12680         * console-msw.c (msprinter_canonicalize_console_connection):
12681         (msprinter_canonicalize_device_connection): Added.
12682
12683         * device-msw.c (msprinter_default_printer):
12684         (Fmswingows_get_default_printer):
12685         (signal_enum_priner_error):
12686         (Fmswingows_printer_list): Added.
12687
12688 2000-07-19  Martin Buchholz <martin@xemacs.org>
12689
12690         * XEmacs 21.2.35 is released.
12691
12692 2000-07-19  Martin Buchholz  <martin@xemacs.org>
12693
12694         * select-x.c (x_handle_selection_request):
12695         Text selected in xemacs and pasted into xterm failed to appear.
12696         Spelling fixes and cosmetic changes.
12697
12698 2000-07-18  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12699
12700         * event-msw.c (mswindows_drain_windows_queue): Correctly check for
12701         XEmacs frame (fix for doubling chars in dialog boxes).
12702
12703 2000-07-17 Alastair J. Houghton <ajhoughton@lineone.net>
12704
12705         * select.c (select_convert_in, select_convert_out):
12706         Don't call intern() every time.
12707
12708         * select.c (Qselect_convert_in, Qselect_convert_out): New.
12709         * select.c (vars_of_select): Initialise them.
12710
12711 2000-07-18 Alastair J. Houghton <ajhoughton@lineone.net>
12712
12713         * select.c (selection-coercible-types): New.
12714
12715         * select.c (own-selection-internal):
12716         * select.c (get-selection-internal):
12717         MULE bug fix - these should default to COMPOUND_TEXT and not
12718         STRING for MULE. I think.
12719
12720         * select.c (select_convert_out): Use selection-coercible-types
12721         to find types that we can attempt to perform coercions on.
12722
12723 2000-07-18  Martin Buchholz  <martin@xemacs.org>
12724
12725         * mule-wnnfns.c:
12726         * mule-canna.c:
12727         Add coding: cookie to identify encoding.
12728
12729         * mule-canna.c (CANNA_mode_keys): make static.
12730         Use proper prototypes, even for functions of no arguments.
12731         Remove external prototype for Fding().
12732
12733         * symsinit.h: Add missing prototype for reinit_vars_of_mule_wnn.
12734
12735         * select.c (syms_of_select): Add missing DEFSUBR.
12736
12737 2000-07-18 Alastair J. Houghton <ajhoughton@lineone.net>
12738
12739         * select.c (get_selection_internal, own_selection_internal):
12740         Make the type default to STRING, rather than placing a nil type
12741         into Vselection_alist.
12742
12743 2000-07-17 Alastair J. Houghton <ajhoughton@lineone.net>
12744
12745         * gpmevent.c (tty_selection_exists_p):
12746         * gpmevent.c (tty_own_selection):
12747         Updated parameter lists.
12748
12749 2000-07-15 Alastair J. Houghton <ajhoughton@lineone.net>
12750
12751         * select.h (selection-alist): Removed declaration.
12752
12753         * select.h (get_local_selection):
12754         * select.c (get_local_selection):
12755         Made static.
12756
12757         * select.h (convert_selection): Removed declaration.
12758         * select.c (convert_selection): Removed.
12759         This function belongs in Lisp.
12760
12761         * select.h (select_convert_in): Declare.
12762         * select.h (select_convert_out): Declare.
12763         * select.c (select_convert_in): New.
12764         * select.c (select_convert_out): New.
12765         New conversion functions for other files to call.
12766
12767         * select.h (select_notify_buffer_kill): Declare.
12768         * select.c (select_notify_buffer_kill): New.
12769         New functions that get called from kill-buffer.
12770
12771         * buffer.c (kill-buffer): Call select_notify_buffer_kill, rather than
12772         X-specific lisp code.
12773
12774         * select.h: Declare some of the lisp-visible functions for
12775         external use.
12776
12777         * select.c (clean_local_selection_data): Removed. This was
12778         a disgusting function, and previously should have been in
12779         select-x.c in any case. The functionality is now provided
12780         in select-convert-from-integer (select.el).
12781
12782         * select.c (available-selection-types): Fixed stupidity where
12783         INTEGER and ATOM got added twice. Also add STRING when we see an
12784         extent.
12785
12786         * select.c (get-selection-internal): Removed symbol stripping. No
12787         longer causes conversion when data comes from the internal cache.
12788
12789         * select.c (syms_of_select): Added new functions.
12790
12791         * select-x.c (motif_clipboard_cb): Use select_convert_out. Rewrote
12792         error checking - previously this called abort!
12793
12794         * select-x.c (x_own_selection): Changed comment.
12795
12796         * select-x.c (x_handle_selection_request): Use select_convert_out.
12797         Don't mess with selection-alist; it's an internal variable of select.c.
12798
12799         * select-x.c (x_get_foreign_selection): Use select_convert_in.
12800
12801         * select-x.c (x_handle_selection_clear): Use get-selection-timestamp,
12802         rather than messing with selection-alist.
12803
12804         * select-msw.c (mswindows_get_foreign_selection):
12805         Use TO_INTERNAL_FORMAT rather than hacking.
12806
12807 2000-07-14  Martin Buchholz  <martin@xemacs.org>
12808
12809         * process-unix.c (unix_open_multicast_group):
12810         (unix_open_multicast_group): Remove useless casts.
12811
12812 2000-07-13  Martin Buchholz  <martin@xemacs.org>
12813
12814         * sound.c (Fplay_sound): Fix `unused variable' warning.
12815
12816         * emacs.c (main): Use correct type for _environ on SCO5.
12817
12818 2000-07-12 Alastair J. Houghton <ajhoughton@lineone.net>
12819
12820         * console.h (own_selection_method):
12821         * console.h (selection_exists_p_method):
12822         * console.h (available_selection_types_method): New.
12823         * console.h (register_selection_data_type_method): New.
12824         * console.h (selection_data_type_name): New.
12825
12826         * console-msw.h (mswindows_destroy_selection): Declare it.  New
12827         function & alist to track GlobalAlloc()'d handles that need
12828         releasing when the clipboard data gets replaced or emptied.
12829
12830         * event-msw.c (mswindows_wnd_proc): Call it.
12831
12832         * lisp.h, general.c (Qappend): New symbol representing a
12833         `how-to-add' mode.
12834
12835         * select.c (own-selection-internal):
12836         * select.c (selection-exists-p):
12837         * select.c (available-selection-types): New.
12838         * select.c (register-selection-data-type): New.
12839         * select.c (selection-data-type-name): New.  New functions to deal
12840         with device-specific selection data formats.
12841         * select.c (selection-converter-out-alist): Renamed.
12842         * select.c (selection-converter-in-alist): New.
12843         * select.c (selection-appender-alist): New.  Added new alists.
12844         * select.c (syms_of_select, vars_of_select): Added new symbols &
12845         variables.
12846         * select.c (get_local_selection): Split.
12847         * select.c: Removed spurious type checking - selections may now be
12848         of any type, not just strings.
12849         * select.c (own-selection-internal):
12850
12851         * select.h, select.c (convert_selection): New. Created
12852         convert_selection() function based on get_local_selection().
12853         * select.h, select.c (QCF_*): New symbols representing mswindows
12854         clipboard formats.
12855         * select.h, select.c (Qreplace_all, Qreplace_existing): New
12856         symbols representing `how-to-add' modes.
12857
12858         * select-msw.c (x_sym_p): New.
12859         * select-msw.c (symbol_to_ms_cf): New.
12860         * select-msw.c (ms_cf_to_symbol): New. New functions to deal with
12861         symbols & clipboard formats. Can also handle string names.
12862         * select-msw.c (mswindows_own_selection):
12863         * select-msw.c (mswindows_selection_exists_p):
12864         Added `data-type' parameter. Use it.
12865         * select-msw.c (mswindows_available_selection_types): New.
12866         * select-msw.c (mswindows_register_selection_data_type): New.
12867         * select-msw.c (mswindows_selection_data_type_name): New.
12868         * select-msw.c (mswindows_own_selection):
12869         * select-msw.c (mswindows_get_foreign_selection):
12870         * select-msw.c (mswindows_selection_exists_p):  Rewrote.
12871         * select-msw.c (console_create_select_mswindows): Added new methods.
12872         * select-msw.c (mswindows_destroy_selection): New.
12873         * select-msw.c (Vhandle_alist): New list.
12874         * select-msw.c (mswindows_own_selection):
12875
12876         * select-x.c (x_own_selection):
12877         * select-x.c (x_selection_exists_p):
12878         * select-x.c: Added some comments about maybe using new
12879         functionality.
12880         * select-x.c (x_own_selection):
12881
12882         * specifier.c: Remove definition of Qappend (now in general.c)
12883         * specifier.c (syms_of_specifier): Remove Qappend.
12884
12885 2000-07-12  Martin Buchholz  <martin@xemacs.org>
12886
12887         * config.h.in: Add socklen_t.
12888
12889         * s/decosf4-0.h: No special compiler flags needed or desired.
12890         In particular, undefine _BSD for DEC OSF 4.0.
12891
12892 2000-07-07  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12893
12894         * redisplay-msw.c (msprinter_frame_output_end): Added.
12895         (console_type_create_redisplay_mswindows): Referred the above.
12896
12897         * frame.c (setup_frame_without_minibuffer): Do not create a
12898         default minibuffer frame on a printer device.
12899
12900         * frame-msw.c (apply_dc_geometry): Added.
12901         (msprinter_start_page):
12902         (msprinter_init_frame_3):
12903         (msprinter_eject_page): Use it.
12904
12905         * console-msw.h (struct msprinter_frame): Added pix_left and top,
12906         and removed residual duplex and orientation properties.
12907
12908 2000-07-11  Martin Buchholz  <martin@xemacs.org>
12909
12910         * eval.c (function_argcount): Work around a DEC CC compiler bug.
12911
12912         * unexalpha.c: Remove system prototypes from C sources!
12913
12914 2000-07-09  Adrian Aichner  <aichner@ecf.teradyne.com>
12915
12916         * eval.c: Remove references to M-x edit-options in DEFUNs for
12917         `defvar' and `defconst'.
12918
12919 2000-07-09  Martin Buchholz  <martin@xemacs.org>
12920
12921         * config.h.in: Remove SMART_INCLUDE hackery.
12922
12923         PostgreSQL hacking:
12924         * config.h.in: Don't use SMART_INCLUDE.
12925
12926         * postgresql.h: Include libpq-fe.h here.  Fix typo.
12927         * inline.c: Simply #include "postgresql.h"
12928         * postgresql.c:
12929         - Don't use SMART_INCLUDE
12930         - Use simply "const".
12931         - Use standard doc string conventions.
12932         - Use correct type for result of PQstatus.
12933
12934 2000-07-09  Martin Buchholz  <martin@xemacs.org>
12935
12936         * glyphs-x.c (x_xface_instantiate): Fix C++ compilation warnings.
12937
12938         C++ compilation changes.
12939         * config.h.in (EXTERN_C): Define.
12940         * config.h.in (not): This is also a C++ keyword.
12941         * unexalpha.c (DEFAULT_ENTRY_ADDRESS): Enable C++ compilation.
12942         * cm.c: Use EXTERN_C.
12943         * redisplay-tty.c: Use EXTERN_C.
12944         * sysdep.c: Use EXTERN_C.  Remove Gould support.
12945
12946 2000-07-09  Martin Buchholz  <martin@xemacs.org>
12947
12948         * general.c: Remove duplicate definition for Qfunction.
12949
12950 2000-07-08  Ben Wing  <ben@xemacs.org>
12951
12952         * device-msw.c (msprinter_init_device):
12953         * device-msw.c (sync_printer_with_devmode):
12954         * device-msw.c (handle_devmode_changes):
12955         * device-msw.c (print_dialog_worker):
12956         * device-msw.c (Fmsprinter_apply_settings):
12957         * device-msw.c (hash_devmode):
12958         * device-msw.c (Fmsprinter_settings_despecialize):
12959         use Qmswindows_tstr, not Qctext.
12960
12961         * vm-limit.c (check_memory_limits):
12962         avoid infinite loop printing warning messages.
12963
12964 2000-07-05  Craig Lanning  <lanning@scra.org>
12965
12966         * Makefile.in.in: Add support for including the Windows resources
12967         when building with the cygwin and mingw targets.
12968
12969         * buffer.c: from Dan Holmsand, on Windows $PWD is most likely either
12970         not set or not correct.
12971         (directory_is_current_directory): Don't compile for WIN32_NATIVE.
12972         (init_initial_directory): Don't try to use $PWD on the
12973         WIN32_NATIVE target.
12974
12975         * s\cygwin32.h:
12976         [[Add -mwindows to eliminate console window.]] not required --ben
12977         (HAVE_NATIVE_SOUND): removed; now handled by configure.
12978         (MAIL_USE_POP): removed; now handled by configure.
12979
12980         * s\mingw32.h: [[Add -mwindows to eliminate console window.]] not in
12981         C_SWITCH_SYSTEM or it will affect lib-src progs. --ben
12982         (HAVE_NATIVE_SOUND): removed; now handled by configure.
12983         (MAIL_USE_POP): removed; now handled by configure.
12984         (ENCAPSULATE_STAT): from Dan Holmsand, added.
12985         (ENCAPSULATE_FSTAT): from Dan Holmsand, added.
12986         (DIRECTORY_SEP): from Dan Holmsand, use lisp variable instead of
12987         constant string.
12988         (HAVE_TIMEVAL): from Dan Holmsand, added; struct timeval is picked
12989         up from <winsock.h> via systime.h.
12990         (HAVE_GETPAGESIZE): from Dan Holmsand, added.
12991         (getpagesize): from Dan Holmsand, added.
12992         Added #endif which was left dangling by Ben's mega patch; added
12993         comment to help prevent this in the future.
12994
12995         * sysdll.c: added #include <windows.h> for WIN32_NATIVE case.
12996
12997 2000-07-05  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12998
12999         * console-msw.h (struct mswindows_device): Removed unnecessary
13000         cached device geometry values.
13001         Added update_tick and an accessor macro.
13002         (Lisp_Devmode): Added lrecord declaration.
13003         (struct msprinter_device): Contain devmode as a Lisp object.
13004         Added mswindows_get_selected_frame_hwnd();
13005
13006         * console.h (struct console_methods): Indentation nitpicking.
13007
13008         * device-msw.c (mswindows_init_device): Do not initialize geometry
13009         cache. Initialize update tick.
13010         (mswindows_device_system_metrics): Ask the device for its geometry.
13011         (global_free_2_maybe):
13012         (devmode_to_hglobal):
13013         (handle_printer_changes):
13014         (ensure_not_printing):
13015         (print_dialog_worker):
13016         (Fmsprinter_print_setup_dialog):
13017         (Fmsprinter_print_dialog):
13018         (plist_get_margin):
13019         (plist_set_margin):
13020         (Fmsprinter_page_setup_dialog): Added functions.
13021         (sync_printer_with_devmode):
13022         (handle_devmode_changes):
13023         (Fmsprinter_get_settings):
13024         (Fmsprinter_select_settings):
13025         (Fmsprinter_apply_settings):
13026         (allocate_devmode):
13027         (Fmsprinter_settings_copy):
13028         (Fmsprinter_settings_despecialize):
13029         (print_devmode):
13030         (finalize_devmode):
13031         (equal_devmode):
13032         (hash_devmode): Added functions
13033         (syms_of_device_mswindows): Init devmode lrecord class.
13034
13035         * device.h: Added an exfun for find-device.
13036
13037         * event-msw.c (mswindows_wnd_proc): Do not update the cached
13038         geometry; although, recreate the device compatible DC.
13039
13040         * frame-msw.c (mswindows_get_selected_frame_hwnd): Added.
13041         (msprinter_init_frame_3):
13042         (msprinter_frame_property):
13043         (msprinter_internal_frame_property_p):
13044         (msprinter_frame_properties):
13045         (msprinter_set_frame_properties): Removed 'orientation and 'duplex
13046         print job properties (will move to device settings).
13047
13048         * lisp.h: Added symbols.
13049
13050         * general.c (syms_of_general): Declared them.
13051
13052         * hash.c (string_hash): Added.
13053
13054         * lrecord.h (lrecord_type): Added devmode lrecord type.
13055
13056 2000-07-02  Mike Sperber <mike@xemacs.org>
13057
13058         * s/freebsd.h (INTERRUPTIBLE_OPEN): open *is* interruptible on
13059         FreeBSD 4.0.
13060
13061 2000-06-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
13062
13063         * doprnt.c (emacs_doprnt_1): Fix problem with %0XXd for a negative
13064         integer.
13065
13066 2000-06-07  MORIOKA Tomohiko  <tomo@urania.m17n.org>
13067
13068         * data.c (Fstring_to_number): Don't recognize floating point if
13069         base is not 10.
13070
13071 2000-06-22  Martin Buchholz  <martin@xemacs.org>
13072
13073         * glyphs-widget.c (tab_control_query_geometry):
13074         (widget_query_geometry):
13075         (button_query_geometry):
13076         * glyphs.c (text_query_geometry):
13077         Enforce type correctness.
13078
13079 2000-06-18  Martin Buchholz  <martin@xemacs.org>
13080
13081         * s/decosf4-0.h (_etext): Use portable _etext instead of etext.
13082         * s/decosf4-0.h (_edata): Use portable _edata instead of edata.
13083
13084 2000-06-17  Martin Buchholz  <martin@xemacs.org>
13085
13086         * s/decosf4-0.h: Never #include "/usr/include/FOO.h" because this
13087         conflicts with gcc's fixincluded version of FOO.h.
13088
13089         * glyphs.h (image_instance_geometry): Remove trailing `,'
13090
13091 2000-06-08  Mike Alexander  <mta@arbortext.com>
13092
13093         (MAX_SHOVE_BUFFER_SIZE): Change to 512 to match stream buffer size
13094         (shove_thread): Don't write the same output twice
13095         (make_ntpipe_output_stream): Increase priority of shove thread
13096         (ntpipe_shove_writer): Call SwitchToThread to give shove thread a
13097         chance to run
13098         (ntpipe_shove_closer): Don't delete the pipe until we're done with
13099         it.
13100
13101 2000-06-12  Ben Wing  <ben@xemacs.org>
13102
13103         * s\mingw32.h (sigset):
13104         * s\windowsnt.h (sigset):
13105         rename msw_ to mswindows_ for consistency with general convention.
13106
13107 2000-06-12  Ben Wing  <ben@xemacs.org>
13108
13109         * console-msw.c:
13110         * console-msw.c (mswindows_get_console_hwnd):
13111         * console-msw.c (mswindows_ensure_console_allocated):
13112         * console-msw.c (mswindows_hide_console):
13113         * console-msw.c (mswindows_show_console):
13114         * console-msw.c (mswindows_ensure_console_buffered):
13115         * console-msw.c (mswindows_output_console_string):
13116         * console-msw.c (mswindows_windows9x_p):
13117         * console-msw.h:
13118         * device-msw.c (mswindows_get_workspace_coords):
13119         * device-msw.c (mswindows_device_system_metrics):
13120         * dialog-msw.c (mswindows_popup_dialog_box):
13121         * event-msw.c (mswindows_wnd_proc):
13122         * frame-msw.c (mswindows_size_frame_internal):
13123         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
13124         * menubar-msw.c (displayable_menu_item):
13125         * menubar-msw.c (mswindows_char_is_accelerator):
13126         * nt.c:
13127         * nt.c (mswindows_sigset):
13128         * nt.c (mswindows_sigrelse):
13129         * nt.c (mswindows_sigpause):
13130         * nt.c (mswindows_raise):
13131         * nt.c (timer_proc):
13132         * ntproc.c:
13133         * ntproc.c (find_child_console):
13134         * ntproc.c (sys_kill):
13135         * print.c:
13136         * print.c (std_handle_out_external):
13137         * process-nt.c (find_child_console):
13138         * process-nt.c (send_signal_the_95_way):
13139         * process-nt.c (ensure_console_window_exists):
13140         * process-nt.c (nt_create_process):
13141         * syssignal.h:
13142         rename msw_ to mswindows_ for consistency with general convention.
13143
13144         * emacs.c:
13145         * dumper.c:
13146         include nt.h, not syswindows.h.
13147
13148         * nt.c (mswindows_fstat):
13149         * nt.c (mswindows_stat):
13150         prefix mswindows_ instead of attempting to directly override the
13151         library functions.  fix declarations.
13152
13153         * nt.h:
13154         include syswindows.h.  move some sysdep.h stuff here.
13155
13156         * ntheap.h:
13157         include syswindows.h, not <windows.h>.
13158
13159         * ntplay.c:
13160         clean up headers.
13161
13162         * sysdep.c:
13163         clean up headers.
13164
13165         * sysdep.c (sys_fstat):
13166         * sysdep.c (sys_stat):
13167         call mswindows versions when appropriate.
13168
13169         * sysdep.h:
13170         move mswin decls to nt.h.
13171
13172         * syswindows.h:
13173         add long comment describing appropriate use of the various windows
13174         headers.
13175
13176 2000-06-11  Ben Wing  <ben@xemacs.org>
13177
13178         * device-x.c: Correct doc string for sixth arg of x-get-resource.
13179
13180 2000-06-10  Ben Wing  <ben@xemacs.org>
13181
13182         * Makefile.in.in (release):
13183         Correction to make sure xemacs.exe always dumped when correct.
13184
13185         * alloca.c:
13186         * balloon_help.c:
13187         [[[[3]]]]: Conditionalize on actual problem, not WINDOWSNT.
13188
13189         * buffer.c (set_buffer_internal):
13190         [[[[2]]]]: Remove HAVE_FEP code.
13191
13192         * buffer.c (init_initial_directory):
13193         [3].
13194
13195         * bytecode.c:
13196         [[[[4]]]]: limits.h standardly included in lisp.h; remove from
13197         individual files.
13198
13199         * callproc.c:
13200         * callproc.c (call_process_cleanup):
13201         * callproc.c (Fold_call_process_internal):
13202         * callproc.c (child_setup):
13203         * callproc.c (getenv_internal):
13204         * callproc.c (init_callproc):
13205         * callproc.c (vars_of_callproc):
13206         [[[[1]]]]: WINDOWSNT -> WIN32_NATIVE.
13207         __CYGWIN32__ -> CYGWIN.
13208         DOS_NT -> WIN32_NATIVE.
13209         Remove MSDOS support/references, converting to WIN32_NATIVE
13210           where correct.
13211         __MINGW32__ -> MINGW.
13212         Fix windows.h includes.
13213         Remove bogus HAVE_NTGUI.
13214
13215         * config.h.in:
13216         [2].
13217
13218         * console-msw.c:
13219         mswindows_message_outputted added for use in allowing startup
13220         errors on the console to be seen.
13221
13222         * console-msw.c (msw_ensure_console_allocated):
13223         * console-msw.c (msw_output_console_string):
13224         * console-msw.c (DHEADER):
13225         * console-msw.c (DOPAQUE_DATA):
13226         * console-msw.c (DEVENT):
13227         * console-msw.c (DCONS):
13228         * console-msw.c (DCONSCDR):
13229         * console-msw.c (DSTRING):
13230         * console-msw.c (DVECTOR):
13231         * console-msw.c (DSYMBOL):
13232         * console-msw.c (DSYMNAME):
13233         Fix warnings.
13234
13235         * console-stream.c (stream_init_console):
13236         Fix text/binary problems.
13237
13238         * device-msw.c:
13239         * device-msw.c (mswindows_finish_init_device):
13240         * device-msw.c (mswindows_delete_device):
13241         [1].
13242
13243         * device.c (handle_asynch_device_change):
13244         [3].
13245
13246         * dgif_lib.c:
13247         * dgif_lib.c (DGifOpenFileName):
13248         * dgif_lib.c (DGifOpenFileHandle):
13249         * dgif_lib.c (DGifGetLine):
13250         * dgif_lib.c (DGifGetPixel):
13251         Added config.h/lisp.h, fix up includes.
13252         [1].
13253
13254         * dired-msw.c:
13255         [4].
13256
13257         * dired.c:
13258         * dired.c (file_name_completion):
13259         * dired.c (Ffile_attributes):
13260         * dired.c (syms_of_dired):
13261         [1].
13262
13263         * dumper.c:
13264         * dumper.c (pdump_file_unmap):
13265         * dumper.c (pdump_load):
13266         [1].
13267
13268         * editfns.c:
13269         * editfns.c (Ftemp_directory):
13270         * editfns.c (user_login_name):
13271         * editfns.c (Fuser_real_login_name):
13272         * editfns.c (get_home_directory):
13273         [1].
13274
13275         * elhash.c (finish_marking_weak_hash_tables):
13276         [[[[5]]]]: Fix GCC warnings.
13277
13278         * emacs.c:
13279         * emacs.c (mswindows_handle_hardware_exceptions):
13280         * emacs.c (make_arg_list_1):
13281         * emacs.c (main_1):
13282         * emacs.c (Fkill_emacs):
13283         * emacs.c (Fdump_emacs):
13284         [1].
13285         Fix problems with nested crashes, add long comment.
13286
13287         * event-Xt.c (init_event_Xt_late):
13288         [1].
13289
13290         * event-msw.c:
13291         * event-msw.c (mswindows_dde_callback):
13292         * event-msw.c (mswindows_handle_sticky_modifiers):
13293         * event-msw.c (mswindows_wnd_proc):
13294         [1].
13295         [5].
13296
13297         * events.c (character_to_event):
13298         [1].
13299
13300         * fileio.c:
13301         * fileio.c (Ffile_name_directory):
13302         * fileio.c (Ffile_name_nondirectory):
13303         * fileio.c (directory_file_name):
13304         * fileio.c (Fexpand_file_name):
13305         * fileio.c (Fsubstitute_in_file_name):
13306         * fileio.c (Ffile_name_absolute_p):
13307         * fileio.c (check_executable):
13308         * fileio.c (Ffile_readable_p):
13309         * fileio.c (Ffile_accessible_directory_p):
13310         * fileio.c (Ffile_modes):
13311         * fileio.c (Funix_sync):
13312         * fileio.c (vars_of_fileio):
13313         [1]. [4].
13314
13315         [[[[7]]]]: Move CORRECT_DIR_SEPS to s\windowsnt.h.
13316
13317         Expand getdefdir defn.
13318         Fix bogus rename() comment.
13319
13320         [[[[6]]]]: Fix Windows includes w.r.t. removed nt\inc.  Attempt
13321         to use standard XEmacs include files, e.g. sysfile.h, rather
13322         than system-specific includes.
13323
13324         * fns.c:
13325         * fns.c (Fsubseq):
13326         [5]. [6].
13327
13328         * frame.c (vars_of_frame):
13329         [1].
13330
13331         * getloadavg.c:
13332         * getloadavg.c (getloadavg):
13333         [1]. [6].
13334         #ifdef XEMACS not defined on Cygwin.  Remove this; no need for it.
13335         (We don't use it elsewhere in the code; just add a comment.)
13336
13337         * gif_io.c:
13338         [6].
13339         Add config.h.
13340
13341         * glyphs-msw.c:
13342         * glyphs-msw.c (mswindows_resource_instantiate):
13343         [1].
13344
13345         * glyphs-x.c (x_native_layout_instantiate):
13346         [5].
13347
13348         * gui-msw.c (Fmswindows_shell_execute):
13349         [1].
13350
13351         * insdel.c:
13352         [4].
13353
13354         * lisp.h:
13355         [4]. [5].
13356
13357         * lread.c (locate_file_in_directory_mapper):
13358         [1].
13359
13360         * lstream.c:
13361         [4].
13362
13363         * mem-limits.h:
13364         * mem-limits.h (get_lim_data):
13365         [1].
13366
13367         * menubar-msw.c:
13368         [4].
13369
13370         * ndir.h:
13371         [1].
13372
13373         * nt.c:
13374         * nt.c (getwd):
13375         * nt.c (closedir):
13376         * nt.c (rva_to_section):
13377         * nt.c (mswindows_executable_type):
13378         [1]. [6].
13379         Fix closedir() defn.
13380
13381         * nt.h:
13382         [[[[8]]]]: *_OK defs moved to sysfile.h.
13383
13384         * ntproc.c:
13385         [6]. [7].
13386
13387         * objects-x.c:
13388         [4].
13389
13390         * print.c:
13391         * print.c (std_handle_out_external):
13392         [1]. [4].
13393
13394         * process-nt.c:
13395         * process-nt.c (nt_create_process):
13396         [6].
13397         try to fix process quoting somewhat.
13398
13399         * process-unix.c (unix_create_process):
13400         [1].
13401
13402         * process.c:
13403         * process.c (vars_of_process):
13404         Add Vnull_device.
13405
13406         * process.h:
13407         [1].
13408
13409         * realpath.c:
13410         * realpath.c (xrealpath):
13411         [1].
13412
13413         * redisplay-tty.c (init_tty_for_redisplay):
13414         [3].
13415
13416         * redisplay.c:
13417         [4]. [6].
13418
13419         * scrollbar-msw.c:
13420         [4].
13421
13422         * sheap.c:
13423         * sheap.c (more_static_core):
13424         * sheap.c (report_sheap_usage):
13425         [5]. [6].
13426
13427         * signal.c:
13428         * signal.c (alarm_signal):
13429         [1]. [6].
13430
13431         * sound.c:
13432         [6].
13433
13434         * strftime.c:
13435         * strftime.c (zone_name):
13436         [1]. [5].
13437
13438         * symsinit.h (init_sunpro):
13439         [1].
13440
13441         * syscommctrl.h:
13442         commctrl.h not in Cygwin b20.1.
13443
13444         * sysdep.c:
13445         * sysdep.c (endif):
13446         * sysdep.c (sys_subshell):
13447         * sysdep.c (init_baud_rate):
13448         * sysdep.c (emacs_get_tty):
13449         * sysdep.c (emacs_set_tty):
13450         * sysdep.c (tty_init_sys_modes_on_device):
13451         * sysdep.c (init_system_name):
13452         * sysdep.c (sys_open):
13453         * sysdep.c (interruptible_open):
13454         * sysdep.c (sys_fopen):
13455         * sysdep.c (sys_mkdir):
13456         * sysdep.c (sys_rename):
13457         * sysdep.c (get_process_times_1):
13458         [1]. [6].
13459
13460         * sysdep.h:
13461         [1].
13462
13463         * sysdir.h:
13464         * sysdir.h (DIRENTRY_NONEMPTY):
13465         [1]. [6].
13466
13467         * sysdll.c (dll_init):
13468         * sysdll.h:
13469         [1].
13470
13471         * sysfile.h:
13472         [1]. [6]. [8].
13473         added text/binary defs.
13474
13475         * sysfloat.h:
13476         [1].
13477
13478         * sysproc.h:
13479         * sysproc.h (EDESTADDRREQ):
13480         * sysproc.h (poll_fds_for_input):
13481         [1]. [6].
13482
13483         * syspwd.h:
13484         [6].
13485
13486         * syssignal.h:
13487         [1].
13488
13489         * systime.h:
13490         [1]. [6].
13491
13492         * systty.h:
13493         [1].
13494
13495         * syswindows.h:
13496         [1].
13497         Always define WIN32_LEAN_AND_MEAN.
13498
13499         * unexcw.c (unexec):
13500         [5].
13501
13502         * unexec.c:
13503         * unexec.c (copy_text_and_data):
13504         * unexec.c (adjust_lnnoptrs):
13505         [1].
13506
13507         * unexnt.c:
13508         * unexnt.c (_start):
13509         [1].
13510
13511 2000-06-07  Ben Wing  <ben@xemacs.org>
13512
13513         * mule-mcpath.c, mule-mcpath.h: Removed.  Old, crufty code that
13514         was used only as a model.  We've long since extracted any useful
13515         logic or code out of this. (I just did an exhaustive search.)
13516
13517         * s\msdos.h: Removed.
13518
13519         * s\windows95.h: Removed.
13520
13521 2000-06-10  Ben Wing  <ben@xemacs.org>
13522
13523         * s\cygwin32.h:
13524         [1]. [5].
13525         Don't use extern with fun defs.
13526
13527         * s\mingw32.h:
13528         [1]. [7].
13529         Remove nt\inc include.
13530         Remove getdisk, getdefdir. (The former is unused, the latter
13531         expanded in fileio.h.)
13532
13533         * s\windowsnt.h:
13534         * s\windowsnt.h (WIN32_NATIVE):
13535         * s\windowsnt.h (HAVE_STRCASECMP):
13536         [1]. [7].
13537         Add long comment about preprocessor changes.
13538         Remove getdisk, getdefdir. (The former is unused, the latter
13539         expanded in fileio.h.)
13540
13541 2000-06-10  Ben Wing  <ben@xemacs.org>
13542
13543         * m\arm.h:
13544         * m\delta.h:
13545         * m\intel386.h:
13546         * m\sequent.h:
13547         * m\template.h:
13548         * m\windowsnt.h:
13549         [1].
13550         Remove bogus/unused NO_SOCK_SIGIO.
13551
13552 2000-06-08  Hrvoje Niksic  <hniksic@iskon.hr>
13553
13554         * lisp.h (set_string_char): Call set_string_byte with a Bufbyte,
13555         not an Emchar.
13556
13557 2000-06-04  Mike Sperber <mike@xemacs.org>
13558
13559         * casetab.c (set_case_table): For `set-standard-case-table',
13560         actually deposit the new case tables where the rest of XEmacs can
13561         see them.
13562
13563 2000-06-05  Yoshiki Hayashi <yoshiki@xemacs.org>
13564
13565         * data.c (Faset): Don't cast XCHAR() to unsigned char.
13566
13567 2000-06-05  Ben Wing  <ben@xemacs.org>
13568
13569         * callproc.c (child_setup): Don't do close_load_descs() under
13570         MS Windows.  Put in a comment explaining why.
13571
13572 2000-05-28  Adrian Aichner  <aichner@ecf.teradyne.com>
13573
13574         * process-nt.c: Reverting patch "Fixing nt_create_process for MKS
13575         Toolkit shell" which breaks `kill-compilation' on Windows NT
13576         native, retaining STDERR handling improvements.
13577
13578 2000-06-01  Andreas Jaeger  <aj@suse.de>
13579
13580         * s/s390.h: Support for S390, based on a patch by Martin
13581         Schwidefsky <schwidefsky@de.ibm.com>.
13582
13583 2000-05-30  Andy Piper  <andy@xemacs.org>
13584
13585         * window.c (allocate_window):
13586         (make_dummy_parent):
13587         (Fset_window_configuration): use new hashtable type.
13588
13589         * glyphs.h (IMAGE_UNSPECIFIED_GEOMETRY):
13590         (struct image_instantiator_methods):
13591         (struct Lisp_Image_Instance): make instance geometry signed.
13592
13593         * glyphs.c (instantiate_image_instantiator):
13594         (image_instance_query_geometry):
13595         (image_instance_layout):
13596         (image_instance_layout):
13597         (query_string_geometry):
13598         (text_query_geometry):
13599         (image_instantiate):
13600         (image_instantiate):
13601         (cache_subwindow_instance_in_frame_maybe):
13602         (subwindow_query_geometry): make instance geometry signed.
13603
13604         * glyphs-widget.c (widget_query_geometry):
13605         (widget_layout):
13606         (button_query_geometry):
13607         (tree_view_query_geometry):
13608         (tab_control_query_geometry):
13609         (layout_query_geometry):
13610         (layout_layout):
13611         (native_layout_layout): make instance geometry signed.
13612
13613 2000-05-29  Olivier Galibert  <galibert@pobox.com>
13614
13615         * lisp.h: Add Qfull_assoc symbol and WEAK_LIST_FULL_ASSOC
13616         constant.
13617
13618         * general.c (syms_of_general): Add Qfull_assoc symbol.
13619
13620         * data.c (finish_marking_weak_lists): Mark full-assoc lists
13621         correctly.
13622         (decode_weak_list_type): Decode full-assoc type.
13623         (encode_weak_list_type): Encode full-assoc type.
13624         (Fmake_weak_list): Update doc string.
13625
13626 2000-05-30  Andy Piper  <andy@xemacs.org>
13627
13628         * elhash.h (hash_table_weakness): new KEY_VALUE weak hashtable.
13629
13630         * elhash.c (print_hash_table): new KEY_VALUE weak hashtable.
13631         (decode_hash_table_weakness): ditto.
13632         (Fhash_table_weakness): ditto.
13633         (Fhash_table_type): ditto.
13634         (finish_marking_weak_hash_tables): ditto.
13635         (hash_table_weakness_validate): ditto.
13636         (syms_of_elhash): ditto.
13637
13638 2000-05-28  Martin Buchholz <martin@xemacs.org>
13639
13640         * XEmacs 21.2.34 is released.
13641
13642 2000-05-22  Jan Vroonhof  <vroonhof@math.ethz.ch>
13643
13644         * redisplay.c (VERTICAL_CLIP): No longer reset when updating line
13645         start cache.
13646         (updating_line_start_cache): Gone.
13647         (regenerate_window): Replace resetting of VERTICAL_CLIP by
13648         generic code to force a minimum of 1 line laid out in the
13649         CMOTION_DISP case.
13650
13651 2000-05-22  Jan Vroonhof  <vroonhof@math.ethz.ch>
13652
13653         * glyphs.c (instantiate_image_instantiator): Check for initialized
13654         height & width no longer special cases IMAGE_NOTHING.
13655         (nothing_instantiate): Set height and width of instance.
13656
13657 2000-05-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
13658
13659         * unexelf.c (unexec): Search for ".data" section.
13660         Initialize new_data2_offset from old_data_index.
13661         Remove redundant check for ElfW.
13662
13663 2000-05-23  Andy Piper  <andy@xemacs.org>
13664
13665         * glyphs.c (get_image_instantiator_governing_domain): allow more
13666         specific domains as the governing domain rather than expecting an
13667         exact match. This fixes problems with layouts.
13668
13669 2000-05-22  Andy Piper  <andy@xemacs.org>
13670
13671         * redisplay-output.c (compare_runes): check for non-images
13672
13673         * glyphs.c (set_glyph_dirty_p): ditto.
13674         (update_glyph_cachel_data): ditto.
13675
13676         * glyphs-widget.c (layout_post_instantiate): ditto.
13677         (layout_post_instantiate): ditto.
13678
13679         * event-msw.c (mswindows_wnd_proc): warning removal.
13680
13681 2000-05-12  Craig Lanning  <CraigL@DyCon.com>
13682
13683         * s\mingw32.h: Added #undef for CLASH_DETECTION.
13684
13685         * syswindows.h: Moved PBS_SMOOTH definition to syscommctrl.h.
13686
13687         * syscommctrl.h (PBS_SMOOTH): Moved from syswindows.h.
13688
13689         * nt.c (rva_to_section): mingw32 needs rva_to_section.
13690         (mswindows_executable_type): mingw32 now has enough headers for
13691         this to work.
13692
13693 2000-05-20  Andy Piper  <andy@xemacs.org>
13694
13695         * console-msw.c (mswindows_output_last_error): ; -> ,
13696
13697 2000-05-12  Andy Piper  <andy@xemacs.org>
13698
13699         * console-msw.c (FROB): compare ints with ints.
13700
13701 2000-05-11  Andy Piper  <andy@xemacs.org>
13702
13703         * glyphs-x.c (x_finalize_image_instance): make minimal build
13704         happy.
13705
13706 2000-05-20  Ben Wing  <ben@xemacs.org>
13707
13708         * event-Xt.c:
13709         * event-Xt.c (vars_of_event_Xt):
13710         move modifier-keys-are-sticky to event-stream.c.
13711
13712         * event-msw.c:
13713         * event-msw.c (mswindows_enqueue_mouse_button_event):
13714         * event-msw.c (key_needs_default_processing_p):
13715         * event-msw.c (XEMSW_LCONTROL):
13716         * event-msw.c (mswindows_handle_sticky_modifiers):
13717         * event-msw.c (FROB):
13718         * event-msw.c (clear_sticky_modifiers):
13719         * event-msw.c (output_modifier_keyboard_state):
13720         * event-msw.c (output_alt_keyboard_state):
13721         * event-msw.c (mswindows_wnd_proc):
13722         * event-msw.c (mswindows_modifier_state):
13723         * event-msw.c (emacs_mswindows_handle_magic_event):
13724         implement sticky modifiers.
13725
13726         * event-stream.c:
13727         * event-stream.c (vars_of_event_stream):
13728         move modifier-keys-are-sticky here.
13729
13730         * lisp.h:
13731         add CHECK_FUNCTION.
13732
13733         * rangetab.c:
13734         implement map-range-table.
13735
13736
13737 2000-05-17  Yoshiki Hayashi  <yoshiki@xemacs.org>
13738
13739         * redisplay-tty.c (reset_tty_modes):
13740         (tty_redisplay_shutdown): Adjust argument type to
13741         tty_frame_output_end.
13742
13743 2000-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
13744
13745         * eval.c (Fbacktrace): Don't output a line with only right
13746         parenthesis.
13747
13748 2000-05-17  Kenji Itoh  <keit@tpj.co.jp>
13749
13750         * postgresql.c (Fpq_connect_poll): Replace `PS' with `polling_status'.
13751         (Fpq_reset_poll): Ditto.
13752
13753 2000-05-16  Katsumi Yamaoka  <yamaoka@jpl.org>
13754
13755         * redisplay-tty.c: Replace tty_output_end with tty_frame_output_end.
13756
13757 2000-05-16  Ben Wing  <ben@xemacs.org>
13758
13759         * buffer.c:
13760         * buffer.c (dfc_convert_to/from_internal_format):
13761         * buffer.c (reinit_vars_of_buffer):
13762         Fix conversion functions to allow reentrancy.
13763
13764         * console-msw.c:
13765         * console-msw.c (mswindows_output_last_error):
13766         New fun, generally useful -- output a human-readable
13767         version of GetLastError() on the console.
13768
13769         * console-msw.h:
13770         * console-msw.h (struct mswindows_frame):
13771         Changes for DeferWindowPos.  Declare mswindows_output_last_error().
13772
13773         * console-stream.c (stream_output_begin):
13774         * console-stream.c (stream_output_end):
13775         * console-stream.c (stream_output_vertical_divider):
13776         * console-stream.c (stream_clear_region):
13777         * console-stream.c (stream_flash):
13778         * console-stream.c (console_type_create_stream):
13779         Delete blank stream methods, not needed.
13780
13781         * console.h (struct console_methods):
13782         Split begin/end methods into window and frame.
13783
13784         * event-msw.c:
13785         * event-msw.c (mswindows_handle_paint):
13786         * event-msw.c (output_alt_keyboard_state):
13787         * event-msw.c (mswindows_wnd_proc):
13788         * event-msw.c (vars_of_event_mswindows):
13789         Comment about problems with ignored-expose.
13790         Define mswindows-debug-events; not really implemented.
13791
13792         * frame-msw.c (mswindows_init_frame_1):
13793         random cleanups.
13794
13795         * glyphs-msw.c:
13796         * glyphs-msw.c (begin_defer_window_pos):
13797         * glyphs-msw.c (mswindows_unmap_subwindow):
13798         * glyphs-msw.c (mswindows_map_subwindow):
13799         * glyphs-msw.c (mswindows_resize_subwindow):
13800         Use DeferWindowPos to reduce flashing when mapping/unmapping.
13801
13802         * glyphs.c (make_image_instance_1):
13803         Fix crash.
13804
13805         * gutter.c (Fredisplay_gutter_area):
13806         Use new begin/end methods.
13807
13808         * lisp.h (Dynarr_new2):
13809         New creation fun.
13810
13811         * redisplay-msw.c:
13812         * redisplay-msw.c (mswindows_frame_output_begin):
13813         * redisplay-msw.c (mswindows_frame_output_end):
13814         * redisplay-msw.c (console_type_create_redisplay_mswindows):
13815         New begin/end methods -- handle DeferWindowPos.
13816
13817         * redisplay-output.c (redisplay_move_cursor):
13818         * redisplay-output.c (redraw_cursor_in_window):
13819         * redisplay-output.c (redisplay_update_line):
13820         * redisplay-output.c (redisplay_output_window):
13821         New begin/end methods.
13822
13823         * redisplay-tty.c:
13824         * redisplay-tty.c (tty_frame_output_begin):
13825         * redisplay-tty.c (tty_frame_output_end):
13826         * redisplay-tty.c (console_type_create_redisplay_tty):
13827         New begin/end methods.
13828
13829         * redisplay-x.c:
13830         * redisplay-x.c (x_window_output_begin):
13831         * redisplay-x.c (x_window_output_end):
13832         * redisplay-x.c (console_type_create_redisplay_x):
13833         New begin/end methods.
13834
13835         * redisplay.c (redisplay_frame):
13836         * redisplay.c (Fredisplay_echo_area):
13837         New begin/end methods.
13838         use MAYBE_DEVMETH for clear_frame; it may not exist.
13839
13840         * window.h (WINDOW_XFRAME):
13841         WINDOW_XFOO macros -- get locale and decode struct pointer.
13842
13843
13844 2000-05-12  Ben Wing  <ben@xemacs.org>
13845
13846         * emacs.c:
13847         * emacs.c (ensure_no_quitting_from_now_on):
13848         * emacs.c (fatal_error_signal):
13849         * emacs.c (mswindows_handle_hardware_exceptions):
13850         * emacs.c (main):
13851         * emacs.c (Fkill_emacs):
13852         * emacs.c (shut_down_emacs):
13853         * emacs.c (assert_failed):
13854         various improvements in fatal error handling.
13855
13856         * eval.c:
13857         move preparing_for_armageddon to emacs.c.
13858
13859         * lisp.h:
13860         declare fatal_error_in_progress.
13861
13862         * print.c:
13863         * print.c (std_handle_out_external):
13864         * print.c (std_handle_out_va):
13865         * print.c (stderr_out):
13866         * print.c (stdout_out):
13867         use console under mswin when no standard output.
13868         don't do code conversion during fatal error.
13869
13870         * scrollbar.c (Fscrollbar_page_up):
13871         * scrollbar.c (Fscrollbar_page_down):
13872         fix missing else.  reindent.
13873
13874 2000-05-11  Jan Vroonhof  <vroonhof@math.ethz.ch>
13875
13876         Emergency fix.
13877
13878         * glyphs.h (GLYPH_CACHEL_DESCENT):
13879         (GLYPH_CACHEL_DESCENT):
13880         (GLYPH_CACHEL_DESCENT):
13881         * glyphs.h (GLYPH_CACHEL_ASCENT): Match parameters to variables
13882         used in case these are inline functions.
13883         Use more absurd values to error check.
13884
13885         include window.h for error check functions.
13886
13887 2000-05-11  Ben Wing  <ben@xemacs.org>
13888
13889         * cmdloop.c (Freally_early_error_handler):
13890         Display message box under windows; otherwise, message will disappear
13891         before it can be viewed.
13892
13893         * console-msw.c:
13894         * console-msw.c (Fmswindows_message_box):
13895         * console-msw.c (FROB):
13896         * console-msw.c (syms_of_console_mswindows):
13897         Define new fun `mswindows-message-box'.
13898         #### I will merge this into `popup-dialog-box'; just give me
13899         a bit of time.
13900
13901         * general.c:
13902         * general.c (syms_of_general):
13903         Some new symbols used in `mswindows-message-box'.
13904
13905         * glyphs.c:
13906         * glyphs.c (Fset_image_instance_property):
13907         put warning in this fun.
13908
13909         * glyphs.h:
13910         * glyphs.h (GLYPH_CACHEL_WIDTH):
13911         * glyphs.h (GLYPH_CACHEL_ASCENT):
13912         * glyphs.h (GLYPH_CACHEL):
13913         * glyphs.h (GLYPH_CACHEL_GLYPH):
13914         define error-checking versions to try to catch a bug i've seen --
13915         redisplay gets in an infinite loop because the glyph width of the
13916         continuation glyph is 65535.
13917
13918         * lisp.h:
13919         Extern message-box stuff.
13920
13921         * window.c (allocate_window):
13922         * window.c (make_dummy_parent):
13923         * window.c (Fset_window_configuration):
13924         Use EQUAL not EQ for subwindow caches to make them work a bit
13925         better. (Something is still very broken.)
13926
13927
13928 2000-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
13929
13930         * glyphs.c (image_instantiate): Suppress gcc warnings.
13931         (Fmake_image_instance): Fix doc string.
13932         * specifier.c (Fmake_specifier): Ditto.
13933
13934 2000-05-02  Yoshiki Hayashi  <yoshiki@xemacs.org>
13935
13936         * paths.h.in (PATH_LOCK): Removed.
13937         * config.h.in (LOCKDIR_USER_DEFINED): Removed.
13938         * emacs.c (complex_vars_of_emacs): Remove configure-lock-directory.
13939
13940 2000-05-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
13941
13942         * fns.c (Ffeaturep): Update e-mail address in doc-string.
13943         Document (featurep '(and xemacs 21.02)).
13944
13945 2000-05-09  Ben Wing  <ben@xemacs.org>
13946
13947         * buffer.c (complex_vars_of_buffer):
13948         update modeline-format doc.
13949
13950         * device.h:
13951         comment about how DFW_DEVICE should be merged with DOMAIN_DEVICE.
13952
13953         * emacs.c:
13954         timeline of all released versions of Emacs, for use in creating
13955         authorship comments and in synching up.
13956
13957         * glyphs-widget.c (image_instantiator_buttons):
13958         * glyphs-widget.c (image_instantiator_edit_fields):
13959         * glyphs-widget.c (image_instantiator_combo_box):
13960         * glyphs-widget.c (image_instantiator_scrollbar):
13961         * glyphs-widget.c (image_instantiator_progress_guage):
13962         * glyphs-widget.c (image_instantiator_tree_view):
13963         * glyphs-widget.c (image_instantiator_tab_control):
13964         * glyphs-widget.c (image_instantiator_labels):
13965         * glyphs-widget.c (image_instantiator_layout):
13966         * glyphs-widget.c (image_instantiator_native_layout):
13967         rename decode_domain method to governing_domain.
13968
13969         * glyphs.c:
13970         * glyphs.c (Fvalid_image_instantiator_format_p): doc update.
13971         * glyphs.c (add_entry_to_device_ii_format_list):
13972         make sure we don't put an entry more than once into the list.
13973         * glyphs.c (check_instance_cache_mapper):
13974         *************************************************************
13975         allow for nil.  THIS SHOULD FIX A REAL CRASH THAT MANY PEOPLE
13976         HAVE BEEN GETTING.
13977         *************************************************************
13978         * glyphs.c (get_image_instantiator_governing_domain):
13979         clean up, expand on new concept of governing domain.
13980         * glyphs.c (instantiate_image_instantiator):
13981         * glyphs.c (allocate_image_instance):
13982         use governing_domain instead of cache_domain in naming.
13983         * glyphs.c (Fvalid_image_instance_type_p): fix docs.
13984         * glyphs.c (make_image_instance_1):
13985         * glyphs.c (Fmake_image_instance):
13986         allow for any domain (not just device), and process the
13987         governing domain correctly.  very big doc fix.
13988         * glyphs.c (Fimage_instance_domain):
13989         new primitive, to retrieve the governing domain of an image instance.
13990         * glyphs.c (image_instantiate):
13991         use new governing_domain stuff.  this fixes a crash you could get
13992         by instantiating certain widget glyphs in frame locales. (should
13993         signal an error instead of crashing.)
13994         * glyphs.c (Fimage_specifier_p): move doc to make-image-specifier.
13995         * glyphs.c (Fglyphp): clean up doc.
13996         * glyphs.c (subwindow_governing_domain): renamed from *_decode_domain.
13997         * glyphs.c (syms_of_glyphs):
13998         declare Fimage_instance_domain, remove unused Qlayout_image_instance_p.
13999         * glyphs.c (image_instantiator_format_create): add some comments about
14000         bogus code.
14001         * glyphs.c (specifier_vars_of_glyphs): totally rewrite the doc string
14002         for current-display-table. (Apparently Hrjove implemented in 1998 a
14003         design I wrote up in 1996, but didn't update the doc string.)
14004
14005         * glyphs.h: clean up a doc string.
14006         * glyphs.h (governing_domain):
14007         * glyphs.h (struct image_instantiator_methods):
14008         changes for governing_domain stuff.
14009
14010         * gutter.c:
14011         * gutter.c (Fgutter_specifier_p):
14012         * gutter.c (Fgutter_size_specifier_p):
14013         * gutter.c (Fgutter_visible_specifier_p):
14014         * objects.c:
14015         * objects.c (Fcolor_specifier_p):
14016         * objects.c (Ffont_specifier_p):
14017         * objects.c (Fface_boolean_specifier_p):
14018         doc strings moved to make-*-specifier.
14019
14020         * redisplay.c (add_disp_table_entry_runes_1):
14021         * redisplay.c (generate_fstring_runes):
14022         * redisplay.c (screen):
14023         add random comments and doc strings.
14024
14025         * specifier.c:
14026         * specifier.c (Fmake_specifier):
14027         major overhaul of this doc string.
14028
14029         * specifier.c (Fvalid_specifier_domain_p):
14030         comment about the bogosity of image instances being domains.
14031         * specifier.c (decode_domain):
14032         now non-static, used in glyphs.c.
14033         * specifier.c (specifier_instance):
14034         comment about the bogosity of image instances being domains.
14035         * specifier.c (Fgeneric_specifier_p):
14036         move doc string to make-generic-specifier.
14037         * specifier.c (VALID_SINGLE_DISPTABLE_INSTANTIATOR_P):
14038         rebackslashify.
14039
14040         * specifier.h:
14041         * specifier.h (DOMAIN_FRAME):
14042         * specifier.h (DOMAIN_LIVE_P):
14043         * specifier.h (DOMAIN_XDEVICE):
14044         rebackslashify.
14045         add comments about problems with these macros.
14046         prototype for decode_domain.
14047
14048         * toolbar.c:
14049         * toolbar.c (Ftoolbar_specifier_p):
14050         move doc string to `make-toolbar-specifier'.
14051
14052         * window.c (window_unmap_subwindows_cache_mapper):
14053         *************************************************************
14054         allow for nil.  THIS SHOULD FIX A REAL CRASH THAT MANY PEOPLE
14055         HAVE BEEN GETTING.
14056         *************************************************************
14057
14058 2000-05-09  Andy Piper  <andy@xemacs.org>
14059
14060         * glyphs.h: declare reset_frame_subwindow_instance_cache.
14061
14062         * window.c (Fset_window_configuration): reset the frame subwindow
14063         cache and re-initialize the window subwindow caches.
14064
14065         * glyphs.c (reset_frame_subwindow_instance_cache): new function.
14066
14067 2000-05-09  Ben Wing  <ben@xemacs.org>
14068
14069         * ntheap.c (recreate_heap): Changed unknown (VC6 only?) SIZE_T to
14070         DWORD.
14071
14072 2000-04-26  Mike Woolley  <mike@bulsara.com>
14073
14074         * ntheap.c: Changed recreate_heap to limit the amount reserved
14075         for the heap to that which is actually available. Also now
14076         displays a message box (with some dignostics) in the event that
14077         it still can't start.
14078
14079 2000-05-07  Jan Vroonhof  <vroonhof@math.ethz.ch>
14080
14081         * callproc.c (Fold_call_process_internal): GCPRO path
14082
14083 2000-05-08  Jan Vroonhof  <jan@xemacs.org>
14084
14085         Patch by Bill Perry.
14086
14087         * scrollbar.c (Fscrollbar_page_up): Conditionalize on type of call
14088         back data instead of #ifdef.
14089         (Fscrollbar_page_down): ditto.
14090
14091 2000-05-07  Ben Wing  <ben@xemacs.org>
14092
14093         * buffer.h:
14094         Kludge for defining Qmswindows_tstr.
14095
14096         * nt.c:
14097         * nt.c (open_input_file):
14098         * nt.c (open_output_file):
14099         * nt.c (rva_to_section):
14100         * nt.c (mswindows_executable_type):
14101         Move all memory-mapped-file routines here (some were in unexnt.c,
14102         which is bad because they are used by process-nt.c, and unexnt
14103         won't be around when portable dumping).  Synched the above routines
14104         with FSF 20.6.
14105
14106         * nt.h:
14107         Removed ifdef'd out bogus code.
14108         Fixed some prototypes.
14109
14110         * nt.h (file_data):
14111         * nt.h (OFFSET_TO_RVA):
14112         * nt.h (RVA_TO_OFFSET):
14113         * nt.h (RVA_TO_PTR):
14114         Moved the memory-mapped-file structures, macros and prototypes
14115         here, to parallel nt.c.  ntheap.h should really be removed
14116         entirely, and it's a non-portable-dumper specific file.
14117
14118         * ntheap.h (round_to_next):
14119         Moved the memory-mapped-file structures, macros and prototypes
14120         to nt.h.
14121
14122         * ntproc.c (compare_env):
14123         Moved rva_to_section and mswindows_executable_type to nt.c.
14124         Moved compare_env to process-nt.c.
14125         ntproc.c will die, one day.
14126
14127         * ntproc.c (sys_spawnve):
14128         Account for win32_ -> mswindows_.
14129
14130         * process-nt.c:
14131         * process-nt.c (struct nt_process_data):
14132         * process-nt.c (ensure_console_window_exists):
14133         * process-nt.c (compare_env):
14134         * process-nt.c (nt_create_process):
14135         * process-nt.c (nt_kill_process_by_pid):
14136         * process-nt.c (syms_of_process_nt):
14137         * process-nt.c (vars_of_process_nt):
14138         Introduce variable `mswindows-quote-process-args', from FSF 20.6.
14139         Copy argument quoting code from FSF 20.6 (with appropriate Mule-ization
14140         changes).  Eliminate our old `nt-quote-process-args' mechanism.
14141         Synch up nt_create_process with FSF 20.6 sys_spawnve.
14142         Move compare_env here from ntproc.c.
14143
14144         * process.c (Fprocess_send_region):
14145         Takes an optional fourth argument, BUFFER, which should fix some
14146         problems with call-process.
14147
14148         * syscommctrl.h:
14149         Move ICC_BAR_CLASSES here from syswindows.h, to avoid a warning.
14150
14151         * syswindows.h:
14152         Move ICC_BAR_CLASSES to syscommctrl.h.
14153         Add preliminary macros for MSWindows/Mule.  More to come.
14154
14155         * unexnt.c:
14156         * unexnt.c (unexec):
14157         open_output_file moved to nt.c.
14158
14159
14160 2000-05-05  Andy Piper  <andy@xemacs.org>
14161
14162         * window.c (window_unmap_subwindows_cache_mapper): remove the dead
14163         instance from the frame cache also since GC may catch up too late
14164         to make frame deletion sane.
14165
14166 2000-05-04  Andy Piper  <andy@xemacs.org>
14167
14168         * glyphs-x.c (x_widget_instantiate): gcpro widget callbacks.
14169         (x_finalize_image_instance): ungcpro on deletion.
14170
14171         * glyphs.c (image_instantiator_format_create): give pointers a
14172         query geometry method so that the geometry is at least set.
14173
14174         * glyphs-x.c (image_instantiator_format_create_glyphs_x): only
14175         initialize layouts if using widgets.
14176
14177 2000-05-03  Andy Piper  <andy@xemacs.org>
14178
14179         * nt.c: remove bogus reference to sysmmsystem.h
14180
14181         * gui-x.c (popup_selection_callback): fix no selection abort.
14182
14183 2000-05-02  Andy Piper  <andy@xemacs.org>
14184
14185         * glyphs-msw.c (mswindows_update_widget): cope with nil text.
14186         (mswindows_widget_instantiate): ditto.
14187
14188         * glyphs-widget.c (initialize_widget_image_instance): initialize
14189         children correctly.
14190         (widget_instantiate): cope with children and items in the same
14191         instance.
14192
14193         * glyphs.c (mark_image_instance): cope with children as a first
14194         class member.
14195         (image_instance_equal): ditto.
14196         (image_instance_hash): ditto.
14197         (image_instance_changed): ditto.
14198
14199 2000-04-30  Andy Piper  <andy@xemacs.org>
14200
14201         * glyphs.c (subwindow_query_geometry): new function. Return some
14202         defaults.
14203         (subwindow_instantiate): don't assign dimensions if none have been
14204         given.
14205         (image_instantiator_format_create): add subwindow_query_geometry.
14206         (print_image_instance): cope with layouts as widgets.
14207
14208 2000-04-29  Andy Piper  <andy@xemacs.org>
14209
14210         * frame.c (delete_frame_internal): call
14211         free_frame_subwindow_instance_cache so that all subwindows are
14212         finalized before their parent.
14213         (mark_frame): remove subwindow_cachels.
14214         (Fmake_frame): remove subwindow_cachel manipulation.
14215         (allocate_frame_core): subwindow_instance_cache is a weak list.
14216         (delete_frame_internal): set subwindow_instance_cache to nil.
14217
14218         * glyphs-msw.c (mswindows_finalize_image_instance): make double
14219         finalization safe.
14220         (mswindows_finalize_image_instance): use the device
14221         not the domain as the domain may have died already.
14222
14223         * glyphs-x.c (x_finalize_image_instance): ditto.
14224         (x_subwindow_instantiate): remove SUBWINDOW_WIDTH &
14225         HEIGHT.
14226
14227         * redisplay-output.c (redisplay_unmap_subwindows): update for
14228         subwindow instance cache as a weak list.
14229         (redisplay_unmap_subwindows_maybe): ditto.
14230         (redisplay_unmap_subwindows_except_us): ditto.
14231
14232         * glyphs.c (unmap_subwindow): error checking will check the domain
14233         so don't deal with it here. Don't use cachels anymore.
14234         (map_subwindow): ditto.
14235         (update_subwindow_cachel_data): remove old accessor names.
14236         (subwindow_instantiate): remove SUBWINDOW_WIDTH & HEIGHT.
14237         (Fresize_subwindow): don't update cachel.
14238         (mark_subwindow_cachels):
14239         (update_subwindow_cachel_data):
14240         (add_subwindow_cachel):
14241         (get_subwindow_cachel_index):
14242         (update_subwindow_cachel):
14243         (reset_subwindow_cachels):
14244         (mark_subwindow_cachels_as_not_updated): deleted.
14245         (cache_subwindow_instance_in_frame_maybe): new function. Add a
14246         subwindow instance to the frame cache.
14247         (find_matching_subwindow): update for subwindow instance cache as
14248         a weak list.
14249         (update_widget_instances): ditto.
14250         (image_instance_type_to_mask):inlined.
14251         (free_frame_subwindow_instance_cache): new function. finalize all
14252         subwindows that are instantiated.
14253
14254         * glyphs.h (struct Lisp_Image_Instance): add display_data instead
14255         of cachel information.
14256         (IMAGE_INSTANCE_DISPLAY_X):
14257         (IMAGE_INSTANCE_DISPLAY_Y):
14258         (IMAGE_INSTANCE_DISPLAY_WIDTH):
14259         (IMAGE_INSTANCE_DISPLAY_HEIGHT):
14260         (XIMAGE_INSTANCE_DISPLAY_X):
14261         (XIMAGE_INSTANCE_DISPLAY_Y):
14262         (XIMAGE_INSTANCE_DISPLAY_WIDTH):
14263         (XIMAGE_INSTANCE_DISPLAY_HEIGHT): new accessors.
14264         remove subwindow_cachel structure and function references.
14265         (image_instance_type_to_mask): inline from glyphs.c
14266
14267         * redisplay.c (redisplay_frame): remove subwindow_cachel
14268         references.
14269
14270         * frame.h (struct frame): remove subwindow_cachels.
14271         (FRAME_SUBWINDOW_CACHE): access subwindow_instance_cache.
14272
14273         * frameslots.h: add subwindow_instance_cache.
14274
14275         * window.c (replace_window): check subwindow cache of replacement.
14276         (window_unmap_subwindows_cache_mapper):
14277         (window_unmap_subwindows): new functions. Unmap all subwindows
14278         cached on this window.
14279         (mark_window_as_deleted): unmap all subwindows.
14280
14281 2000-04-27  Andy Piper  <andy@xemacs.org>
14282
14283         * glyphs.h (IIFORMAT_METH_OR_GIVEN): cope with null meths.
14284
14285         * glyphs-widget.c (widget_layout): return something.
14286         (layout_layout): return something. Fail if not initialized.
14287         (layout_query_geometry): ditto.
14288         (image_instantiator_native_layout): new function. Initialized the
14289         native layout type.
14290         (widget_instantiate): don't do layout stuff here.
14291
14292         * glyphs.c (instantiate_image_instantiator): reorded calling or
14293         instantiate and post_instantiate with layout in between.
14294         (image_instance_layout): be more selective about deciding whether
14295         the layout has been done or not.
14296
14297         * glyphs.h (struct image_instantiator_methods): return a value
14298         from layout_method.
14299
14300 2000-04-26  Andy Piper  <andy@xemacs.org>
14301
14302         * glyphs.c (allocate_image_instance): make initial width and
14303         height unspecified. Set initialized to 0.
14304
14305         * syscommctrl.h new file. Encapsulates commctrl.h.
14306
14307         * syswindows.h new file. Encapsulates windows.h.
14308
14309         * ntplay.c: use new syswindows.h and syscommctrl.h header.
14310         * nt.c: ditto.
14311         * console-msw.h: ditto.
14312
14313         * redisplay-tty.c (tty_output_display_block): remove layout references.
14314
14315         * glyphs-msw.c (mswindows_widget_instantiate): use the domain
14316         window handle rather than just the frame.
14317
14318         * glyphs.c (mark_image_instance): remove layout references.
14319         (print_image_instance): ditto.
14320         (image_instance_equal): ditto.
14321         (image_instance_hash): ditto.
14322         (decode_image_instance_type): ditto.
14323         (encode_image_instance_type): ditto.
14324         (image_instantiate): ditto.
14325         (allocate_glyph): ditto.
14326         (Fimage_instance_height): ditto.
14327         (Fimage_instance_width): ditto.
14328         (update_subwindow): ditto.
14329
14330         * redisplay-x.c (x_output_display_block): recode for layouts as
14331         widgets.
14332
14333         * redisplay-output.c (redisplay_output_layout): recode for layouts
14334         as widgets.
14335         (compare_runes): remove layout references.
14336
14337         * redisplay-msw.c (mswindows_output_display_block): recode for
14338         layouts as widgets.
14339
14340         * glyphs-widget.c (image_instantiator_layout): remove
14341         layout_possible_dest_types.
14342         (layout_possible_dest_types): deleted.
14343
14344         * glyphs.h (image_instance_type): remove layout references.
14345         (struct Lisp_Image_Instance): ditto. Add initialized flag.
14346         (IMAGE_INSTANCE_INITIALIZED): new accessor.
14347         (XIMAGE_INSTANCE_INITIALIZED): ditto.
14348
14349 2000-04-25  Andy Piper  <andy@xemacs.org>
14350
14351         * glyphs-widget.c (image_instantiator_buttons):
14352         (image_instantiator_edit_fields):
14353         (image_instantiator_combo_box):
14354         (image_instantiator_scrollbar):
14355         (image_instantiator_progress_guage):
14356         (image_instantiator_tree_view):
14357         (image_instantiator_tab_control):
14358         (image_instantiator_labels):
14359         (image_instantiator_layout): call default post_instantiate method.
14360         (widget_post_instantiate): new function. Simply lays out the
14361         widgets.
14362
14363         * glyphs.h (struct image_instantiator_methods): add
14364         post_instantiate method.
14365
14366         * glyphs.c (instantiate_image_instantiator): add post_instantiate
14367         method calls.
14368
14369 2000-04-23  Andy Piper  <andy@xemacs.org>
14370
14371         * glyphs.h (struct image_instantiator_methods): add
14372         decode_domain_method.
14373         (struct Lisp_Image_Instance): remove subwindow frame - it can be
14374         derived from the domain.
14375         (IMAGE_INSTANCE_FRAME): new accessor.
14376         (XIMAGE_INSTANCE_FRAME): ditto.
14377
14378         * glyphs.c (print_image_instance): use IMAGE_INSTANCE_FRAME
14379         instead of _SUBWINDOW_FRAME.
14380         (finalize_image_instance): ditto.
14381         (Fimage_instance_foreground): ditto.
14382         (Fimage_instance_background): ditto.
14383         (image_instantiate): ditto.
14384         (update_subwindow_cachel): ditto.
14385         (update_subwindow): ditto.
14386         (unmap_subwindow): ditto.
14387         (map_subwindow): ditto
14388         (subwindow_instantiate): ditto.
14389         * glyphs-msw.c (mswindows_update_widget): ditto.
14390         (mswindows_progress_gauge_instantiate): ditto.
14391         (mswindows_tab_control_update): ditto.
14392         * glyphs-x.c (x_update_widget): ditto.
14393         (x_widget_instantiate): ditto.
14394         (x_tab_control_instantiate): ditto.
14395         (x_tab_control_update): ditto.
14396         * event-msw.c (mswindows_wnd_proc): ditto
14397
14398         * glyphs-widget.c (image_instantiator_layout): use
14399         subwindow_decode_domain.
14400         (image_instantiator_buttons): ditto.
14401         (image_instantiator_edit_fields): ditto.
14402         (image_instantiator_combo_box): ditto.
14403         (image_instantiator_scrollbar): ditto.
14404         (image_instantiator_progress_guage): ditto.
14405         (image_instantiator_tree_view): ditto.
14406         (image_instantiator_tab_control): ditto.
14407         (image_instantiator_labels): ditto.
14408         (image_instantiator_layout): ditto.
14409
14410         * glyphs.c: add instance error checking to many functions.
14411         (instantiate_image_instantiator): decode device from cache_domain.
14412         (image_instantiate): partially rewrite by using
14413         decode_image_instantiator_domain to determine what domain the
14414         instance needs to be cached in.
14415         (decode_image_instantiator_domain): new function. Determine what
14416         domain the image needs to be cached in.
14417         (check_window_subwindow_cache): new error checking function.
14418         (check_instance_cache_mapper): ditto.
14419         (check_image_instance_structure): ditto.
14420         (subwindow_decode_domain): new function. Encodes a window as a
14421         subwindow's cache domain.
14422         (image_instantiator_format_create): use it for text and
14423         subwindows.
14424
14425 2000-04-21  Andy Piper  <andy@xemacs.org>
14426
14427         * glyphs.c (image_instance_device): new function.
14428         (image_instance_frame): new function.
14429         (image_instance_window): new function.
14430         (image_instance_live_p): new function.
14431
14432         * window.c (mark_window_as_deleted): reset the subwindow_instance_
14433         cache to nil.
14434
14435         * glyphs.h (struct Lisp_Image_Instance): device->domain.
14436         (IMAGE_INSTANCE_DOMAIN): new accessor.
14437         (XIMAGE_INSTANCE_DOMAIN): ditto.
14438
14439         * glyphs-x.c (x_finalize_image_instance): device->domain.
14440
14441         * glyphs-msw.c (init_image_instance_geometry): device->domain.
14442         (mswindows_finalize_image_instance): ditto.
14443
14444         * glyphs-eimage.c (jpeg_instantiate): device->domain.
14445         (gif_instantiate): ditto.
14446         (png_instantiate): ditto.
14447         (tiff_instantiate): ditto.
14448
14449         * glyphs.c (instantiate_image_instantiator): use domain rather
14450         than device.
14451         (mark_image_instance): device -> domain.
14452         (print_image_instance): ditto.
14453         (finalize_image_instance): ditto.
14454         (image_instance_equal): ditto.
14455         (allocate_image_instance): ditto.
14456         (Fcolorize_image_instance): ditto.
14457         (query_string_geometry): ditto.
14458         (image_instantiate): ditto
14459         (query_string_font): ditto.
14460         (image_instantiate): ditto.
14461         (update_subwindow): ditto.
14462         (unmap_subwindow): ditto.
14463         (map_subwindow): ditto.
14464         (subwindow_instantiate): ditto.
14465
14466         * specifier.h (DOMAIN_DEVICE): new, semantically correct, decoder.
14467         (DOMAIN_FRAME): ditto.
14468         (DOMAIN_WINDOW): ditto.
14469         (DOMAIN_LIVE_P): ditto.
14470         (XDOMAIN_DEVICE): ditto.
14471         (XDOMAIN_FRAME): ditto.
14472         (XDOMAIN_WINDOW): ditto.
14473
14474         * specifier.c (Fvalid_specifier_domain_p): add image instances as
14475         a valid specifier domain.
14476
14477 2000-04-19  Andy Piper  <andy@xemacs.org>
14478
14479         * glyphs-widget.c (syms_of_glyphs_widget): remove
14480         widget-callback-current-channel.
14481         (vars_of_glyphs_widget): ditto.
14482         * glyphs.h: ditto
14483
14484         * gui.c (get_gui_callback): revert to previous behaviour.
14485
14486 2000-04-18  Andy Piper  <andy@xemacs.org>
14487
14488         * glyphs.h (struct Lisp_Image_Instance): add margin_width.
14489         (IMAGE_INSTANCE_MARGIN_WIDTH): new.
14490         (XIMAGE_INSTANCE_MARGIN_WIDTH): new.
14491
14492         * glyphs.c (image_instance_equal): add margin_width.
14493         (image_instance_hash): ditto.
14494
14495         * glyphs-widget.c (widget_instantiate): deal with margin-width.
14496         (layout_query_geometry): ditto.
14497         (layout_layout): ditto.
14498         (syms_of_glyphs_widget): add margin-width.
14499         (image_instantiator_layout): allow margin-width.
14500
14501         * glyphs.c (update_widget_instances): make a normal function.
14502         (syms_of_glyphs): remove Qupdate_widget_instances.
14503         * glyphs.h: ditto.
14504
14505         * gui-x.c (popup_selection_callback): use enqueue_magic_eval_event
14506         so that we don't corrupt ideas about the last event or
14507         command. Remove widget-callback-current-channel fiddling.
14508         * gui-msw.c (mswindows_handle_gui_wm_command): ditto.
14509
14510 2000-05-01  Martin Buchholz <martin@xemacs.org>
14511
14512         * XEmacs 21.2.33 is released.
14513
14514 2000-05-01  Yoshiki Hayashi  <yoshiki@xemacs.org>
14515
14516         * make-src-depend: Allow dots in header file name.
14517
14518 2000-05-01  Yoshiki Hayashi  <yoshiki@xmacs.org>
14519
14520         * mule-charset.h (struct charset_lookup): Add
14521         next_allocated_1_byte_leading_byte and
14522         next_allocated_2_byte_leading_byte.
14523         * mule-charset.c: Move above two variables so that those values
14524         will be dumped.
14525
14526 2000-04-26  Yoshiki Hayashi  <yoshiki@xemacs.org>
14527
14528         * insdel.c (find_charsets_in_bufbyte_string): Add Vcharset_ascii
14529         when string length is zero.
14530         (find_charsets_in_emchar_string): Ditto.
14531
14532 2000-04-29  Bjrn Torkelsson  <torkel@hpc2n.umu.se>
14533
14534         * lisp.h: extern Qdialog and Qmenubar.
14535
14536         * gui-x.c: added events.h.
14537                 also fixed typo which made the file uncompilable.
14538
14539         * general.c: Added Qmenubar and Qdialog
14540
14541 2000-04-28  Ben Wing  <ben@xemacs.org>
14542
14543         * frame-msw.c (mswindows_init_frame_1):
14544         * frame-msw.c (mswindows_mark_frame):
14545         * event-msw.c (mswindows_enqueue_dispatch_event):
14546         * console-msw.h:
14547         * console-msw.h (struct mswindows_frame):
14548         * console-msw.h (FRAME_MSWINDOWS_WIDGET_HASH_TABLE1):
14549         there are now three hash tables for callbacks.
14550         mswindows_enqueue_dispatch_event is no longer static.
14551
14552         * dialog-x.c (maybe_run_dbox_text_callback):
14553         * dialog-x.c (dbox_descriptor_to_widget_value):
14554         switch to new cons3 form for callbacks.
14555
14556         * glyphs-msw.c (mswindows_register_gui_item):
14557         * glyphs-msw.c (mswindows_widget_instantiate):
14558         * glyphs-msw.c (add_tree_item):
14559         * glyphs-msw.c (add_tab_item):
14560         new image instance parameter, so it can be passed to callback-ex.
14561         respect :callback-ex as well as :callback.
14562
14563         * glyphs-widget.c (VALID_GUI_KEYWORDS):
14564         add :callback-ex.
14565
14566         * glyphs.c (print_image_instance):
14567         prettify, e.g. now prints widget type.
14568
14569         * gui-x.h:
14570         certain funs have new image instance parameter.
14571
14572         * gui.c:
14573         * gui.c (get_gui_callback):
14574         * gui.c (gui_item_add_keyval_pair):
14575         * gui.c (gui_item_init):
14576         * gui.c (gui_add_item_keywords_to_plist):
14577         * gui.c (mark_gui_item):
14578         * gui.c (gui_item_hash):
14579         * gui.c (gui_item_equal):
14580         * gui.c (copy_gui_item):
14581         * gui.c (syms_of_gui):
14582         recognize callback-ex in a number of places.
14583         also, fix the annoying "can't get out of yes-no dialog" bug.
14584
14585         * gui.h:
14586         * gui.h (struct Lisp_Gui_Item):
14587         recognize callback-ex in a number of places.
14588
14589         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
14590         new parameter in button_item_to_widget_value.
14591
14592         * glyphs-x.c (x_update_widget):
14593         * glyphs-x.c (x_button_instantiate):
14594         * glyphs-x.c (x_button_update):
14595         * glyphs-x.c (x_progress_gauge_instantiate):
14596         * glyphs-x.c (x_edit_field_instantiate):
14597         * glyphs-x.c (x_combo_box_instantiate):
14598         * glyphs-x.c (x_tab_control_instantiate):
14599         * glyphs-x.c (x_label_instantiate):
14600         new image instance parameter in various places.
14601
14602         * event-Xt.c:
14603         * event-Xt.c (enqueue_Xt_dispatch_event):
14604         this fun gets exported.
14605
14606         * gui-msw.c:
14607         * gui-msw.c (mswindows_handle_gui_wm_command):
14608         handle both :callback and :callback-ex, and generate our own
14609         event because it's one of the callback-ex arguments.
14610
14611         * gui-x.c:
14612         * gui-x.c (popup_selection_callback):
14613         handle both :callback and :callback-ex, and generate our own
14614         event because it's one of the callback-ex arguments.
14615         * gui-x.c (button_item_to_widget_value):
14616         * gui-x.c (gui_items_to_widget_values_1):
14617         * gui-x.c (gui_item_children_to_widget_values):
14618         * gui-x.c (gui_items_to_widget_values):
14619         new image instance parameter in various places.
14620
14621         * fns.c (Freplace_list):
14622         fix small typo in doc string.
14623
14624         * lisp.h:
14625         declare enqueue_Xt_dispatch_event.
14626
14627 2000-04-28  Ben Wing  <ben@xemacs.org>
14628
14629         * buffer.c:
14630         * buffer.c (Frecord_buffer):
14631         * buffer.c (syms_of_buffer):
14632         delete record-buffer-hook.
14633
14634         * fns.c:
14635         * fns.c (Freplace_list):
14636         * fns.c (syms_of_fns):
14637         new primitive replace-list.
14638
14639         * frameslots.h:
14640         slot for old buffer-alist.
14641
14642         * lisp.h:
14643         exfun replace-list.
14644
14645         * redisplay.c:
14646         * redisplay.c (redisplay_frame):
14647         * redisplay.c (syms_of_redisplay):
14648         * redisplay.c (vars_of_redisplay):
14649         new hook buffer-list-changed-hook.
14650         call it.
14651
14652 2000-04-27  Ben Wing  <ben@xemacs.org>
14653
14654         * extents.h: extern in_modeline_generation.
14655
14656         * redisplay.c (generate_formatted_string_db): set
14657         in_modeline_generation.
14658
14659         * extents.c (extent_changed_for_redisplay): don't mark redisplay
14660         flags if in modeline generation.  otherwise frame-modified-tick
14661         is ticked far too often.
14662         Declare in_modeline_generation.
14663
14664 2000-04-26  Ben Wing  <ben@xemacs.org>
14665
14666         * emacs.c (vars_of_emacs): document quick-build "error-checking"
14667         option.
14668         (vars_of_emacs): add quick-build as an error-checking option.
14669         A bit kludgy, but there doesn't seem much point in creating
14670         a real var for this.
14671
14672         * config.h.in: put in an entry for QUICK_BUILD; remove NO_DOC_FILE.
14673
14674 2000-04-14  IKEYAMA Tomonori  <tomonori@suiyokai.org>
14675
14676         * redisplay.h (struct display_line): Add a new variable,
14677         line_continuation.
14678
14679         * redisplay.c (create_text_block): Set dl->line_continuation if
14680         the line continues.
14681         (create_string_text_block): Ditto.
14682         (regenerate_window_incrementally): Use line_continuation instead
14683         of searching continuation glyph.
14684         (add_margin_runes): Call add_glyph_rune.
14685         (add_glyph_rune): Handle margin glyph.
14686
14687 2000-04-20  Martin Buchholz  <martin@xemacs.org>
14688
14689         * filelock.c (fill_in_lock_file_name):
14690         ANSIfy.
14691         Check for IS_ANY_SEP instead of '/'.
14692         (lock_file_1):
14693         Avoid generating gratuitous garbage.  Call user_login_name() directly.
14694         Never check errno without first seeing that system call failed.
14695         (unlock_file): Add GCPRO.
14696         (Flock_buffer): Fix docstring.
14697         (Ffile_locked_p): Fix docstring.  Add GCPRO.
14698
14699 2000-04-19  Martin Buchholz  <martin@xemacs.org>
14700
14701         * sysdep.c (get_pty_max_bytes):
14702         Fix hangs on DEC OSF 4.0 when (process-send-string) sends
14703         strings longer than 252 bytes.
14704
14705         * md5.c: Unconditionally include ANSI header <limits.h>
14706
14707         * glyphs-x.c (convert_EImage_to_XImage):
14708         * lisp-union.h (union Lisp_Object):
14709         Use consistently the syntax #ifdef FEATURE, not #if FEATURE.
14710
14711 2000-04-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
14712
14713         * filelock.c (current_lock_owner): Remove unused variable o, p.
14714
14715 2000-04-17  Norbert Koch  <n.koch@eai-delta.de>
14716
14717         * callint.c: Remove multiply defined symbol Qlet
14718         (syms_of_callint): ditto.
14719
14720 2000-04-14  Andy Piper  <andy@xemacs.org>
14721
14722         * general.c (syms_of_general): add last-command, this-command, let
14723         and funcall.
14724
14725         * lisp.h: declare various symbols.
14726
14727         * glyphs.h: declare Qwidget_callback_current_channel;
14728
14729         * glyphs-widget.c (syms_of_glyphs_widget): add
14730         Qgui_callback_current_channel.
14731         (vars_of_glyphs_widget): add Vgui_callback_current_channel.
14732
14733         * gui-msw.c (mswindows_handle_gui_wm_command): bind
14734         widget-callback-current-channel when invoking the interactive
14735         arg. Also bind last-command and next-command when invoking the
14736         widget updates.
14737         * gui-x.c (popup_selection_callback): ditto.
14738
14739         * gui.c (get_gui_callback): massage args so that we are always
14740         calling eval. This allows us to add our own variable bindings
14741         outside.
14742
14743         * glyphs-x.c (x_button_instantiate): use
14744         gui_items_to_widget_values since this is GC safe.
14745         (x_progress_gauge_instantiate): ditto.
14746         (x_edit_field_instantiate): ditto.
14747         (x_label_instantiate): ditto.
14748
14749         * event-Xt.c (emacs_Xt_handle_magic_event): remove old printfs.
14750         (emacs_Xt_event_widget_focus_out): new function
14751         (emacs_Xt_event_widget_focus_in): new function. Set the keyboard
14752         focus.
14753         (emacs_Xt_event_add_widget_actions): new function. add focus
14754         functions as actions.
14755         (init_event_Xt_late): use it.
14756
14757 2000-04-14  Hrvoje Niksic  <hniksic@iskon.hr>
14758
14759         * event-stream.c (Fdispatch_event): Doc fix.
14760
14761 2000-03-29  SL Baur  <steve@musashimaru.m17n.org>
14762
14763         * postgresql.c: Remove all references to PQsetenv*.
14764
14765         * postgresql.h: Remove references to PGsetenvHandler object.
14766         * lrecord.h (lrecord_type): Ditto.
14767
14768 2000-04-11  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14769
14770         * glyphs-msw.h (struct mswindows_image_instance_data): Added
14771         real_heigh and real_width members, and accessor macros for these.
14772
14773         * glyphs-msw.c (init_image_instance_geometry): New function.
14774         (init_image_instance_from_dibitmap): Use it.
14775         (mswindows_resource_instantiate): Use it.
14776         (init_image_instance_from_xbm_inline): Use it.
14777         (mswindows_initialize_image_instance_mask): Use real bitmap
14778         geometry.
14779         (mswindows_create_resized_bitmap): Ditto.
14780         (mswindows_create_resized_mask): Ditto.
14781
14782         * redisplay-msw.c (mswindows_output_dibitmap): Stretch real mask
14783         and bitmap to their surface size.
14784
14785 2000-04-11  Jan Vroonhof  <jan@xemacs.org>
14786
14787         * process-unix.c (unix_send_process): Guard against process MIA
14788         after Faccept_process_output.
14789
14790 2000-04-11  Ben Wing  <ben@xemacs.org>
14791
14792         * eval.c (unbind_to_hairy): fix brokenness introduced by
14793         nanosecond speed improvements.
14794
14795 2000-04-07  Raymond Toy  <toy@rtp.ericsson.se>
14796
14797         * sunplay.c (init_device): To play sounds correctly, the device
14798         apparently needs to be initialized at least once by XEmacs.  Make
14799         it so.
14800
14801 2000-04-10  IKEYAMA Tomonori  <tomonori@suiyokai.org>
14802
14803         * redisplay.c (add_margin_runes): Add text image glyph
14804           handling.
14805
14806 2000-04-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
14807
14808         * lisp.h (DOESNT_RETURN): Don't declare as volatile when
14809         gcc is newer than 2.5.
14810
14811 2000-04-06  Colin Rafferty  <colin@xemacs.org>
14812
14813         * lisp.h (FLEXIBLE_ARRAY_STRUCT_SIZEOF): Created.
14814
14815         * fns.c (size_bit_vector):
14816         * alloc.c (size_vector):
14817         (make_vector_internal):
14818         (make_bit_vector_internal):
14819         (sweep_bit_vectors_1):
14820         Replace calls to offsetof with FLEXIBLE_ARRAY_STRUCT_SIZEOF macro.
14821
14822 2000-04-06  Andy Piper  <andy@xemacs.org>
14823
14824         * gmalloc.c (malloc): undo previous change.
14825         (malloc): ditto.
14826         (free): ditto.
14827         (realloc): ditto.
14828
14829 2000-04-06  IKEYAMA Tomonori <tomonori@suiyokai.org>
14830
14831         * line-number.c (buffer_line_number): Revert to former version.
14832
14833 2000-04-06  Andy Piper  <andy@xemacs.org>
14834
14835         * gmalloc.c (malloc): add error checking.
14836         (malloc): ditto.
14837         (free): ditto.
14838         (realloc): ditto.
14839
14840         * dialog-x.c (dbox_descriptor_to_widget_value): add extra
14841         button_item_to_widget_value arg.
14842
14843         * glyphs-x.c (x_button_instantiate): add extra
14844         button_item_to_widget_value arg.
14845         (x_progress_gauge_instantiate): ditto.
14846         (x_edit_field_instantiate): ditto.
14847         (x_label_instantiate): ditto.
14848
14849         * gui-x.c (gui_items_to_widget_values_1): add extra
14850         button_item_to_widget_value arg.
14851         (button_item_to_widget_value): add extra menu_item_p arg.
14852
14853         * gui-x.h: change signature of button_item_to_widget_value.
14854
14855         * menubar-x.c (menu_item_descriptor_to_widget_value_1): add extra
14856         button_item_to_widget_value arg.
14857
14858 2000-04-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
14859
14860         * buffer.h (struct buffer): auto_save_modified should be long.
14861
14862 2000-04-05  Andy Piper  <andy@xemacs.org>
14863
14864         * glyphs-widget.c (widget_instantiate): pixwidth != pixheight
14865         type.
14866         (button_query_geometry): give a little more room so that athena
14867         buttons fit.
14868
14869 2000-04-05  Andy Piper  <andy@xemacs.org>
14870
14871         * faces.c (complex_vars_of_faces): The widget face should inherit
14872         the font of the gui-element face.
14873
14874 2000-04-04  Andy Piper  <andy@xemacs.org>
14875
14876         * glyphs-x.c (x_button_update): new function. unconditionally
14877         update a button's state when the instance is dirty.
14878         (image_instantiator_format_create_glyphs_x): add x_button_update.
14879         (x_widget_instantiate): remove old resize cruft.
14880
14881 2000-04-02  Andy Piper  <andy@xemacs.org>
14882
14883         * frame.c (change_frame_size_1): The introduction of gutters means
14884         that we need to allow 0 as a potential frame dimension.
14885
14886 2000-04-02  IKEYAMA Tomonori  <tomonori@suiyokai.org>
14887
14888         * redisplay.c (add_glyph_rune): Don't set 0 to bufpos for text
14889         image glyph if allow_cursor.
14890         (add_hscroll_rune): Don't allow cursor to border glyph.
14891         (create_text_block): Ditto.
14892
14893         * redisplay-output.c (redisplay_move_cursor): Do nothing even if
14894         text not in buffer.
14895         (redisplay_output_layout): Call ensure_face_cachel_complete for
14896         text image glyph.
14897
14898
14899 2000-03-16  IKEYAMA Tomonori  <tomonori@suiyokai.org>
14900
14901         * redisplay.c (add_glyph_rune): Adding text image as text runes.
14902
14903         * redisplay-output.c (redisplay_move_cursor): NO_CURSOR if text
14904         not in buffer
14905
14906         * redisplay-tty.c (tty_output_display_block): Delete the routine
14907         for text image glyph
14908         * redisplay-x.c (x_output_display_block): ditto
14909         * redisplay-msw.c (mswindows_output_display_block): ditto
14910
14911 2000-02-02  Mike Alexander  <mta@arbortext.com>
14912
14913         Note: Some of these were committed by accident as part of other
14914         patches.
14915
14916         * regex.c (regex_compile): Avoid compiler warnings.
14917
14918         * ntproc.c (sys_spawnve): Avoid compiler warnings.
14919
14920         * nt.h: Declare term_ntproc correctly.
14921
14922         * nt.c: Remove incorrect declaration of get_home_directory which
14923         is declared correctly in lisp.h.
14924
14925         * keymap.c (get_keyelt): Avoid compiler warnings.
14926         (raw_lookup_key_mapper): Avoid compiler warnings.
14927
14928         * gutter.c (gutter_was_visible): Add return statement to avoid warning.
14929
14930         * glyphs-eimage.c (png_instantiate): Avoid compiler warnings.
14931
14932         * filemode.c (mode_string): Avoid compiler warnings.
14933
14934         * file-coding.c (Fcoding_system_aliasee): Add return statement to
14935         avoid warning.
14936
14937         * events-mod.h: Undef some things that winuser.h defines differently.
14938
14939         * data.c (Faset): Avoid compiler warnings.
14940
14941         * alloc.c (Fmake_byte_code): Avoid compiler warnings.
14942
14943 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
14944
14945         * sound.c (Fplay_sound_file): Wrap ESD in start/stop_interrupts.
14946         Fall through to simple beep on error.
14947         Replace "extern" by real header file.
14948
14949         * linuxplay.c: Use nativesound.h
14950         (play_sound_data): Return error code. Be less verbose on error.
14951
14952         * sunplay.c: Use nativesound.h
14953         (play_sound_data): Return error code. Be less verbose on error.
14954
14955         * ntplay.c: Use nativesound.h
14956         (play_sound_data): Return fake error code
14957
14958         * sgiplay.c: Use nativesound.h
14959         (play_sound_data): Return error code
14960
14961         * hpplay.c: Use nativesound.h, partially implement
14962         new error code. Break compilation until finished.
14963         (play_sound_data): error code.
14964
14965         * nativesound.h (play_sound_file):
14966           (play_sound_data): Prototype in new header.
14967
14968 2000-03-31  Andy Piper  <andy@xemacs.org>
14969
14970         * glyphs-widget.c: (button_query_geometry): new function. Adjust
14971         for toggle and radio buttons.
14972         (image_instantiator_buttons): use it.
14973
14974 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
14975
14976         * scrollbar-x.c (x_update_vertical_scrollbar_callback):
14977         (x_update_horizontal_scrollbar_callback): Return if no mirror was
14978         found. Scrollbar event probably belonged to some old config.
14979
14980 2000-03-31  Andy Piper  <andy@xemacs.org>
14981
14982         * glyphs-widget.c (widget_instantiate): use LAYOUT_VERTICAL rather
14983         than 1.
14984         (initialize_widget_image_instance): default layout to
14985         LAYOUT_HORIZONTAL rather than 0.
14986         (widget_instantiate): reverse the item list at the end rather than
14987         every iteration.
14988         (layout_layout): re-code for the border text at the front of the
14989         item list rather than at the end.
14990         (layout_query_geometry): ditto. Pick up fixed and dynamic sizes
14991         provided by the user.
14992         (widget_query_geometry): comment.
14993
14994 2000-03-30  Andy Piper  <andy@xemacs.org>
14995
14996         * glyphs-widget.c (image_instantiator_layout): allow standard
14997         widget keywords in layouts.
14998
14999         * gutter.c (output_gutter): cope with nil gutter contents.
15000
15001         * frame.c (Fset_frame_properties): add gutter docs.
15002
15003 2000-03-29  Andy Piper  <andy@xemacs.org>
15004
15005         * toolbar-msw.c (TBSTYLE_FLAT): add.
15006         (mswindows_output_toolbar): minor fiddling.
15007
15008 2000-03-29  Andy Piper  <andy@xemacs.org>
15009
15010         * gutter.c (output_gutter): force gutter size recalculation if
15011         what we are trying to display won't fit.
15012         (update_gutter_geometry): new function. A per-gutter version of
15013         update_frame_gutter_geometry.
15014         (update_frame_gutter_geometry): use it.
15015         (redraw_exposed_gutter): add extra debugging output.
15016
15017 2000-03-28  Mike Alexander  <mta@arbortext.com>
15018
15019         * dumper.c: Declare pdump_hFile and pdump_hMap (Windows only)
15020         (pdump_file_unmap): Implement it on Windows
15021         (pdump_file_get): Save alocated handles for pdump_file_unmap
15022
15023 2000-03-28  Andy Piper  <andy@xemacs.org>
15024
15025         * gui.c (get_gui_callback): treat Quit specially.
15026
15027 2000-03-27  Andy Piper  <andy@xemacs.org>
15028
15029         * glyphs.c (image_instantiate): be careful to check in the same
15030         way we assigned.
15031
15032 2000-03-27  Didier Verna  <didier@xemacs.org>
15033
15034         * config.h.in: define the proper SMART_INCLUDE macro.
15035         handle renaming of `foo_h_path' to `foo_h_file'.
15036
15037         * database.c: ditto.
15038
15039         * emacs.c: ditto.
15040
15041         * linuxplay.c: ditto.
15042
15043         * terminfo.c: ditto.
15044
15045         * tooltalk.h: ditto.
15046
15047 2000-03-27  Andy Piper  <andy@xemacs.org>
15048
15049         * glyphs-msw.c (mswindows_update_widget): make sure the widget
15050         gets updated whenever the face might have changed.
15051
15052 2000-03-26  Mike Alexander  <mta@arbortext.com>
15053
15054         * dumper.c (pdump_resource_free): Fix the comment.
15055
15056 2000-03-21  Olivier Galibert  <galibert@pobox.com>
15057
15058         * input-method-xlib.c (XIM_init_frame): Remove painful warning.
15059
15060 2000-03-22  Mike Alexander  <mta@arbortext.com>
15061
15062         * dumper.c: Include Windows headers on Windows
15063         (pdump_resource_free): Add a body to the function
15064         (pdump_load): exe_name -> exe_path and add some comments.
15065
15066 2000-03-25  Mike Alexander  <mta@arbortext.com>
15067
15068         * gui.c (copy_gui_item_tree): Return a value in all cases
15069
15070 2000-03-21  Didier Verna  <didier@xemacs.org>
15071
15072         * config.h.in: move INCLUDE_GLUE_1 and INCLUDE_GLUE_2 here from
15073         lwlib/config.h.in.
15074         (SMART_INCLUDE): new macro.
15075         (POSTGRES_INCLUDE): new macro to include postgresql headers from
15076         the proper location.
15077
15078         * postgresql.c: use it.
15079
15080         * inline.c: ditto.
15081
15082 2000-03-24  Andy Piper  <andy@xemacs.org>
15083
15084         * gutter.c (redraw_exposed_gutters): must be "in display" when we
15085         do this.
15086
15087 2000-03-24  Andy Piper  <andy@xemacs.org>
15088
15089         * redisplay-output.c (compare_runes): use image_instance_changed
15090         to detect changes. Do not depend on glyphs_changed, only depend on
15091         dirtiness.
15092          (redisplay_output_layout): add debug messages.
15093         (compare_runes): ditto.
15094
15095         * glyphs.h: declare new functions.
15096         (struct Lisp_Image_Instance): remove percent and associated
15097         accessors.
15098
15099         * gui.h: declare new copying functions.
15100
15101         * gui.c (copy_gui_item_tree): new function.
15102         (copy_gui_item): new function.
15103         (gui_item_id_hash): revert to standard hash.
15104         (gui_item_hash): ditto.
15105         (gui_item_hash_internal): deleted.
15106         (mark_gui_item): mark value.
15107         (gui_item_add_keyval_pair): add value.
15108         (gui_item_init): ditto.
15109         (gui_add_item_keywords_to_plist): ditto.
15110         (gui_item_equal): ditto.
15111         (syms_of_gui): add Q_value.
15112
15113         * glyphs-x.c (x_progress_gauge_update): use pending items and
15114         value for setting the state.
15115         (x_update_widget): don't set items from pending here.
15116
15117         * glyphs-widget.c (update_widget): update items here.
15118         (progress_gauge_set_property): use items for storing value. Put
15119         new value in pending items.
15120
15121         * glyphs-msw.c (mswindows_progress_gauge_update): use pending
15122         items for new value. Convert percent -> value.
15123         (mswindows_tab_control_update): don't update items here.
15124
15125         * glyphs.c (Fupdate_widget_instances): use image_instance_changed.
15126         (update_subwindow): ditto.
15127         (image_instance_changed): new function. Compare hash values and
15128         past and present widget items.
15129         (image_instantiate): We more careful about where we instantiate
15130         things.
15131         (image_instantiate): add error checking.
15132
15133         * gutter.c (syms_of_gutter): use -hook.
15134
15135 2000-03-20  Yoshiki Hayashi  <yoshiki@xemacs.org>
15136
15137         * console-tty.c (Fset_console_tty_input_coding_system): Use
15138         Qkeyboard.
15139         (Fset_console_tty_output_coding_system): Use Qterminal.
15140         (tty_init_console): Use Qkeyboard and Qterminal.
15141
15142 2000-03-21  Ben Wing  <ben@xemacs.org>
15143
15144         * ntproc.c (create_child): remove bogus HAVE_NTGUI's.
15145         From Mike Alexander <mta@arbortext.com>.
15146
15147 2000-03-21  Ben Wing  <ben@xemacs.org>
15148
15149         * event-msw.c (mswindows_need_event): Horrible kludge to fix
15150         process brokenness.  Proper implementation to come.
15151         * callproc.c:
15152         Rename call-process-internal to old-call-process-internal.
15153         New impl. in process.el.
15154
15155 2000-03-21  Martin Buchholz  <martin@xemacs.org>
15156
15157         * Makefile.in.in: Coalesce HAVE_NATIVE_SOUND code fragments.
15158
15159 2000-03-20  Andy Piper  <andy@xemacs.org>
15160
15161         * glyphs.c (full_list_hash): make hashes of the same elements in
15162         different orders return different values.
15163
15164 2000-03-20  Martin Buchholz <martin@xemacs.org>
15165
15166         * XEmacs 21.2.32 is released.
15167
15168 2000-03-20  Martin Buchholz  <martin@xemacs.org>
15169
15170         * buffer.h (DFC_ALLOCA_USE_CONVERTED_DATA):
15171         (DFC_MALLOC_USE_CONVERTED_DATA):
15172         Add aliasing-safe casts to allow use with char* or unsigned char*
15173         lvalues.
15174
15175         * eldap.c (Fldap_open):
15176         (Fldap_search_basic):
15177         (Fldap_add):
15178         (Fldap_modify):
15179         Make C++-compilable.
15180         Make sure GCPRO'ed variables are initialized.
15181         Use temp variables to avoid repeated calls to Flength.
15182
15183 2000-03-16  Martin Buchholz  <martin@xemacs.org>
15184
15185         * sysfile.h:
15186         Make sure PATH_MAX is always defined.
15187         Include limits.h for PATH_MAX.
15188         Deprecate use of MAXPATHLEN.
15189
15190 2000-03-10  Martin Buchholz  <martin@xemacs.org>
15191
15192         * emacs.c: Add reinit_vars_of_fileio.
15193         * symsinit.h: Add reinit_vars_of_fileio.
15194         * fileio.c (reinit_vars_of_fileio): New.
15195         * fileio.c (Fmake_temp_name):
15196         Initialize temp_name random number from microseconds to make
15197         collisions even less likely.  Initialize always at process startup
15198         time.  (make-temp-name) used to return the same file name twice in
15199         a row when PDUMP.
15200         Random stylistic fiddling.
15201         Comment fixes.
15202
15203 2000-03-20  Andy Piper  <andy@xemacs.org>
15204
15205         * glyphs.c (image_instantiate): allow text glyphs to be
15206         instantiated in the minibuffer window.
15207
15208 2000-03-19  Andy Piper  <andy@xemacs.org>
15209
15210         * glyphs.c (image_instance_hash): be careful about which items we
15211         hash on.
15212
15213         * glyphs-widget.c (tab_control_set_property): record into pending
15214         items rather than the actual items.
15215
15216         * glyphs-x.c (x_update_widget): use pending items to update with.
15217
15218         * glyphs-msw.c (mswindows_tab_control_update): use pending items
15219         to update with.
15220
15221         * glyphs.c (mark_image_instance): mark pending items.
15222
15223         * window.c (Fset_window_configuration): record the buffer.
15224         (Fselect_window): totally revert previous change which breaks many
15225         things.
15226
15227 2000-03-18  Andy Piper  <andy@xemacs.org>
15228
15229         * glyphs-msw.c (mswindows_tab_control_update): force selected
15230         item.
15231
15232         * glyphs.c (image_instantiate): don't allow the minibuffer as a
15233         window domain cache, otherwise we get inconsistencies at
15234         startup. There is something fishy at startup which can lead to the
15235         minibuffer being the selected window when the gutter content is
15236         instantiated.
15237
15238         * gui.c (parse_gui_item_tree_list): add probably unnecessary
15239         gcpros.
15240         (parse_gui_item_tree_children): ditto.
15241         (parse_gui_item_tree_item): ditto.
15242
15243         * glyphs.c (Fupdate_widget_instances): return something.
15244
15245 2000-03-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
15246
15247         * window.c (Fselect_window): Undo 2000-03-17 change.
15248
15249 2000-03-17  SL Baur  <steve@musashimaru.m17n.org>
15250
15251         * postgresql.c (Fpq_setenv): Remove this turkey when linking
15252         against v7.0 libraries.  Insta-coredump city until the postgres
15253         folks fix it.
15254
15255 2000-03-17  Andy Piper  <andy@xemacs.org>
15256
15257         * faces.c (complex_vars_of_faces): don't give the widget face an
15258         inherited background pixmap.
15259
15260         * glyphs-msw.c (mswindows_tab_control_instantiate): select the
15261         selected item.
15262
15263         * event-stream.c (Fdispatch_non_command_events): return something.
15264
15265         * gutter.c (output_gutter): use widget face.
15266         (clear_gutter): ditto.
15267
15268         * NEWS: adjust again.
15269
15270         * window.c (Fselect_window): make sure this runs to completion to
15271         avoid oddities with Fset_window_configuration.
15272         (Fcurrent_window_configuration): in general do not save the
15273         minibuffer as the selected window.
15274
15275         * glyphs.h (IMAGE_INSTANCE_HASH_DEPTH): increase.
15276
15277 2000-03-16  Olivier Galibert  <galibert@pobox.com>
15278
15279         * emacs.c (Frunning_temacs_p): Revert previous patch.
15280         (main_1): Reinitialize running_temacs_argc if pdump_load succeeds.
15281
15282 2000-03-16  Andy Piper  <andy@xemacs.org>
15283
15284         * glyphs-x.c (x_tab_control_update): if no widget values then
15285         return.
15286
15287         * NEWS: update for new features.
15288
15289         * event-Xt.c (emacs_Xt_force_event_pending): new function. Post a
15290         synthetic event to the native system.
15291         (reinit_vars_of_event_Xt): set force_event_pending to
15292         emacs_Xt_force_event_pending.
15293
15294         * events.h (struct event_stream): add force_event_pending.
15295
15296         * specifier.c (recompute_one_cached_specifier_in_window): add
15297         comment.
15298
15299         * redisplay.c (redisplay_frame): don't call
15300         update_frame_subwindows. Reset subwindow cachels when
15301         subwindows_changed, removing this was an optimization too far.
15302
15303         * redisplay-output.c (compare_runes): reorganize so that we catch
15304         glyph changes when we want them. Set optimize_output when this
15305         would help layouts.
15306         (redisplay_output_layout): remove frame_really_changed, use
15307         optimize_output instead.
15308
15309         * redisplay-msw.c (mswindows_output_display_block): reset
15310         optimize_output after outputting a glyph.
15311         * redisplay-x.c (x_output_display_block): ditto.
15312         * redisplay-tty.c (tty_output_display_block): ditto.
15313
15314         * gutter.c: (specifier_vars_of_gutter): use new spec changed
15315         functions.
15316         (gutter_specs_changed): do specific gutter positions.
15317         (top_gutter_specs_changed): new function. Only update the
15318         specified gutter specs.
15319         (bottom_gutter_specs_changed): ditto.
15320         (left_gutter_specs_changed): ditto.
15321         (right_gutter_specs_changed): ditto.
15322
15323         * gui.c (gui_item_hash_internal): new function, does a real hash.
15324         (gui_item_id_hash): use it.
15325         (gui_item_hash): hash the eval'ed gui_item.
15326
15327         * gui-x.c (popup_selection_callback): send an eval event to call
15328         Fupdate_widget_instances.
15329
15330         * gui-msw.c (mswindows_handle_gui_wm_command): send an eval event
15331         to call Fupdate_widget_instances.
15332
15333         * glyphs.h (struct Lisp_Image_Instance): add optimize_output flag.
15334         (IMAGE_INSTANCE_OPTIMIZE_OUTPUT): access it.
15335
15336         * glyphs.c: (update_frame_subwindows): deleted.
15337         (Fupdate_widget_instances): new function for updating the dirty
15338         state of widgets that might have changed.
15339         (syms_of_glyphs): add Qupdate_widget_instances.
15340         (full_list_hash): hash a list completely.
15341         (image_instance_hash): use it for items and properties.
15342
15343         * frame-msw.c (mswindows_size_frame_internal): remove unused
15344         variable.
15345
15346         * faces.h (struct face_cachel): fix comment.
15347
15348         * event-stream.c (Fdispatch_non_command_events): new
15349         function. Process non-command events, forcing an event cycle
15350         beforehand.
15351         (syms_of_event_stream): declare.
15352         (event_stream_force_event_pending): new function. Force an event
15353         on the native event queue so that an event cycle will occur next
15354         time we check.
15355
15356         * event-msw.c:
15357         (struct ntpipe_shove_stream):
15358         (mswindows_enqueue_dispatch_event):
15359         (mswindows_dequeue_dispatch_event):
15360         (mswindows_cancel_dispatch_event):
15361         (mswindows_pump_outstanding_events):
15362         (mswindows_drain_windows_queue):
15363         (mswindows_handle_paint):
15364         (mswindows_wnd_proc):
15365         (mswindows_key_to_emacs_keysym):
15366         (get_process_input_waitable):
15367         (emacs_mswindows_delete_stream_pair): re-indent file.
15368         (mswindows_need_event): do not process further fds if the windows
15369         fd is set, otherwise you get endless XM_BUMPQUEUE cycles. This
15370         fixes the 100% cpu problem.
15371         (reinit_vars_of_event_mswindows): set force_event_pending to 0.
15372
15373 2000-03-15  Olivier Galibert  <galibert@pobox.com>
15374
15375         * alloc.h: New.
15376         * dumper.h: New.
15377         * dumper.c: New.
15378
15379         * emacs.c: Moved dump file searching to dumper.c.
15380         (Frunning_temacs_p): Fixed.
15381
15382         * alloc.c: Moved everything pdump-related to dumper.c.  Removed
15383         last_lrecord_type_index_assigned.
15384
15385 2000-02-20  Olivier Galibert  <galibert@pobox.com>
15386
15387         * symsinit.h: Added reinit parameter to init_console_stream
15388         declaration.
15389
15390         * lisp.h: Added file parameter to pdump_load declaration.
15391
15392         * emacs.c (main_1): Added -nd/--nodump-file and -sd/--show-dump-id
15393         support.  Added dump file searching.
15394
15395         * config.h.in: Added EMACS_PROGNAME.
15396
15397         * console-stream.c (init_console_stream): Fix reinitialisation
15398         when running from temacs.
15399
15400         * alloc.c (pdump): Add id support.
15401         (pdump_load): Add file parameter and signature/id support.
15402
15403         * Makefile.in.in: Add full pdump support.
15404
15405 2000-03-15  SL Baur  <steve@musashimaru.m17n.org>
15406
15407         * postgresql.c: Update documentation to reflect latest code
15408         status.
15409         (print_result): Show tuple counts in printed representation when
15410         appropriate.
15411         (Fpq_put_nbytes): MULE-ize.
15412         (Fpq_get_line_async): Ditto.
15413
15414 2000-03-14  SL Baur  <steve@musashimaru.m17n.org>
15415
15416         * postgresql.c (Fpq_lo_import): Fix return value.
15417         Suggested by: Kenji Itoh <keit@tpj.co.jp>.
15418
15419 2000-03-13  Ben Wing  <ben@xemacs.org>
15420
15421         * alloc.c (pdump_load):
15422         Fix compile warning under mswin.
15423
15424 2000-03-14  SL Baur  <steve@musashimaru.m17n.org>
15425
15426         * postgresql.c: Mule-ization, bug fixes.
15427         Use PG_CODING to encapsulate coding system name changes.
15428         Backport a version of TO_EXTERNAL format for 21.1/InfoDock.
15429         (pg-coding-system): Create.
15430
15431         (Fpq_conn_defaults): Mule-ize.
15432         (Fpq_connectdb): Mule-ize & bug fix.
15433         (Fpq_connect_start): Mule-ize.
15434         (Fpq_set_client_encoding): Mule-ize.
15435         (Fpq_finish): Document `DEAD' connection status.
15436         (Fpq_clear): Ditto.
15437         (Fpq_pgconn): Mule-ize.
15438         (Fpq_exec): Mule-ize & bug fix.
15439         (Fpq_send_query): Ditto.
15440         (Fpq_get_result): Ditto.
15441         (Fpq_res_status): Mule-ize.
15442         (Fpq_result_error_message): Mule-ize.
15443         (Fpq_ntuples): fix comments.
15444         (Fpq_fname): Mule-ize.
15445         (Fpq_fnumber): Mule-ize.
15446         (Fpq_ftype): fix comments.
15447         (Fpq_get_value): Mule-ize.
15448         (Fpq_cmd_status): Ditto.
15449         (Fpq_cmd_tuples): Ditto.
15450         (Fpq_oid_value): Ditto.
15451         (Fpq_notifies): Ditto.
15452         (Fpq_lo_import): Ditto.
15453         (Fpq_lo_export): Ditto.
15454         (Fpq_get_line): Ditto.
15455         (Fpq_put_line): Mule-ize and bug fix.
15456         (syms_of_postgresql): Fix ifdef'ing, add pg-coding-system.
15457
15458 2000-03-10  SL Baur  <steve@musashimaru.m17n.org>
15459
15460         * postgresql.c (vars_of_postgresql): Mule-ize.
15461         (Fpq_conn_defaults): Ditto.
15462
15463 2000-03-12  Ben Wing  <ben@xemacs.org>
15464
15465         * alloc.c (Fmake_byte_code):
15466         * alloc.c (debug_string_purity_print):
15467         * alloc.c (pdump_backtrace):
15468         * alloc.c (pdump_get_indirect_count):
15469         * alloc.c (pdump_register_sub):
15470         * alloc.c (pdump_register_object):
15471         * alloc.c (pdump_register_struct):
15472         * alloc.c (pdump_dump_data):
15473         * alloc.c (pdump_reloc_one):
15474         Minor cleanups.
15475
15476         * console-msw.c:
15477         * console-msw.c (GetConsoleHwnd):
15478         * console-msw.c (msw_hide_console):
15479         * console-msw.c (msw_show_console):
15480         * console-msw.c (msw_ensure_console_buffered):
15481         * console-msw.c (msw_output_console_string):
15482         * console-msw.c (console_type_create_mswindows):
15483
15484         a) Added functions to manipulate the console window for use with
15485         shell support.
15486
15487         b) Added support for writing text to the console, which is now
15488         used under Windows when xemacs is not being run non-interactively,
15489         to write text that would otherwise be destined for stdout because
15490         under these circumstances, text written to stdout tends to
15491         disappear and not be seen.
15492
15493         * console-msw.h:
15494         * event-Xt.c:
15495         * event-Xt.c (x_event_to_emacs_event):
15496         * event-Xt.c (describe_event_window):
15497         * events-mod.h (XEMACS_MOD_CONTROL):
15498         * events.c:
15499         * events.c (Fmake_event):
15500         * events.c (character_to_event):
15501         * events.c (event_to_character):
15502         * events.c (format_event_object):
15503         * events.c (Fevent_modifiers):
15504         * events.h:
15505         * events.h (struct key_data):
15506         * events.h (struct button_data):
15507         * events.h (struct misc_user_data):
15508         * frame-x.c (Fcde_start_drag_internal):
15509         * frame-x.c (Foffix_start_drag_internal):
15510         * gpmevent.c (Freceive_gpm_event):
15511         * keymap.c:
15512         * keymap.c (bucky_sym_to_bucky_bit):
15513         * keymap.c (control_meta_superify):
15514         * keymap.c (make_key_description):
15515         * keymap.c (keymap_lookup_directly):
15516         * keymap.c (create_bucky_submap):
15517         * keymap.c (keymap_store):
15518         * keymap.c (define_key_check_and_coerce_keysym):
15519         * keymap.c (define_key_parser):
15520         * keymap.c (define_key_alternate_name):
15521         * keymap.c (Fdefine_key):
15522         * keymap.c (raw_lookup_key_mapper):
15523         * keymap.c (struct map_keymap_unsorted_closure):
15524         * keymap.c (map_keymap_unsorted_mapper):
15525         * keymap.c (map_keymap_sort_predicate):
15526         * keymap.c (map_keymap_sorted):
15527         * keymap.c (accessible_keymaps_mapper_1):
15528         * keymap.c (where_is_recursive_mapper):
15529         * keymap.c (describe_map_mapper):
15530         * keymap.c (describe_map_sort_predicate):
15531         * keymap.c (describe_map):
15532         * keymap.c (complex_vars_of_keymap):
15533         And a number of other files, the key modifier preprocessor
15534         constants that xemacs uses have names that conflict with constants
15535         defined under MS Windows for other purposes, so they were renamed
15536         to begin with the prefix XEMACS_. The variables that hold such
15537         modifiers were changed to consistently be of type int to fix
15538         various compile warnings.
15539
15540         * console.c (complex_vars_of_console):
15541         * device.c:
15542         * device-msw.c:
15543         * device-msw.c (mswindows_finish_init_device):
15544         * device-msw.c (msw_get_workspace_coords):
15545         * device-msw.c (mswindows_device_system_metrics):
15546         and various other files, added support for a new
15547         device property called offset-workspace which returns the position
15548         of the upper left corner of the workspace area and goes along with
15549         the existing size-workspace property.
15550
15551         * dialog-msw.c:
15552         * dialog-msw.c (push_bufbyte_string_as_unicode):
15553         * dialog-msw.c (mswindows_popup_dialog_box):
15554         Added support for XEmacs-style accelerator specifications in
15555         button text.  Note: I didn't add support for this under X Windows,
15556         and somebody needs to do this.
15557
15558         * dialog.c:
15559         * dialog.c (Fpopup_dialog_box):
15560         Documented the support for accelerators that was just mentioned.
15561
15562         editfns.c (get_home_directory): Changed behavior under Windows
15563         when HOME not defined; former behavior was irretrievably broken.
15564
15565         * emacs.c:
15566         * emacs.c (main_1):
15567         * emacs.c (main):
15568         * minibuf.c (clear_echo_area_internal):
15569         * minibuf.c (echo_area_append):
15570         * print.c:
15571         * print.c (std_handle_out_external):
15572         * print.c (std_handle_out_va):
15573         * print.c (fatal):
15574         * print.c (write_string_to_stdio_stream):
15575         * print.c (output_string):
15576         * print.c (debug_print):
15577         * print.c (debug_backtrace):
15578         * print.c (debug_short_backtrace):
15579         Cleaned up the code that prints text to stdout so that this can be
15580         changed to output into a console window instead under MS Windows,
15581         as described above.
15582
15583         * eval.c:
15584         * eval.c (DEFEND_AGAINST_THROW_RECURSION):
15585         * eval.c (internal_catch):
15586         * eval.c (unwind_to_catch):
15587         * eval.c (throw_or_bomb_out):
15588         * eval.c (condition_case_1):
15589         * eval.c (signal_1):
15590         * eval.c (check_error_state_sanity):
15591         * eval.c (call_with_suspended_errors_1):
15592         * eval.c (call_with_suspended_errors):
15593         * eval.c (reinit_vars_of_eval):
15594         Added code to catch throw loops and check for a pesky bug that may
15595         be gone now.
15596
15597         * event-msw.c:
15598         * event-msw.c (key_needs_default_processing_p):
15599         * event-msw.c (mswindows_wnd_proc):
15600         * event-msw.c (mswindows_modifier_state):
15601         * event-msw.c (emacs_mswindows_quit_p):
15602         * event-msw.c (vars_of_event_mswindows):
15603         a) Added support for using the alt key to select menu items as is
15604         standard under MS Windows.  This is controlled using the variable
15605         menu-accelerator-enabled, just like under X Windows.  There is an
15606         option on the options menu to turn this support on.  I really
15607         think that it should be on by default under Windows, but I'm not
15608         going to make this change yet.
15609
15610         b)  Added support for dynamic display size changes under Windows.
15611
15612         * event-stream.c:
15613         * event-stream.c (maybe_echo_keys):
15614         * event-stream.c (Fnext_event):
15615         * event-stream.c (command_builder_find_leaf):
15616         * event-stream.c (lookup_command_event):
15617         * event-stream.c (execute_command_event):
15618         * event-stream.c (pre_command_hook):
15619         * event-stream.c (post_command_hook):
15620         * event-stream.c (syms_of_event_stream):
15621         * event-stream.c (vars_of_event_stream):
15622         * event-stream.c (complex_vars_of_event_stream):
15623         * events.h (struct command_builder):
15624
15625         a) Tried to clean up a little bit the horribly written x-specific
15626         accelerator code that crept into this file.  I moved this code
15627         into menubar-x.c where it belongs. I also needed to move the
15628         command builder structure into the file events.h because it is
15629         accessed directly by this accelerator code.  What I didn't do, but
15630         which should be done at some point, is to properly abstract this
15631         code using device methods instead of the kludgy way that it
15632         currently hooks into the event code.
15633
15634         b) Added the lisp variables this-command-properties and
15635         last-command- properties, which should be used to synchronize two
15636         adjacent commands in preference to playing games with the variable
15637         this-command, which is typically what happens.
15638
15639         c) Added some slightly nasty code to hook into the lisp support
15640         for shifted- motion-key selection.  This is actually necessary for
15641         somewhat complicated reasons, which are described in
15642         simple.el. (NB: I think the proper thing would be to have the code
15643         that calls the pre and post command hooks also call out to generic
15644         lisp functions in simple.el, where all built-in stuff could be
15645         added.  I will think about this more.)
15646
15647         * event-unixoid.c (poll_fds_for_input):
15648         * lread.c (readchar):
15649         * redisplay-tty.c (tty_clear_frame):
15650         * redisplay-x.c (x_get_gc):
15651         * signal.c (interrupt_signal):
15652         And a whole bunch of other files: fixed up places that printed
15653         directly to stderr to instead call the function stderr_out so that
15654         the changes I made under Windows work correctly.
15655
15656         * filemode.c (mode_string):
15657         Warning fixes.
15658
15659         * frame-msw.c:
15660         * frame-msw.c (mswindows_size_frame_internal):
15661         Fixed the computation of frame size and position to keep the frame
15662         within the workspace area, rather than within the physical
15663         dimensions of the screen, so that the frame doesn't overlap window
15664         manager decorations, such as the start menu and toolbar, typically
15665         at the bottom of the screen.
15666
15667         * frame.c (vars_of_frame):
15668         Changed the default frame title format under MS Windows to consist
15669         of buffername-XEmacs, which is standard under MS Windows.  I think
15670         it might be a good idea to change this everywhere because I think
15671         it is superior to the current frame title format, but this is the
15672         kind of change that is likely to cause some people to get annoyed,
15673         so I'm not making it.
15674
15675         * glyphs-eimage.c (png_instantiate): Fixed some compile warnings.
15676
15677         * gui-msw.c (mswindows_handle_gui_wm_command):
15678         Fixed compile warnings.
15679
15680         * gui-x.c:
15681         * gui-x.c (strdup_and_add_accel):
15682         * gui-x.c (button_item_to_widget_value):
15683         * gui-x.h:
15684         Added code to automatically put an accelerator onto the beginning
15685         of menu items that don't have one as is now the standard, and is
15686         described more later.  Also fixed things so that the menu item
15687         name can be an evaluated expression, again a new standard.
15688
15689         * gui.c:
15690         * gui.c (gui_item_add_keyval_pair):
15691         * gui.c (make_gui_item_from_keywords_internal):
15692         * gui.c (gui_add_item_keywords_to_plist):
15693         * gui.c (gui_item_accelerator):
15694         * gui.c (gui_name_accelerator):
15695         * gui.c (gui_item_included_p):
15696         * gui.c (gui_item_display_flush_left):
15697         * gui.c (gui_item_display_flush_right):
15698         * gui.c (parse_gui_item_tree_item):
15699         * gui.c (parse_gui_item_tree_children):
15700         * gui.c (parse_gui_item_tree_list):
15701         Mule-ized.  Cleanup.  GCPRO addition.
15702
15703         * line-number.c (buffer_line_number):
15704         * lisp.h:
15705         * lisp.h (EMACS_INT_MAX):
15706         Added the manifest constant EMACS_INT_MIN corresponding to the
15707         existing constant EMACS_INT_MAX.  This is partially to fix compile
15708         warnings under Windows, and partly for cleanliness.
15709
15710         * menubar-msw.c:
15711         * menubar-msw.c (REPLACE_ME_WITH_GLOBAL_VARIABLE_WHICH_CONTROLS_RIGHT_FLUSH):
15712         * menubar-msw.c (msw_translate_menu_or_dialog_item):
15713         * menubar-msw.c (displayable_menu_item):
15714         * menubar-msw.c (populate_menu_add_item):
15715         * menubar-msw.c (populate_or_checksum_helper):
15716         * menubar-msw.c (populate_menu):
15717         * menubar-msw.c (update_frame_menubar_maybe):
15718         * menubar-msw.c (prune_menubar):
15719         * menubar-msw.c (msw_char_is_accelerator):
15720         * menubar-msw.c (unsafe_handle_wm_initmenu_1):
15721         * menubar-msw.c (mswindows_handle_wm_command):
15722         * menubar-msw.c (mswindows_handle_wm_initmenupopup):
15723         * menubar-msw.c (mswindows_handle_wm_initmenu):
15724         * menubar-msw.c (mswindows_update_frame_menubars):
15725         * menubar-msw.c (mswindows_free_frame_menubars):
15726         * menubar-msw.c (mswindows_popup_menu):
15727         Fixed a bug in handling accelerators where an extra character
15728         would be displayed in the menu item.  Also generalized the
15729         function displayable_menu_item because it is now used by the
15730         dialog box code as well.  And finally, added code in the functions
15731         that create the menubar to extract a list of accelerators for the
15732         top level menubar, which is used in the event code to determine
15733         whether a particular alt-key combination should be used to invoke
15734         a menu item, or should be passed through to access the standard
15735         XEmacs keymap binding for this key combination.
15736
15737         Much needed GCPROing.
15738
15739         * menubar-x.c:
15740         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
15741         * menubar-x.c (menu_item_descriptor_to_widget_value):
15742         * menubar-x.c (restore_in_menu_callback):
15743         * menubar-x.c (x_popup_menu):
15744         * menubar-x.c (menu_move_up):
15745         * menubar-x.c (menu_move_down):
15746         * menubar-x.c (menu_move_left):
15747         * menubar-x.c (menu_move_right):
15748         * menubar-x.c (menu_select_item):
15749         * menubar-x.c (command_builder_operate_menu_accelerator):
15750         * menubar-x.c (menu_accelerator_junk_on_error):
15751         * menubar-x.c (command_builder_find_menu_accelerator):
15752         * menubar-x.c (Faccelerate_menu):
15753         * menubar.h:
15754         Moved a whole bunch of code here that was previously in
15755         event-stream.c as described above.  There is also code connected
15756         to the new standard of adding an accelerator to the beginning of
15757         menu items that don't have one as described above and below.
15758
15759         * menubar.c:
15760         * menubar.c (menu_parse_submenu_keywords):
15761         * menubar.c (Fmenu_find_real_submenu):
15762         * menubar.c (Fnormalize_menu_item_name):
15763         * menubar.c (syms_of_menubar):
15764         * menubar.c (vars_of_menubar):
15765         * menubar.c (complex_vars_of_menubar):
15766
15767         a) Cleaned up a bunch of documentation and improved it.
15768
15769         b) XEmacs now automatically adds an accelerator onto the beginning
15770         of any menu items that don't have one.  I did this because there
15771         will inevitably be some menu items on the main menubar that don't
15772         have accelerators on them because the package that adds that
15773         particular menu item hasn't yet been fixed up to have accelerators
15774         in them and it looked rather strange to have some items with and
15775         some items without accelerators, especially since even in items
15776         without accelerators, you can, at least under windows, still
15777         access the item through an accelerator corresponding to the first
15778         character in the item's name.  If people don't like this behavior,
15779         I can add a variable to turn it off optionally, but I'm not sure
15780         this is a good idea because we really do need to have accelerators
15781         on all of the menu items, and if a package doesn't like the
15782         accelerators being put on the first character, then it should put
15783         the accelerators where they belong.
15784
15785         c) I made a behavior change, which is that the descriptor that
15786         specifies the text of the menu item, which formerly was just a
15787         string, can now also be an evaluated expression.  This makes this
15788         descriptor parallel with all of the others, which could also be
15789         evaluated expressions.  This also obviates the need for the
15790         keyword :label, which was previously listed in the documentation
15791         as unimplemented, and which was for the same purpose.
15792
15793         d) GCPROing.
15794
15795         * ntproc.c:
15796         * ntproc.c (new_child):
15797         * ntproc.c (sys_spawnve):
15798         * ntproc.c (find_child_console):
15799         * ntproc.c (sys_kill):
15800         Fixed compile warnings.  By the way, this file should really go
15801         away entirely, and this will happen as soon as Kirill makes his
15802         final round of process cleanups, which affect the function
15803         call-process.
15804
15805         * process-nt.c:
15806         * process-nt.c (struct nt_process_data):
15807         * process-nt.c (find_process_from_pid):
15808         * process-nt.c (send_signal_the_nt_way):
15809         * process-nt.c (enable_child_signals):
15810         * process-nt.c (find_child_console):
15811         * process-nt.c (send_signal_the_95_way):
15812         * process-nt.c (nt_finalize_process_data):
15813         * process-nt.c (ensure_console_window_exists):
15814         * process-nt.c (nt_create_process):
15815         * process-nt.c (nt_kill_child_process):
15816         * process-nt.c (nt_kill_process_by_pid):
15817         * process-nt.c (nt_open_network_stream):
15818         * process-nt.c (vars_of_process_nt):
15819         Copied over code from Emacs 20.5 to correctly send signals to sub-
15820         processes under Windows 95.  Also added code to automatically
15821         create and hide console window when a sub-process is created under
15822         Windows 95, which obviates the need for the separate runemacs.exe
15823         executable, and finally implemented some variables that were
15824         implemented in Emacs 20.5, but previously not in XEmacs.  These
15825         include mswindows- start-process-share-console and
15826         mswindows-start-process-inherit-error-mode. (Both of these only
15827         apply to Windows 95.)
15828
15829         * regex.c (regex_compile): Fixed a compile warning.
15830
15831         * select-msw.c:
15832         * select-msw.c (mswindows_own_selection):
15833         * select-msw.c (mswindows_get_foreign_selection):
15834         * select-msw.c (mswindows_disown_selection):
15835         * select-msw.c (console_type_create_select_mswindows):
15836         * select-msw.c (syms_of_select_mswindows):
15837         Cleaned up the file and implemented the device method
15838         selection_exists_p, which had accidentally been left out.  Also
15839         removed four lisp functions that were remnants from before the
15840         time when the selection code was properly device abstracted.
15841         These functions are no longer needed because there are generic
15842         equivalents, and because they were added recently and don't exist
15843         in FSF Emacs, I don't think there's any problem with just deleting
15844         them.
15845
15846         * sysdep.c:
15847         * sysdep.c (sys_subshell):
15848         Fixed a compile warning, although in this case there's probably
15849         something wrong with this code, and it ought to be looked into
15850         more thoroughly by somebody who understands it.
15851
15852         * window.c:
15853         * window.c (Fwindow_text_area_height):
15854         * window.c (Fwindow_width):
15855         * window.c (Fwindow_full_width):
15856         * window.c (Fwindow_pixel_width):
15857         * window.c (debug_print_window):
15858         * window.c (syms_of_window):
15859         Added functions window-text-area-height and window-full-width,
15860         which are functions for returning various width and height
15861         characteristics of a window. (One of these functions is necessary
15862         for making the file dialog box work correctly, and the other one
15863         was added for completeness.)  Also added a table to the
15864         documentation for window-height which describes the entire scheme
15865         for accessing width and height characteristics of a window.
15866
15867 2000-03-12  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15868
15869         * nt.c (fstat): Added a comment for another problem with
15870         non-encapsulated [f]stat(), reported by Adrian Aichner
15871         <aichner@ecf.teradyne.com>.
15872
15873 2000-03-11  Andy Piper  <andy@xemacs.org>
15874
15875         * window.c (make_dummy_parent): initialize subwindow instance
15876         cache.
15877         (Fset_window_configuration): zero extent_modiff.
15878
15879 2000-03-10  Andy Piper  <andy@xemacs.org>
15880
15881         * redisplay.c (Fredraw_frame): reset the changed_set flags so that
15882         more changes can be triggered.
15883         (Fredisplay_frame): ditto.
15884         (Fredraw_device): ditto.
15885         (Fredisplay_device): ditto.
15886         (redisplay_frame): make non-static.
15887         (redisplay_frame): call update_frame_gutter_geometry outside of
15888         display proper.
15889
15890         * gutter.h: declare update_frame_gutter_geometry.
15891
15892         * redisplay.h: declare redisplay_frame.
15893
15894         * gutter.c (update_frame_gutter_geometry): move geometry changes
15895         in update_frame_gutters here. Geometry changes can only occur
15896         outside of redisplay.
15897         (update_frame_gutters): remove geometry change code.
15898         (Fredisplay_gutter_area): make sure that we are in display when we
15899         update and that we have flushed any size changes.
15900
15901 2000-03-11  Andy Piper  <andy@xemacs.org>
15902
15903         * alloc.c (pdump_dump_data): remove i & count shadows.
15904
15905 2000-02-27  Mike Alexander  <mta@arbortext.com>
15906
15907         * sysdep.h: Declare pdump_read_file
15908
15909         * sysdep.c (pdump_read_file): New function
15910
15911         * alloc.c (pdump_load): Call pdump_read_file to get the portable
15912         dump data
15913
15914 2000-03-10  SL Baur  <steve@musashimaru.m17n.org>
15915
15916         * lrecord.h: add `lrecord_type_pgsetenv'.
15917
15918 2000-03-08  SL Baur  <steve@musashimaru.m17n.org>
15919
15920         * symsinit.h: declare (vars|syms)_of* functions.
15921         * lrecord.h: add `lrecord_type_pgconn' and 'lrecord_type_pgresult'.
15922
15923 2000-03-06  SL Baur  <steve@musashimaru.m17n.org>
15924
15925         * config.h.in: Add symbols HAVE_POSTGRESQL and HAVE_POSTGRESQLV7
15926
15927         * inline.c: Include postgresql.h lrecord stuffs to placate buggy
15928         GCCs.
15929
15930         * emacs.c (main_1): Call postgres initialization code.
15931
15932         * postgresql.h: New file.  PostgreSQL RDBMS support.
15933         * postgresql.c: New file.
15934
15935 2000-03-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
15936
15937         * redisplay-output.c (redisplay_output_display_block): Disable
15938         redundant code.
15939
15940 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
15941
15942         * mule-canna.c (Fcanna_henkan_region): Translate doc-string.
15943         (Fcanna_henkan_next): Ditto.
15944         (Fcanna_bunsetu_henkou): Ditto.
15945         (Fcanna_henkan_kakutei): Ditto.
15946         (Fcanna_henkan_end): Ditto.
15947         (Fcanna_henkan_quit): Ditto.
15948         (Fcanna_henkan_next): Set retun value correctly.
15949         (c2mu): Use unsigned char instead of signed char.
15950
15951 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
15952
15953         * emacs.c (main_1): Always call syms_of_gui.
15954         * inline.c: include gui.h
15955
15956 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
15957
15958         * redisplay.c (Vvisible_bell): Renamed from visible_bell and
15959         converted to Lisp_Object.
15960         (Qtop_bottom): New variable.
15961         (syms_of_redisplay): Initialize it.
15962         * redisplay.h (Vvisible_bell): Ditto.
15963         * sound.c (ding): Ditto and check if Vvisible_bell is nil.
15964         * redisplay-x.c (x_flash): When Vvisible_bell is top-bottom,
15965         only flash top and bottom.
15966
15967 2000-03-08  Andy Piper  <andy@xemacs.org>
15968
15969         * buffer.c (Frename_buffer): record new buffer name the right way.
15970
15971 2000-03-08  Andy Piper  <andy@xemacs.org>
15972
15973         * glyphs.c (update_subwindow): increase hash depth so that widget
15974         items get picked up properly.
15975
15976         * redisplay-output.c (compare_runes): increase hash depth so that
15977         widget items get picked up properly.
15978
15979 2000-03-08  Andy Piper  <andy@xemacs.org>
15980
15981         * gutter.c (output_gutter): add some debug.
15982
15983         * glyphs.h (struct Lisp_Image_Instance): add display_hash.
15984         (IMAGE_INSTANCE_DISPLAY_HASH): new macro.
15985         (XIMAGE_INSTANCE_DISPLAY_HASH): ditto.
15986
15987         * redisplay-output.c (compare_runes): use display_hash to
15988         determine if glyphs really are not the same.
15989
15990         * glyphs.c (update_subwindow): check display_hash to see if
15991         anything really needs to be updated. If not then do
15992         nothing. Record the display_hash after updating.
15993         (image_instance_equal): compare the image_instance face also.
15994
15995 2000-03-07  Yoshiki Hayashi  <yoshiki@xemacs.org>
15996
15997         * redisplay.h: Fix comment style.
15998
15999 2000-03-08  Jonathan Harris  <jhar@tardis.ed.ac.uk>
16000
16001         * consle-msw.h (struct mswindows_frame):
16002         Added new member paint_pending to indicate whether a WM_PAINT
16003         magic event has been queued for this frame.
16004
16005         * event-msw.c (mswindows_drain_windows_queue):
16006         Don't queue a WM_PAINT magic event if one is already queued.
16007         (emacs_mswindows_handle_magic_event): clear paint_pending flag.
16008
16009         * frame-msw.c (mswindows_init_frame_1): initialise paint_pending flag.
16010
16011 2000-03-07  Didier Verna  <didier@xemacs.org>
16012
16013         * dired.c: #include `regex.h' after `sysfile.h'.
16014
16015 2000-03-06  Martin Buchholz  <martin@xemacs.org>
16016
16017         * sound.c (init_nas_sound): Fix compiler warning.
16018
16019         * alloc.c (ALIASING_VOIDPP_DEREFERENCE): New.
16020         (FREE_STRUCT_P):
16021         (MARK_STRUCT_AS_FREE):
16022         (MARK_STRUCT_AS_NOT_FREE):
16023         Make `gcc -fstrict-aliasing' work properly.
16024
16025 2000-03-07  Jonathan Harris  <jhar@tardis.ed.ac.uk>
16026
16027         * device-msw.c (mswindows_finish_init_device): Call CoInitialize().
16028         (mswindows_delete_device): Call CoUnnitialize().
16029
16030         * event-msw.c (mswindows_wnd_proc): WM_DROPFILES: Decode Shortcuts.
16031
16032 2000-02-25    <CraigL@DyCon.com>
16033
16034         * process-nt.c: MinGW now has <shellapi.h>, but still needs
16035         <errno.h>.
16036
16037         * sysdep.c: This extern declaration for environ prevents MinGW
16038         from finding the variable in CRTDLL.DLL.
16039
16040         * s\mingw32.h (PBS_SMOOTH): Removed, now defined in cygwin's
16041         windows headers.
16042         (SHGFI_EXETYPE): ..
16043         (WM_MOUSEWHEEL): ..
16044         (_WIN32_IE): Added, needed to get the TCS_BOTTOM and TCS_VERTICAL
16045         definitions.
16046         (MMRESULT): Removed, now defined in cygwin's windows headers.
16047         (TIMECAPS): ..
16048         (uid_t,gid_t,pid_t,ssize_t): ..
16049         (_timeb): Removed, MinGW defines both _timeb and timeb.
16050         (HAVE_H_ERRNO): Added.
16051         (HAVE_TZNAME): Added, configure is not detecting this.
16052
16053 2000-02-03  IKEYAMA Tomonori <tomonori@suiyokai.org>
16054
16055         * chartab.h (XCHAR_TABLE_VALUE_UNSAFE): New macro.
16056         * syntax.c (syntax_match): Use it.
16057
16058         * cmds.c: Import auto-fill-chars from FSF Emacs.
16059         (Vauto_fill_chars): New variables.
16060         (internal_self_insert): Check Vauto_fill_chars.
16061         (vars_of_cmds):
16062         Declare auto-fill-chars as a Lisp variable and initialize it.
16063
16064 2000-03-05  Jonathan Harris  <jhar@tardis.ed.ac.uk>
16065
16066         * fileio.c (Fmake_symbolic_link):
16067         (Ffile_symlink_p):
16068         Run handlers even if local machine doesn't have symlinks.
16069
16070 2000-03-05  Jonathan Harris  <jhar@tardis.ed.ac.uk>
16071
16072         * event-msw.c (mswindows_drain_windows_queue):
16073         Don't generate paint magic events for non-XEmacs frames.
16074
16075 2000-03-05  Andy Piper  <andy@xemacs.org>
16076
16077         * redisplay.c (redisplay_frame): generate_displayable_area and
16078         friends assumes that we are not in GC, we therefore have to make
16079         sure that this doesn't happen.
16080
16081         * gutter.c (calculate_gutter_size): generate_displayable_area
16082         assumes that we are not in GC, we therefore have to make sure that
16083         this doesn't happen.
16084
16085 2000-03-05  Martin Buchholz  <martin@xemacs.org>
16086
16087         * opaque.c (DEFINE_LRECORD_IMPLEMENTATION): opaque_ptr ==> opaque-ptr
16088
16089 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
16090
16091         * redisplay.c (regenerate_window): Make sure we set a sane value
16092         for end_pos even if we jump out of the loop.
16093         (regenerate_window): Answer Ben's question :-).
16094         (start_end_of_last_line): Add may_error argument.
16095         (start_of_last_line):
16096         (end_of_last_line): Pass may_error = 0.
16097         (end_of_last_line_may_error): New function.
16098         (pixel_to_glyph_translation): Use it, so we don't crash in
16099         event_to_glyph.
16100
16101 2000-03-04  Andy Piper  <andy@xemacs.org>
16102
16103         * window.h (struct window): add gutter_extent_modiff.
16104
16105         * window.c (allocate_window): zero out gutter_extent_modiff.
16106
16107         * redisplay.h: declare sync_display_line_structs.
16108
16109         * redisplay.c (add_glyph_rune): add a better comment.
16110
16111         * redisplay-output.c (sync_display_line_structs): made non-static.
16112         (compare_runes): remove unneccesary glyph cachel access.
16113
16114         * gutter.h: declare gutter_extent_signal_changed_region_maybe.
16115
16116         * gutter.c (output_gutter): don't output the gutter if extent
16117         changes only involve extents in buffers. use 4 sets of display
16118         lines.
16119         (gutter_extent_signal_changed_region_maybe): new function. Mark
16120         extents in gutters as changed.
16121         (update_frame_gutters): use 4 sets of display lines.
16122         (reset_gutter_display_lines): ditto.
16123         (free_frame_gutters): ditto.
16124         (redraw_exposed_gutter): force output of gutters.
16125
16126         * frame.h (struct frame): add 4 sets of gutter display lines.
16127
16128         * extents.c: (extent_changed_for_redisplay): signal changes to
16129         extents in strings in the gutter as well as extents in buffers.
16130
16131 2000-03-02  Andy Piper  <andy@xemacs.org>
16132
16133         * gutter.c (specifier_vars_of_gutter): cosmetic changes.
16134
16135         * frame.c (Fmake_frame): make sure the gutters get initialized
16136         after the frame is visible.
16137         (set_frame_selected_window): re-arrange compilation macros a
16138         little.
16139         (change_frame_size_1): mark gutters changed.
16140
16141         * device.c (Fset_device_class): mark gutters changed.
16142
16143 2000-03-01  Andy Piper  <andy@xemacs.org>
16144
16145         * window.c (window_top_frame_gutter_height): deleted.
16146         (window_bottom_frame_gutter_height): ditto.
16147         (window_left_frame_gutter_height): ditto.
16148         (window_right_frame_gutter_height): ditto.
16149         (window_top_gutter_height): don't use them.
16150         (window_bottom_gutter_height): ditto.
16151         (window_left_gutter_width): ditto.
16152         (window_right_gutter_width): ditto.
16153         (Fsplit_window): ditto.
16154         (Fwindow_pixel_edges): don't use border dimensions here.
16155
16156         * scrollbar.c (update_scrollbar_instance): don't take gutters into account.
16157         (update_scrollbar_instance): ditto.
16158
16159         * redisplay.c (generate_modeline): don't take gutters into account.
16160         (generate_modeline): ditto.
16161         (redisplay_frame): small gutter display optimization.
16162
16163         * redisplay-x.c (x_output_vertical_divider): don't take gutters into account.
16164
16165         * redisplay-msw.c (mswindows_output_vertical_divider): don't take
16166         gutters into account.
16167
16168         * gutter.h (WINDOW_REAL_*_GUTTER_BOUNDS): remove bogus checks
16169         for window position and type.
16170
16171         * gutter.c (get_gutter_coords): fix for frame gutters.
16172         (update_frame_gutters): update frame geometry if the gutters have
16173         changed.
16174         (init_frame_gutters): record current gutter geometries.
16175
16176         * glyphs-msw.c (mswindows_subwindow_instantiate): remove unused
16177         var.
16178         (mswindows_widget_instantiate): ditto.
16179
16180         * frame.h (struct frame): add current_gutter_bounds.
16181
16182         * frame.c (change_frame_size_1): position window and minibuffer
16183         appropriately taking into account the frame gutters.
16184
16185         * frame-x.c: (x_initialize_frame_size): take into account the
16186         frame gutters.
16187
16188 2000-02-29  Stephen J. Turnbull  <stephen@xemacs.org>
16189
16190         * emacs.c (data-directory):  Xref `locate-data-file' in docstring.
16191
16192 2000-02-29  Stephen J. Turnbull  <stephen@xemacs.org>
16193
16194         * alloc.c (dumpopaquevec): Increase dimension for --with-canna.
16195
16196 1999-12-30  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
16197
16198         * file-coding.c (reset_decoding_stream): Clear previous
16199         detection state when autodetect.
16200
16201 2000-02-29  Didier Verna  <didier@xemacs.org>
16202
16203         * extents.c (set_extent_glyph_1): don't require extents to be
16204         attached.
16205
16206 2000-02-27  Andy Piper  <andy@xemacs.org>
16207
16208         * gutter.c (Fset_default_gutter_position): don't default left and
16209         right gutter visibility to t.
16210         (Fset_default_gutter_position): run
16211         default-gutter-position-changed-hook.
16212         (syms_of_gutter): add default-gutter-position-changed-hook.
16213
16214 2000-02-26  Andy Piper  <andy@xemacs.org>
16215
16216         * specifier.c (Fmake_specifier): add gutter references.
16217
16218         * gutter.h (RAW_WINDOW_GUTTER): new macro.
16219
16220         * lisp.h: declare Fvalid_plist_p.
16221
16222         * gutter.c (gutter_geometry_changed_in_window): mark the modeline
16223         as changed.
16224         (default_gutter_visible_p_changed_in_window): invalidate gutter as
16225         well as its visibility so that it gets reconstructed.
16226         (construct_window_gutter_spec): new function. Construct a string
16227         to be displayed in the gutter from a plist of strings. Take care
16228         to only use elements that are declared as visible.
16229         (calculate_gutter_size): use RAW_WINDOW_GUTTER instead of
16230         WINDOW_GUTTER.
16231         (gutter_validate): allow plists of strings in the specifier.
16232         (gutter_specs_changed): construct the real_gutter from the gutter
16233         specs using construct_window_gutter_spec.
16234         (gutter_visible_validate): gutter-visible is a new specifier type.
16235         (Fgutter_visible_specifier_p): new function for the new specifier.
16236         (syms_of_gutter): declare gutter-visible and
16237         Fgutter_visible_specifier_p.
16238         (specifier_type_create_gutter): intitalize new gutter-visible
16239         specifier.
16240         (reinit_specifier_type_create_gutter): ditto.
16241         (specifier_vars_of_gutter): use new specifier type for gutter
16242         visibility.
16243         (init_frame_gutters): construct real_gutter correctly.
16244         (Fgutter_specifier_p): beef up documentation.
16245         (Fgutter_size_specifier_p): ditto.
16246
16247         * winslots.h: add real_gutter slots.
16248
16249 2000-02-25  Andy Piper  <andy@xemacs.org>
16250
16251         * device-msw.c: Be kind to older cygwin versions. From Raymond
16252         Toy <toy@rtp.ericsson.se>.
16253
16254         * gui-msw.c (Fmswindows_shell_execute): Remove things unknown to
16255         earlier cygwins. From Raymond Toy <toy@rtp.ericsson.se>.
16256
16257 2000-02-25  Martin Buchholz  <martin@xemacs.org>
16258
16259         * elhash.c (MARK_OBJ): Practice macro hygiene.
16260
16261 2000-02-24  Martin Buchholz  <martin@xemacs.org>
16262
16263         * miscplay.c: s/__inline__/inline/g;
16264         * glyphs-msw.c (set_mono_pixel): INLINE ==> static inline
16265         (get_device_compdc): INLINE ==> static inline
16266         * *.[ch]: Change INLINE to INLINE_HEADER globally.
16267         find -name '*.h' | \
16268         xargs global-replace \
16269         's/(^|(?<=[^A-Za-z0-9_]))INLINE((?=[^A-Za-z0-9_])|$)/INLINE_HEADER/g'
16270
16271 2000-02-25  Andy Piper  <andy@xemacs.org>
16272
16273         * window.c (window_top_frame_gutter_height): new function.
16274         (window_top_window_gutter_height): ditto.
16275         (window_top_gutter_height): use them.
16276         (window_bottom_frame_gutter_height): new function.
16277         (window_bottom_window_gutter_height): ditto.
16278         (window_bottom_gutter_height): use them.
16279         (window_left_window_gutter_width): new function.
16280         (window_left_frame_gutter_width): ditto.
16281         (window_left_gutter_width): use them.
16282         (window_right_window_gutter_width): new function.
16283         (window_right_frame_gutter_width): ditto.
16284         (window_right_gutter_width): use them.
16285         (window_pixel_height): new function. calulate window pixel height
16286         with frame gutter involvement.
16287         (Fsplit_window): calculate new sizes taking frame gutters into
16288         account.
16289         (window_char_height_to_pixel_height): don't include frame gutters.
16290         (window_char_height): use window_pixel_height.
16291         (window_pixheight): rename from window_pixel_height.
16292         (change_window_height): use it.
16293         (window_pixel_height_to_char_height): don't include frame gutters.
16294         (window_char_width_to_pixel_width): ditto.
16295
16296 2000-02-25  Andy Piper  <andy@xemacs.org>
16297
16298         * glyphs.h (IMAGE_INSTANCE_FACE): glyph might be nil, don't crash
16299         if it is.
16300
16301 2000-02-24  Martin Buchholz  <martin@xemacs.org>
16302
16303         * alloc.c (staticpro):
16304         (staticpro_nodump):
16305         (dumpstruct):
16306         (dumpopaque):
16307         (pdump_wire):
16308         (pdump_wire_list):
16309         (compact_string_chars):
16310         (pdump_dump_wired):
16311         Convert:  if (foo) abort();  ==>  assert (! foo);
16312
16313         * eldap.c (Fldap_search_basic):
16314         (Fldap_add):
16315         (Fldap_modify):
16316         (Fldap_delete):
16317         Fix compiler warnings, and possible crashes if (random) return
16318         value were to be used.
16319
16320 2000-02-21  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16321
16322         * device-msw.c: Workaround ResetDC failure.
16323
16324         * frame-msw.c (msprinter_init_frame_3): Added an assertion before
16325         applying a devmode.
16326
16327         * redisplay-msw.c (get_frame_dc): Added start_page_p.
16328         (mswindows_text_width): Do not start printer page.
16329
16330         * console-msw.h (CHECK_MSGDI_DEVICE): Added this and friends.
16331
16332         * glyphs-msw.c: Added image methods to msprinter console and
16333         msprinter-specific image instantiation.
16334
16335 2000-02-20  Mike Alexander  <mta@arbortext.com>
16336
16337         * select-msw.c (Fmswindows_set_clipboard): GC protect more things
16338         to avoid crashes when selection-sets-clipboard is on
16339         (mswindows_own_selection): ditto
16340
16341 2000-02-19  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16342
16343         * glyphs-msw.c:
16344         * redisplay-msw.c (get_frame_dc):
16345         (get_frame_compdc):
16346         * console-msw.h:
16347         * device-msw.c (mswindows_init_device):
16348         (mswindows_delete_device):
16349         (msprinter_init_device):
16350         (msprinter_delete_device):
16351         * frame-msw.c (mswindows_init_frame_1):
16352         (mswindows_delete_frame):
16353         (msprinter_init_frame_3):
16354         (msprinter_delete_frame): Move compatible DC to device object from
16355         frame object, for both mswindows and msprinter. Only one at a time
16356         is needed, it is a real waste to have one per frame!
16357
16358 2000-02-23  Andy Piper  <andy@xemacs.org>
16359
16360         * glyphs.c: add dynamic width and height elements.
16361         (image_instance_equal): ditto.
16362
16363         * glyphs-widget.c (widget_query_geometry): calculate width and
16364         height dynamically if required.
16365         (initialize_widget_image_instance): initialize dynamic dimensions.
16366         (widget_instantiate): pick-up dynamic dimensions.
16367
16368         * glyphs.h (struct Lisp_Image_Instance): add width and height for
16369         dynamic determination. Add appropriate macros.
16370
16371         * gutter.h (WINDOW_GUTTER_BORDER_WIDTH): make non-integer
16372         dimensions safe.
16373         (WINDOW_GUTTER_SIZE): ditto.
16374         (WINDOW_GUTTER_SIZE_INTERNAL): ditto.
16375
16376         * redisplay-msw.c (get_frame_compdc): gcc can't cope with this
16377         inline.
16378         (get_frame_dc): ditto.
16379
16380         * redisplay.h (GLOBAL_RESET_CHANGED_FLAGS): don't reset faces
16381         here.
16382
16383 2000-02-23  Martin Buchholz <martin@xemacs.org>
16384
16385         * XEmacs 21.2.31 is released.
16386
16387 2000-02-22  Ben Wing <ben@xemacs.org>
16388
16389         * ntheap.c (allocate_heap): Make sure `ptr' is initialized.
16390
16391 2000-02-22  Andy Piper  <andy@xemacs.org>
16392
16393         * glyphs-x.c (x_widget_instantiate): don't explicitly resize here.
16394
16395 2000-02-21  Mike Sperber <mike@xemacs.org>
16396
16397         * .dbxrc:
16398         * .gdbinit:
16399         * Makefile.in.in: Remove obsolete EMACSBOOTSTRAP... environment
16400         variables.
16401
16402 2000-02-21  Mike Sperber <mike@xemacs.org>
16403
16404         * s/aix4.h: Declare getaddrinfo broken for AIX 4, which it is.
16405
16406 2000-02-21  Martin Buchholz <martin@xemacs.org>
16407
16408         * XEmacs 21.2.30 is released.
16409
16410 2000-02-20  Martin Buchholz  <martin@xemacs.org>
16411
16412         Performance hacking.
16413         * *.c (syms_of_*):
16414         Add INIT_LRECORD_IMPLEMENTATION macros, paired with
16415         DEFINE_LRECORD_IMPLEMENTATION macros in the same file.
16416         * emacs.c (main_1):
16417         * lisp.h (DEFUN):
16418         * console.c (DEFVAR_CONSOLE_LOCAL_1):
16419         * buffer.c (DEFVAR_BUFFER_LOCAL_1):
16420         * symeval.h (DEFVAR_SYMVAL_FWD):
16421         * symbols.c (guts_of_unbound_marker):
16422         Make all c_readonly objects also lisp_readonly and marked for life.
16423         * lrecord.h (struct lrecord_implementation):
16424         Document flags better.
16425         * lrecord.h (DEFINE_LRECORD_SEQUENCE_IMPLEMENTATION_WITH_PROPS):
16426         * lrecord.h (DECLARE_LRECORD):
16427         * lrecord.h (XSETRECORD):
16428         * lrecord.h (RECORDP):
16429         * lrecord.h (RECORD_TYPEP):
16430         * lrecord.h (RECORD_MARKER): New.
16431         * lrecord.h (error_check_*):
16432         * lrecord.h (CONCHECK_NONRECORD):
16433         * lrecord.h (MAKE_LRECORD_IMPLEMENTATION):
16434         * lrecord.h (INIT_LRECORD_IMPLEMENTATION): New.
16435         * lrecord.h (set_lheader_implementation):
16436         * lrecord.h (enum lrecord_type): New.
16437         * symeval.h (SYMBOL_VALUE_MAGIC_P):
16438         * alloc.c (disksave_object_finalization_1):
16439         * alloc.c (mark_object):
16440         * alloc.c (lrecord_type_index):
16441         * alloc.c (tick_lcrecord_stats):
16442         * alloc.c (Fgarbage_collect):
16443         * alloc.c (init_alloc_once_early):
16444         * alloc.c (pdump_load):
16445         * alloc.c (GC_CHECK_LHEADER_INVARIANTS): New.
16446         * alloc.c (lrecord_type_index): Delete.
16447         Make lisp object type indexes be constant.
16448           Makes (byte-compile) 5% faster.
16449         Put all marker functions into their own array.
16450           Makes (garbage-collect) 5% faster.
16451         Optimize SYMBOL_VALUE_MAGIC_P.
16452           Makes (byte-compile) 2-3% faster.
16453         * config.h.in (gc_checking_assert): New.
16454         * alloc.c: Use gc_checking_assert().
16455         * .dbxrc: Make compatible with new object type implementation.
16456         * .gdbinit: Make compatible with new object type implementation.
16457         * alloc.c: Delete all symbols defined only for debugging, such as
16458         Lisp_Type_Vector and lrecord_charset.
16459
16460 2000-02-21  Andy Piper  <andy@xemacs.org>
16461
16462         * gui-msw.c (Fmswindows_shell_execute): fix file location
16463         problems.
16464
16465         * buffer.c (Fkill_buffer): remove buffer from alist buffer
16466         unshowing so that set_window_buffer doesn't undo
16467         kill_buffer_hook's hard work.
16468
16469         * glyphs-widget.c (tab_control_query_geometry): don't count the
16470         first item when calculating geometry.
16471
16472         * glyphs.c (map_subwindow): remove redundant code.
16473         (update_frame_subwindows): be more circumspect about when to
16474         update subwindows.
16475
16476         * glyphs-x.c (x_update_widget): Properly fix sizing bug. Fix bug
16477         when items haven't changed. Update faces if faces have changed as
16478         well as just the widget face.
16479         (x_tab_control_update): Update faces if faces have changed as well
16480         as just the widget face.
16481
16482 2000-02-21  Jonathan Harris  <jhar@tardis.ed.ac.uk>
16483
16484         * device-msw.c: (mswindows_delete_device): Remove redundant DDE
16485         registration.
16486         (build_syscolor_string): Use mswindows_color_to_string to try to
16487         get a named color.
16488         (mswindows_device_system_metrics): Reverse the foreground and
16489         background colors so that they match the documentation.
16490
16491         * objects-msw.c: (mswindows_X_color_map): tweak some values so
16492         they match the default Windows palette.
16493         (mswindows_color_to_string): New function.
16494
16495 2000-02-21  Jonathan Harris  <jhar@tardis.ed.ac.uk>
16496
16497         * s/windowsnt.h: Only use __declspec(noreturn) with MSVC>=6.
16498
16499 2000-02-18  Olivier Galibert  <galibert@pobox.com>
16500
16501         * m/*, s/*: Removed obsolete DATA_SEG_BITS, PURE_SEG_BITS,
16502         WORD_MACHINE, SIGN_EXTEND_CHAR and EXPLICIT_SIGN_EXTEND.
16503
16504         * symbols.c (init_symbols_once_early): Removed obsolete
16505         DATA_SEG_BITS related kludge.
16506         (defvar_magic): Ditto.
16507
16508         * malloc.c: Removed obsolete DATA_SEG_BITS
16509         * ralloc.c: Ditto.
16510         * mem-limits.h: Ditto.
16511
16512         * Makefile.in.in: Removed obsolete HAVE_SHM
16513         * emacs.c: Ditto.
16514
16515 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
16516
16517         *  device-msw.c (mswindows_delete_device): Free DDE string
16518         handles.
16519
16520 2000-02-16  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16521
16522         * keymap.c (get_keyelt):
16523         * unexnt.c (unexec):
16524         * vm-limit.c (memory_warnings):
16525         * ntheap.c (recreate_heap):
16526         * ntheap.h (UNINIT_PTR):
16527         * select-msw.c (Fmswindows_get_clipboard):
16528         (Fmswindows_set_clipboard):
16529         * objects-msw.h (MSWINDOWS_BAD_HFONT):
16530         * objects-msw.c:
16531         * menubar-msw.c (displayable_menu_item):
16532         * glyphs-msw.c:
16533         * glyphs-msw.h (IMAGE_INSTANCE_MSWINDOWS_MASK):
16534         * sysdep.c (sys_subshell):
16535         * process-nt.c (nt_create_process):
16536         * nt.c (normalize_filename):
16537         (dostounix_filename):
16538         (unixtodos_filename):
16539         * ntproc.c (win32_executable_type):
16540         * ntplay.c (play_sound_data_1):
16541         (play_sound_file):
16542         * editfns.c (get_home_directory):
16543         * event-msw.c (struct winsock_stream):
16544         (mswindows_dde_callback):
16545         * device-msw.c (msprinter_init_device):
16546         (msprinter_get_devmode_copy): Frobbed syntax frivolities.
16547
16548         * toolbar-msw.c (mswindows_free_frame_toolbars): Paramters to
16549         mswindows_clear_toolbar were swapped!
16550
16551         * objects-msw.c:(colormap_t):
16552         (fontmap_t):
16553         * emacs.c (struct standard_args): Fixed const jumble.
16554
16555         * glyphs-widget.c (update_widget): Fixed comparison notation.
16556
16557         * event-msw.c (mswindows_dde_callback): Removed extraneous ';'.
16558
16559         * s\windowsnt.h (DOESNT_RETURN): Defined to support the MSVC
16560         __declspec(noreturn) syntax.
16561
16562 2000-02-19  Martin Buchholz  <martin@xemacs.org>
16563
16564         * eldap.c (Fldap_open):
16565         (Fldap_search_basic):
16566         (Fldap_add):
16567         (Fldap_modify):
16568         Use new coding system conversion macros.
16569
16570 2000-01-06  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
16571
16572         * console-tty.c (tty_init_console): Change MULE to FILE_CODING.
16573
16574 1999-11-27  Oscar Figueiredo  <Oscar.Figueiredo@di.epfl.ch>
16575
16576         * eldap.h (Fldap_search) Renamed from Fldap_search_internal:
16577         (Fldap_add, Fldap_modify, Fldap_delete): New functions
16578
16579         * eldap.c (Qadd, Qreplace): New constant symbols
16580         (Fldap_open): Use the LDAP_OPT_RESTART option to avoid
16581         interruptions by XEmacs signals
16582         Remove unnecessary calls to slow_down_interrupts and
16583         speed_up_interrupts
16584         (Fldap_search_basic): Renamed from Fldap_search_internal
16585         Added new optional parameter VERBOSE that triggers the
16586         display of progress messages
16587         Remove unnecessary calls to slow_down_interrupts and
16588         speed_up_interrupts
16589         LDAP result code analysis rewritten
16590         (Fldap_add, Fldap_modify, Fldap_delete): New functions
16591         (syms_of_eldap): Define the new symbols and functions
16592
16593
16594 2000-02-17  Martin Buchholz  <martin@xemacs.org>
16595
16596         * realpath.c: Determine PATH_MAX maximally portably.
16597
16598         * insdel.c (bytecount_to_charcount): Optimize.
16599         The function used to be optimized for entirely ASCII sequences.
16600         Now it is optimized for successive characters from the same
16601         charset.  This also wins big for _mostly_ ASCII sequences.
16602
16603         * fileio.c (Ffile_truename): convert return from realpath() using
16604         Qfile_name, not Qbinary.  Fixes obvious bug with non-ASCII symlinks.
16605         - Rewrite GCPROing slightly.
16606
16607         * sysdep.c (sys_open): Do filename conversion, like all other
16608         sys_* functions.  Fixes bug:
16609         (let ((file-name-coding-system 'iso-8859-2))
16610            (write-region x y latin2-name))
16611         ==> writes filename using internal encoding.
16612
16613 2000-02-18  Martin Buchholz  <martin@xemacs.org>
16614
16615         * buffer.c (DEFVAR_BUFFER_LOCAL_1): Turn on c_readonly. Always const.
16616         * console.c (DEFVAR_CONSOLE_LOCAL_1): Turn on c_readonly. Always const.
16617         * symeval.h (DEFVAR_SYMVAL_FWD): Turn on c_readonly. Always const.
16618         * eval.c (lrecord_subr): Remove this_one_is_unmarkable.
16619         * symbols.c (lrecord_symbol_value_forward): Remove this_one_is_unmarkable.
16620         * symbols.c (guts_of_unbound_marker): Turn on c_readonly.
16621         * lrecord.h (UNMARKABLE_LRECORD_HEADER_P): Delete.
16622         (CONST_IF_NOT_DEBUG): Delete.
16623         * alloc.c (this_one_is_unmarkable): Delete.
16624         (mark_object): Don't check for this_one_is_unmarkable. Use the
16625         c_readonly flag instead.
16626         * lisp.h (DEFUN): Define a Lisp_Subr as c_readonly.
16627
16628 2000-02-18  Jonathan Harris  <jhar@tardis.ed.ac.uk>
16629
16630         * event-msw.c (mswindows_drain_windows_queue):
16631         (emacs_mswindows_handle_magic_event): Remove attempt to optimise
16632         away redundant repaint events.
16633
16634 2000-02-17  Andy Piper  <andy@xemacs.org>
16635
16636         * redisplay.h: declare mark_redisplay_structs.
16637
16638         * redisplay.c (redisplay_window):
16639         (redisplay_frame): don't check subwindows_state_changed.
16640         (mark_redisplay): mark gutters here.
16641
16642         * glyphs.c: (instantiate_image_instantiator): always layout if we
16643         haven't done so already.
16644         (allocate_image_instance): don't mark as dirty.
16645         (update_subwindow): bind inhibit_quit.
16646
16647         * gutter.c (mark_gutters): new function.
16648
16649         * glyphs-x.c (x_update_widget): Always resize to get round a
16650         widget bug.
16651
16652         * glyphs-msw.c (mswindows_tab_control_update): remove `;' that was
16653         breaking absolutely everything.
16654
16655         * gutter.h: declare mark_gutters.
16656
16657 2000-02-16  Martin Buchholz <martin@xemacs.org>
16658
16659         * XEmacs 21.2.29 is released.
16660
16661 2000-02-15  Olivier Galibert  <galibert@pobox.com>
16662
16663         * fns.c (size_bit_vector): Fix computation of the size.
16664
16665 2000-02-15  Martin Buchholz  <martin@xemacs.org>
16666
16667         * *.[ch]: Change CONST to const globally.
16668         find -name '*.[ch]' | \
16669         xargs global-replace \
16670         's/(^|(?<=[^A-Za-z0-9_]))CONST((?=[^A-Za-z0-9_])|$)/const/g'
16671         - Remove vestigial references to CONST_IS_LOSING
16672
16673 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
16674
16675         * event-msw.c (mswindows_drain_windows_queue): Remove hack to
16676         bailout early on quit. Enqueue WM_PAINT events as XEmacs magic
16677         events instead of dispatching them directly.
16678         (mswindows_handle_paint): New function to do repainting.
16679         (mswindows_wnd_proc):
16680         (emacs_mswindows_handle_magic_event): Call above function.
16681
16682 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
16683
16684         * objects-msw.c (mswindows_create_font_variant): Return the new
16685         font handle.
16686         (initialize_font_instance): Get font metrics from the underlined
16687         variant of the font to cope with the case where the underlined
16688         font has a bigger descent.
16689
16690 2000-02-08   Daiki Ueno  <ueno@ueda.info.waseda.ac.jp>
16691
16692         * gui.c (gui_item_accelerator): Return the first underlined
16693         character in item name.
16694
16695 2000-02-11  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16696
16697         * lisp.h: Added Qprinter.
16698
16699         * general.c (syms_of_general): Initialized it.
16700
16701         * redisplay-msw.c (get_frame_dc): Conditionally start a new page.
16702         (get_frame_dc):
16703         (get_frame_compdc): Made inline.
16704
16705         * console.h (struct console_methods): Added eject_page method.
16706
16707         * frame.h: Added FRAME_DISPLAY_P and friends.
16708         Aligned backslahes in many macros in more readable fashion.
16709         Added page_number to struct frame, and an accessor macro
16710         for it.
16711
16712         * defice.h: Added DEVICE_DISPLAY_P and friends.
16713
16714         * device.c (Fdevice_printer_p): Used these.
16715
16716         * frame.c (allocate_frame_core): Initialize page number.
16717         (Fprint_job_page_number):
16718         (Fprint_job_eject_page): Implemented.
16719
16720         * frame-msw.c (msprinter_eject_page): Added method.
16721         (msprinter_start_page): Added.
16722
16723         * window.c (Fwindow_truncated_p): Fixed docstring.
16724         (Fwindow_last_line_visible_height): Implemented.
16725
16726 2000-02-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
16727
16728         * frame.c (change_frame_size_1): Undo 2000-02-03 change.
16729
16730 1999-12-20  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
16731
16732         * syntax.c (scan_words): Always advance at least one character.
16733
16734 2000-02-13  Andy Piper  <andy@xemacs.org>
16735
16736         * redisplay.c (add_glyph_rune): call get_glyph_cachel_index here
16737         to make sure the glyph is in the cachels.
16738
16739         * glyphs.h (struct Lisp_Image_Instance): make layout_changed a
16740         global image instance flag.
16741         (IMAGE_INSTANCE_NEEDS_LAYOUT): new macro.
16742         (XIMAGE_INSTANCE_NEEDS_LAYOUT): ditto.
16743
16744         * glyphs.c (allocate_image_instance): set dirty bits correctly.
16745         (Fset_image_instance_property): mark layout as changed.
16746         (invalidate_glyph_geometry_maybe): mark layout as changed.
16747         (glyph_width): use new NEEDS_LAYOUT macro.
16748         (glyph_ascent): ditto.
16749         (glyph_descent): ditto.
16750         (glyph_height): ditto.
16751         (image_instance_layout): mark layout as clean after laying out.
16752         (update_subwindow): don't mark layout as clean here.
16753
16754         * glyphs-x.h (IMAGE_INSTANCE_X_WIDGET_ID): undo C++ changes, they
16755         should no longer be needed.
16756
16757         * glyphs-x.c (x_update_widget): sanitize asserts.
16758         (x_finalize_image_instance): sanitize assignment to widgets.
16759
16760         * glyphs-widget.c (widget_instantiate): don't need to clear the
16761         layout flag here.
16762
16763 2000-02-13  Martin Buchholz  <martin@xemacs.org>
16764
16765         * sysdep.c (getcwd): Use standard prototype.
16766         * sysdep.h (getcwd): Use standard prototype.
16767
16768         * fns.c (Fsubseq): Change parameters to more natural ANSI Lisp
16769         (sequence, start, end).
16770         Remove redundant type checking.
16771         (Fmapconcat): Remove useless GCPRO, a wrong-headed attempt (in
16772         view of `caller-protects') to avoid a crash where the real fix was
16773         found elsewhere.
16774
16775 2000-02-12  Martin Buchholz  <martin@xemacs.org>
16776
16777         * glyphs-x.c (x_finalize_image_instance): Compile error fixes.
16778
16779         * s/sol2.h: Remove feature macro initialization.
16780
16781         * alloc.c (alloc_lcrecord): Add more type checking assertions.
16782         (vector_hash): New.  Code from internal_hash.
16783         * lrecord.h:
16784         Fix up allocation subsystem comments.
16785
16786         * config.h.in: Add __EXTENSIONS__ for Solaris.
16787
16788         * systime.h (EMACS_GETTIMEOFDAY): New.
16789         (EMACS_GET_TIME): Use EMACS_GETTIMEOFDAY.
16790         Remove Solaris-specific code.
16791         Use void* for the (ignored) second arg for gettimeofday().
16792
16793         * elhash.c (hash_table_hash): Implement it, finally.
16794         * elhash.c:  Use hashcode_t.
16795
16796         * linuxplay.c (sighandler): Fix prototypes to use SIGTYPE.
16797         * sunplay.c (sighandler): Fix prototype to use SIGTYPE.
16798
16799         * lisp.h (STRETCHY_STRUCT_SIZEOF): Delete.
16800         * fns.c (size_bit_vector):
16801         * alloc.c (size_vector):
16802         (make_vector_internal):
16803         (make_bit_vector_internal):
16804         (sweep_bit_vectors_1):
16805         Replace calls to STRETCHY_STRUCT_SIZEOF with offsetof expression.
16806
16807 2000-02-10  Martin Buchholz  <martin@xemacs.org>
16808
16809         * s/aix4.h: #define MAP_FAILED if sys/mman.h didn't.
16810         Include strings.h to avoid warnings for bzero and strcasecmp.
16811
16812 2000-02-10  Olivier Galibert  <galibert@pobox.com>
16813
16814         * alloc.c: Move STRETCHY_STRUCT_SIZEOF from here...
16815         * lisp.h (STRETCHY_STRUCT_SIZEOF): ...to here
16816
16817         * fns.c (size_bit_vector): New.  Declare bit vectors as a
16818         sequence.
16819
16820 2000-02-10  Olivier Galibert  <galibert@pobox.com>
16821
16822         * symeval.h (struct symbol_value_magic): Remove "next" kludge and
16823         use a value field instead.
16824         (symbol_value_forward_forward): Use value field.
16825         (DEFVAR_SYMVAL_FWD): Use value field.
16826         (DEFVAR_SYMVAL_FWD_INT): Added.  Dumps the int with dumpopaque.
16827         (DEFVAR_INT): Use DEFVAR_SYMVAL_FWD_INT.
16828         (DEFVAR_CONST_INT): Ditto.
16829         (DEFVAR_BOOL): Ditto.
16830         (DEFVAR_CONST_BOOL): Ditto.
16831         (DEFVAR_INT_MAGIC): Ditto.
16832         (DEFVAR_BOOL_MAGIC): Ditto.
16833
16834         * symbols.c (guts_of_unbound_marker): Use value field.
16835         * console.c (DEFVAR_CONSOLE_LOCAL_1): Ditto.
16836         * buffer.c (DEFVAR_BUFFER_LOCAL_1): Ditto.
16837
16838         * lisp.h: Declare dumpopaque and noninteractive1.
16839
16840         * alloc.c (dumpopaque): Added.
16841         (pdump_dump_opaquevec): Added.
16842         (pdump): Call pdump_dump_opaquevec to dump opaque data.
16843         (pdump_load): Reload opaque data.  Sync noninteractive1 with
16844         noninteractive.
16845
16846 2000-02-10  Andy Piper  <andy@xemacs.org>
16847
16848         * glyphs.c (image_instance_layout): if the size changes, mark it
16849         as such.
16850
16851         * redisplay-output.c (redisplay_output_layout): Update the
16852         subwindow here.
16853         (redisplay_output_subwindow): ditto.
16854
16855         * glyphs.c (update_subwindow): make sure we reset flags for
16856         layouts as well as everything else.
16857
16858         * glyphs-widget.c (layout_layout): don't need to set the instances
16859         dimensions here.
16860
16861 2000-02-09  Martin Buchholz  <martin@xemacs.org>
16862
16863         * device-x.c (x_init_device): Wrap calls to dll_*  in HAVE_SHLIB,
16864         not HAVE_DLOPEN, which is a lower-level thing.
16865
16866         * .cvsignore: Ignore gmon.out
16867
16868 2000-02-09  Hamish Macdonald <hamishm@lucent.com>
16869
16870         * .cvsignore: Ignore portable dumper xemacs.dmp file
16871
16872 2000-02-09  Andy Piper  <andy@xemacs.org>
16873
16874         * redisplay-output.c (redisplay_output_layout): be more clever
16875         about when we output based on the changed flags.
16876
16877         * glyphs.h (struct image_instantiator_methods): add update_method.
16878         (struct Lisp_Image_Instance): add changed flags. Declare new
16879         macros for manipulating them.
16880
16881         * glyphs.c (allocate_image_instance): renamed glyph -> parent.
16882         (image_instance_parent_glyph): find an image_instance's parent
16883         glyph or image_instance.
16884         (image_instance_layout): mark the size as changed.
16885         (set_image_instance_dirty_p): new function. mark an image
16886         instance, plus all of its parents, as dirty.
16887         (Fset_image_instance_property): use it.
16888         (Fglyph_animated_timeout_handler): use it.
16889         (update_subwindow): call update_widget and device methods for
16890         update_subwindow. Mark all changed flags as clean.
16891         (Fresize_subwindow): mark size as changed.
16892
16893         * glyphs-x.c (x_finalize_image_instance): try and detect gc
16894         failures.
16895         (x_update_subwindow): only resize subwindows here.
16896         (x_update_widget): new function. Update all changed properties of
16897         a widget.
16898         (x_resize_subwindow): deleted.
16899         (x_widget_set_property): deleted.
16900         (x_progress_gauge_set_property): deleted.
16901         (x_progress_gauge_update): new function. Implement recorded
16902         changes.
16903         (x_tab_control_update): ditto.
16904         (x_tab_control_set_property): deleted.
16905         (console_type_create_glyphs_x): declare new functions.
16906         (image_instantiator_format_create_glyphs_x): ditto.
16907
16908         * glyphs-widget.c (widget_set_property): mark text changed.
16909         (update_widget): new function. Update properties of a widget.
16910         (widget_instantiate): for layouts make sure we set their
16911         children's parent correctly.
16912         (tab_control_set_property): new function. Record changes that will
16913         take place under redisplay's control.
16914         (progress_gauge_set_property): ditto.
16915         (image_instantiator_progress_guage): declare new functions.
16916         (image_instantiator_tab_control): ditto.
16917
16918         * glyphs-msw.c (mswindows_update_subwindow): just do resizing here
16919         now.
16920         (mswindows_update_widget): new function. Update all properties on
16921         a widget that have changed.
16922         (mswindows_button_update): new function. Update a button's set
16923         state.
16924         (mswindows_tab_control_update): new function. Update the items in
16925         a tab.
16926         (mswindows_tab_control_set_property): deleted.
16927         (mswindows_progress_gauge_update): new function. Update the
16928         progress gauge's progress.
16929         (mswindows_widget_set_property): deleted. This is all done
16930         asynchronously now.
16931         (mswindows_progress_gauge_set_property): ditto.
16932         (console_type_create_glyphs_mswindows): declare new methods.
16933         (image_instantiator_format_create_glyphs_mswindows): ditto.
16934
16935         * frame-msw.c (msprinter_init_frame_1): Remove unused variables.
16936         (msprinter_set_frame_properties): ditto.
16937
16938         * console.h (struct console_methods): Add update_widget_method.
16939
16940 2000-02-09  Andy Piper  <andy@xemacs.org>
16941
16942         * gui-msw.c (Fmswindows_shell_execute): Make
16943         mswindows-shell-execute industrial strength.
16944
16945 2000-02-08  Martin Buchholz  <martin@xemacs.org>
16946
16947         * lrecord.h: Make macro argument `props' match member function `plist'.
16948         * fns.c (Fget):
16949         * fns.c (Fput):
16950         * fns.c (Fremprop):
16951         * fns.c (Fobject_plist):
16952         * alloc.c:
16953         * symbols.c:
16954         Object property list frobbing cleanup.
16955         - Allow any lisp object (compared with `eq'), not just symbols, as
16956           keys in object plists.
16957         - Move symbol plist frobbing into symbols.c, where it belongs.
16958         - Move string plist frobbing into alloc.c, where it belongs.
16959         - Everything's an lrecord now, so no need to test for symbolp, etc.
16960         - Fix up doc strings to refer to PROPERTY, not PROPNAME.
16961
16962         * extents.c: Reorder code to remove declarations.
16963
16964         * frame.h (store_in_alist): Remove useless declaration.
16965
16966 2000-02-07  Martin Buchholz  <martin@xemacs.org>
16967
16968         * event-Xt.c (x_has_keysym): Use XConvertCase only if available.
16969         * config.h.in: Add HAVE_XCONVERTCASE.
16970
16971 2000-02-07  Andy Piper  <andy@xemacs.org>
16972
16973         * glyphs.c (image_instance_layout): undo 2000-01-29 change since
16974         it breaks many things.
16975
16976 2000-02-07  Jan Vroonhof  <vroonhof@math.ethz.ch>
16977
16978         * src/syntax.h (SYNTAX_START_P): Check whether the two chars
16979         actually can start a common comment type.
16980         * src/syntax.h (SYNTAX_END_P): ditto for end.
16981
16982 2000-02-07  Martin Buchholz <martin@xemacs.org>
16983
16984         * XEmacs 21.2.28 is released.
16985
16986 2000-02-06  Martin Buchholz  <martin@xemacs.org>
16987
16988         * event-Xt.c (x_keysym_to_character): New.
16989         (maybe_define_x_key_as_self_inserting_character): New.
16990         (x_has_keysym): New.
16991         Auto-define all keys on the keyboard as self-insert-key.
16992
16993 2000-02-02  Martin Buchholz  <martin@xemacs.org>
16994
16995         * menubar.c (vars_of_menubar): A small code simplification.
16996
16997         * minibuf.c (echo_area_append): Workaround egcs-20000131 c++ compiler bug
16998
16999         * ExternalShell.c:
17000         * ExternalClient.c:
17001         * EmacsShell-sub.c:
17002         * EmacsManager.c:
17003         * EmacsFrame.c:
17004         Use consistent style for specifying X resources.
17005
17006         * symbols.c (Fset): Further implement SYMVAL_LISP_MAGIC.
17007         This makes (dontusethis-set-symbol-value-handler) actually usable.
17008
17009         * lrecord.h (lrecord_decription_type):
17010         * alloc.c (pdump_register_sub):
17011         (pdump_dump_data):
17012         (pdump_reloc_one):
17013         Add XD_LISP_OBJECT_ARRAY to describe multiple Lisp_Objects.
17014         Comply with XEmacs coding style.
17015         All lrecord descriptions updated to use XD_LISP_OBJECT with 2
17016         args, and XD_LISP_OBJECT_ARRAY with 3 args.
17017
17018         * keymap.c (Faccessible_keymaps):
17019         Make (accessible-keymaps map "\C-h") do the Right Thing.
17020         Make (accessible-keymaps map []) do the Right Thing.
17021         Make (accessible-keymaps map "") do the Right Thing.
17022         (check_keymap_definition_loop): New function.
17023         (keymap_store_internal): Keep luser from shooting self in foot,
17024           via (define-key ctl-x-4-map "p" global-map).
17025         Remove fullness slot from struct Lisp_Keymap, since hash tables
17026         are now reliable.
17027         (print_keymap): Remove 'Yuck' factor by simply printing "size %d".
17028
17029 2000-01-30  Martin Buchholz  <martin@xemacs.org>
17030
17031         * redisplay.c (init_redisplay): Fix small memory leak.
17032         * elhash.h:
17033         * elhash.c (pdump_reorganize_hash_table):
17034         Rename from reorganize_hash_table. Change prototype.
17035         Reuse the original memory for hentries.  Save 100k.
17036         * alloc.c (PDUMP_READ): new macro.
17037         * alloc.c (pdump_load): Replace LISP_TO_VOID with higher-level macros.
17038         * alloc.c: No need to #ifndef before #undef.
17039
17040         * print.c: Allow debug_print() to print readably by modifying
17041         debug_print_readably.  Use consistent variable names.
17042
17043         * .dbxrc: Try to get things to work even if stopped in a function
17044         without source available by explicitly specifying source files.
17045 2000-02-03  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17046
17047         * unexnt.c (_start): Removed bogus code which caused loading heap
17048         from differrent executable file.
17049         Removed bogus assignment to _fmode, which caused inconsistencies.
17050
17051 2000-02-03  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17052
17053         * s\windowsnt.h: Removed lots of #if 0 blocks of Emacs heritage.
17054         Have spawnve encapsulation regard DONT_ENCAPSULATE.
17055         Do not preliminary `#define signal sigset'.
17056
17057         * systime.h: Do not prototype environ on windows nt and cygwin,
17058         this conflicts with system header.
17059
17060         * syssignal.h: Use correct define for WINDOWSNT
17061
17062         * sysdep.h: Do not prototype environ on windows nt, this conflicts
17063         with system header.
17064
17065         * sysdep.c (near start of file): Fixed commentary and rearranged
17066         ifdefs in readable order.
17067         (NEED_STARTS): Do not force NEED_STARTS when PDUMPing.
17068         (start_of_text):
17069         (end_of_text):
17070         (end_of_data): Do not compile in if using PDUMP.
17071
17072         * symsinit.h: Prototyped vars_of_nt().
17073
17074         * ntproc.c (windows9x_p): Added, instead of os_subtype.
17075         (find_child_console): Use it.
17076         (sys_kill): Use it.
17077
17078         * ntheap.h: Do not extern os_subtype.
17079
17080         * ntheap.c (cache_system_info): Do not cache unneeded:
17081         nt_major_version, nt_minor_version and os_subtype.
17082         (recreate_heap): Do not compile in when PDUMPing.
17083
17084         * nt.c (geteuid and friends): Use the new varibale
17085         nt_fake_unix_uid, instead of hashing fake uid out of NT RID.
17086         (init_user_info): Removed the above mentioned hackery.
17087         (fstat, stat): Do not compile in if using MSVC 5.0 and above -
17088         stat has been fixed in the C runtime.
17089         (vars_of_nt): Added, defined the nt_fake_unix_uid variable there.
17090
17091         * file-coding.c (struct file_coding_dump): Do not define
17092         ucs_to_mule_table in the struct if not MULE.
17093         (struct struct lrecord_description fcd_description_1): Do not dump
17094         the above.
17095
17096         * emacs.c (main_1): Call vars_of_nt().
17097         (right before Fdump_emacs_data): Don't need lastfile if using both
17098         portabe dumper and system malloc.
17099
17100         * alloc.c (Fmemory_limit): Conditionalized out.
17101         (pdump): Use OPEN_BINARY for the portable dump file.
17102         (pdump_load): Ditto.
17103
17104 2000-02-02  Mike Alexander  <mta@arbortext.com>
17105
17106         * nt.c (convert_time): Set tm_isdst before calling mktime and
17107         avoid calling it at all if the compiler supports 64 bit integers.
17108         Also initialize utc_base_ft before using it.
17109
17110 2000-02-03   Daiki Ueno  <ueno@ueda.info.waseda.ac.jp>
17111
17112         * frame.c (change_frame_size_1): Take f->internal_border_width
17113         into consideration when calculating the width of the frame.
17114
17115 2000-02-01  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17116
17117         * window.c (frame_min_height):
17118         (frame_size_valid_p):
17119         (frame_pixsize_valid_p): Added.
17120         (check_frame_size): Generalized.
17121
17122         * window.h: Prototyped the above.
17123
17124         * lisp.h:
17125         * general.c: Added Qbottom_margin, Qduplex, Qlandscape,
17126         Qleft_margin, Qorientation, Qportrait, Qright_margin, Qtop_margin.
17127         Deleted Vwin32_* and Vbinary_process_* unused variables.
17128
17129         * device-msw.c (msprinter_init_device): Do not get printer font
17130         list; Added DEVMODE functions.
17131
17132         * frame-msw.c: Added lots of printer code.
17133
17134         * faces.c: Moved 'left-margin and 'right-margin defsymbols to
17135         general.c.
17136
17137         * console-msw.h: Added more msprinter device private slots.
17138
17139 2000-02-01  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17140
17141         * event-msw.c (key_needs_default_processing_p): Added.
17142         (mswindows_wnd_proc, WM_KEYUP, KEYDOWN): Call it.
17143
17144 2000-01-29  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17145
17146         * glyphs.c (image_instance_layout): Mark image instance as clean
17147         after layout.
17148         (glyph_dirty_p): Removed redundant function.
17149         (invalidate_glyph_geometry_maybe): Added.
17150         (update_glyph_cachel_data): Call it.
17151
17152         * glyphs.h: Prototyped it.
17153
17154         * redisplay.c (add_glyph_rune): Call it.
17155         (redisplay_window): Reset glyphs cachels when frame faces have
17156         changed, thus forcing recomputation of built-in border glyphs.
17157
17158 2000-01-30  Martin Buchholz  <martin@xemacs.org>
17159
17160         * Makefile.in.in: Make portable dumper and purify play well together.
17161         Add imperfect, but better than nothing, support for pdump.
17162         Remove xemacs.dmp when temacs is re-generated.
17163         Don't ignore errors when dumping xemacs.
17164
17165         * symbols.c (maybe_call_magic_handler): Remove one magic number.
17166
17167 2000-01-28  Andy Piper  <andy@xemacs.org>
17168
17169         * frame.c (allocate_frame_core): Use new Fset_window_buffer signature.
17170         (setup_normal_frame): ditto.
17171         (setup_frame_without_minibuffer): ditto.
17172         (setup_minibuffer_frame): ditto.
17173         (delete_frame_internal): ditto.
17174         (Fmake_frame_invisible): ditto.
17175         (Ficonify_frame): ditto.
17176
17177         * window.h: change Fset_window_buffer signature.
17178
17179         * window.c (Fsplit_window): Use new Fset_window_buffer signature.
17180         (Fset_window_buffer): allow recording of buffer if the window is
17181         the selected window.
17182         (window_loop): Use new Fset_window signature.
17183
17184 2000-01-23  Daniel Pittman  <daniel@danann.net>
17185
17186         * config.h.in: Added template for `HAVE_ATHENA_3D'
17187
17188 2000-01-29  Andy Piper  <andy@xemacs.org>
17189
17190         * glyphs-x.c (x_resize_subwindow): Try and catch bogus resizes.
17191
17192         * gutter.c (output_gutter): Don't output if the window isn't live.
17193
17194 2000-01-28  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17195
17196         * glyphs-msw.c (mswindows_unmap_subwindow): Fix of corrupted patch
17197         of 01/12/00: Moved SetFocus back here where it belongs.
17198
17199 2000-01-23  Andy Piper  <andy@xemacs.org>
17200
17201         * s/cygwin32.h: declare printer things.
17202
17203 2000-01-26  Andy Piper  <andy@xemacs.org>
17204
17205         * select.c (Fown_selection_internal): GCPRO bug fix from Mike
17206         Alexander.
17207
17208 2000-01-24  Andy Piper  <andy@xemacs.org>
17209
17210         * glyphs-msw.c (mswindows_locate_pixmap_file): Expand filename.
17211         (mswindows_button_instantiate): Make sure glyph is a pixmap.
17212
17213         * glyphs-widget.c (widget_instantiate): Avoid shadows.
17214
17215         * frame-msw.c (msprinter_init_frame_3): Nuke warning.
17216
17217         * glyphs-msw.c: (mswindows_string_to_color): remove declaration.
17218
17219         * redisplay-msw.c (mswindows_output_cursor): Avoid shadows.
17220         (mswindows_output_display_block): Avoid local shadows.
17221
17222         * event-msw.c (mswindows_enqueue_magic_event): Avoid shadows.
17223         (mswindows_enqueue_mouse_button_event): ditto.
17224         (mswindows_handle_gui_wm_command): remove declaration.
17225
17226         * console-msw.c (mswindows_canonicalize_console_connection): Avoid
17227         warnings.
17228
17229         * console-msw.h: Avoid shadows.
17230         (mswindows_get_toolbar_button_text):
17231         (emacs_mswindows_create_stream_pair):
17232         (emacs_mswindows_delete_stream_pair):
17233         (mswindows_handle_toolbar_wm_command): declare.
17234
17235         * device-msw.c (build_syscolor_string): Avoid shadows.
17236
17237 2000-01-23  Andy Piper  <andy@xemacs.org>
17238
17239         * glyphs-widget.c (widget_instantiate): reverse the items for
17240         layouts so that children are in the expected order.
17241
17242 2000-01-28  Martin Buchholz  <martin@xemacs.org>
17243
17244         * ralloc.c: safe_bcopy ==> memmove
17245         * gmalloc.c: Remove MEMMOVE_MISSING conditional code.
17246         * s/msdos.h: Remove BCOPY macros.
17247         * insdel.c (gap_right): Remove BCOPY conditional code.
17248         * insdel.c (gap_left): Remove BCOPY conditional code.
17249         XEmacs demands a working ANSI C compiler - hence memmove.
17250
17251         * regex.c (regex_compile): Remove accidental use of trigraphs.
17252
17253 2000-01-27  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17254
17255         * event-msw.c (mswindows_enqueue_misc_user_event): Initialize
17256         event timestamp.
17257
17258 2000-01-26  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17259
17260         * event-msw.c (mswindows_drain_windows_queue): Added the
17261         parameter.
17262         (mswindows_need_event): Commented the call to
17263         mswindows_drain_windows_queue().
17264         (emacs_mswindows_quit_p): Lookup the windows for keyboard messages
17265         only.
17266
17267         * console-msw.h: Moved a few function prototypes here from
17268         event-msw.c.
17269
17270         * gui-msw.c (mswindows_handle_gui_wm_command): Changed the ID
17271         parameter from unsigned short to unsigned long.
17272         (Fmswindows_shell_execute): Added return value.
17273
17274 2000-01-27  URA Hiroshi <ura@hiru.aoba.yokohama.jp>
17275
17276         * sysdep.c (init_system_name):
17277           process-unix.c (unix_canonicalized_host_name):
17278         Don't call freeaddrinfo() if getaddrinfo() fails.
17279
17280         * process-unix.c (unix_open_unix_network_stream):
17281         Moved the code to get a port # into address loop.
17282
17283 2000-01-27  Martin Buchholz  <martin@xemacs.org>
17284
17285         * buffer.c (reinit_vars_of_buffer):
17286         The right place to initialize conversion_in_dynarr and
17287         conversion_out_dynarr.
17288
17289         * alloc.c (pdump): Use the real open() till sys_open() is functional.
17290
17291         * process-unix.c (unix_canonicalize_host_name): Muleize.
17292         (unix_open_network_stream): Muleize.
17293
17294         * buffer.h: Fix up prototypes for ralloc.c functions.
17295
17296 2000-01-27  URA Hiroshi <ura@hiru.aoba.yokohama.jp>
17297         * config.h.in: added HAVE_GETADDRINFO and HAVE_GETNAMEINFO
17298         * sysdep.c: In init_system_name(), add code to use getaddrinfo()
17299                 instead of gethostbyname()
17300         * process-unix.c: In unix_canonicalize_host_name() and
17301                 unix_open_network_stream(), add code to use getaddrinfo()
17302                 instead of gethostbyname().
17303
17304 2000-01-27  Daniel Pittman <daniel@danann.net>
17305
17306         * device-x.c (x_init_device): Warn at run-time if using Athena 3d
17307         libs when built with flat Athena.
17308
17309 2000-01-27  Martin Buchholz  <martin@xemacs.org>
17310
17311         * ralloc.c: Replace SIZE (conflicts with Windows headers) with size_t.
17312         Use coding standards for function prototypes.
17313
17314 2000-01-25  Martin Buchholz  <martin@xemacs.org>
17315
17316         * dialog-msw.c (push_lisp_string_as_unicode):
17317         * doc.c (unparesseuxify_doc_string):
17318         * dired.c (Fuser_name_completion_1):
17319         * dired.c (Fuser_name_all_completions):
17320         * dired.c (free_user_cache):
17321         * dired.c (user_name_completion):
17322         * console-x.c (get_display_arg_connection):
17323         * minibuf.c (clear_echo_area_internal):
17324         * minibuf.c (echo_area_append):
17325         * eldap.c (Fldap_open):
17326         * eldap.c (Fldap_search_internal):
17327         * frame-x.c (x_set_frame_text_value):
17328         * frame-x.c (x_set_frame_properties):
17329         * frame-x.c (x_create_widgets):
17330         * redisplay-tty.c (term_get_fkeys_1):
17331         * objects-x.c (x_parse_nearest_color):
17332         * objects-x.c (x_valid_color_name_p):
17333         * objects-x.c (x_initialize_font_instance):
17334         * objects-x.c (x_list_fonts):
17335         * objects-x.c (x_find_charset_font):
17336         * tooltalk.c (Fadd_tooltalk_message_arg):
17337         * tooltalk.c (Fadd_tooltalk_pattern_attribute):
17338         * tooltalk.c (Fadd_tooltalk_pattern_arg):
17339         * process-unix.c (unix_create_process):
17340         * ntproc.c (sys_spawnve):
17341         * sound.c (Fplay_sound_file):
17342         * sound.c (Fplay_sound):
17343         * buffer.c (init_initial_directory):
17344         * buffer.c (init_buffer):
17345         * editfns.c (init_editfns):
17346         * editfns.c (Ftemp_directory):
17347         * editfns.c (Fuser_full_name):
17348         * editfns.c (uncache_home_directory):
17349         * editfns.c (get_home_directory):
17350         * editfns.c (Fuser_home_directory):
17351         * editfns.c (Fformat_time_string):
17352         * editfns.c (Fcurrent_time_string):
17353         * gui-x.c (button_item_to_widget_value):
17354         * database.c (Fopen_database):
17355         * event-Xt.c (x_to_emacs_keysym):
17356         * event-Xt.c (x_event_to_emacs_event):
17357         * event-Xt.c (describe_event_window):
17358         * event-msw.c (mswindows_wnd_proc):
17359         * glyphs-eimage.c (jpeg_instantiate):
17360         * glyphs-eimage.c (gif_instantiate):
17361         * glyphs-eimage.c (png_instantiate):
17362         * glyphs-eimage.c (tiff_instantiate):
17363         * glyphs-x.c (xbm_instantiate_1):
17364         * glyphs-x.c (x_xbm_instantiate):
17365         * glyphs-x.c (x_xface_instantiate):
17366         * glyphs-x.c (autodetect_instantiate):
17367         * glyphs-x.c (cursor_font_instantiate):
17368         * glyphs-x.c (x_widget_instantiate):
17369         * glyphs-x.c (x_widget_set_property):
17370         * glyphs-x.c (x_widget_property):
17371         * glyphs-x.c (BUILD_GLYPH_INST):
17372         * print.c (write_string_to_stdio_stream):
17373         * print.c (output_string):
17374         * print.c (Falternate_debugging_output):
17375         * print.c (Fexternal_debugging_output):
17376         * glyphs-msw.c (extract_xpm_color_names):
17377         * glyphs-msw.c (mswindows_xpm_instantiate):
17378         * glyphs-msw.c (bmp_instantiate):
17379         * glyphs-msw.c (resource_name_to_resource):
17380         * glyphs-msw.c (mswindows_resource_instantiate):
17381         * glyphs-msw.c (xbm_instantiate_1):
17382         * glyphs-msw.c (mswindows_xbm_instantiate):
17383         * glyphs-msw.c (mswindows_xface_instantiate):
17384         * glyphs-msw.c (mswindows_widget_instantiate):
17385         * glyphs-msw.c (add_tree_item):
17386         * glyphs-msw.c (add_tab_item):
17387         * glyphs-msw.c (mswindows_combo_box_instantiate):
17388         * glyphs-msw.c (mswindows_widget_property):
17389         * glyphs-msw.c (mswindows_combo_box_property):
17390         * glyphs-msw.c (mswindows_widget_set_property):
17391         * console.c (stuff_buffered_input):
17392         * objects-msw.c (mswindows_initialize_color_instance):
17393         * objects-msw.c (mswindows_valid_color_name_p):
17394         * objects-msw.c (mswindows_list_fonts):
17395         * objects-msw.c (mswindows_font_instance_truename):
17396         * bytecode.c (optimize_compiled_function):
17397         * select-x.c (symbol_to_x_atom):
17398         * select-x.c (x_atom_to_symbol):
17399         * select-x.c (hack_motif_clipboard_selection):
17400         * select-x.c (selection_data_to_lisp_data):
17401         * select-x.c (lisp_data_to_selection_data):
17402         * select-x.c (Fx_get_cutbuffer_internal):
17403         * select-x.c (Fx_store_cutbuffer_internal):
17404         * buffer.h (TO_EXTERNAL_FORMAT): New function.
17405         * buffer.h (TO_INTERNAL_FORMAT): New function.
17406         * emacs.c (make_arg_list_1):
17407         * emacs.c (make_argc_argv):
17408         * emacs.c (main_1):
17409         * emacs.c (Fdump_emacs):
17410         * emacs.c (split_string_by_emchar_1):
17411         * file-coding.h:
17412         * lisp.h:
17413         * lstream.h:
17414         * symsinit.h:
17415         * device-x.c (x_init_device):
17416         * device-x.c (Fx_valid_keysym_name_p):
17417         * device-x.c (Fx_get_font_path):
17418         * device-x.c (Fx_set_font_path):
17419         * glyphs.c (bitmap_to_lisp_data):
17420         * glyphs.c (pixmap_to_lisp_data):
17421         * alloc.c (make_ext_string): Use coding system arguments.  Update
17422         all callers.
17423         * alloc.c (build_string):
17424         * callproc.c (child_setup):
17425         * callproc.c (init_callproc):
17426         * fileio.c (lisp_strerror):
17427         * fileio.c (directory_file_name):
17428         * fileio.c (Fexpand_file_name):
17429         * fileio.c (Ffile_truename):
17430         * fileio.c (Fsysnetunam):
17431         * fileio.c (Fdo_auto_save):
17432         * sysdep.c (sys_readdir):
17433         * tests.c: New file.  Allow adding C tests.
17434         Replace GET_* macros with a more comprehensible and flexible
17435         interface, TO_INTERNAL_FORMAT() and TO_EXTERNAL_FORMAT().
17436         Modify all calls.
17437         Any coding system can be used to do format conversion.
17438         Eliminate enum external_data_format.
17439         Eliminate convert_to_external_format.
17440         Eliminate convert_to_internal_format.
17441         Make sure file-name, keyboard, terminal, and ctext are always
17442         defined as coding systems or aliases.  Make
17443         file-name-coding-system, terminal-coding-system, and
17444         keyboard-coding-system magical variables that are equivalent to
17445         defining the corresponding coding system aliases.
17446
17447         * file-coding.c (Fcoding_system_canonical_name_p): New function.
17448         * file-coding.c (Fcoding_system_alias_p): New function.
17449         * file-coding.c (Fcoding_system_aliasee): New function.
17450         * file-coding.c (append_suffix_to_symbol): New function.
17451         * file-coding.c (dangling_coding_system_alias_p): New function.
17452         * file-coding.c (Ffind_coding_system):
17453         * file-coding.c (Fcopy_coding_system):
17454         * file-coding.c (encode_coding_no_conversion):
17455         * file-coding.c (syms_of_file_coding):
17456         * file-coding.c (vars_of_file_coding):
17457         Rewrite coding system alias code.
17458         Allow nested aliases, like symbolic links.
17459         Allow redefinition of coding system aliases.
17460         Prevent existence of dangling coding system aliases.
17461
17462         * dired.c (Fuser_name_completion_1):
17463         * dired.c (Fuser_name_all_completions):
17464         A crash would happen if user did QUIT in the middle of building
17465         user_name_cache.  Remove redundant code in mainline and unwind_protect.
17466
17467         * lisp.h:
17468         * dynarr.c (Dynarr_min_size): Make static.  Increase value to 8.
17469
17470         * lstream.c (make_fixed_buffer_input_stream): Take a void *, not
17471         an unsigned char *.  Update all callers.
17472
17473 2000-01-26  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17474
17475         * callproc.c (Fcall_process_internal): Ignore Vbinary-process_output.
17476
17477 2000-01-25  Martin Buchholz  <martin@xemacs.org>
17478
17479         * elhash.c (hentry_description): Use more portable definition.
17480         (resize_hash_table): Initialize new hentries using
17481         xnew_array_and_zero, thereby simplifying the code.
17482
17483         * mule-charset.c (make_charset): Make sure entire object is
17484         initialized, to avoid Purify warnings.
17485
17486         * alloc.c (resize_string): Fix unlikely crash with big strings.
17487
17488 2000-01-24  Martin Buchholz  <martin@xemacs.org>
17489
17490         * realpath.c (xrealpath):
17491         Don't call getwd().
17492
17493 2000-01-25  Martin Buchholz  <martin@xemacs.org>
17494
17495         * lread.c (read_bit_vector): Fix memory leak reading literal bit vectors.
17496
17497 1999-12-28  Max Matveev  <max@melbourne.sgi.com>
17498
17499         * unexelfsgi.c (unexec): Change the way we decide which segment
17500         should be extended.
17501
17502         Assumption that .bss section should be outside the PT_LOADable
17503         segment. On IRIX with version 6.2 and above, .bss (or .sbss, if
17504         it's present) is inside the 'data' segment. This would fail the
17505         test which was used to find a segment to grow and cover new
17506         heap. Instead of this assumption, I created another one - on IRIX
17507         the segment to grow should start below .bss and it's address
17508         should extent above the end of .bss. Once this segment is
17509         identified, it's grown to accommodate the new heap and new
17510         zero-length .bss section is added at the end of .data2.
17511
17512 2000-01-25  Martin Buchholz  <martin@xemacs.org>
17513
17514         * eval.c (Feval): Wrong number of arguments should use original
17515         function, not the indirect_function version of it.
17516
17517 2000-01-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
17518
17519         * glyphs-x.c (x_button_instantiate): Don't add image if
17520         it is not a pixmap.
17521         (x_locate_pixmap_file): Call Fexpand_file_name when file name
17522         is relative.
17523
17524 2000-01-21  Yoshiki Hayashi  <yoshiki@xemacs.org>
17525
17526         * symeval.h (DEFVAR_LISP_MAGIC): Remove semicolon after macro
17527         declaration.
17528         (DEFVAR_INT_MAGIC): Ditto.
17529         (DEFVAR_BOOL_MAGIC): Ditto.
17530         * glyphs.h: Reindent backslash.
17531
17532 2000-01-24  Martin Buchholz  <martin@xemacs.org>
17533
17534         * glyphs-widget.c (layout_query_geometry):
17535         (layout_layout): Use correct types for gheight, gwidth.
17536
17537 2000-01-24  Martin Buchholz  <martin@xemacs.org>
17538
17539         * EmacsManager.c (QueryGeometry): Purified.
17540
17541 2000-01-23  Martin Buchholz  <martin@xemacs.org>
17542
17543         * alloc.c (make_float): Make sure entire object is initialized, to
17544         avoid Purify warnings.
17545         (pdump_register_sub): Remove useless assignment.
17546         (pdump): Use xmalloc, not malloc.
17547         (pdump_load): Use xmalloc, not malloc.
17548
17549 2000-01-23  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17550
17551         * callproc.c:
17552         * dired-msw.c:
17553         * fileio.c:
17554         * process-nt.c:
17555         * redisplay-msw.c:
17556         * sysdep.c: Removed redundant #include <windows.h>
17557
17558 2000-01-22  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17559
17560         * frame.c (delete_frame_internal): Do not delete device when its
17561         implementation so declares.
17562         (delete_frame_internal): Set device selected frame to nil when
17563         last frame goes away.
17564
17565         * device-msw.c (msprinter_device_system_metrics): Implemented.
17566         (mswindows_device_system_metrics): Added 'device-dpi property.
17567
17568         * device.c: (Fdevice_printer_p): Added.
17569         Added 'offset-workspace device metric.
17570
17571         * console.h (device_metrics): Declared DM_offset_workspace.
17572
17573 2000-01-23  Martin Buchholz  <martin@xemacs.org>
17574
17575         * fileio.c (Ffile_truename): Remove pointless and confusing
17576         initialization of elen.
17577
17578         * glyphs-widget.c: Compiler warning fixes.
17579
17580 2000-01-23  Gunnar Evermann  <ge204@eng.cam.ac.uk>
17581
17582         * process.h (PROCESS_LIVE_P): Modify to take a Lisp_Process
17583         instead of a Lisp_Object as argument to make it consistent with
17584         the other LIVE_P macros.
17585         (CHECK_LIVE_PROCESS): New macro.
17586
17587         * process.c: Declare Qprocess_live_p.
17588         (Fprocess_live_p): New function.
17589         (create_process): Use PROCESS_LIVE_P.
17590         (read_process_output): Ditto.
17591         (set_process_filter): Ditto.
17592         (Fdelete_process): Ditto.
17593         (kill_buffer_processes): Ditto
17594         (process_send_signal): Use CHECK_LIVE_PROCESS.
17595         (Fprocess_input_coding_system): Check whether process is still
17596         alive (fix PR#1061).
17597         (Fprocess_output_coding_system): Ditto.
17598         (Fprocess_coding_system): Ditto.
17599         (Fset_process_input_coding_system): Ditto.
17600         (Fset_process_output_coding_system): Ditto.
17601
17602 2000-01-23  Andy Piper  <andy@xemacs.org>
17603
17604         * glyphs.h (struct Lisp_Image_Instance): change format by unifying
17605         layout and widget.
17606
17607         * glyphs.c (mark_image_instance): take into account changed
17608         image_instance format.
17609         (image_instance_equal): ditto.
17610         (image_instance_hash): ditto.
17611
17612         * glyphs-widget.c (widget_instantiate): Incorporate layout
17613         instantiation here. Delay layout of the layout until later.
17614         (layout_instantiate): deleted.
17615         (layout_query_geometry): new function. get the geometry of a
17616         layout.
17617         (layout_layout): layout a layout dynamically.
17618         (image_instantiator_widget): New function - splitting up
17619         image_instantiator_format_create_glyphs_widget for netwinder
17620         compilation.
17621         (image_instantiator_buttons):
17622         (image_instantiator_edit_fields):
17623         (image_instantiator_combo_box):
17624         (image_instantiator_scrollbar):
17625         (image_instantiator_progress_guage):
17626         (image_instantiator_tree_view):
17627         (image_instantiator_tab_control):
17628         (image_instantiator_labels):
17629         (image_instantiator_layout): ditto.
17630         (image_instantiator_format_create_glyphs_widget): Call preceding
17631         functions.
17632
17633 2000-01-22  Martin Buchholz  <martin@xemacs.org>
17634
17635         * process.c (Fset_process_coding_system):
17636         * device-x.c (Fx_keysym_hash_table):
17637         Docstring fixes.
17638
17639         * lstream.c (Lstream_write): Return documented value, not 0.
17640
17641         * fileio.c (directory_file_name):
17642         (Fsubstitute_in_file_name):
17643         (Fsubstitute_insert_file_contents_internal):
17644         (Fwrite_region_internal):
17645         * emacs.c:
17646         * sysdep.c:
17647         * getloadavg.c:
17648         * systty.h:
17649         Remove vestigial APOLLO-conditional code.
17650
17651 2000-01-21  Martin Buchholz  <martin@xemacs.org>
17652
17653         * getpagesize.h: Add guard macros.
17654         * libsst.h: Add guard macros.
17655         * libst.h: Add guard macros.
17656         * line-number.h: Add guard macros.
17657         * ndir.h: Add guard macros.
17658         * sysfloat.h: Add guard macros.
17659         * sysfile.h: Add guard macros.
17660         * sysproc.h: Add guard macros.
17661         * syswait.h: Add guard macros.
17662         * xintrinsic.h: Add guard macros.
17663         * xintrinsicp.h: Add guard macros.
17664         * xmmanager.h: Add guard macros.
17665         * xmmanagerp.h: Add guard macros.
17666         * xmprimitive.h: Add guard macros.
17667         * xmu.h: Add guard macros.
17668         * gpmevent.h: Add copyright statement. Add guard macros.
17669         * miscplay.h: Add guard macros.
17670         * *.h: Use consistent C-standards-approved guard macro names.
17671
17672         * opaque.c (make_opaque): Switch parameter order.
17673         * opaque.h (make_opaque): Switch parameter order.
17674         Update all callers.
17675         * buffer.h (MAKE_MIRROR_TRT_TABLE): Use symbolic constant OPAQUE_CLEAR.
17676
17677         * config.h.in (type_checking_assert): Added.
17678         (bufpos_checking_assert): Added.
17679
17680 2000-01-21  Martin Buchholz  <martin@xemacs.org>
17681
17682         * alloc.c: Harmless pdump changes.
17683         - Use countof().
17684         - spell alignment correctly.
17685         * sysdep.c: Use countof()
17686
17687 2000-01-20  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17688
17689         * console.c (create_console): Use CONMETH_OR_GIVEN when calling
17690         initially_selected_for_input() console method, default to 0.
17691         (semi_canonicalize_console_connection): Try to delegate to
17692         canonicalize_console_connection if no such console method.
17693         (canonicalize_console_connection): Vice versa.
17694         (print_console): Do not print nil connection.
17695
17696         * console.h (XDEVIMPF_IS_A_PRINTER): Added.
17697         (XDEVIMPF_NO_AUTO_REDISPLAY): Added.
17698         (XDEVIMPF_FRAMELESS_OK): Added.
17699         (CONSOLE_INHERITS_METHOD): Added.
17700
17701         * console-msw.c (mswindows_canonicalize_console_connection):
17702         Added.
17703         (mswindows_canonicalize_device_connection): Added.
17704
17705         * console-msw.h (struct msprinter_device): Added this struct and
17706         accessor macros.
17707         (mswindows_device): Made fontlist a lisp object.
17708
17709         * device.c (semi_canonicalize_device_connection):  Try to delegate
17710         to canonicalize_device_connection if no such console method.
17711         (canonicalize_device_connection): Vice versa.
17712         (print_device): Do not print nil connection.
17713
17714         * device-msw.c (mswindows_init_device): Call InitCommonControls
17715         when have widgets.
17716         (mswindows_delete_device): Removed fontlist deallocation.
17717         (mswindows_mark_device): Added.
17718
17719         * events.c (event_equal): Added abort() at unreached code.
17720         (event_hash): Ditto.
17721
17722         * faces.c (complex_vars_of_faces): Added Qmsprinter to the list of
17723         fallback tags of Windows devices.
17724
17725         * general.c (syms_of_general): Initialized Qmsprinter.
17726
17727         * gutter.c (complex_vars_of_gutters): Added Qmsprinter to the list
17728         of fallback tags of Windows devices.
17729
17730         * lisp.h: Declared Qmsprinter.
17731
17732         * objects-msw.c (font_enum_callback_2): Rewrote to build lisp list
17733         of strings.
17734         (mswindows_list_fonts): Ditto.
17735         (mswindows_enumerate_fonts): Removed dependency on XDEVICE, so
17736         that it can be used by both mswindows and msprinter devices.
17737         (initialize_font_instance): Added.
17738         (mswindows_initialize_font_instance): Use it.
17739         (msprinter_initialize_font_instance): Added.
17740
17741         * redisplay.c (redisplay_device): Added the parameter AUTOMATIC
17742         and implementation flags check.
17743         (redisplay_without_hooks): Changed the call to the above.
17744         (Fredraw_device): Ditto.
17745         (Fredisplay_device): Ditto.
17746
17747         * redisplay-msw.c (get_frame_dc): Implemented.
17748         (get_frame_compdc): Implemented.
17749         (many functions): Use the two functions above to get device
17750         contexts, ether for a window or a printer.
17751
17752 2000-01-21  Olivier Galibert  <galibert@pobox.com>
17753
17754         * symbols.c (reinit_symbols_once_early): Put Qzero/Qnull_pointer
17755         initialization here.
17756         (init_symbols_once_early): Call it.
17757         * emacs.c (main_1): Call it.
17758         * symsinit.h: Declare it.
17759
17760 2000-01-19  Olivier Galibert  <galibert@pobox.com>
17761
17762         * alloc.c: Use a lrecord_header * in the backtrace instead of a
17763         Lisp_Object.
17764         (pdump_backtrace): Ditto.
17765         (pdump_register_object): Ditto.  Cleanup use of the pointers.
17766         (pdump_get_entry): Abort if trying to register a null pointer.
17767         (pdump_dump_data): Cleanup types when relocating.
17768         (pdump_dump_staticvec): Cleanup types w.r.t the reloc table.
17769         (pdump_dump_rtables): Remove bad casts.
17770         (pdump_load): Cleanup relocation w.r.t union type.  Use a
17771         Lisp_Object instead of a EMACS_INT for the hashtable
17772         reorganization.
17773
17774 2000-01-20  Martin Buchholz  <martin@xemacs.org>
17775
17776         * emacs.c (main_1): Rearrange morass of #ifdef's for correctness.
17777
17778         * callproc.c (call_process_cleanup): Isolate WINDOWSNT code for clarity.
17779
17780         * EmacsManager.c (GeometryManager): Avoid use of CPP for clarity.
17781
17782         * *.[ch]: global-replace 's/_of_xselect/_of_select_x/g' *.[ch]
17783
17784 2000-01-17  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17785
17786         * faces.h (FACE_STRIKETHRU_P): Added.
17787
17788         * glyphs-msw.c (mswindows_widget_hfont): Implemented, to take care
17789         of font variants.
17790
17791         * redisplay-msw.c (mswindows_apply_face_effects): Deleted.
17792         (mswindows_set_dc_font): New function, aware of font variants,
17793         separated from mswindows_update_dc.
17794
17795         * objects-msw.h (struct mswindows_font_instance_data): Added
17796         definition.
17797
17798         * objects-msw.c (mswindows_finalize_font_instance): Delete all
17799         cached fonts and the data structure.
17800         (mswindows_initialize_font_instance): Added creation of font data
17801         structure.
17802         (mswindows_print_font_instance): Print at least something.
17803         (mswindows_create_font_variant): Implemented.
17804         (mswindows_get_hfont): Implemented.
17805
17806 2000-01-13  Fabrice Popineau  <Fabrice.Popineau@supelec.fr>
17807
17808         * dired-msw.c: permute "sysdir.h" with "sysfile.h" because of
17809         prototyping problem with msvc.
17810
17811         * emacs.c (main_1): added syms_of_gui_mswindows() call
17812
17813         * gui-msw.c: added "mswindows-shell-execute" lisp subr and
17814         syms_of_gui_mswindows() function
17815
17816         * symsinit.h: added the prototype for syms_of_gui_mswindows()
17817
17818 2000-01-18  Martin Buchholz <martin@xemacs.org>
17819
17820         * XEmacs 21.2.27 is released.
17821
17822 2000-01-18  Martin Buchholz  <martin@xemacs.org>
17823
17824         * glyphs-eimage.c (struct tiff_error_struct):
17825         (tiff_error_func):
17826         (tiff_warning_func):
17827         #if HAVE_VSNPRINTF ==> #ifdef HAVE_VSNPRINTF
17828
17829         * unexmips.c:
17830         * unexhp9k3.c:
17831         * unexfreebsd.c:
17832         * unexec.c: Remove vestigial Lucid C code.
17833         * unexalpha.c:
17834         * unexaix.c:
17835         * termcap.c:
17836         * libsst.c: Ansify.
17837         Remove declarations of errno and strerror().
17838
17839         * eval.c (Fbacktrace): Small Purify-cation.  Fix docstring.
17840
17841         * .dbxrc (run-temacs): Use the horrible ${1+"$@"} instead of "$@".
17842
17843 2000-01-16  Martin Buchholz  <martin@xemacs.org>
17844
17845         * mule-charset.c (Fchar_octet): Resurrect from earlier in 1999.
17846         Optimize.
17847
17848 2000-01-14  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
17849
17850         * md5.c:
17851         * file-coding.c:
17852         * file-coding.h:
17853         Change enum eol_type to eol_type_t.
17854
17855 2000-01-17  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
17856
17857         * gui.c (get_gui_callback): Check cons before accessing car.
17858
17859 2000-01-17  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
17860
17861         * specifier.h (XSPECIFIER_TYPE): Add error checking version.
17862         (XSETSPECIFIER_TYPE): Ditto.
17863
17864 2000-01-17  Didier Verna  <didier@xemacs.org>
17865
17866         * redisplay.c (generate_fstring_runes): compute string size in
17867         characters, not bytes.
17868
17869 2000-01-09  Hrvoje Niksic  <hniksic@iskon.hr>
17870
17871         * window.c (Fwindow_minibuffer_p): Make WINDOW optional.
17872
17873 2000-01-14  Hrvoje Niksic  <hniksic@iskon.hr>
17874
17875         * print.c (print_error_message): Call print_prepare().
17876
17877 2000-01-14  Martin Buchholz  <martin@xemacs.org>
17878
17879         * .dbxrc: Renamed from dbxrc.
17880
17881         * events.c (event_to_character):
17882         Use `assert (foo)' instead of `if (!foo) abort()'
17883
17884         * .gdbinit (xtype): Add documentation.
17885         * .gdbinit (check-temacs): New function.
17886         * .gdbinit (check-xemacs): New function.
17887         * dbxrc (check-xemacs): New function.
17888         * dbxrc (check-xemacs): New function.
17889
17890 2000-01-14  Andy Piper  <andy@xemacs.org>
17891
17892         * glyphs-widget.c (widget_query_geometry): Make sure that we
17893         calculate default dimensions correctly.
17894
17895 2000-01-13  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17896
17897         * symsinit.h: Added prototype for reinit_vars_of_frame_mswindows.
17898
17899         * event-msw.c (vars_of_event_mswindows): Fixed a mistyped
17900         pdump_wire'd variable.
17901
17902         * emacs.c: (main_1): Conditionalized calls to
17903         reinit_vars_of_scrollbar_x and reinit_vars_of_module.
17904
17905 2000-01-13  Martin Buchholz  <martin@xemacs.org>
17906
17907         * window.c (Fset_window_configuration):
17908         * sysdep.c (_start):
17909         * input-method-motif.c (res):
17910         * event-Xt.c (Xt_process_to_emacs_event):
17911         Simple compiler warning fixes.
17912
17913         * bytecode.c (funcall_compiled_function): Use the original
17914         function symbol on the backtrace list in preference to the
17915         compiled_function object in error messages.
17916
17917 2000-01-13  Andy Piper  <andy@xemacs.org>
17918
17919         * glyphs-x.c (update_widget_face): Make sure we update the widget
17920         background as well as foreground.
17921
17922 2000-01-13  Andy Piper  <andy@xemacs.org>
17923
17924         * glyphs.h (struct Lisp_Image_Instance): Move justify and orient
17925         fields to subwindow.
17926         (IMAGE_INSTANCE_SUBWINDOW_JUSTIFY): new macro.
17927         (XIMAGE_INSTANCE_SUBWINDOW_JUSTIFY): ditto.
17928         (IMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
17929         (XIMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
17930
17931         * glyphs-widget.c (check_valid_tab_orientation): new function.
17932         (initialize_widget_image_instance): zero orientation and
17933         justification.
17934         (widget_instantiate): pick up orientation.
17935         (tab_control_query_geometry): return appropriate values for
17936         vertical tabs.
17937
17938         * glyphs-msw.c: (mswindows_tab_control_instantiate): assign
17939         appropriate creation flags for left, right and bottom tabs.
17940
17941         * s/cygwin32.h: add tab definitions.
17942
17943 2000-01-12  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17944
17945         * glyphs-msw.c (mswindows_unmap_subwindow): Set focus back to the
17946         frame upon hiding a subwindow.
17947         (mswindows_button_instantiate): Changed the push button style to
17948         BS_PUSHBUTTON.
17949         (mswindows_button_instantiate): Removed button BS_NOTIFY
17950         style.
17951         (mswindows_button_instantiate): Removed redundant check for
17952         a disabled gui item.
17953         (mswindows_button_instantiate): Made use of WS_TABSTOP
17954         consistent: "operable" controls (edit, button, tree, scroll) have
17955         this style, "display-only" ones (static, progress gauge) do
17956         not. This style is currently ignored by XEmacs though. Also,
17957         removed the WS_EX_CONTROLPARENT style - it is not for children,
17958         it is for their parents!
17959         (mswindows_edit_field_instantiate): Ditto.
17960         (mswindows_progress_gauge_instantiate): Ditto.
17961         (mswindows_tree_view_instantiate): Ditto.
17962         (mswindows_tab_control_instantiate): Ditto.
17963         (mswindows_scrollbar_instantiate): Ditto.
17964         (mswindows_combo_box_instantiate): Ditto.
17965         (mswindows_widget_instantiate): Added the WS_EX_CONTROLPARENT
17966         style to the "clip" window.
17967         (mswindows_button_instantiate): Removed compilation warning by
17968         equally typing terms of the ?: operator.
17969
17970 2000-01-12  Didier Verna  <didier@xemacs.org>
17971
17972         * redisplay.c (generate_fstring_runes): new parameter holding the
17973         last modeline-format extent.
17974         (add_glyph_to_fstring_db_runes): new parameter holding the glyph
17975         extent, fill the glyph block with it.
17976         (generate_fstring_runes): handle these parameters.
17977         (generate_formatted_string_db): ditto.
17978
17979         * keymap.c (get_relevant_keymaps): retreive the keymaps from the
17980         glyphs'extents in the modeline.
17981
17982 1999-01-11  Mike Woolley  <mike@bulsara.com>
17983
17984         * ntheap.c: Reduced the reserved heap space from 1Gb down to
17985         256Mb, as a workaround for the non-starting problem many people
17986         have experienced.
17987
17988 2000-01-06  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
17989
17990         * console-tty.c (Fset_console_tty_output_coding_system):
17991         Force redrawing tty frame.
17992
17993 2000-01-10  Didier Verna  <didier@xemacs.org>
17994
17995         * redisplay.c (generate_fstring_runes): fix size computation bug.
17996
17997 2000-01-09  William M. Perry <wmperry@aventail.com>
17998
17999         * gpmevent.c: (gpm_next_event_cb): Don't return value from void function.
18000
18001 2000-01-09  Andy Piper  <andy@xemacs.org>
18002
18003         * glyphs-msw.c: index -> i to avoid shadows.
18004         (xbm_create_bitmap_from_data): make static.
18005         (check_valid_string_or_int): deleted.
18006         (mswindows_control_wnd_proc): message -> msg to avoid shadows.
18007
18008         * glyphs-x.c (x_update_subwindow): remove unused args.
18009
18010         * glyphs.c (glyph_image_instance): return the thing. Don't set the
18011         back pointer - this is done in allocate_image_instance.
18012         (query_string_font): return Qnil to make the compiler happy.
18013         (unmap_subwindow): set to ~0 to make the compiler happy.
18014         (glyph_query_geometry): comment out until used.
18015         (glyph_layout): ditto.
18016
18017 2000-01-09  Hrvoje Niksic  <hniksic@iskon.hr>
18018
18019         * insdel.c (signal_after_change): Remove extraneous unbind_to().