update.
[chise/xemacs-chise.git.1] / src / ChangeLog
1 2010-12-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2
3         * concord.c:
4         - Include "elconcord.h".
5         - Move EXFUNs for `Fconcord_decode_object', `Fconcord_object_put'
6           and `Fconcord_object_get' to elconcord.h.
7         (Lisp_CONCORD_DS): Moved to elconcord.h.
8         (struct Lisp_CONCORD_DS): Ditto.
9         (XCONCORD_DS): Ditto.
10         (XSET_CONCORD_DS): Ditto.
11         (CONCORD_DS_P): Ditto.
12         (CHECK_CONCORD_DS): Ditto.
13         (CONCHECK_CONCORD_DS): Ditto.
14         (Lisp_CONCORD_Object): Ditto.
15         (struct Lisp_CONCORD_Object): Ditto.
16         (XCONCORD_OBJECT): Ditto.
17         (XSET_CONCORD_OBJECT): Ditto.
18         (CONCORD_OBJECT_P): Ditto.
19         (CHECK_CONCORD_OBJECT): Ditto.
20         (CONCHECK_CONCORD_OBJECT): Ditto.
21         (CONCORD_OBJECT_GENRE): Ditto.
22         (CONCORD_OBJECT_ID): Ditto.
23         (XCONCORD_OBJECT_ID): Ditto.
24         (XCONCORD_OBJECT_GENRE): Ditto.
25         (concord_object_equal): New function.
26         (LRECORD_IMPLEMENTATION of "concord_object"): Use
27         `concord_object_equal'.
28
29         * elconcord.h: New file.
30
31 2010-12-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
32
33         * concord.c (print_concord_object): Use readable form even if
34         `print-readably' is nil.
35
36 2010-11-19  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
37
38         * concord.c (print_concord_object): Don't display location of
39         data-source when `print-readably' is nil.
40
41 2010-11-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
42
43         * concord.c (Fconcord_genre_ds): Use Vchise_system_db_directory as
44         the default location of data-source.
45         (complex_vars_of_concord): Use Vchise_system_db_directory to
46         assign genre `character' and `feature'.
47
48         * chartab.h (Vchise_system_db_directory): New extern when
49         HAVE_CONCORD is defined.
50
51 2010-09-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
52
53         * concord.c: Include <chise.h> if HAVE_LIBCHISE is defined.
54         (Qcharacter): New variable when HAVE_LIBCHISE is defined.
55         (Qfeature): Ditto.
56         (Fconcord_object_genre): New function.
57         (syms_of_concord):
58         - Add new builtin symbols `character' and `feature' when
59           HAVE_LIBCHISE is defined.
60         - Add Add new builtin function `concord-object-genre'.  
61         (complex_vars_of_concord): New function; assign genres `character'
62         and `feature' when HAVE_LIBCHISE is defined.
63
64 2010-09-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
65
66         * emacs.c (main_1): Call `complex_vars_of_concord' when
67         HAVE_CONCORD is defined.
68
69         * symsinit.h (complex_vars_of_concord): New prototype.
70
71 2010-07-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
72
73         * chartab.c (allocate_character): Add `static'.
74
75 2010-07-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
76
77         * chartab.c (allocate_character): New function.
78         (Fdefine_char): Use allocate_character().
79
80 2010-06-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
81
82         * mule.c (vars_of_mule): Update `xemacs-chise-version' to 0.25
83         (Ōkawara).
84
85 2010-03-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
86
87         * chartab.c (save_uint8_byte_table): Fixed problem when a property
88         is unloaded.
89         (save_uint16_byte_table): Likewise.
90
91 2010-02-21  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
92
93         * chartab.c (Fchar_feature_property): New function when LIBCHISE
94         is enabled.
95         (Fput_char_feature_property): Likewise.
96         (syms_of_chartab): Add new builtin functions
97         `char-feature-property' and `put-char-feature-property' when
98         LIBCHISE is enabled.
99
100 2009-04-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
101
102         * mule-charset.c (Fmake_charset): Add DOC-string of 'iso-ir and
103         '=>iso-ir.
104         (Fcharset_property): Regard '=>iso-ir as same as `iso_ir.
105
106 2009-04-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
107
108         * mule-charset.c (Qto_iso_ir): New variable for XEmacs CHISE.
109         (make_charset): Add new argument `iso_ir'.
110         (Fmake_charset): Add new property `=>iso-ir' in XEmacs CHISE.
111         (Fmake_reverse_direction_charset): Copy CHARSET_ISO_IR(cs) in
112         XEmacs CHISE.
113         (Fcharset_property): Support `iso-ir' in XEmacs CHISE.
114         (syms_of_mule_charset): Add new builtin symbol `=>iso-ir' in
115         XEmacs CHISE.
116         (complex_vars_of_mule_charset): Specify argument `iso_ir' of
117         function `make_charset'.
118
119         * char-ucs.h (LEADING_BYTE_*): Enclose negative value with ( ).
120         (struct Lisp_Charset): Add new member `iso_ir'.
121         (CHARSET_ISO_IR): New macro.
122
123 2009-03-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
124
125         * mule-charset.c (Fdecode_char): Fix problem when decoding GR
126         code-point by GL charset.
127
128 2008-10-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
129
130         * concord.c (concord_id_validate): New function.
131         (structure_type_create_concord): Use `concord_id_validate' instead
132         of `concord_name_validate' to accept integer and character as =id.
133
134 2008-09-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
135
136         * concord.c (func_for_each_object): Fix bug about GC-protection.
137
138 2008-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
139
140         * concord.c (Fconcord_object_put): Check argument FEATURE is a
141         symbol.
142
143 2008-09-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
144
145         * text-coding.c (struct decoding_stream): Add new member
146         `bom_flag' in XEmacs CHISE.
147         (reset_decoding_stream): Ignore U+FEFF in the beginning of stream
148         in XEmacs CHISE.
149
150 2008-09-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
151
152         * mule-charset.c: Move definition of `=jis-x0208@1978' to
153         lisp/mule/mule-conf.el.
154
155 2008-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
156
157         * mule-charset.c (Qpartial): New variable in XEmacs CHISE.
158         (make_charset): Add new argument `partial'.
159         (Fmake_charset): Add new property 'partial in XEmacs CHISE.
160         (Fmake_reverse_direction_charset): Modify for `make_charset'.
161         (syms_of_mule_charset): Add new builtin symbol `partial' in XEmacs
162         CHISE.
163         (complex_vars_of_mule_charset): Modify for `make_charset'; specify
164         `=jis-x0208' as a partial coded-charset.
165
166 2008-08-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
167
168         * text-coding.c (decode_add_er_char): Fix problem when a character
169         represented by an entity-reference is not defined.
170
171 2008-06-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
172
173         * char-ucs.h, chartab.c, fns.c, mule-charset.c: Rename Qmap_* to
174         Qrep_*.
175
176 2007-09-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
177
178         * mule.c (vars_of_mule): Update `xemacs-chise-version' to 0.24
179         (Kasagi).
180
181 2006-06-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
182
183         * concord.c (Fconcord_object_put): Add reversed links when FEATURE
184         is a relation feature.
185
186 2006-06-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
187
188         * chartab.c (syms_of_chartab): Define
189         `{<-|->}{subsumptive|denotational}' when HAVE_CONCORD is defined.
190
191         * chartab.h (Q_denotational): New extern when UTF2000 or
192         HAVE_CONCORD is defined.
193         (Q_denotational_from): Likewise.
194         (Q_subsumptive): Likewise.
195         (Q_subsumptive_from): Likewise.
196
197 2006-06-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
198
199         * concord.c (concord_object_put): New function.
200         (Fconcord_object_put): Use `concord_object_put'.
201
202 2006-06-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
203
204         * concord.c (Fconcord_define_object): New function.
205         (syms_of_concord): Add new builtin function
206         `concord-define-object'.
207
208 2006-05-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
209
210         * mule.c (vars_of_mule): Update `xemacs-chise-version' to 0.23
211         (Kamo).
212
213 2006-04-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
214
215         * concord.c: Add EXFUN for Fconcord_object_get.
216         (Vconcord_genre_object_hash_table): New variable.
217         (concord_genre_cache_get_object): New function.
218         (concord_genre_cache_put_object): New function.
219         (Fconcord_make_object): Use object cache; put object-ID into `=id'
220         feature.
221         (Fconcord_object_put): Call `concord_index_sync' after
222         `concord_index_strid_put_obj'.
223         (vars_of_concord): Setup Vconcord_genre_object_hash_table.
224
225 2006-04-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
226
227         * concord.c (Fconcord_decode_object): Do GCPRO for
228         Fconcord_make_object.
229         (func_for_each_object): Likewise; do GCPRO for
230         for_each_object_closure->function.
231         (Fconcord_foreach_object_in_feature): Use GCPRO4 for
232         for_each_object_closure->function, for_each_object_closure->genre,
233         for_each_object_closure->ds and for_each_object_closure->ret.
234         (concord_object_validate): Do GCPRO for Fconcord_make_object.
235
236 2006-04-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
237
238         * concord.c: Add EXFUNs for Fconcord_decode_object and
239         Fconcord_object_put.
240         (Fconcord_make_object): Change order of arguments.
241         (Fconcord_decode_object): Modify for Fconcord_make_object.
242         (func_for_each_object): Likewise.
243         (concord_object_validate): Likewise.
244         (concord_object_instantiate): Use GCPRO2 for `data' and `retval'.
245
246 2006-04-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
247
248         * concord.c (Fconcord_object_put): Setup index for `=FOO' feature.
249
250 2006-04-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
251
252         * concord.c (Fconcord_decode_object): Try to use readable print
253         form as a key of Concord-index.
254         (Fconcord_object_get): Try to use readable print form as an ID of
255         Concord-object.
256         (Fconcord_object_put): Try to use readable print form as an ID of
257         Concord-object and a feature value.
258         (Fconcord_object_spec): Try to use readable print form as an ID of
259         Concord-object.
260
261 2006-04-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
262
263         * concord.c (print_concord_object): Support readable form.
264
265 2006-04-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
266
267         * emacs.c (main_1): Call `structure_type_create_concord' when
268         HAVE_CONCORD is defined.
269
270         * symsinit.h (structure_type_create_concord): New prototype.
271
272         * concord.c (Qconcord_object): New variable.
273         (Qgenre): Likewise.
274         (Q_id): Likewise.
275         (Fconcord_ds_directory): Use <char*> instead of <unsigned char*>
276         for directory.
277         (add_feature_to_list_mapper): Use <char*> instead of <unsigned
278         char*> for genre-name.
279         (Fconcord_feature_list): Likewise.
280         (Fconcord_make_object): Likewise.
281         (Fconcord_decode_object): Likewise; use <char*> instead of
282         <unsigned char*> for feature_name and strid.
283         (Fconcord_object_get): Use <char*> instead of <unsigned char*> for
284         c_obj and feature_name.
285         (Fconcord_object_put): Likewise; use <char*> instead of <unsigned
286         char*> for c_value.
287         (struct closure_for_object_spec): Use <char*> instead of <unsigned
288         char*> for member `object_id'.
289         (add_feature_to_spec_mapper): Use <char*> instead of <unsigned
290         char*> for feature-name.
291         (Fconcord_object_spec): Use <char*> instead of <unsigned char*>
292         for c_obj.
293         (func_for_each_object): Cast to avoid warnings.
294         (Fconcord_foreach_object_in_feature): Use <char*> instead of
295         <unsigned char*> for genre_name and feature_name.
296         (concord_name_validate): New function.
297         (concord_object_validate): Likewise.
298         (concord_object_instantiate): Likewise.
299         (syms_of_concord): Add new builtin symbols `concord-object',
300         `genre' and `=id'.
301         (structure_type_create_concord): New function.
302
303 2006-04-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
304
305         * concord.c (Vconcord_ds_hash_table): New variable.
306         (Vconcord_genre_hash_table): New variable.
307         (Fconcord_open_ds): Use Vconcord_ds_hash_table.
308         (Fconcord_ds_directory): New function.
309         (Fconcord_assign_genre): New function.
310         (Fconcord_genre_directory): New function.
311         (Fconcord_genre_ds): New function.
312         (Fconcord_feature_list): Allow to omit `ds'.
313         (Fconcord_make_object): Likewise.
314         (Fconcord_decode_object): Likewise.
315         (Fconcord_foreach_object_in_feature): Likewise.
316         (syms_of_concord): Add new builtin function Fconcord_ds_directory,
317         Fconcord_assign_genre, Fconcord_genre_directory and
318         Fconcord_genre_ds.
319         (vars_of_concord): Setup Vconcord_ds_hash_table and
320         Vconcord_genre_hash_table.
321
322 2006-02-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
323
324         * concord.c (struct closure_for_each_object): Add new member
325         `ret'.
326         (func_for_each_object): Setup the return value to
327         `for_each_object_closure->ret'.
328         (Fconcord_foreach_object_in_feature): If FUNCTION returns non-nil,
329         returns the value instead of Qt.
330
331 2005-12-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
332
333         * concord.c: New file.
334
335 2005-12-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
336
337         * lrecord.h (enum lrecord_type): Add `lrecord_type_concord_ds' and
338         `lrecord_type_concord_object'.
339
340 2005-09-21  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
341
342         * symsinit.h (syms_of_concord): New prototype.
343         (vars_of_concord): New prototype.
344
345         * emacs.c (main_1): Setup symbols and variable about concord if
346         HAVE_CONCORD is defined.
347
348         * config.h.in (HAVE_CONCORD): New macro.
349
350 2005-09-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
351
352         * chartab.c (Fput_char_attribute): For each character relation
353         feature `{<-|->}FOO', set up the reversed link `{->|<-}FOO'.
354
355 2005-08-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
356
357         * chartab.c (Fput_char_attribute): Use
358         `Fchar_refs_simplify_char_specs' for `=>decomposition' before
359         calling `put_char_composition'.
360
361 2005-08-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
362
363         * chartab.c (Q_halfwidth_of): New variable.
364         (put_char_composition): Return `<-halfwidth' instead of
365         `=decomposition' for compatibility mapping to single character
366         tagged `narrow'.
367         (Fput_char_attribute): Convert char-specs in value of
368         `{<-|->}halfwidth[^*]*' to characters and put reverse links.
369         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
370         for `<-halfwidth'.
371         (syms_of_chartab): Add new symbol `<-halfwidth'.
372
373 2005-08-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
374
375         * chartab.c (put_char_composition): Return
376         `<-formed@{isolated|initial|medial|final}' for compatibility
377         mapping to single character tagged
378         `{isolated|initial|medial|final}'.
379
380 2005-08-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
381
382         * chartab.c (Q_compat_of): Deleted.
383         (put_char_composition): Return `<-FOO' for compatibility mapping
384         to single character tagged `FOO'; use `Fsymbol_name (...)' instead
385         of `symbol_name (XSYMBOL(...))'.
386         (Fput_char_attribute): Convert char-specs in value of
387         `{<-|->}font[^*]*' to characters and put reverse links.
388         (Fsave_char_attribute_table): Don't refer Q_compat_of.
389         (syms_of_chartab): Delete builtin symbol `<-compat'.
390
391 2005-08-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
392
393         * chartab.c (Q_circled_of): New variable.
394         (put_char_composition): Return `<-circled' instead of
395         `=decomposition' for compatibility mapping to single character
396         tagged `circle'.
397         (Fput_char_attribute): Convert char-specs in value of
398         `{<-|->}circled[^*]*' to characters and put reverse links.
399         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
400         for `<-circled'.
401         (syms_of_chartab): Add new symbol `<-circled'.
402
403 2005-08-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
404
405         * chartab.c (Qto_decomposition_at_circled): New variable.
406         (put_char_composition): Return `=>decomposition@circled' instead
407         of `=decomposition' for compatibility decomposition mapping tagged
408         `circle'.
409         (syms_of_chartab): Add new symbol `=>decomposition@circled'.
410
411 2005-08-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
412
413         * chartab.c (Q_subscript_of): New variable.
414         (put_char_composition): Return `<-subscript' instead of
415         `=decomposition' for compatibility mapping to single character
416         tagged `sub'.
417         (Fput_char_attribute): Convert char-specs in value of
418         `{<-|->}subscript[^*]*' to characters and put reverse links.
419         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
420         for `<-subscript'.
421         (syms_of_chartab): Add new symbol `<-subscript'.
422
423 2005-08-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
424
425         * chartab.c (Q_superscript_of): New variable.
426         (put_char_composition): Return `<-superscript' instead of
427         `=decomposition' for compatibility mapping to single character
428         tagged `super'.
429         (Fput_char_attribute): Convert char-specs in value of
430         `{<-|->}superscript[^*]*' to characters and put reverse links.
431         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
432         for `<-superscript'.
433         (syms_of_chartab): Add new symbol `<-superscript'.
434
435 2005-08-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
436
437         * chartab.c (Qto_decomposition_at_compat): Deleted.
438         (Qto_decomposition_at_superscript): New variable.
439         (put_char_composition): Use `=>decomposition@superscript' instead
440         of `=decomposition' for compatibility decomposition mapping tagged
441         `super'.
442         (Fput_char_attribute): Fix condition about `put_char_composition'.
443         (syms_of_chartab): Delete builtin symbol `=>decomposition@compat';
444         add news symbol `=>decomposition@superscript'.
445
446 2005-07-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
447
448         * chartab.c (put_char_composition): Return `=>decomposition@FOO'
449         for compatibility decomposition mapping tagged FOO.
450         (Fput_char_attribute): Modify for `put_char_composition'.
451
452 2005-07-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
453
454         * chartab.c (Qto_decomposition_at_compat): New variable.
455         (Q_compat_of): Renamed from `Q_compatibility_of'.
456         (put_char_composition): Rename `Q_compatibility_of' to
457         `Q_compat_of'; return `=>decomposition@compat' for compatibility
458         decomposition mapping.
459         (Fsave_char_attribute_table): Rename `Q_compatibility_of' to
460         `Q_compat_of'.
461         (syms_of_chartab): Add new symbol `=>decomposition@compat'; rename
462         `<-compatibility' to `<-compat'.
463
464 2005-07-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
465
466         * chartab.c (Q_compatibility_of): New variable.
467         (put_char_composition): Use XCAR/XCDR instead of Fcar/Fcdr if an
468         object is proved to be a cons cell; return `<-compatibility' if
469         the first element of argument `value' is `compat'.
470         (Fput_char_attribute): Eliminate the first value if
471         `put_char_composition' returns `<-compatibility'.
472         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
473         for `<-compatibility'.
474         (syms_of_chartab): Add new symbol `<-compatibility'.
475
476 2005-07-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
477
478         * chartab.c (Q_canonical): New variable.
479         (put_char_composition): Return a feature name: return
480         `->canonical' if argument `value' specifies single character.
481         (Fput_char_attribute): Use `put_char_composition' to determine
482         feature name for `=decomposition' or `->denotational'.
483         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
484         for `->canonical'.
485         (syms_of_chartab): Add new symbol `->canonical'.
486
487 2005-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
488
489         * chartab.c (Qmap_decomposition): New variable.
490         (Fput_char_attribute): Convert `->decomposition' to
491         `=decomposition'.
492         (syms_of_chartab): Add new symbol `=decomposition'.
493
494 2005-07-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
495
496         * chartab.c (Fget_range_char_table): Fix serious problem when
497         `range' is nil.
498
499 2005-06-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
500
501         * chartab.c (char_table_get_db): Use `read_from_c_string'.
502
503 2005-06-19  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
504
505         * lread.c (read_from_c_string): New function.
506
507         * lisp.h (read_from_c_string): New prototype.
508
509 2005-05-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
510
511         * chartab.c (Fput_char_attribute): Convert char-specs in value of
512         `{<-|->}Oracle-Bones[^*]*' to characters and put reverse links.
513         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
514         for `{<-|->}Oracle-Bones[^*]*'.
515
516 2005-05-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
517
518         * mule.c (vars_of_mule): Update `xemacs-chise-version' to 0.22
519         (Kizu).
520
521 2005-02-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
522
523         * text-coding.c (Qccs_priority_list): New variable in XEmacs
524         CHISE.
525         (Fmake_coding_system): Support new property `ccs-priority-list' in
526         XEmacs CHISE.
527         (Fcoding_system_property): Likewise.
528         (char_encode_iso2022): Prefer CODING_SYSTEM_CCS_PRIORITY_LIST than
529         Vdefault_coded_charset_priority_list in XEmacs CHISE.
530         (syms_of_file_coding): Add builtin symbol `ccs-priority-list' in
531         XEmacs CHISE.
532         (complex_vars_of_file_coding): Define new coding-system-property
533         `ccs-priority-list' in XEmacs CHISE.
534
535         * file-coding.h (XCODING_SYSTEM_CCS_PRIORITY_LIST): New macro.
536
537 2004-12-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
538
539         * char-ucs.h (decoding_table_put_char): Moved to mule-charset.c;
540         changed to normal function.
541         (encode_char_2): Likewise.
542
543         * mule-charset.c (decoding_table_put_char): Copied from
544         char-ucs.h; changed to normal function.
545         (encode_char_2): Likewise.
546
547 2004-12-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
548
549         * char-ucs.h (Vdisplay_coded_charset_priority_use_inheritance):
550         New extern.
551         (Vdisplay_coded_charset_priority_use_hierarchy_order): Likewise.
552         (encode_char_2_search_children): New inline function.
553         (encode_char_2): Refer
554         `Vdisplay_coded_charset_priority_use_{inheritance|hierarchy_order}'
555         and use `encode_char_2_search_children'.
556
557 2004-12-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
558
559         * mule-charset.c
560         (Vdisplay_coded_charset_priority_use_inheritance): New variable.
561         (Vdisplay_coded_charset_priority_use_hierarchy_order): Likewise.
562         (vars_of_mule_charset): Add new variable
563         `display-coded-charset-priority-use-inheritance' and
564         `display-coded-charset-priority-use-hierarchy-order'.
565
566 2004-11-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
567
568         * char-ucs.h (Q_subsumptive): New extern.
569         (Q_denotational): Likewise.
570         (encode_char_2): Search children specified by `->subsumptive' and
571         `->denotational'.
572
573 2004-11-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
574
575         * mule-charset.c (complex_vars_of_mule_charset): Modify the
576         X-registry of `ucs-bmp'.
577
578 2004-10-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
579
580         * chartab.c (char-variants): Refer `->subsumptive',
581         `->denotational' and `->identical' as same as `->ucs-unified'.
582
583 2004-10-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
584
585         * chartab.c (Fput_char_attribute): Convert char-specs in value of
586         `{<-|->}{fullwidth|halfwidth}[^*]*' to characters and put reverse
587         links.
588
589 2004-09-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
590
591         * text-coding.c: Add EXFUN for `Fregexp_quote'.
592         (decode_add_er_char): Fix problem about infinite loop when a CCS
593         specified in `coded-charset-entity-reference-alist' is not
594         existed.
595
596 2004-09-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
597
598         * mule-charset.c (syms_of_mule_charset): Rename
599         `=jis-x0208-{1978|1983|1990}' to `=jis-x0208@{1978|1983|1990}'.
600
601 2004-08-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
602
603         * fns.c (simplify_char_spec): Don't allocate new character-object
604         if specified char_spec does not have any CCS-features.
605
606         * chartab.h: Add EXFUN for Fdefine_char.
607
608         * chartab.c: Delete EXFUN for Fdefine_char.
609
610 2004-08-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
611
612         * fns.c (simplify_char_spec): Use Fdefine_char instead of
613         Ffind_char for char-spec.
614
615 2004-07-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
616
617         * lisp-disunion.h (XCHARVAL): Fix condition about
618         SIZEOF_EMACS_INT.
619
620 2004-07-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
621
622         * mule-charset.c (decode_builtin_char): Use <EMACS_INT> instead of
623         <int> for `code'.
624         (Fdecode_builtin_char): Use <EMACS_INT> instead of <int> for code
625         point; use <Emchar> instead of <int> for character-id.
626
627 2004-07-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
628
629         * lisp-disunion.h (make_int): Cast the argument into <EMACS_INT>.
630         (make_char): Likewise.
631         (XCHARVAL): Don't use the inline function for UTF-2000 in 64 bit
632         environment.
633         (XCHARVAL[for UTF-2000 in 32 bit environment]): Use <Emchar>
634         instead of <int> as the type of return value; use <Lisp_Object>
635         instead of <Emchar> as the type of argument.
636         (XCHARVAL[macro version]): Cast the result into <Emchar>.
637
638         * syntax.h (SYNTAX_CODE_UNSAFE): Use <Lisp_Object> and <enum
639         syntaxcode> instead of <int>.
640
641 2004-07-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
642
643         * chartab.c (put_char_composition): Use DECODE_CHAR to get
644         character corresponding with UCS code point.
645         (Fput_char_attribute): Likewise.
646
647         * mule-charset.c (put_char_ccs_code_point): Don't omit a UCS
648         character in the UCS decoding-table if the char-id is not equal to
649         the UCS code point.
650
651 2004-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
652
653         * mule-charset.c (Fsave_charset_properties): Use `true-name' only
654         for aliases; write `description'; write
655         `mother-code-{min|max|offset|conversion}' if CHARSET_MAX_CODE is
656         not 0.
657
658 2004-07-21  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
659
660         * chartab.c (Fsave_char_attribute_table): Don't use
661         `save_charset_properties'.
662
663         * mule-charset.c (Fsave_charset_properties): Renamed from
664         `save_charset_properties' and changed to Lisp function again;
665         write property `type' as `CCS'; write properties `final-byte' and
666         `mother' if they exists.
667         (syms_of_mule_charset): Revive builtin function
668         `save-charset-properties' when HAVE_LIBCHISE is defined.
669
670 2004-07-21  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
671
672         * chartab.c (open_chise_data_source_maybe): Use Vdata_directory
673         instead of Vexec_directory.
674         (char_attribute_system_db_file): Likewise.
675
676 2004-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
677
678         * chartab.c (Fsave_char_attribute_table): Use
679         `save_charset_properties' for CCS features when HAVE_LIBCHISE is
680         defined.
681
682         * mule-charset.c (save_charset_properties): Renamed from
683         `Fsave_charset_properties'; changed to non-Lisp function.
684         (syms_of_mule_charset): Abolish builtin function
685         `save-charset-properties'.
686
687 2004-07-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
688
689         * mule-charset.c (Fsave_charset_properties): New function when
690         HAVE_LIBCHISE is defined.
691         (syms_of_mule_charset): Add new builtin function
692         `save-charset-properties' when HAVE_LIBCHISE is defined.
693
694 2004-06-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
695
696         * chartab.c (Fput_char_attribute): Convert char-specs in value of
697         `{<-|->}ancient[^*]*' to characters and put reverse links.
698         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
699         for `{<-|->}ancient[^*]*'.
700
701 2004-06-19  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
702
703         * chartab.c (Fput_char_attribute): Convert char-specs in value of
704         `{<-|->}original[^*]*' to characters and put reverse links.
705         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
706         for `{<-|->}original[^*]*'.
707
708 2004-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
709
710         * mule-canna.c (m2c): Fix problem with XEmacs CHISE.
711
712 2004-06-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
713
714         * mule-charset.c (Qsystem_char_id): New variable.
715
716         * chartab.c (Qsystem_char_id): Deleted even if HAVE_CHISE is
717         defined and HAVE_LIBCHISE_LIBCHISE is not defined.
718
719 2004-05-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
720
721         * chartab.c (Fput_char_attribute): When processing a reference of
722         a character, put into the end of the reversed reference of each
723         target character.
724
725 2004-05-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
726
727         * chartab.c (Q_same): Deleted.
728         (Q_same_of): Deleted.
729         (Fput_char_attribute): Use Fstring_match to find `{<-|->}same'.
730         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
731         for `{<-|->}same'.
732         (syms_of_chartab): Delete builtin symbol `{<-|->}same'.
733
734 2004-05-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
735
736         * chartab.c (Q_vulgar): Deleted.
737         (Q_vulgar_of): Deleted.
738         (Fput_char_attribute): Use Fstring_match to find `{<-|->}vulgar'.
739         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
740         for `{<-|->}vulgar'.
741         (syms_of_chartab): Don't define `{<-|->}vulgar'.
742
743 2004-04-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
744
745         * chartab.c (Fput_char_attribute): Convert char-specs in value of
746         `{<-|->}wrong[^*]*' to characters and put reverse links.
747         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
748         for `{<-|->}wrong[^*]*'.
749
750 2004-04-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
751
752         * chartab.c (Q_vulgar): New variable.
753         (Q_vulgar_of): New variable.
754         (Fput_char_attribute): Convert char-specs in value of
755         `{->|<-}vulgar' to characters and put reverse links.
756         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
757         for `{->|<-}vulgar'.
758         (syms_of_chartab): Add new symbols `{->|<-}vulgar'.
759
760 2004-04-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
761
762         * text-coding.c (decode_add_er_char): Must to quote prefix string
763         as regexp.
764
765 2004-04-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
766
767         * mule-charset.c (put_char_ccs_code_point): Store characters of
768         =ucs whose code_points >= 0xF0000.
769
770 2004-04-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
771
772         * mule-charset.c (Vcharset_system_char_id): New variable in XEmacs
773         CHISE.
774         (syms_of_mule_charset): Add new symbol `system-char-id' in XEmacs
775         CHISE.
776         (complex_vars_of_mule_charset): Add new coded-charset
777         `system-char-id' in XEmacs CHISE; modify `=ucs' to eliminate
778         builtin characters over 0xEFFFF.
779
780         * chartab.c (syms_of_chartab): Don't define symbol
781         `system-char-id' in every case.
782
783         * char-ucs.h (Qsystem_char_id): New extern variable.
784         (LEADING_BYTE_SYSTEM_CHAR_ID): New macro.
785
786 2004-04-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
787
788         * text-coding.c (char_encode_utf8): Try to use entity-references
789         for U-000F0000 ...  U-0010FFFF.
790
791 2004-04-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
792
793         * text-coding.c (ER_BUF_SIZE): New macro.
794         (struct decoding_stream): Use `ER_BUF_SIZE' to specify size of
795         `er_buf'.
796         (decode_add_er_char): Use `ER_BUF_SIZE' instead of 16.
797         (char_encode_as_entity_reference): Use `ER_BUF_SIZE'.
798
799 2004-03-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
800
801         * chartab.c (find_char_feature_in_family): New function.
802         (Fchar_feature): Use `find_char_feature_in_family' with
803         `->identical', `<-subsumptive' and `<-denotational'.
804
805 2004-03-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
806
807         * text-coding.c (char_encode_as_entity_reference): Allow prefix
808         within 8 characters; fix infinite loop.
809
810 2004-03-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
811
812         * chartab.c (Q_same): New variable.
813         (Q_same_of): New variable.
814         (Fput_char_attribute): Convert char-specs in value of
815         `{->|<-}same' to characters and put reverse links.
816         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
817         for `{->|<-}same'.
818         (syms_of_chartab): Add new symbols `{->|<-}same'.
819
820 2004-03-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
821
822         * chartab.c (Q_component): New variable.
823         (Q_component_of): Likewise.
824         (Fput_char_attribute): Convert char-specs in value of
825         `{->|<-}ideographic-component-forms' to characters and put reverse
826         links.
827         (syms_of_chartab): Add new symbols
828         `{->|<-}ideographic-component-forms'.
829
830 2004-02-24  MORIOKA Tomohiko  <tomo@m17n.org>
831
832         * chartab.c (Q_identical): New variable.
833         (Q_identical_from): New variable.
834         (Fchar_feature): Regard `->identical' as a feature to find
835         ancestors.
836         (Fput_char_attribute): Add reversed link for `{->|<-}identical'.
837         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
838         for `{->|<-}identical'.
839         (syms_of_chartab): Add new symbols `{->|<-}identical'.
840
841 2004-02-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
842
843         * char-ucs.h (encode_char_2): New inline function.
844         (CHAR_TO_CHARC): Use `encode_char_2' instead of `encode_char_1'.
845
846 2004-02-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
847
848         * chartab.c (Fput_char_attribute): Convert char-specs to
849         characters in value of `ideographic-structure'.
850         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
851         for `{<-|->}simplified(@...)'.
852         (Fdefine_char): Try to use predefined character's id.
853
854 2004-02-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
855
856         * fns.c (simplify_char_spec): Try to convert builtin chars to
857         defined chars.
858
859 2004-02-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
860
861         * chartab.c (Fput_char_attribute): Convert char-specs in value of
862         `<-simplified[^*]*' to characters and put reverse links.
863
864 2004-02-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
865
866         * chartab.c (Q_subsumptive): Renamed from Q_unified.
867         (Q_subsumptive_from): Renamed from Q_unified_from.
868         (Fchar_feature): Use `Q_subsumptive_from' instead of
869         `Q_unified_from'.
870         (Fput_char_attribute): Likewise; Use `Q_subsumptive' instead of
871         `Q_unified'.
872         (syms_of_chartab): Rename `->unified' to `->subsumptive' and
873         `<-unified' to `<-subsumptive'.
874
875 2004-02-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
876
877         * chartab.c (Fchar_feature): Check `<-denotational' to avoid
878         inheritance itself; fix typo; stop recursive search if cyclic
879         inheritance is found.
880
881 2004-02-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
882
883         * chartab.c (Q_denotational): New variable.
884         (Q_denotational_from): New variable.
885         (Fchar_feature): Refer `<-denotational' as same as `<-unified'.
886         (put_char_attribute): New function.
887         (Fput_char_attribute): Use `put_char_attribute'; regard
888         `->denotational' and `<-denotational' as same as `->unified' and
889         `<-unified'.
890         (syms_of_chartab): Add new symbols `->denotational' and
891         `<-denotational'.
892
893 2004-02-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
894
895         * chartab.c (Fget_composite_char): Use `Fchar_feature' instead of
896         `Fget_char_attribute'.
897         (Fchar_variants): Likewise.
898         (get_char_table): Likewise.
899         (Fchar_feature): New function.
900         (put_char_composition): Use `Fchar_feature' instead of
901         `Fget_char_attribute'.
902         (Fput_char_attribute): Likewise; don't put the target character
903         into its `->unified' value.
904         (syms_of_chartab): Add new builtin function `char-feature'.
905
906 2004-01-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
907
908         * text-coding.c (COMPOSE_ADD_CHAR): Use `Fchar_feature' instead of
909         `Fget_char_attribute'.
910         (char_encode_utf8): Likewise.
911
912         * chartab.h: Add an EXFUN for `Fchar_feature'.
913
914 2004-01-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
915
916         * chartab.c (Vnext_defined_char_id): New variable.
917         (Fput_char_attribute): Accept characters in `->unified'.
918         (Fdefine_char): Refer and update Vnext_defined_char_id to allocate
919         new characters which are not related with builtin char-id ranges.
920         (vars_of_chartab): Add new variable `next-defined-char-id'.
921
922 2004-01-19  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
923
924         * chartab.c (Q_unified): New variable.
925         (Q_unified_from): New variable.
926         (Fput_char_attribute): Add code for `->unified'.
927         (syms_of_chartab): Add new symbols `->unified' and `<-unified' in
928         XEmacs CHISE.
929
930 2003-11-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
931
932         * mule-charset.c (decode_ccs_conversion): New function.
933         (decode_defined_char): Use `decode_ccs_conversion'.
934         (decode_builtin_char): Likewise.
935
936 2003-11-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
937
938         * char-ucs.h: Change some charset-ids of private coded-charsets.
939
940 2003-11-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
941
942         * text-coding.c (decode_add_er_char): Modify for `DECODE_CHAR'.
943         (char_encode_as_entity_reference): Likewise.
944         (decode_coding_big5): Modify for `decode_defined_char' and
945         `DECODE_CHAR'.
946         (decode_coding_utf8): Modify for `decode_defined_char'; modify to
947         avoid compiler warning.
948         (decode_coding_iso2022): Modify for `DECODE_CHAR'.
949
950         * mule-charset.c (decode_defined_char): Add new argument
951         `without_inheritance'.
952         (Fdecode_char): Add new optional argument `without_inheritance'.
953         (Fdecode_builtin_char): Modify for `Fdecode_char'.
954
955         * fns.c (ids_format_unit): Modify for `Fdecode_char'.
956         (simplify_char_spec): Likewise.
957
958         * chartab.h (Fdecode_char): Modify number of arguments of EXFUN
959         setting.
960
961         * chartab.c (put_char_table): Modify for `DECODE_CHAR'.
962         (map_char_table): Likewise.
963         (Fdefine_char): Use `Fdecode_char' without inheritance.
964         (Ffind_char): Modify for `Fdecode_char'.
965
966         * character.h (CHARC_TO_CHAR): Modify for `DECODE_CHAR'.
967
968         * char-ucs.h (decode_defined_char): Add new argument
969         `without_inheritance'.
970         (DECODE_CHAR): Likewise.
971         (MAKE_CHAR): Modify for `DECODE_CHAR'.
972
973 2003-10-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
974
975         * chartab.c (Vchise_system_db_directory): New variable.
976         (vars_of_chartab): Add new variable `chise-system-db-directory'.
977
978 2003-10-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
979
980         * chartab.c: EXFUN `Fmount_char_attribute_table'.
981         (print_chartab_range): Don't define when `UTF2000' is defined.
982         (open_chise_data_source_maybe): Specify 0 instead of DB_HASH for
983         `CHISE_DS_open'.
984
985 2003-10-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
986
987         * chartab.c (Fchar_attribute_list): When HAVE_LIBCHISE is defined
988         and optional argument `rehash' is specified, call
989         `open_chise_data_source_maybe' before
990         `chise_ds_foreach_char_feature_name' is called.
991
992 2003-10-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
993
994         * chartab.c (char_attribute_list_reset_map_func): New function
995         when HAVE_LIBCHISE is defined.
996         (Fchar_attribute_list): Add new optional argument `rehash' when
997         HAVE_LIBCHISE is defined.
998         (open_chise_data_source_maybe): Use "chise-db" instead of
999         "char-db".
1000         (char_attribute_system_db_file): Likewise.
1001         (Fload_char_attribute_table): Use
1002         `chise_feature_foreach_char_with_value' instead of
1003         `chise_char_feature_value_iterate'.
1004
1005 2003-10-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1006
1007         * chartab.c (Vchise_db_directory): New variable.
1008         (vars_of_chartab): Add new built-in variable `chise-db-directory'.
1009
1010 2003-10-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1011
1012         * mule-charset.c (Freset_charset_mapping_table): Use HAVE_LIBCHISE
1013         instead of HAVE_CHISE to specify using with libchise.
1014
1015         * config.h.in (HAVE_CHISE_CLIENT): Deleted.
1016
1017         * chartab.h: Don't use HAVE_CHISE_CLIENT.
1018
1019         * chartab.c (Qsystem_char_id): Don't define when HAVE_CHISE is not
1020         defined or HAVE_LIBCHISE_LIBCHISE is defined.
1021         (char_attribute_system_db_file): Don't define when HAVE_LIBCHISE
1022         is defined.
1023         (Freset_char_attribute_table): Use HAVE_LIBCHISE instead of
1024         HAVE_CHISE to specify using with libchise.
1025         (syms_of_chartab): Don't define symbol `system-char-id' when
1026         HAVE_CHISE is not defined or HAVE_LIBCHISE_LIBCHISE is defined.
1027
1028 2003-10-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1029
1030         * mule-charset.c: Use HAVE_CHISE instead of HAVE_CHISE_CLIENT to
1031         specify CHISE DB support.
1032         (Freset_charset_mapping_table): Use `chise_ccs_setup_db' instead
1033         of `char_attribute_system_db_file' to check feature DB file.
1034
1035         * chartab.h, casetab.c, char-ucs.h: Use HAVE_CHISE instead of
1036         HAVE_CHISE_CLIENT to specify CHISE DB support.
1037
1038         * chartab.c: Use HAVE_CHISE instead of HAVE_CHISE_CLIENT to
1039         specify CHISE DB support.
1040         (open_chise_data_source_maybe): Don't define when HAVE_LIBCHISE is
1041         not defined.
1042         (Freset_char_attribute_table): Use `chise_feature_setup_db'
1043         instead of `char_attribute_system_db_file' to check feature DB
1044         file.
1045
1046 2003-10-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1047
1048         * mule.c (vars_of_mule): Use `HAVE_CHISE' instead of `CHISE' and
1049         `HAVE_CHISE_CLIENT'.
1050
1051 2003-10-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1052
1053         * mule-charset.c: Use HAVE_LIBCHISE instead of CHISE.
1054         (Fsave_charset_mapping_table): Don't use
1055         `char_attribute_system_db_file' when HAVE_LIBCHISE is defined.
1056
1057         * config.h.in (HAVE_CHISE): Renamed from `CHISE'.
1058         (HAVE_LIBCHISE): New macro.
1059
1060         * chartab.h: Use HAVE_LIBCHISE instead of CHISE.
1061
1062         * chartab.c: Use HAVE_LIBCHISE instead of CHISE.
1063         (Fsave_char_attribute_table): Don't use
1064         `char_attribute_system_db_file' when HAVE_LIBCHISE is defined.
1065
1066 2003-10-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1067
1068         * chartab.c (save_uint8_byte_table): Use libchise when CHISE is
1069         defined.
1070         (save_uint16_byte_table): Likewise.
1071         (save_byte_table): Likewise.
1072         (char_table_get_db): Use `chise_ds_load_char_feature_value'
1073         instead of `chise_char_load_feature_value'.
1074         (Fsave_char_attribute_table): Use libchise when CHISE is defined.
1075
1076 2003-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1077
1078         * chartab.h (struct Lisp_Char_Table): Delete member
1079         `feature_table' if CHISE is defined.
1080
1081         * chartab.c (Fmake_char_table): Don't refer `ct->feature_table'.
1082         (Fcopy_char_table): Likewise.
1083         (char_table_open_db_maybe): Likewise.
1084         (char_table_close_db_maybe): Likewise.
1085         (char_table_get_db): Likewise.
1086         (Fmount_char_attribute_table): Likewise.
1087         (Fload_char_attribute_table): Likewise.
1088
1089 2003-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1090
1091         * mule-charset.c (load_char_decoding_entry_maybe): Use
1092         `chise_ds_decode_char' instead of `chise_ds_get_ccs' and
1093         `chise_ccs_decode'.
1094
1095 2003-10-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1096
1097         * chartab.c (open_chise_data_source_maybe): Use `CHISE_DS_open'
1098         instead of `chise_open_data_source'.
1099         (Fclose_char_data_source): Use `CHISE_DS_close' instead of
1100         `chise_ds_close'.
1101
1102 2003-10-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1103
1104         * chartab.c (char_table_open_db_maybe): Use `chise_ds_get_feature'
1105         instead of `chise_ds_open_feature_table'.
1106         (char_table_close_db_maybe): Don't use `chise_ft_close'.
1107
1108 2003-10-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1109
1110         * mule-charset.c (Fsave_charset_mapping_table): Use
1111         `chise_ds_get_ccs' instead of `chise_ds_open_ccs_table'; use
1112         `chise_ccs_set_decoded_char' instead of `chise_ccst_put_char'; use
1113         `chise_ccs_sync' instead of `chise_ccst_close'.
1114         (load_char_decoding_entry_maybe): Modify for `chise_ds_get_ccs'.
1115
1116         * chartab.c (open_chise_data_source_maybe): Modify for
1117         `chise_open_data_source'.
1118         (char_table_open_db_maybe): Modify for
1119         `chise_ds_open_feature_table'.
1120
1121 2003-08-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1122
1123         * mule-charset.c (load_char_decoding_entry_maybe): Use
1124         `chise_ds_get_ccs' instead of `chise_ds_open_ccs_table'; don't use
1125         `chise_ccst_close'.
1126
1127 2003-08-25  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1128
1129         * mule-charset.c (Fsave_charset_mapping_table): Use
1130         `chise_ds_open_ccs_table', `chise_ccst_put_char' and
1131         `chise_ccst_close' instead of `chise_ds_open_decoding_table',
1132         `chise_dt_put_char' and `chise_dt_close'.
1133         (load_char_decoding_entry_maybe): Use `chise_ds_open_ccs_table',
1134         `chise_ccs_decode' and `chise_ccst_close' instead of
1135         `chise_ds_open_decoding_table', `chise_dt_get_char' and
1136         `chise_dt_close'.
1137
1138         * chartab.c (char_table_get_db): Use
1139         `chise_char_load_feature_value' instead of `chise_ft_get_value'.
1140         (load_char_attribute_table_map_func): Modify for
1141         `chise_char_feature_value_iterate'.
1142         (Fload_char_attribute_table): Use
1143         `chise_char_feature_value_iterate' instead of `chise_ft_iterate'.
1144
1145 2003-10-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1146
1147         * text-coding.c (COMPOSE_ADD_CHAR): Fixed.
1148
1149 2003-08-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1150
1151         * chartab.c (put_char_table): Modify for inherited coded-charsets
1152         in XEmacs CHISE.
1153
1154 2003-08-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1155
1156         * chartab.c (Fput_char_table_map_function): Fixed.
1157         (word_boundary_p): Don't check charset in XEmacs CHISE.
1158
1159 2003-08-17  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1160
1161         * mule-charset.c (Fsave_charset_mapping_table): Use
1162         `open_chise_data_source_maybe'; use `chise_ds_open_decoding_table'
1163         instead of `chise_open_decoding_table'; refer
1164         `default_chise_data_source'; use `chise_dt_close' instead of
1165         `chise_close_decoding_table'.
1166         (load_char_decoding_entry_maybe): Likewise.
1167
1168         * chartab.c (default_chise_data_source): New variable when `CHISE'
1169         is defined.
1170         (Fcopy_char_table): `ct->ds' is deleted.
1171         (open_chise_data_source_maybe): New function.
1172         (Fclose_char_data_source): New function.
1173         (char_table_open_db_maybe): Use `open_chise_data_source_maybe';
1174         use `chise_ds_open_feature_table' instead of
1175         `chise_open_feature_table'.
1176         (char_table_close_db_maybe): Use `chise_ft_close' instead of
1177         `chise_close_feature_table'; `cit->ds' is deleted.
1178         (syms_of_chartab): Add new builtin function
1179         `close-char-data-source' when `HAVE_CHISE_CLIENT' is defined.
1180
1181         * chartab.h (default_chise_data_source): New extern variable.
1182         (open_chise_data_source_maybe): New prototype.
1183         (struct Lisp_Char_Table): Delete `ds'.
1184
1185 2003-08-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1186
1187         * mule-charset.c (Fsave_charset_mapping_table): Use libchise when
1188         `CHISE' is defined.
1189
1190 2003-08-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1191
1192         * chartab.c (char_table_open_db_maybe): Defined even if `CHISE' is
1193         not defined; add code for non-libchise setting.
1194         (char_table_close_db_maybe): Likewise.
1195         (char_table_get_db): New function when `HAVE_CHISE_CLIENT' is
1196         defined.
1197         (Fclose_char_attribute_table): Use `char_table_close_db_maybe'
1198         even if `CHISE' is not defined.
1199         (Freset_char_attribute_table): Likewise.
1200         (load_char_attribute_maybe): Use `char_table_open_db_maybe' and
1201         `char_table_close_db_maybe' even if `CHISE' is not defined; use
1202         `char_table_get_db'.
1203         (Fload_char_attribute_table): Use `char_table_open_db_maybe' and
1204         `char_table_close_db_maybe' even if `CHISE' is not defined.
1205
1206 2003-08-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1207
1208         * chartab.c (char_table_open_db_maybe): New function.
1209         (char_table_close_db_maybe): New function.
1210         (Fclose_char_attribute_table): Use `char_table_close_db_maybe'.
1211         (Freset_char_attribute_table): Likewise.
1212         (load_char_attribute_maybe): Use `char_table_open_db_maybe' and
1213         `char_table_close_db_maybe'.
1214         (Fload_char_attribute_table): Likewise.
1215
1216 2003-08-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1217
1218         * chartab.c: Don't include <chise.h> because it is included in
1219         chartab.h.
1220         (Fmake_char_table): Initialize `ct->feature_table' when `CHISE' is
1221         defined.
1222         (Fcopy_char_table): Copy `ct->ds' and `ct->feature_table' when
1223         `CHISE' is defined.
1224         (Fmount_char_attribute_table): Initialize `ct->feature_table' when
1225         `CHISE' is defined.
1226         (Fclose_char_attribute_table): Close `ct->feature_table' and
1227         `ct->ds' when `CHISE' is defined.
1228         (Freset_char_attribute_table): Likewise.
1229         (load_char_attribute_maybe): Use `cit->ds' and
1230         `cit->feature_table' when `CHISE' is defined.
1231         (Fload_char_attribute_table): Likewise.
1232
1233         * chartab.h: Include <chise.h> when `CHISE' is defined.
1234         (struct Lisp_Char_Table): Add new member `ds' and `feature_table'
1235         when `CHISE' is defined.
1236
1237 2003-08-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1238
1239         * chartab.c (mark_char_table): Member `db' is deleted when `CHISE'
1240         is defined.
1241         (char_table_description): Likewise.
1242         (Fmake_char_table): Likewise.
1243         (Fcopy_char_table): Likewise.
1244         (Fmount_char_attribute_table): Likewise.
1245         (Fclose_char_attribute_table): Likewise.
1246         (Freset_char_attribute_table): Likewise.
1247         (load_char_attribute_maybe): Likewise.
1248         (Fload_char_attribute_table): Likewise.
1249
1250         * chartab.h (struct Lisp_Char_Table): Delete `db' when `CHISE' is
1251         defined.
1252
1253 2003-08-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1254
1255         * chartab.c (load_char_attribute_table_map_func): New function
1256         when CHISE is defined.
1257         (Qload_char_attribute_table_map_function): Don't define when CHISE
1258         is defined.
1259         (Fload_char_attribute_table_map_function): Likewise.
1260         (Fload_char_attribute_table): Use libchise when `CHISE' is
1261         defined.
1262         (syms_of_chartab): Don't define
1263         `load-char-attribute-table-map-function' when CHISE is defined.
1264
1265 2003-08-06  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1266
1267         * chartab.c: Include <chise.h> when `CHISE' is defined.
1268         (load_char_attribute_maybe): Use libchise when `CHISE' is defined.
1269
1270 2003-07-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1271
1272         * mule-charset.c (charset_code_point): Fix problem when searching
1273         in mother CCS fails with `defined_only' mode.
1274
1275 2003-06-29  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1276
1277         * chartab.c (Q_ucs_unified): Renamed from `Q_ucs_variants'.
1278         (Fchar_variants): Rename `Q_ucs_variants' to `Q_ucs_unified'.
1279         (put_char_composition): Likewise.
1280         (Fput_char_attribute): Likewise.
1281         (syms_of_chartab): Rename `->ucs-variants' to `->ucs-unified'.
1282
1283 2003-06-29  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1284
1285         * chartab.c (Q_ucs): Deleted.
1286         (Fput_char_attribute): Don't refer `->ucs'.
1287         (Fdefine_char): Likewise.
1288         (Ffind_char): Likewise.
1289         (syms_of_chartab): Delete `->ucs'.
1290
1291 2003-04-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1292
1293         * mule-charset.c (Qmap_cns11643_2): Renamed from
1294         `Qchinese_cns11643_2'.
1295         (syms_of_mule_charset): Add new symbol `=cns11643-2' instead of
1296         `chinese-cns11643-2'.
1297         (complex_vars_of_mule_charset): Rename `chinese-cns11643-2' to
1298         `=cns11643-2'.
1299
1300 2003-04-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1301
1302         * mule-charset.c (Qmap_cns11643_1): Renamed from
1303         `Qchinese_cns11643_1'.
1304         (syms_of_mule_charset): Add new symbol `=cns11643-1' instead of
1305         `chinese-cns11643-1'.
1306         (complex_vars_of_mule_charset): Rename `chinese-cns11643-1' to
1307         `=cns11643-1'.
1308
1309 2003-04-24  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1310
1311         * mule-charset.c (Qmap_gb12345): Renamed from `Qchinese_gb12345'.
1312         (syms_of_mule_charset): Add new symbol `=gb12345' instead of
1313         `chinese-gb12345'.
1314         (complex_vars_of_mule_charset): Rename `chinese-gb12345' to
1315         `=gb12345'.
1316
1317 2003-04-21  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1318
1319         * mule-charset.c (Qmap_gb2312): Renamed from `Qchinese_gb2312'.
1320         (syms_of_mule_charset): Add new symbol `=gb2312' instead of
1321         `chinese-gb2312'.
1322         (complex_vars_of_mule_charset): Rename `chinese-gb2312' to
1323         `=gb2312'.
1324
1325 2003-04-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1326
1327         * mule-charset.c (Qmap_big5): Renamed from `Qchinese_big5'.
1328         (syms_of_mule_charset): Add new symbol `=big5' instead of
1329         `chinese-big5'.
1330         (complex_vars_of_mule_charset): Rename `chinese-big5' to `=big5'.
1331
1332 2003-04-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1333
1334         * mule-charset.c (Qmap_ks_x1001): Renamed from `Qkorean_ksc5601'.
1335         (syms_of_mule_charset): Add new symbol `=ks-x1001' instead of
1336         `korean-ksc5601'.
1337         (complex_vars_of_mule_charset): Rename `korean-ksc5601' to
1338         `=ks-x1001'.
1339
1340 2003-04-15  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1341
1342         * mule-charset.c (Qmap_jis_x0212): Renamed from
1343         `Qjapanese_jisx0212'.
1344         (syms_of_mule_charset): Add new symbol `=jis-x0212' instead of
1345         `japanese-jisx0212'.
1346         (complex_vars_of_mule_charset): Rename `japanese-jisx0212' to
1347         `=jis-x0212'.
1348
1349 2003-04-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1350
1351         * mule-charset.c (Qmap_jis_x0208_1983): Renamed from
1352         `Qjapanese_jisx0208'.
1353         (syms_of_mule_charset): Add new symbol `=jis-x0208-1983' instead
1354         of `japanese-jisx0208'.
1355         (complex_vars_of_mule_charset): Rename `japanese-jisx0208' to
1356         `=jis-x0208-1983'.
1357
1358 2003-04-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1359
1360         * mule-charset.c (Qmap_jis_x0208_1978): Renamed from
1361         `Qjapanese_jisx0208_1978'.
1362         (syms_of_mule_charset): Add new symbol `=jis-x0208-1978' instead
1363         of `japanese-jisx0208-1978'.
1364         (complex_vars_of_mule_charset): Rename `japanese-jisx0208-1978' to
1365         `=jis-x0208-1978'.
1366
1367 2003-04-04  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1368
1369         * chartab.c (decode_char_table_range): CHARTAB_RANGE_DEFAULT is
1370         only for XEmacs CHISE.
1371
1372 2003-04-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1373
1374         * char-ucs.h: Compact non-ISO-IR charset-ids.
1375         (LEADING_BYTE_UCS): Changed to -177.
1376         (LEADING_BYTE_CONTROL_1): Changed to -77.
1377         (LEADING_BYTE_UCS_BMP): Changed to -176.
1378         (LEADING_BYTE_JAPANESE_JISX0208_1990): Changed to -168.
1379
1380 2003-04-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1381
1382         * mule-charset.c (Qiso_ir): New variable.
1383         (Fmake_charset): Recognise new property `iso-ir'.
1384         (syms_of_mule_charset): Add new symbol `iso-ir'.
1385
1386 2003-04-02  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1387
1388         * char-ucs.h: Change charset-id of ISO-IR sets from ISO-IR-number
1389         n to -n; charset-id of non ISO-IR sets are changed to positive
1390         numbers.
1391
1392 2003-03-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1393
1394         * text-coding.c (decode_add_er_char): Use XUINT instead of XINT
1395         for &MCS-XXXXXXXX; values.
1396
1397 2003-03-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1398
1399         * mule.c (Vxemacs_chise_version): Renamed from
1400         `Vutf_2000_version'.
1401         (vars_of_mule): Add new variable `xemacs-chise-version'; define
1402         `utf-2000-version' as an alias for `xemacs-chise-version'.
1403
1404 2003-03-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1405
1406         * mule-charset.c: Include <chise.h> when `CHISE' is defined.
1407         (load_char_decoding_entry_maybe): Use libchise when `CHISE' is
1408         defined.
1409
1410         * config.h.in (CHISE): New macro.
1411
1412 2003-03-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1413
1414         * mule-charset.c (put_char_ccs_code_point): Refer `=ucs' instead
1415         of `ucs'.
1416         (Qmap_ucs): New variable.
1417         (syms_of_mule_charset): Add new symbol `=ucs'.
1418         (complex_vars_of_mule_charset): Rename `ucs' to `=ucs'.
1419
1420         * fns.c (ids_format_unit): Refer `=ucs' instead of `ucs'.
1421         (simplify_char_spec): Likewise.
1422
1423         * chartab.c (Fdefine_char): Refer `=ucs' as same as `ucs'.
1424
1425         * char-ucs.h (Qmap_ucs): New extern variable.
1426
1427 2003-03-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1428
1429         * mule-charset.c (Qmap_jis_x0208): Renamed from `Qjis_x0208'.
1430         (Qmap_jis_x0208_1990): Renamed from `Qjapanese_jisx0208_1990';
1431         don't define it when UTF2000 is not defined.
1432         (syms_of_mule_charset): Modify for `Qmap_jis_x0208'; rename
1433         `japanese-jisx0208-1990' to `=jis-x0208-1990'; don't define it
1434         when UTF2000 is not defined.
1435         (complex_vars_of_mule_charset): Modify for `Qmap_jis_x0208';
1436         rename `japanese-jisx0208-1990' to `=jis-x0208-1990'.
1437
1438 2003-03-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1439
1440         * char-ucs.h (LEADING_BYTE_UCS_GB): Deleted.
1441
1442         * mule-charset.c (Vcharset_ucs_gb): Deleted.
1443         (Qucs_gb): Deleted.
1444         (syms_of_mule_charset): Delete `ucs-gb'.
1445         (complex_vars_of_mule_charset): Likewise.
1446
1447 2003-03-04  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1448
1449         * char-ucs.h (LEADING_BYTE_UCS_CNS): Deleted.
1450
1451         * mule-charset.c (Vcharset_ucs_cns): Deleted.
1452         (Qucs_cns): Deleted.
1453         (syms_of_mule_charset): Delete `ucs-cns'.
1454         (complex_vars_of_mule_charset): Likewise.
1455
1456 2003-03-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1457
1458         * char-ucs.h (LEADING_BYTE_UCS_JIS): Deleted.
1459
1460         * mule-charset.c (Vcharset_ucs_jis): Deleted.
1461         (Qucs_jis): Deleted.
1462         (syms_of_mule_charset): Delete `ucs-jis'.
1463         (complex_vars_of_mule_charset): Likewise.
1464
1465 2003-03-02  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1466
1467         * char-ucs.h (LEADING_BYTE_UCS_KS): Deleted.
1468
1469         * mule-charset.c (Vcharset_ucs_ks): Deleted.
1470         (Qucs_ks): Deleted.
1471         (syms_of_mule_charset): Delete `ucs-ks'.
1472         (complex_vars_of_mule_charset): Likewise.
1473
1474 2003-03-01  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1475
1476         * mule-charset.c (Vcharset_ideograph_daikanwa_2): Deleted.
1477         (Qideograph_daikanwa_2): Deleted.
1478         (syms_of_mule_charset): Delete `ideograph-daikanwa-2'.
1479         (complex_vars_of_mule_charset): Likewise.
1480
1481         * char-ucs.h (LEADING_BYTE_DAIKANWA_0): Deleted.
1482         (LEADING_BYTE_DAIKANWA_1): Deleted.
1483         (LEADING_BYTE_DAIKANWA_2): Deleted.
1484         (MIN_CHAR_DAIKANWA): Deleted.
1485         (MAX_CHAR_DAIKANWA): Deleted.
1486
1487 2003-02-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1488
1489         * char-ucs.h (LEADING_BYTE_DAIKANWA_3): Deleted.
1490         (LEADING_BYTE_HANZIKU_{1..12}): Deleted.
1491         ({MIN|MAX}_CHAR_HANZIKU_{1..12}): Deleted.
1492
1493         * mule-charset.c (Vcharset_ideograph_hanziku_{1..12}): Deleted.
1494         (Vcharset_ideograph_daikanwa): Deleted.
1495         (Qideograph_hanziku_{1..12}): Deleted.
1496         (Qideograph_daikanwa): Deleted.
1497         (encode_builtin_char_1): Don't use {MIN|MAX}_CHAR_DAIKANWA and
1498         Vcharset_ideograph_daikanwa.
1499         (syms_of_mule_charset): Delete `ideograph-daikanwa' and
1500         `ideograph-hanziku-{1..12}'.
1501         (complex_vars_of_mule_charset): Likewise.
1502
1503 2003-02-26  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1504
1505         * char-ucs.h (LEADING_BYTE_GT_PJ_{1..11}): Deleted.
1506
1507         * mule-charset.c (Vcharset_ideograph_gt_pj_{1..11}): Deleted.
1508         (Qideograph_gt_pj_{1..11}): Deleted.
1509         (syms_of_mule_charset): Delete `ideograph-gt-pj-{1..11}'.
1510         (complex_vars_of_mule_charset): Likewise.
1511
1512 2003-02-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1513
1514         * mule-charset.c (Vcharset_ucs_big5): Deleted.
1515         (Vcharset_ideograph_gt): Deleted.
1516         (Qucs_big5): Deleted.
1517         (Qideograph_gt): Deleted.
1518         (syms_of_mule_charset): Delete symbol `ucs-big5' and
1519         `ideograph-gt'.
1520         (complex_vars_of_mule_charset): Delete coded-charset `ucs-big5'
1521         and `ideograph-gt'.
1522
1523         * char-ucs.h (LEADING_BYTE_UCS_BIG5): Deleted.
1524         (LEADING_BYTE_GT): Deleted.
1525         (MIN_CHAR_GT): Deleted.
1526         (MAX_CHAR_GT): Deleted.
1527
1528 2003-02-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1529
1530         * chartab.c (Fput_char_attribute): Canonicalise charset-aliases.
1531
1532 2003-01-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1533
1534         * chartab.c (save_uint8_byte_table): Add new argument `filter'.
1535         (save_uint16_byte_table): Likewise.
1536         (save_byte_table): Likewise; convert values by it.
1537         (Fput_char_attribute): Don't use `char-refs-simplify-char-specs'
1538         for `ideographic-structure'.
1539         (Fsave_char_attribute_table): Use `char-refs-simplify-char-specs'
1540         as the filter for `ideographic-structure'.
1541
1542 2003-01-07  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1543
1544         * chartab.c (put_char_composition): New function.
1545         (Fput_char_attribute): Use `put_char_composition'; use
1546         `Fchar_refs_simplify_char_specs' for `ideographic-structure'.
1547
1548         * fns.c (simplify_char_spec): New function.
1549         (char_ref_simplify_spec): New function.
1550         (Fchar_refs_simplify_char_specs): New function.
1551         (syms_of_fns): Add new builtin function
1552         `char-refs-simplify-char-specs'.
1553
1554 2003-01-05  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1555
1556         * mule-charset.c (Vcharset_ideograph_cbeta): Deleted.
1557         (Qideograph_cbeta): Deleted.
1558         (syms_of_mule_charset): Don't define `ideograph-cbeta'.
1559         (complex_vars_of_mule_charset): Likewise.
1560
1561         * char-ucs.h (LEADING_BYTE_CBETA): Deleted.
1562         (MIN_CHAR_CBETA): Comment out.
1563         (MAX_CHAR_CBETA): Likewise.
1564
1565 2002-12-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1566
1567         * mule-charset.c, chartab.h, casetab.c, char-ucs.h, chartab.c: Use
1568         `HAVE_CHISE_CLIENT' instead of `HAVE_DATABASE' to indicate the
1569         CHISE client feature.
1570
1571 2002-12-25  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1572
1573         * mule.c (vars_of_mule): Update `utf-2000-version' to 0.20.
1574
1575 2002-12-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1576
1577         * mule-charset.c (charset_lookup_description_1): Use
1578         `NUM_LEADING_BYTES' in UTF-2000.
1579
1580 2002-12-18  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1581
1582         * char-ucs.h (GC_CHARSETP): Deleted.
1583
1584 2002-12-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1585
1586         * char-ucs.h (MAX_CHAR_GT): Updated.
1587
1588 2002-12-15  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1589
1590         * text-coding.c: Sync with XEmacs 21.4.10.
1591
1592 2002-11-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1593
1594         * mule-charset.c (Vcharset_china3_jef): Deleted.
1595         (Qchina3_jef): Deleted.
1596         (syms_of_mule_charset): Don't define `china3-jef'.
1597         (complex_vars_of_mule_charset): Likewise.
1598
1599         * char-ucs.h (LEADING_BYTE_CHINA3_JEF): Deleted.
1600         (MIN_CHAR_CHINA3_JEF): Comment out.
1601         (MAX_CHAR_CHINA3_JEF): Comment out.
1602
1603 2002-11-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1604
1605         * mule-charset.c (Vcharset_ucs_gb): New variable.
1606         (Qucs_gb): New variable.
1607         (syms_of_mule_charset): Add new symbol `ucs-gb'.
1608         (complex_vars_of_mule_charset): Add new coded-charset `ucs-gb'.
1609
1610         * char-ucs.h (LEADING_BYTE_UCS_GB): New macro.
1611
1612 2002-11-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1613
1614         * mule-charset.c (charset_code_point): if a coded-charset has a
1615         final-byte, don't inherit the builtin range of the mother CCS.
1616
1617 2002-11-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1618
1619         * mule-charset.c (charset_code_point): Fix problem about
1620         inheritance.
1621
1622 2002-11-14  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1623
1624         * mule-charset.c (decode_builtin_char): Reorganized.
1625
1626 2002-10-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1627
1628         * text-coding.c (char_encode_as_entity_reference): Modify for
1629         `charset_code_point'.
1630         (char_encode_shift_jis): Likewise.
1631         (char_encode_big5): Likewise.
1632         (char_encode_utf8): Likewise.
1633         (char_encode_iso2022): Likewise.
1634
1635         * mule-charset.c (charset_code_point): Add new argument
1636         `defined_only'.
1637         (Fencode_char): Add new optional argument `defined_only'.
1638
1639         * chartab.c (put_char_table): Modify for `charset_code_point'.
1640
1641         * char-ucs.h (charset_code_point): Add new argument
1642         `defined_only'.
1643         (encode_char_1): Modify for `charset_code_point'.
1644
1645 2002-10-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1646
1647         * mule-charset.c (complex_vars_of_mule_charset): Don't specify
1648         `MIN_CHAR_THAI' and `MAX_CHAR_THAI' for `thai-tis620'.
1649
1650 2002-10-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1651
1652         * mule-charset.c (Vcharset_jis_x0208): New variable in UTF-2000.
1653         (Qjis_x0208): Likewise.
1654         (decode_builtin_char): Prefer XCHARSET_MAX_CODE(charset) than
1655         XCHARSET_FINAL(charset).
1656         (charset_code_point): Modify condition for final-byte based
1657         builtin-chars.
1658         (syms_of_mule_charset): Add new symbol `=jis-x0208' in UTF-2000.
1659         (complex_vars_of_mule_charset): Add new coded-charset `=jis-x0208'
1660         in UTF-2000; specify `=jis-x0208' as the mother of
1661         `japanese-jisx0208-1978', `japanese-jisx0208' and
1662         `japanese-jisx0208-1990' in UTF-2000.
1663
1664 2002-10-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1665
1666         * char-ucs.h (LEADING_BYTE_JIS_X0208): New macro.
1667
1668 2002-10-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1669
1670         * text-coding.c (decode_coding_utf16): Support UTF-16.
1671         (char_encode_utf16): Fixed.
1672
1673 2002-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1674
1675         * text-coding.c (Qutf16): New variable in MULE.
1676         (Fmake_coding_system): Accept `utf-16' as `type' in MULE.
1677         (Fcoding_system_type): Add `utf-16' in MULE.
1678         (struct detection_state): Add a structure for utf16 in MULE.
1679         (detect_coding_type): Setup st->utf16.mask in MULE.
1680         (mule_decode): Use `decode_coding_utf16' for `CODESYS_UTF16' in
1681         MULE.
1682         (reset_encoding_stream): Use `char_encode_utf16' and
1683         `char_finish_utf16' for `CODESYS_UTF16' in MULE.
1684         (detect_coding_utf16): New function [incomplete].
1685         (decode_coding_utf16): New function [support only UCS-2].
1686         (char_encode_utf16): New function.
1687         (char_finish_utf16): New function.
1688         (syms_of_file_coding): Add new symbol `utf-16'; setup
1689         `coding_category_symbol[CODING_CATEGORY_UTF16]'.
1690
1691         * file-coding.h (enum coding_system_type): Add `CODESYS_UTF16' in
1692         UTF-2000.
1693         (enum coding_category_type): Add `CODING_CATEGORY_UTF16' in MULE.
1694         (CODING_CATEGORY_UTF16_MASK): New macro in MULE.
1695
1696 2002-10-08  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1697
1698         * chartab.c (put_char_table): When a charset is specified as a
1699         range in UTF-2000, don't support builtin characters.
1700
1701 2002-09-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1702
1703         * mule-charset.c (decode_defined_char): Don't refer external
1704         database if Qunbound or Qnil are found.
1705         (Fsave_charset_mapping_table): Don't define it if
1706         HAVE_CHISE_CLIENT is not defined.
1707         (Freset_charset_mapping_table): New function.
1708         (load_char_decoding_entry_maybe): Store Qnil if a character is not
1709         found in external database.
1710         (syms_of_mule_charset): Don't define `save-charset-mapping-table'
1711         if HAVE_CHISE_CLIENT is not defined; add new builtin function
1712         `reset-charset-mapping-table' if HAVE_CHISE_CLIENT is defined.
1713
1714 2002-09-18  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1715
1716         * text-coding.c (decode_coding_utf8): Check CCS is specified or
1717         not.
1718
1719 2002-08-26  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1720
1721         * chartab.h: Add extern declarations for Qdowncase, Qflippedcase,
1722         Q_lowercase, Q_uppercase in UTF-2000.
1723
1724         * chartab.c (get_char_table): Add special code for the standard
1725         case table to use character attribute `->downcase' and
1726         `->uppercase' for case operations in UTF-2000.
1727
1728         * casetab.c (Qflippedcase): New variable in UTF-2000.
1729         (Q_lowercase): Likewise.
1730         (Q_uppercase): Likewise.
1731         (syms_of_casetab): Add new symbols `flippedcase', `->lowercase'
1732         and `->uppercase' in UTF-2000.
1733         (complex_vars_of_casetab): Assign attribute name `downcase' to
1734         downcase and CANON table of Vstandard_case_table in UTF-2000;
1735         assign attribute name `flippedcase' to upcase and EQV table of
1736         Vstandard_case_table in UTF-2000.
1737
1738 2002-08-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1739
1740         * text-coding.c (decode_add_er_char): Support isolated-chars.
1741         (char_encode_as_entity_reference): Likewise.
1742
1743 2002-08-13  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1744
1745         * emacs.c (Vutf_2000_lisp_directory): New variable.
1746         (Vconfigure_utf_2000_lisp_directory): Likewise.
1747         (complex_vars_of_emacs): Add new variable
1748         `utf-2000-lisp-directory' and `configure-utf-2000-lisp-directory'.
1749
1750 2002-08-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1751
1752         * char-ucs.h (DECODE_CHAR): Delete special code for
1753         `chinese-big5-1' and `chinese-big5-2'.
1754
1755         * mule-charset.c (Qbig5_1): New variable in UTF-2000.
1756         (Qbig5_2): Likewise.
1757         (decode_defined_char): Support CONVERSION_BIG5_1 and
1758         CONVERSION_BIG5_2.
1759         (decode_builtin_char): Likewise.
1760         (charset_code_point): Likewise.
1761         (Fmake_charset): Accept `big5-1' and `big5-2' as a value of
1762         'conversion in UTF-2000.
1763         (syms_of_mule_charset): Add new symbol `big5-1' and `big5-2'.
1764         (complex_vars_of_mule_charset): Define `chinese-big5-1' and
1765         `chinese-big5-2' as children of `chinese-big5'.
1766
1767         * char-ucs.h (CONVERSION_BIG5_1): New macro.
1768         (CONVERSION_BIG5_2): New macro.
1769
1770 2002-08-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1771
1772         * text-coding.c (char_encode_big5): Support entity-reference.
1773
1774 2002-08-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1775
1776         * text-coding.c (char_encode_as_entity_reference): New function.
1777         (char_encode_utf8): Use `char_encode_as_entity_reference'.
1778
1779 2002-08-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1780
1781         * text-coding.c (decode_coding_big5): Support entity-reference
1782         decoding feature.
1783
1784 2002-08-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1785
1786         * text-coding.c (allocate_coding_system): Initialize initial
1787         charsets for CODESYS_UTF8.
1788         (Fmake_coding_system): Accept charset-g0, charset-g1 and
1789         charset-g2 for CODESYS_UTF8.
1790         (decode_coding_utf8): Use charset-g0.
1791         (char_encode_utf8): Use charset-g0; use charset-g1 and charset-g2
1792         to force variants to map to UCS.
1793
1794 2002-07-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1795
1796         * text-coding.c (Qutf_8_mcs): New variable.
1797         (syms_of_file_coding): Add new symbol `utf-8-mcs' in UTF-2000.
1798         (complex_vars_of_file_coding): Define coding-system `utf-8-mcs'
1799         instead of `utf-8' in UTF-2000.
1800
1801 2002-07-22  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1802
1803         * mule-charset.c (charset_code_point): If CHARSET_CONVERSION is
1804         CONVERSION_IDENTICAL, identical conversion is used even if a CCS
1805         is ISO-2022 style; instead of it, CONVERSION_94, CONVERSION_96,
1806         CONVERSION_94x94, CONVERSION_96x96, CONVERSION_94x94x94,
1807         CONVERSION_96x96x96, CONVERSION_94x94x94x94 and
1808         CONVERSION_96x96x96x96 are introduced.
1809         (complex_vars_of_mule_charset): Specify CONVERSION_96 instead of
1810         CONVERSION_IDENTICAL for thai-tis620; Specify CONVERSION_94x94
1811         instead of CONVERSION_IDENTICAL for japanese-jisx0208-1990.
1812
1813         * char-ucs.h (CONVERSION_94): New macro.
1814         (CONVERSION_96): New macro.
1815         (CONVERSION_94x94): New macro.
1816         (CONVERSION_96x96): New macro.
1817         (CONVERSION_94x94x94): New macro.
1818         (CONVERSION_96x96x96): New macro.
1819         (CONVERSION_94x94x94x60): New macro.
1820         (CONVERSION_94x94x94x94): New macro.
1821         (CONVERSION_96x96x96x96): New macro.
1822
1823 2002-07-17  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1824
1825         * chartab.c (Vcharacter_variant_table): Deleted.
1826         (Fchar_variants): Use character-attribute `->ucs-variants' instead
1827         of `Vcharacter_variant_table'.
1828         (Fput_char_attribute): Likewise.
1829         (vars_of_chartab): Don't setup `Vcharacter_variant_table'.
1830         (complex_vars_of_chartab): Likewise.
1831
1832 2002-07-17  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1833
1834         * lisp.h: Add an EXFUN for `Fchar_ref_p'.
1835
1836         * fns.c (Qideographic_structure): New variable.
1837         (Qkeyword_char): New variable.
1838         (ids_format_unit): New function.
1839         (Fideographic_structure_to_ids): New function.
1840         (syms_of_fns): Add new symbols `ideographic-structure' and
1841         `:char'; add new builtin function `ideographic-structure-to-ids'.
1842
1843         * data.c (Fchar_ref_p): New function.
1844         (syms_of_data): Add new builtin function `char-ref-p'.
1845
1846         * chartab.h: Add an EXFUN for `Ffind_char'.
1847
1848 2002-07-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1849
1850         * text-coding.c (Vcharacter_composition_table): Deleted.
1851         (COMPOSE_ADD_CHAR): Use the implementation for external-DB support
1852         in every UTF-2000.
1853
1854         * chartab.c: Add EXFUN for `Fmap_char_attribute' in every
1855         UTF-2000.
1856         (Vcharacter_composition_table): Deleted.
1857         (Fget_composite_char): Use the implementation for external-DB
1858         support in every UTF-2000.
1859         (Fput_char_attribute): Likewise.
1860         (char_attribute_system_db_file): Don't define if external-DB
1861         feature is not available.
1862         (Fsave_char_attribute_table): Likewise.
1863         (Fmount_char_attribute_table): Likewise.
1864         (Fclose_char_attribute_table): Likewise.
1865         (Freset_char_attribute_table): Likewise.
1866         (Fload_char_attribute_table): Likewise.
1867         (syms_of_chartab): Don't define `save-char-attribute-table',
1868         `mount-char-attribute-table', `reset-char-attribute-table',
1869         `close-char-attribute-table' and `load-char-attribute-table' if
1870         external-DB feature is not available.
1871         (vars_of_chartab): Don't setup `Vcharacter_composition_table'.
1872
1873 2002-07-15  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1874
1875         * text-coding.c (Qcomposition): Add extern if external-DB feature
1876         is supported.
1877         (Vcharacter_composition_table): Don't add extern if external-DB
1878         feature is supported.
1879         (COMPOSE_ADD_CHAR): Modify for new data-representation of
1880         character composition rule if external-DB feature is supported.
1881
1882         * chartab.c (Vcharacter_composition_table): Don't define if
1883         external-DB feature is supported.
1884         (Qcomposition): New variable.
1885         (Fget_composite_char): New implementation for external-DB support.
1886         (Fput_char_attribute): Use `composition' property of each
1887         character instead of `Vcharacter_composition_table' to store
1888         character-composition rules if external-DB feature is supported.
1889         (syms_of_chartab): Add new symbol `composition'.
1890         (vars_of_chartab): Don't setup `Vcharacter_composition_table' if
1891         external-DB feature is supported.
1892
1893 2002-07-14  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1894
1895         * chartab.c (Vchar_db_stingy_mode): New variable.
1896         (load_char_attribute_maybe): Close database if
1897         Vchar_db_stingy_mode is not NIL.
1898         (Fload_char_attribute_table_map_function): Use
1899         `get_char_id_table_0' instead of `get_char_id_table'.
1900         (vars_of_chartab): Add new variable `char-db-stingy-mode'.
1901
1902         * chartab.h (get_char_id_table_0): New inline function.
1903         (get_char_id_table): Use `get_char_id_table_0'.
1904
1905 2002-07-07  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1906
1907         * text-coding.c (decode_coding_utf8): Use `COMPOSE_FLUSH_CHARS'
1908         and `COMPOSE_ADD_CHAR'.
1909         (decode_coding_iso2022): Use `decode_flush_er_chars'.
1910
1911 2002-07-07  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1912
1913         * text-coding.c (COMPOSE_FLUSH_CHARS): Use `decode_add_er_char'
1914         instead of `DECODE_ADD_UCS_CHAR'.
1915         (COMPOSE_ADD_CHAR): Likewise.
1916
1917 2002-07-06  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1918
1919         * text-coding.c (decode_flush_er_chars): New inline function.
1920         (decode_add_er_char): New function.
1921         (decode_coding_utf8): Use `decode_flush_er_chars' and
1922         `decode_add_er_char'.
1923
1924 2002-07-06  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1925
1926         * text-coding.c (decode_coding_utf8): Flush for er_buf must be
1927         done before `decode_output_utf8_partial_char'.
1928
1929         * mule-charset.c (complex_vars_of_mule_charset): Specify
1930         `Vcharset_ucs' as the mother of `Vcharset_ucs_cns',
1931         `Vcharset_ucs_ks' and `Vcharset_ucs_big5'.
1932
1933 2002-07-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1934
1935         * mule-charset.c (decode_defined_char): New function; search
1936         mother.
1937         (decode_builtin_char): Don't search mother if
1938         XCHARSET_MAX_CODE(charset) == 0.
1939         (charset_code_point): Search mother if XCHARSET_MAX_CODE(charset)
1940         == 0 even if code >= XCHARSET_MAX_CODE(charset).
1941         (Fdecode_char): Use `decode_defined_char' instead of
1942         `DECODE_DEFINED_CHAR'.
1943         (complex_vars_of_mule_charset): Specify `Vcharset_ucs' as the
1944         mother of `Vcharset_ucs_jis'.
1945
1946         * text-coding.c (decode_coding_big5): Use `decode_defined_char'
1947         instead of `DECODE_DEFINED_CHAR'.
1948
1949         * char-ucs.h (decode_defined_char): Renamed from
1950         `DECODE_DEFINED_CHAR'; changed to normal function.
1951         (DECODE_CHAR): Use `decode_defined_char' instead of
1952         `DECODE_DEFINED_CHAR'.
1953
1954         * lisp.h: Add `EXFUN' for `Fstring_to_number'.
1955
1956 2002-07-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1957
1958         * char-ucs.h: Add `extern' for `Vcharset_ucs'.
1959
1960         * text-coding.c (Vcoded_charset_entity_reference_alist): New
1961         variable.
1962         (Quse_entity_reference): New variable.
1963         (Qd): New variable.
1964         (Qx): New variable.
1965         (QX): New variable.
1966         (coding_system_description): Add description for
1967         `ccs_priority_list'.
1968         (mark_coding_system): Mark `ccs_priority_list' in UTF-2000.
1969         (allocate_coding_system): Initialize `ccs_priority_list' in
1970         UTF-2000.
1971         (Fmake_coding_system): Add description about
1972         'use-entity-reference; setup CODING_SYSTEM_USE_ENTITY_REFERENCE
1973         (codesys).
1974         (Fcoding_system_property): Accept `disable-composition' and
1975         `use-entity-reference' in UTF-2000.
1976         (struct decoding_stream): Add new member `er_counter' and `er_buf'
1977         in UTF-2000.
1978         (reset_decoding_stream): Initialize `str->er_counter' in UTF-2000.
1979         (decode_coding_utf8): Decode entity-reference if
1980         CODING_SYSTEM_USE_ENTITY_REFERENCE (str->codesys).
1981         (char_encode_utf8): Encode non-Unicode characters as
1982         entity-references if CODING_SYSTEM_USE_ENTITY_REFERENCE
1983         (str->codesys).
1984         (syms_of_file_coding): Add new symbols `use-entity-reference',
1985         `d', `x', `X'.
1986         (vars_of_file_coding): Add new variable
1987         `coded-charset-entity-reference-alist'.
1988         (complex_vars_of_file_coding): Declare `disable-composition' and
1989         `use-entity-reference' to be coding-system-properties in UTF-2000.
1990
1991         * file-coding.h (struct Lisp_Coding_System): Add new member
1992         `use_entity_reference' and `ccs_priority_list'.
1993         (CODING_SYSTEM_USE_ENTITY_REFERENCE): New macro.
1994         (CODING_SYSTEM_CCS_PRIORITY_LIST): New macro.
1995         (XCODING_SYSTEM_USE_ENTITY_REFERENCE): New macro.
1996
1997 2002-07-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1998
1999         * chartab.c (save_uint8_byte_table): Don't clear the table.
2000         (save_uint16_byte_table): Likewise.
2001         (save_byte_table): Likewise.
2002         (Fmount_char_attribute_table): New function.
2003         (syms_of_chartab): Add new builtin function
2004         `mount-char-attribute-table'.
2005
2006 2002-07-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2007
2008         * mule-charset.c (Fsave_charset_mapping_table): Open database as
2009         "w+" mode.
2010         (load_char_decoding_entry_maybe): Open database as read-only mode.
2011
2012         * chartab.c (Fsave_char_attribute_table): Don't share `ct->db';
2013         open database as "w+" mode.
2014         (load_char_attribute_maybe): Open database as read-only mode.
2015         (Fload_char_attribute_table): Likewise.
2016
2017 2002-07-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2018
2019         * chartab.c (mark_char_table): Don't refer `ct->db_file'.
2020         (char_table_description): Delete member `db_file'.
2021         (Fmake_char_table): Don't refer `ct->db_file'.
2022         (Fcopy_char_table): Likewise.
2023         (Fsave_char_attribute_table): Likewise.
2024         (Fclose_char_attribute_table): Likewise.
2025         (Freset_char_attribute_table): Likewise.
2026         (load_char_attribute_maybe): Likewise.
2027         (Fload_char_attribute_table): Likewise.
2028
2029         * chartab.h (struct Lisp_Char_Table): Delete member `db_file'.
2030
2031 2002-07-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2032
2033         * chartab.c: Add an EXFUN for `Fmap_char_attribute'.
2034         (Fsave_char_attribute_table): Don't check `ct->db_file' if
2035         `ct->db' is living.
2036         (load_char_attribute_maybe): Likewise.
2037         (Fload_char_attribute_table): Likewise.
2038
2039 2002-07-01  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2040
2041         * chartab.c (Fclose_char_attribute_table): Set Qnil on
2042         `ct->db_file' unconditionally.
2043
2044 2002-07-01  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2045
2046         * chartab.c (mark_char_table): Mark `ct->db_file' and `ct->db' in
2047         UTF-2000.
2048         (char_table_description): Add description for `db_file' and `db'
2049         in UTF-2000.
2050         (Fmake_char_table): Initialize `ct->db_file' and `ct->db' in
2051         UTF-2000.
2052         (Fcopy_char_table): Copy `ct->db_file' and `ct->db' in UTF-2000.
2053         (Fsave_char_attribute_table): Use `ct->db_file' and `ct->db'.
2054         (Fclose_char_attribute_table): New function.
2055         (Freset_char_attribute_table): Reset `ct->db_file' and `ct->db'.
2056         (load_char_attribute_maybe): Change interface; use `cit->db_file'
2057         and `cit->db'.
2058         (Fload_char_attribute_table): Use `ct->db_file' and `ct->db'.
2059         (syms_of_chartab): Add new builtin function
2060         `Fclose_char_attribute_table'.
2061
2062 2002-06-28  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2063
2064         * chartab.h (struct Lisp_Char_Table): Add new member `db_file' and
2065         `db' in UTF-2000.
2066         (load_char_attribute_maybe): Change interface.
2067         (get_char_id_table): Modify for `load_char_attribute_maybe'.
2068
2069 2002-06-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2070
2071         * database.h: Add an EXFUN for `Fdatabase_live_p'.
2072
2073 2002-04-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2074
2075         * mule-charset.c (decode_builtin_char): Use `decode_builtin_char'
2076         instead of `DECODE_CHAR' for mother; don't use special code for
2077         chinese-big5 to use code space of chinese-big5-1 and
2078         chinese-big5-2.
2079         (complex_vars_of_mule_charset): Use `MIN_CHAR_BIG5_CDP' and
2080         `MAX_CHAR_BIG5_CDP' for chinese-big5.
2081
2082         * char-ucs.h (MIN_CHAR_BIG5_CDP): Revival.
2083         (MAX_CHAR_BIG5_CDP): Revival.
2084
2085 2002-04-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2086
2087         * mule-charset.c (complex_vars_of_mule_charset): Use "big5-0" as
2088         the XLFD registry-encoding name of `chinese-big5'.
2089
2090 2002-04-08  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2091
2092         * mule-charset.c (Vcharset_chinese_big5_cdp): Deleted.
2093         (Qchinese_big5_cdp): Deleted.
2094         (syms_of_mule_charset): Delete symbol `chinese-big5-cdp'.
2095         (complex_vars_of_mule_charset): Delete coded-charset
2096         `chinese-big5-cdp'.
2097
2098         * char-ucs.h (CHARSET_ID_OFFSET): Deleted.
2099         (LEADING_BYTE_*): Use `MIN_LEADING_BYTE + n' instead of
2100         `CHARSET_ID_OFFSET - n' for private CCS.
2101         (LEADING_BYTE_CHINESE_BIG5_CDP): Deleted.
2102         (MIN_LEADING_BYTE_PRIVATE): Use `(MIN_LEADING_BYTE + 97)' instead
2103         of `MIN_LEADING_BYTE'.
2104         (MAX_LEADING_BYTE_PRIVATE): Use `-1' instead of
2105         `(CHARSET_ID_OFFSET - 97)'.
2106         (MIN_CHAR_BIG5_CDP): Deleted.
2107         (MAX_CHAR_BIG5_CDP): Deleted.
2108
2109 2002-03-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2110
2111         * mule.c (vars_of_mule): Update `utf-2000-version' to 0.19.
2112
2113 2002-03-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2114
2115         * mule.c (Vutf_2000_version): New variable [moved from chartab.c].
2116         (vars_of_mule): Add new variable `utf-2000-version' [moved from
2117         chartab.c].
2118
2119         * chartab.c (Vutf_2000_version): Moved to mule.c.
2120         (vars_of_chartab): Move code about `utf-2000-version' into mule.c.
2121
2122 2002-03-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2123
2124         * mule-charset.c (load_char_decoding_entry_maybe): Don't define it
2125         when HAVE_CHISE_CLIENT is not defined.
2126
2127         * mule.c (vars_of_mule): Provide feature `chise' when
2128         HAVE_CHISE_CLIENT is defined.
2129
2130 2002-03-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2131
2132         * config.h.in (UTF2000): Add comment.
2133         (HAVE_CHISE_CLIENT): New macro.
2134
2135 2002-02-25  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2136
2137         * chartab.c (Fchar_variants): Check Vcharacter_variant_table is
2138         CONSP.
2139         (Fput_char_attribute): Likewise.
2140         (char_attribute_system_db_file): Encode file-name of attribute.
2141         (vars_of_chartab): Set Qunbound into Vcharacter_variant_table as
2142         the initial value.
2143
2144 2002-02-13  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2145
2146         * mule-charset.c (put_char_ccs_code_point): Delete unused codes.
2147         (Fsave_charset_mapping_table): Use
2148         `char_attribute_system_db_file'.
2149         (load_char_decoding_entry_maybe): Likewise.
2150
2151         * chartab.h (Qsystem_char_id): New external variable.
2152         (char_attribute_system_db_file): New prototype.
2153
2154         * chartab.c (Qsystem_char_id): New variable in UTF-2000.
2155         (char_attribute_system_db_file): New function.
2156         (Fsave_char_attribute_table): Use `char_attribute_system_db_file'.
2157         (Freset_char_attribute_table): Likewise.
2158         (load_char_attribute_maybe): Likewise.
2159         (Fload_char_attribute_table): Likewise.
2160         (syms_of_chartab): Add new symbol `system-char-id'.
2161
2162 2002-02-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2163
2164         * char-ucs.h (DECODE_DEFINED_CHAR): Don't check
2165         `XCHARSET_GRAPHIC(ccs)'.
2166
2167 2002-02-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2168
2169         * mule-charset.c (Fsave_charset_mapping_table): Fixed.
2170
2171 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2172
2173         * chartab.c (Q_ucs_variants): New variable.
2174         (syms_of_chartab): Add new symbol `->ucs-variants'.
2175         (complex_vars_of_chartab): Set `Vcharacter_variant_table' on
2176         `Vchar_attribute_hash_table' as the value of `->ucs-variants'; set
2177         `->ucs-variants' on `XCHAR_TABLE_NAME (Vcharacter_variant_table)'.
2178
2179         * mule-charset.c (load_char_decoding_entry_maybe): New function.
2180
2181         * char-ucs.h (load_char_decoding_entry_maybe): New prototype when
2182         `HAVE_DATABASE' is defined.
2183         (DECODE_DEFINED_CHAR): Use `load_char_decoding_entry_maybe' when
2184         `HAVE_DATABASE' is defined.
2185
2186 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2187
2188         * chartab.c (Fsave_char_attribute_table): Don't clear internal
2189         attribute-table.
2190         (Freset_char_attribute_table): New function.
2191         (syms_of_chartab): Add new builtin function
2192         `reset-char-attribute-table'.
2193
2194 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2195
2196         * chartab.c (load_char_attribute_maybe): Don't make directories.
2197
2198 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2199
2200         * char-ucs.h: Add EXFUN for `Fmake_directory_internal'.
2201
2202         * mule-charset.c (put_char_ccs_code_point): Don't prepare a vector
2203         for decoding-table.
2204
2205 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2206
2207         * mule-charset.c (Fsave_charset_mapping_table): Use
2208         `XCHARSET_BYTE_SIZE' instead of `XCHARSET_CHARS'.
2209
2210         * char-ucs.h (put_ccs_octet_table): Use `XCHARSET_BYTE_SIZE'
2211         instead of `XCHARSET_CHARS'.
2212
2213 2002-02-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2214
2215         * mule-charset.c (CHARSET_BYTE_SIZE): Moved to char-ucs.h.
2216         (XCHARSET_BYTE_SIZE): Likewise.
2217
2218         * char-ucs.h (CHARSET_BYTE_SIZE): New inline function [moved from
2219         mule-charset.c].
2220         (XCHARSET_BYTE_SIZE): Likewise.
2221
2222 2002-02-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2223
2224         * chartab.c (Fput_char_attribute): Use exec-directory instead of
2225         data-directory to store database.
2226         (Fsave_char_attribute_table): Likewise.
2227         (load_char_attribute_maybe): Likewise.
2228         (Fload_char_attribute_table): Likewise.
2229
2230 2002-02-08  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2231
2232         * mule-charset.c (Fsave_charset_mapping_table): New function.
2233         (syms_of_mule_charset): Add new builtin function
2234         `save-charset-mapping-table'.
2235
2236 2002-02-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2237
2238         * char-ucs.h (decoding_table_check_elements): Delete prototype.
2239         (get_ccs_octet_table): New inline function.
2240         (put_ccs_octet_table): Likewise.
2241         (decoding_table_put_char): Use `get_ccs_octet_table' and
2242         `put_ccs_octet_table'.
2243         (decoding_table_remove_char): Use `decoding_table_put_char'.
2244         (DECODE_DEFINED_CHAR): Use `get_ccs_octet_table'.
2245
2246         * mule-charset.c (remove_char_ccs): Store Qunbound instead of Qnil
2247         into encoding_table.
2248         (make_charset): Use Qunbound instead Qnil as initial value of
2249         decoding_table.
2250
2251 2002-02-04  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2252
2253         * chartab.c (map_over_uint8_byte_table): Set Qunbound if an
2254         element is Qunloaded.
2255         (map_over_uint16_byte_table): Likewise.
2256         (map_over_byte_table): Likewise.
2257         (map_char_table): Likewise for CHARTAB_RANGE_ALL in UTF-2000; when
2258         CHARTAB_RANGE_CHARSET is specified in UTF-2000 with external
2259         database support, load encoding-table of the specified
2260         coded-charset if it is not loaded yet.
2261         (save_uint8_byte_table): New function of UTF-2000 with external
2262         database support.
2263         (save_uint16_byte_table): Likewise.
2264         (save_byte_table): Likewise.
2265         (Fput_char_attribute): Don't store value into external database
2266         even if the external database feature is supported in UTF-2000;
2267         set `attribute' as name of char-table if the external database
2268         feature is supported.
2269         (Fsave_char_attribute_table): New function in UTF-2000.
2270         (syms_of_chartab): Add new builtin function
2271         `save-char-attribute-table' in UTF-2000.
2272
2273 2002-02-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2274
2275         * chartab.c (char_attribute_table_to_put): New variable in
2276         UTF-2000.
2277         (Qput_char_table_map_function): Likewise.
2278         (value_to_put): Likewise.
2279         (Fput_char_table_map_function): New function in UTF-2000.
2280         (put_char_table): Use `Fmap_char_attribute' for
2281         CHARTAB_RANGE_CHARSET in UTF-2000.
2282         (Fput_char_attribute): Store symbol instead of string in
2283         `XCHAR_TABLE_NAME (table)'.
2284         (load_char_attribute_maybe): Likewise.
2285         (syms_of_chartab): Add new symbol/function
2286         `put-char-table-map-function'.
2287
2288 2002-01-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2289
2290         * database.h: Add new EXFUN for `Fmap_database'.
2291
2292         * database.c (Fmap_database): Renamed from `Fmapdatabase'.
2293         (syms_of_database): Likewise.
2294
2295         * chartab.h (struct Lisp_Char_Table): Add new member `unloaded' in
2296         UTF-2000.
2297         (CHAR_TABLE_UNLOADED): New macro of UTF-2000.
2298         (XCHAR_TABLE_UNLOADED): Likewise.
2299
2300         * chartab.c (fill_char_table): Initialize `ct->unloaded'.
2301         (Fput_char_attribute): Set XCHAR_TABLE_UNLOADED(table) if
2302         HAVE_DATABASE is defined.
2303         (char_attribute_table_to_load): New variable of UTF-2000 with
2304         external database support.
2305         (Qload_char_attribute_table_map_function): Likewise.
2306         (Fload_char_attribute_table_map_function): New function of
2307         UTF-2000 with external database support.
2308         (Fload_char_attribute_table): New function of UTF-2000.
2309         (Fmap_char_attribute): Call Fload_char_attribute_table if
2310         CHAR_TABLE_UNLOADED(ct) is set when HAVE_DATABASE is defined.
2311         (syms_of_chartab): Add new symbol and function
2312         `load-char-attribute-table-map-function' in UTF-2000 with external
2313         database support; add new function `load-char-attribute-table' in
2314         UTF-2000.
2315
2316 2002-01-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2317
2318         * chartab.h (load_char_attribute_maybe): New prototype for
2319         UTF-2000 with DATABASE support.
2320         (get_char_id_table): Use `load_char_attribute_maybe' if
2321         HAVE_DATABASE is defined.
2322
2323         * chartab.c (load_char_attribute_maybe): New function in UTF-2000
2324         with DATABASE support.
2325
2326 2002-01-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2327
2328         * chartab.c (Fput_char_attribute): Use S-expression as key of
2329         external database.
2330
2331         * chartab.h (get_char_id_table): Use S-expression as key of
2332         external database.
2333
2334 2002-01-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2335
2336         * chartab.c (map_over_uint8_byte_table): Add new argument `root';
2337         if an element is not loaded, load the corresponding attributes
2338         from an external database.
2339         (map_over_uint16_byte_table): Likewise.
2340         (map_over_byte_table): Likewise.
2341         (map_char_table): Modify for `map_over_uint8_byte_table',
2342         `map_over_uint16_byte_table' and `map_over_byte_table'; if an
2343         element is not loaded, load the corresponding attributes from an
2344         external database.
2345         (Fput_char_attribute): Change initial values to Qunloaded.
2346
2347         * chartab.h (get_char_id_table): If a character attribute is not
2348         loaded and the attribute value is not found in an external
2349         database, store Qunbound as the attribute value.
2350
2351 2002-01-22  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2352
2353         * chartab.c (BT_UINT8_unloaded): New macro.
2354         (UINT8_VALUE_P): Accept Qunloaded.
2355         (UINT8_ENCODE): Likewise.
2356         (UINT8_DECODE): Likewise.
2357         (BT_UINT16_unloaded): New macro.
2358         (UINT16_VALUE_P): Accept Qunloaded.
2359         (UINT16_ENCODE): Likewise.
2360         (UINT16_DECODE): Likewise.
2361         (UINT8_TO_UINT16): Convert BT_UINT8_unloaded into
2362         BT_UINT16_unloaded.
2363         (mark_char_table): Mark `ct->name' in UTF-2000.
2364         (char_table_description): Add `name' in UTF-2000.
2365         (Fmake_char_table): Initialize `ct->name'.
2366         (Fcopy_char_table): Copy `ct->name'.
2367         (Fput_char_attribute): Store value into an external database if
2368         HAVE_DATABASE is defined.
2369
2370         * chartab.h (struct Lisp_Char_Table): Add new member `name' in
2371         UTF-2000.
2372         (CHAR_TABLE_NAME): New macro in UTF-2000.
2373         (XCHAR_TABLE_NAME): New macro in UTF-2000.
2374         (get_char_id_table): Try to read an external database if Qunloaded
2375         is stored in a table.
2376
2377         * symbols.c (init_symbols_once_early): Assign '#<unloaded> into
2378         Qunloaded.
2379
2380 2002-01-21  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2381
2382         * database.h: Add EXFUN definitions for Fopen_database,
2383         Fput_database, Fget_database and Fclose_database.
2384
2385         * data.c (Qunloaded): New variable in UTF-2000.
2386
2387         * lisp.h (Qunloaded): New variable in UTF-2000.
2388
2389 2002-01-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2390
2391         * mule-charset.c (put_char_ccs_code_point): Modify for
2392         `decoding_table_remove_char' and `decoding_table_put_char'.
2393         (remove_char_ccs): Modify for `decoding_table_remove_char'.
2394
2395         * char-ucs.h (decoding_table_remove_char): Change arguments to
2396         hide decoding_table vector.
2397         (decoding_table_put_char): Likewise.
2398
2399 2002-01-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2400
2401         * mule-charset.c (decoding_table_remove_char): Moved to
2402         char-ucs.h.
2403         (decoding_table_put_char): Likewise.
2404
2405         * char-ucs.h (decoding_table_check_elements): New prototype [moved
2406         from mule-charset.c].
2407         (decoding_table_remove_char): New inline function [moved from
2408         mule-charset.c].
2409         (decoding_table_put_char): Likewise.
2410
2411 2002-01-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2412
2413         * mule-charset.c (Fmake_charset): Modify DOC-string for UTF-2000
2414         extension.
2415
2416 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2417
2418         * mule-charset.c (decode_builtin_char): Support mother charsets.
2419
2420 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2421
2422         * mule-charset.c (Q94x94x60): New variable.
2423         (charset_code_point): Support conversion `94x94x60'.
2424         (Fmake_charset): Likewise.
2425         (syms_of_mule_charset): Add new symbol `94x94x60'.
2426
2427         * char-ucs.h (CONVERSION_94x94x60): New macro.
2428
2429 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2430
2431         * mule-charset.c (charset_code_point): Unify code about
2432         `code-offset'.
2433
2434 2001-12-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2435
2436         * mule-charset.c (charset_code_point): Merge code about builtin
2437         characters into code about mother charsets; don't use
2438         `range_charset_code_point'.
2439         (range_charset_code_point): Deleted.
2440
2441 2001-12-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2442
2443         * mule-charset.c (Qcode_offset): New variable.
2444         (Fmake_charset): Use `XUINT' to get value of `min-code' and
2445         `max-code'; accept new property `code-offset'.
2446         (syms_of_mule_charset): Add new symbol `code-offset'.
2447
2448 2001-12-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2449
2450         * mule-charset.c (range_charset_code_point): Fixed.
2451
2452 2001-12-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2453
2454         * mule-charset.c (decode_builtin_char): Change semantics of
2455         code-offset of coded-charset.
2456         (charset_code_point): Likewise.
2457         (range_charset_code_point): Likewise.
2458         (complex_vars_of_mule_charset): Modify for the change.
2459
2460 2001-12-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2461
2462         * mule-charset.c (Fencode_char): Reverse arguments.
2463
2464         * mule-charset.c (charset_code_point): Fixed.
2465
2466 2001-12-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2467
2468         * mule-charset.c (Vcharset_mojikyo): Deleted.
2469         (Vcharset_mojikyo_2022_1): Deleted.
2470         (Vcharset_mojikyo_pj_{1..21}): Deleted.
2471         (Qmin_code): New variable in UTF-2000.
2472         (Qmax_code): Likewise.
2473         (Qmother): Likewise.
2474         (Qconversion): Likewise.
2475         (Q94x60): Likewise.
2476         (Qmojikyo): Deleted.
2477         (Qmojikyo_2022_1): Deleted.
2478         (Qmojikyo_pj_{1..22}): Deleted.
2479         (mark_charset): Mark `cs->mother'.
2480         (charset_description): Add description for `mother'.
2481         (make_charset): Rename `ucs_{min|max}' to `{min|max}_code'; add
2482         new arguments `mother' and `conversion'; use
2483         `CHARSET_{MIN|MAX}_CODE' instead of `CHARSET_UCS_{MIN|MAX}'.
2484         (charset_code_point): Moved from char-ucs.h; support `mother'
2485         charset feature.
2486         (range_charset_code_point): use `CHARSET_{MIN|MAX}_CODE' instead
2487         of `CHARSET_UCS_{MIN|MAX}'; delete hard code for `mojikyo-2022-1'.
2488         (Fmake_charset): Allow 3 and 4 as the value of `dimension' in
2489         UTF-2000; allow 128 and 256 as the value of `chars' in UTF-2000;
2490         allow 2 as the value of `graphic' in UTF-2000; add new properties
2491         `min-code', `max-code', `mother', `conversion' in UTF-2000; don't
2492         require `final' in UTF-2000; modify for `make_charset'.
2493         (Fmake_reverse_direction_charset): use `CHARSET_{MIN|MAX}_CODE'
2494         instead of `CHARSET_UCS_{MIN|MAX}'; modify for `make_charset'.
2495         (Fcharset_property): Support `mother', `min-code' and `max-code'.
2496         (Fencode_char): New function.
2497         (syms_of_mule_charset): Add new builtin function `encode-char' in
2498         UTF-2000; add new symbols `min-code', `max-code', `mother',
2499         `conversion' and `94x60'; delete symbols `mojikyo',
2500         `mojikyo-2022-1' and `mojikyo-pj-{1..21}'.
2501         (complex_vars_of_mule_charset): Modify for `make_charset' change;
2502         delete coded-charsets `mojikyo', `mojikyo-2022-1' and
2503         `mojikyo-pj-{1..21}'; delete `DEF_MOJIKYO_PJ'.
2504
2505         * chartab.c (Fdefine_char): Use `XCHARSET_MAX_CODE' instead of
2506         `XCHARSET_UCS_MAX'; regard `chinese-big5' as a base CCS.
2507
2508         * char-ucs.h (Vcharset_mojikyo): Deleted.
2509         (Vcharset_mojikyo_2022_1): Deleted.
2510         (LEADING_BYTE_MOJIKYO): Deleted.
2511         (LEADING_BYTE_MOJIKYO_2022_1): Deleted.
2512         (LEADING_BYTE_MOJIKYO_2022_2): Deleted.
2513         (LEADING_BYTE_MOJIKYO_PJ_{1 .. 21}): Deleted.
2514         (struct Lisp_Charset): Rename `ucs_{min|max}' to `{min|max}_code';
2515         add new member `mother'; add new member `conversion'.
2516         (CHARSET_MIN_CODE): Renamed from `CHARSET_UCS_MIN'.
2517         (CHARSET_MAX_CODE): Renamed from `CHARSET_UCS_MAX'.
2518         (CHARSET_MOTHER): New macro.
2519         (CHARSET_CONVERSION): New macro.
2520         (CONVERSION_IDENTICAL): New macro.
2521         (CONVERSION_94x60): New macro.
2522         (XCHARSET_MIN_CODE): Renamed from `CHARSET_MIN_CODE'.
2523         (XCHARSET_MAX_CODE): Renamed from `CHARSET_MAX_CODE'.
2524         (XCHARSET_MOTHER): New macro.
2525         (XCHARSET_CONVERSION): New macro.
2526         (MIN_CHAR_MOJIKYO): Deleted.
2527         (MAX_CHAR_MOJIKYO): Deleted.
2528         (DECODE_MOJIKYO_2022): Deleted.
2529         (DECODE_CHAR): Delete hard code for builtin Mojikyo characters.
2530         (charset_code_point): Changed to non-inline function.
2531         (encode_char_1): Use `charset_code_point'.
2532         (CHAR_TO_CHARC): Delete hard code for Mojikyo characters.
2533
2534 2001-12-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2535
2536         * lread.c (read_compiled_function): Fix prototype.
2537         (read_vector): Likewise.
2538
2539 2001-12-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2540
2541         * lrecord.h (struct lrecord_header): Delete `older'.
2542         (set_lheader_implementation): Delete code for `older'.
2543         (set_lheader_older_implementation): Deleted.
2544         (enum lrecord_type): Delete `lrecord_type_char_id_table'.
2545         (OLDER_RECORD_P): Deleted.
2546         (OLDER_RECORD_HEADER_P): Deleted.
2547         (alloc_older_lcrecord): Deleted.
2548         (alloc_older_lcrecord_type): Deleted.
2549
2550         * alloc.c (all_older_lcrecords): Deleted.
2551         (alloc_older_lcrecord): Deleted.
2552         (disksave_object_finalization_1): Delete code for older objects.
2553         (mark_object): Don't use `OLDER_RECORD_HEADER_P'.
2554         (reinit_alloc_once_early): Don't initialize `all_older_lcrecords'.
2555
2556 2001-12-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2557
2558         * mule-charset.c (decoding_table_put_char): Use `make_vector'
2559         instead of `make_older_vector'.
2560         (put_char_ccs_code_point): Likewise.
2561         (mark_charset): Mark `cs->decoding_table'.
2562         (Fset_charset_mapping_table): Don't use `make_vector_newer'.
2563
2564         * lisp.h (make_older_vector): Deleted.
2565         (make_vector_newer): Deleted.
2566
2567         * config.h.in (HAVE_GGC): Deleted.
2568
2569         * alloc.c (make_older_vector): Deleted.
2570         (make_vector_newer_1): Deleted.
2571         (make_vector_newer): Deleted.
2572
2573 2001-12-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2574
2575         * mule-charset.c (Vcharset_ideograph_daikanwa_2): New variable.
2576         (Qideograph_daikanwa_2): New variable.
2577         (syms_of_mule_charset): Add new symbol `ideograph-daikanwa-2'.
2578         (complex_vars_of_mule_charset): Add new coded-charset
2579         `ideograph-daikanwa-2'; use `LEADING_BYTE_DAIKANWA_3' instead of
2580         `LEADING_BYTE_DAIKANWA'.
2581
2582         * char-ucs.h (LEADING_BYTE_DAIKANWA_0): New macro.
2583         (LEADING_BYTE_DAIKANWA_1): New macro.
2584         (LEADING_BYTE_DAIKANWA_2): New macro.
2585         (LEADING_BYTE_DAIKANWA_3): Renamed from `LEADING_BYTE_DAIKANWA'.
2586
2587 2001-12-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2588
2589         * mule-charset.c (complex_vars_of_mule_charset): Change
2590         DOC-strings and registry of `ideograph-daikanwa'; now it indicates
2591         the second revised version.
2592
2593 2001-12-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2594
2595         * mule-charset.c (Vcharset_ucs_smp): New variable.
2596         (Vcharset_ucs_sip): New variable.
2597         (Qucs_smp): New variable.
2598         (Qucs_sip): New variable.
2599         (encode_builtin_char_1): Treat MIN_CHAR_{SMP|SIP} to
2600         MAX_CHAR_{SMP|SIP} as `ucs-{smp|sip}'.
2601         (syms_of_mule_charset): Add new symbols `ucs-smp' and `ucs-sip'.
2602         (complex_vars_of_mule_charset): Modify middle-DOC and registry of
2603         `ucs-bmp'; add new coded-charset `ucs-smp' and `ucs-sip'; change
2604         charset width of `ucs-cns', `ucs-jis', `ucs-ks' and `ucs-big5'.
2605
2606         * char-ucs.h (LEADING_BYTE_UCS_SMP): New macro.
2607         (LEADING_BYTE_UCS_SIP): New macro.
2608         (MIN_CHAR_SMP): New macro.
2609         (MAX_CHAR_SMP): New macro.
2610         (MIN_CHAR_SIP): New macro.
2611         (MAX_CHAR_SIP): New macro.
2612
2613 2001-11-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
2614
2615         * dumper.c (PDUMP_HASH_SIZE): Increase the size of hash table when
2616         utf-2000.
2617
2618 2001-11-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2619
2620         * mule-charset.c (put_char_ccs_code_point): Return canonicalized
2621         value; don't store value into `encoding_table' of `Lisp_Charset'.
2622         (mark_charset): `encoding_table' was deleted.
2623         (charset_description): Likewise.
2624         (make_charset): Likewise.
2625         (Fset_charset_mapping_table): Use `Fput_char_attribute' instead of
2626         `put_char_ccs_code_point'.
2627
2628         * chartab.h (Fput_char_attribute): New EXFUN.
2629
2630         * chartab.c (Fchar_attribute_alist): Name space of CCS-attributes
2631         is unified with normal symbol space.
2632         (Fget_char_attribute): Likewise.
2633         (Fput_char_attribute): Likewise; behavior of
2634         `put_char_ccs_code_point' is changed.
2635
2636         * char-ucs.h: Include "elhash.h".
2637         (Vchar_attribute_hash_table): New external variable.
2638         (struct Lisp_Charset): Delete `encoding_table'.
2639         (CHARSET_ENCODING_TABLE): New implementation; refer
2640         `Vchar_attribute_hash_table' instead of `encoding_table' of struct
2641         `Lisp_Charset'.
2642
2643 2001-11-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2644
2645         * mule-charset.c (Fcharset_property): Return Qnil if CHARSET_FINAL
2646         (cs) == 0.
2647
2648 2001-11-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2649
2650         * text-coding.c (char_encode_big5): Prefer charset-g1 than
2651         `chinese-big5'.
2652
2653 2001-11-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2654
2655         * chartab.c (uint8_byte_table_description): New constant.
2656         (uint8-byte-table): Use `uint8_byte_table_description'.
2657         (uint16_byte_table_description): New constant.
2658         (uint16-byte-table): Use `uint16_byte_table_description'.
2659
2660 2001-10-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2661
2662         * mule-charset.c (complex_vars_of_mule_charset): Don't use builtin
2663         range MIN_CHAR_BIG5_CDP .. MAX_CHAR_BIG5_CDP.
2664
2665 2001-10-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2666
2667         * mule-charset.c (Vcharset_ucs_ks): New variable.
2668         (Qucs_ks): New variable.
2669         (syms_of_mule_charset): Add new symbol `ucs-ks'.
2670         (complex_vars_of_mule_charset): Add new coded-charset `ucs-ks'.
2671
2672         * char-ucs.h (LEADING_BYTE_UCS_KS): New macro.
2673
2674 2001-10-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2675
2676         * chartab.h (Fmake_char): New EXFUN; moved from chartab.c.
2677         (Fdecode_char): Likewise.
2678
2679         * chartab.c: Move EXFUN for Fmake_char and Fdecode_char into
2680         chartab.h.
2681         (Fdefine_char): Modify for Fdecode_char.
2682         (Ffind_char): Likewise.
2683
2684         * mule-charset.c (Fdecode_char): Add new optional argument
2685         `defined-only'.
2686         (Fdecode_builtin_char): Modify for `Fdecode_char'.
2687
2688 2001-10-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2689
2690         * text-coding.c (mark_coding_system): Mark initial-charset-g0 and
2691         -g1 of CODESYS_BIG5 in XEmacs UTF-2000.
2692         (allocate_coding_system): Initialize initial-charsets of
2693         CODESYS_BIG5 in XEmacs UTF-2000.
2694         (Fmake_coding_system): Accept `charset-g0' and `charset-g1' for
2695         CODESYS_BIG5 in XEmacs UTF-2000.
2696         (decode_coding_big5): Use initial-charset-g0 and -g1 of
2697         CODESYS_BIG5 in XEmacs UTF-2000; use `DECODE_DEFINED_CHAR'.
2698
2699         * mule-charset.c (Vcharset_ideograph_hanziku_{1 .. 12}): New
2700         variables.
2701         (Qideograph_hanziku_{1 .. 12}): Likewise.
2702         (syms_of_mule_charset): Add new symbols `ideograph-hanziku-{1
2703         .. 12}'.
2704         (complex_vars_of_mule_charset): Use `MIN_CHAR_BIG5_CDP' to
2705         `MAX_CHAR_BIG5_CDP' for `chinese-big5'; add news coded-charsets
2706         `ideograph-hanziku-{1 .. 12}'.
2707
2708         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x200.
2709         (LEADING_BYTE_HANZIKU_{1 .. 12}): New macros.
2710         ({MIN|MAX}_CHAR_BIG5_CDP): New macros.
2711         ({MIN|MAX}_CHAR_HANZIKU_{1 .. 12}): New macros.
2712         (DECODE_DEFINED_CHAR): New inline function.
2713         (DECODE_CHAR): Use `DECODE_DEFINED_CHAR'.
2714
2715 2001-10-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2716
2717         * mule-charset.c (Vcharset_china3_jef): Renamed from
2718         `Vcharset_japanese_jef_china3'.
2719         (Qchina3_jef): Renamed from `Qjapanese_jef_china3'.
2720         (encode_builtin_char_1): Rename `{MIN|MAX}_CHAR_CHINA3_JEF' from
2721         `{MIN|MAX}_CHAR_JEF_CHINA3'..
2722         (syms_of_mule_charset): Rename `china3-jef' from
2723         `japanese-jef-china3'.
2724         (complex_vars_of_mule_charset): Likewise; rename
2725         `LEADING_BYTE_CHINA3_JEF' from `LEADING_BYTE_JEF_CHINA3'.
2726
2727         * char-ucs.h (LEADING_BYTE_CHINA3_JEF): Renamed from
2728         `LEADING_BYTE_JEF_CHINA3'.
2729         (MIN_CHAR_CHINA3_JEF): Renamed from `MIN_CHAR_JEF_CHINA3'.
2730         (MAX_CHAR_CHINA3_JEF): Renamed from `MAX_CHAR_JEF_CHINA3'.
2731
2732 2001-10-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2733
2734         * mule-charset.c (encode_builtin_char_1): Comment out special code
2735         for MIN_CHAR_MOJIKYO_0 ... MAX_CHAR_MOJIKYO_0.
2736
2737         * char-ucs.h (MIN_CHAR_MOJIKYO_0): Comment out.
2738         (MAX_CHAR_MOJIKYO_0): Comment out.
2739         (MIN_CHAR_CBETA): Changed to 0x00E20000.
2740         (MAX_CHAR_CBETA): Changed to 0x00E2FFFF.
2741         (MIN_CHAR_JEF_CHINA3): Changed to 0x00E80000.
2742         (MAX_CHAR_JEF_CHINA3): Changed to 0x00E8FFFF.
2743
2744 2001-10-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2745
2746         * mule-charset.c (Vcharset_ideograph_cbeta): New variable.
2747         (Qideograph_cbeta): New variable.
2748         (encode_builtin_char_1): Comment out special code for
2749         coded-charset `mojikyo' and `japanese-jef-china3'.
2750         (syms_of_mule_charset): Add new symbol `ideograph-cbeta'.
2751         (complex_vars_of_mule_charset): Add new coded-charset
2752         `ideograph-cbeta'.
2753
2754         * char-ucs.h (LEADING_BYTE_CBETA): New macro.
2755         (MIN_CHAR_CBETA): New macro.
2756         (MAX_CHAR_CBETA): New macro.
2757
2758 2001-10-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2759
2760         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x100.
2761         (LEADING_BYTE_JEF_CHINA3): New macro.
2762         (MIN_CHAR_JEF_CHINA3): New macro.
2763         (MAX_CHAR_JEF_CHINA3): Likewise.
2764         (DECODE_CHAR): Fixed.
2765
2766 2001-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2767
2768         * mule-charset.c (Vcharset_japanese_jef_china3): New variable.
2769         (Qjapanese_jef_china3): New variable.
2770         (encode_builtin_char_1): Support `japanese-jef-china3'.
2771         (syms_of_mule_charset): Add new symbol `japanese-jef-china3'.
2772         (complex_vars_of_mule_charset): Add new coded-charset
2773         `japanese-jef-china3'.
2774
2775 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2776
2777         * chartab.c (XCHARSET_CELL_RANGE): New inline function.
2778         (decode_char_table_range): Use `XCHARSET_CELL_RANGE'; accept 94^3,
2779         94^4, 96^3, 96^4, 128^n and 256^n set.
2780         (put_char_table): Use `XCHARSET_CELL_RANGE'.
2781         (map_char_table): Likewise.
2782
2783 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2784
2785         * chartab.c (get_char_table): Use `get_char_id_table' in XEmacs
2786         UTF-2000.
2787
2788 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2789
2790         * chartab.h (get_char_id_table): New inline function.
2791
2792         * chartab.c (get_char_id_table): Moved to chartab.h as an inline
2793         function.
2794
2795 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2796
2797         * chartab.h (decode_char_table_range): New prototype in XEmacs
2798         UTF-2000.
2799         (put_char_id_table): New inline function in XEmacs UTF-2000.
2800
2801         * chartab.c (put_char_id_table): Moved to chartab.h as an inline
2802         function.
2803         (decode_char_table_range): Delete static declaration in XEmacs
2804         UTF-2000.
2805
2806 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2807
2808         * chartab.c (put_char_id_table): Use `put_char_table'.
2809
2810 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2811
2812         * chartab.c (map_over_uint8_byte_table): Delete argument `ccs'.
2813         (map_over_uint16_byte_table): Likewise.
2814         (map_over_byte_table): Likewise.
2815         (map_char_table): Modify for `map_over_uint8_byte_table',
2816         `map_over_uint16_byte_table' and `map_over_byte_table' in XEmacs
2817         UTF-2000.
2818
2819 2001-09-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2820
2821         * chartab.c (struct map_char_table_for_charset_arg): New
2822         structure.
2823         (map_char_table_for_charset_fun): New function.
2824         (map_char_table): Use `map_char_table' for encoding_table of
2825         `range->charset'.
2826
2827 2001-09-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2828
2829         * chartab.c (map_char_table): Check a character is found in
2830         range->charset instead of non default value is defined in
2831         char-table when range is CHARTAB_RANGE_ROW.
2832
2833 2001-09-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2834
2835         * chartab.c (map_char_id_table): Deleted.
2836         (Fmap_char_attribute): Use `map_char_table' instead of
2837         `map_char_id_table'.
2838
2839 2001-09-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2840
2841         * syntax.h (SYNTAX_CODE_UNSAFE): New implementation in XEmacs
2842         UTF-2000.
2843         (update_syntax_table): Deleted in XEmacs UTF-2000.
2844
2845         * syntax.c (find_defun_start): Use `syntax_table' instead of
2846         `mirror_syntax_table' in XEmacs UTF-2000.
2847         (Fset_syntax_table): Don't use `mirror_syntax_table' in XEmacs
2848         UTF-2000.
2849         (Fchar_syntax): Use `syntax_table' instead of `mirror_table' in
2850         XEmacs UTF-2000.
2851         (Fmatching_paren): Likewise.
2852         (scan_words): Use `syntax_table' instead of `mirror_syntax_table'
2853         in XEmacs UTF-2000.
2854         (find_start_of_comment): Likewise.
2855         (find_end_of_comment): Likewise.
2856         (Fforward_comment): Likewise.
2857         (scan_lists): Likewise.
2858         (char_quoted): Likewise.
2859         (Fbackward_prefix_chars): Likewise.
2860         (scan_sexps_forward): Likewise.
2861         (update_just_this_syntax_table): Deleted in XEmacs UTF-2000.
2862         (update_syntax_table): Likewise.
2863
2864         * search.c (skip_chars): Use `syntax_table' instead of
2865         `mirror_syntax_table' in XEmacs UTF-2000.
2866         (wordify): Likewise.
2867         (Freplace_match): Likewise.
2868
2869         * regex.c (re_compile_fastmap): Use `syntax_table' instead of
2870         `mirror_syntax_table' in XEmacs UTF-2000.
2871         (WORDCHAR_P_UNSAFE): Likewise.
2872         (re_match_2_internal): Likewise.
2873
2874         * font-lock.c (find_context): Use `buf->syntax_table' instead of
2875         `buf->mirror_syntax_table' in XEmacs UTF-2000.
2876
2877         * cmds.c (internal_self_insert): Use `buf->syntax_table' instead
2878         of `buf->mirror_syntax_table' in XEmacs UTF-2000.
2879
2880         * chartab.h (struct Lisp_Char_Table): Delete `mirror_table' in
2881         XEmacs UTF-2000.
2882
2883         * chartab.c (mark_char_table): Don't mark `mirror_table' in XEmacs
2884         UTF-2000.
2885         (print_char_table): Print `default_value' in XEmacs UTF-2000.
2886         (char_table_description): Delete `mirror_table' in XEmacs
2887         UTF-2000.
2888         (fill_char_table): Don't call `update_syntax_table' in XEmacs
2889         UTF-2000.
2890         (Fmake_char_table): Don't use `mirror_table' in XEmacs UTF-2000.
2891         (Fcopy_char_table): Likewise.
2892         (put_char_table): Don't call `update_syntax_table' in XEmacs
2893         UTF-2000.
2894
2895         * casefiddle.c (casify_object): Use `buf->syntax_table' instead of
2896         `buf->mirror_syntax_table' in XEmacs UTF-2000.
2897         (casify_region_internal): Likewise.
2898
2899         * bufslots.h: Delete `mirror_syntax_table' in XEmacs UTF-2000.
2900
2901         * buffer.c (common_init_complex_vars_of_buffer): Don't use
2902         `mirror_syntax_table' in XEmacs UTF-2000.
2903
2904         * abbrev.c (abbrev_match): Use `buf->syntax_table' instead of
2905         `buf->mirror_syntax_table' in XEmacs UTF-2000.
2906         (Fexpand_abbrev): Likewise.
2907
2908 2001-09-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2909
2910         * chartab.c (vars_of_chartab): Update `utf-2000-version' to 0.18.
2911
2912 2001-09-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2913
2914         * chartab.c (map_over_uint8_byte_table): Cancel temporary hack.
2915         (map_over_uint16_byte_table): Likewise.
2916         (map_over_byte_table): Likewise.
2917         (get_char_id_table): Refer `cit->default_value'.
2918         (put_char_id_table): Support `CHARTAB_RANGE_DEFAULT'.
2919         (map_char_id_table): Use `1 << 30' instead of `1 << 24' as number
2920         of character-id ranges.
2921         (mark_char_table): Mark `ct->default_value'.
2922         (char_table_description): Add `default_value'.
2923         (fill_char_table): Use `default_value'.
2924         (decode_char_table_range): Decode `nil' as
2925         `CHARTAB_RANGE_DEFAULT'.
2926         (get_char_id_table): Refer `cit->default_value'.
2927         (put_char_id_table): Support `CHARTAB_RANGE_DEFAULT'.
2928         (map_char_table): Support `CHARTAB_RANGE_DEFAULT'; cancel
2929         temporary hack; check value of char-table is bound or not.
2930         (slow_map_char_table_fun): Support `CHARTAB_RANGE_DEFAULT'.
2931
2932         * chartab.h (struct Lisp_Char_Table): Add new member
2933         `default_value' in XEmacs UTF-2000.
2934         (CHAR_TABLE_VALUE_UNSAFE): Use `default_value'.
2935         (enum chartab_range_type): Add `CHARTAB_RANGE_DEFAULT' in XEmacs
2936         UTF-2000.
2937
2938 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2939
2940         * chartab.h (Lisp_Char_ID_Table): Deleted.
2941
2942         * chartab.c (char_table_description): Fix typo.
2943         (Fmap_char_attribute): Use `Lisp_Char_Table' instead of
2944         `Lisp_Char_ID_Table'.
2945
2946 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2947
2948         * text-coding.c (COMPOSE_ADD_CHAR): Use `CHAR_TABLEP' instead of
2949         `CHAR_ID_TABLE_P'.
2950
2951         * mule-charset.c (remove_char_ccs): Use `CHAR_TABLEP' instead of
2952         `CHAR_ID_TABLE_P'.
2953
2954         * chartab.h (XCHAR_ID_TABLE): Deleted.
2955         (XSETCHAR_ID_TABLE): Deleted.
2956         (CHAR_ID_TABLE_P): Deleted.
2957
2958         * chartab.c (put_char_id_table): Use `CHAR_TABLEP' instead of
2959         `CHAR_ID_TABLE_P'.
2960         (Fget_composite_char): Likewise.
2961         (put_char_table): Likewise.
2962         (add_char_attribute_alist_mapper): Fixed.
2963         (Fchar_attribute_alist): Use `CHAR_TABLEP' instead of
2964         `CHAR_ID_TABLE_P'.
2965         (Fget_char_attribute): Likewise.
2966         (Fget_char_attribute): Likewise.
2967         (Fmap_char_attribute): Likewise.
2968
2969         * char-ucs.h (charset_code_point): Use `CHAR_TABLEP' instead of
2970         `CHAR_ID_TABLE_P'.
2971         (encode_char_1): Likewise.
2972
2973 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2974
2975         * text-coding.c (COMPOSE_ADD_CHAR): Use `XCHAR_TABLE' instead of
2976         `XCHAR_ID_TABLE'.
2977
2978         * mule-charset.c (put_char_ccs_code_point): Use `XCHAR_TABLE'
2979         instead of `XCHAR_ID_TABLE'.
2980         (remove_char_ccs): Likewise.
2981
2982         * chartab.c (put_char_id_table): Use `XCHAR_TABLE' instead of
2983         `XCHAR_ID_TABLE'.
2984         (Fget_composite_char): Likewise.
2985         (Fchar_variants): Likewise.
2986         (put_char_table): Likewise.
2987         (add_char_attribute_alist_mapper): Likewise.
2988         (Fchar_attribute_alist): Likewise.
2989         (Fget_char_attribute): Likewise.
2990         (Fput_char_attribute): Likewise.
2991         (Fmap_char_attribute): Likewise.
2992         (Fmap_char_attribute): Likewise.
2993
2994         * char-ucs.h (charset_code_point): Use `XCHAR_TABLE' instead of
2995         `XCHAR_ID_TABLE'.
2996         (encode_char_1): Likewise.
2997
2998 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2999
3000         * chartab.c (map_char_id_table): Use `Lisp_Char_Table' instead of
3001         `Lisp_Char_ID_Table'.
3002         (mark_char_id_table): Deleted.
3003         (print_char_id_table): Likewise.
3004         (char_id_table_equal): Likewise.
3005         (char_id_table_hash): Likewise.
3006         (char_id_table_description): Likewise.
3007         (char_id_table): Likewise.
3008         (make_char_id_table): Use `Fmake_char_table' and
3009         `fill_char_table'.
3010         (get_char_id_table): Use `Lisp_Char_Table' instead of
3011         `Lisp_Char_ID_Table'.
3012         (put_char_id_table): Likewise.
3013         (Fput_char_attribute): Use `XCHAR_TABLE' instead of
3014         `XCHAR_ID_TABLE'.
3015         (Fremove_char_attribute): Likewise.
3016         (syms_of_chartab): Don't define type `char-id-table'.
3017
3018         * chartab.h (struct Lisp_Char_ID_Table): Deleted.
3019         (char_id_table): Likewise.
3020         (GC_CHAR_ID_TABLE_P): Likewise.
3021         (Lisp_Char_ID_Table): Use structure `Lisp_Char_Table'.
3022         (XCHAR_ID_TABLE): Use `XCHAR_TABLE'.
3023         (XSETCHAR_ID_TABLE): Use `XSETCHAR_TABLE'.
3024         (CHAR_ID_TABLE_P): Use `CHAR_TABLEP'.
3025         (get_char_id_table): Use `Lisp_Char_Table' instead of
3026         `Lisp_Char_ID_Table'.
3027         (put_char_id_table_0): Likewise.
3028         (put_char_id_table): Likewise.
3029
3030 2001-09-02  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
3031
3032         * chartab.h: Lisp_Byte_Table related codes are moved from
3033         chartab.h.
3034
3035         * char-ucs.h: Move Lisp_Byte_Table related codes to chartab.h.
3036
3037 2001-09-02  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
3038
3039         * chartab.h: Don't include "chartab.h".
3040         (struct Lisp_Char_ID_Table): Moved from char-ucs.h.
3041         (Lisp_Char_ID_Table): Likewise.
3042         (char_id_table): Likewise.
3043         (XCHAR_ID_TABLE): Likewise.
3044         (XSETCHAR_ID_TABLE): Likewise.
3045         (CHAR_ID_TABLE_P): Likewise.
3046         (GC_CHAR_ID_TABLE_P): Likewise.
3047         (get_char_id_table): Likewise.
3048
3049         * char-ucs.h: Include "chartab.h".
3050         (struct Lisp_Char_ID_Table): Moved to chartab.h.
3051         (Lisp_Char_ID_Table): Likewise.
3052         (char_id_table): Likewise.
3053         (XCHAR_ID_TABLE): Likewise.
3054         (XSETCHAR_ID_TABLE): Likewise.
3055         (CHAR_ID_TABLE_P): Likewise.
3056         (GC_CHAR_ID_TABLE_P): Likewise.
3057         (get_char_id_table): Likewise.
3058
3059 2001-09-01  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
3060
3061         * chartab.c (copy_uint8_byte_table): New function.
3062         (copy_uint16_byte_table): New function.
3063         (copy_byte_table): New function.
3064         (map_over_uint8_byte_table): Modify to avoid huge numbers of
3065         characters to call.
3066         (map_over_uint16_byte_table): Likewise.
3067         (map_over_byte_table): Likewise.
3068         (get_byte_table): Move prototype to chartab.h.
3069         (put_byte_table): Likewise.
3070         (put_char_id_table_0): Moved to chartab.h.
3071         (mark_char_table_entry): Don't define in XEmacs UTF-2000.
3072         (char_table_entry_equal): Likewise.
3073         (char_table_entry_hash): Likewise.
3074         (char_table_entry_description): Likewise.
3075         (char_table_entry): Likewise.
3076         (make_char_table_entry): Likewise.
3077         (copy_char_table_entry): Likewise.
3078         (get_non_ascii_char_table_value): Likewise.
3079         (map_over_charset_ascii): Likewise.
3080         (map_over_charset_control_1): Likewise.
3081         (map_over_charset_row): Likewise.
3082         (map_over_other_charset): Likewise.
3083         (mark_char_table): Modify for new structure in XEmacs UTF-2000.
3084         (print_char_table): Likewise.
3085         (char_table_equal): Likewise.
3086         (char_table_hash): Likewise.
3087         (char_table_description): Likewise.
3088         (fill_char_table): Likewise.
3089         (Fcopy_char_table): Likewise.
3090         (get_char_table): Likewise.
3091         (Fget_range_char_table): Likewise.
3092         (put_char_table): Likewise.
3093         (map_char_table): Likewise.
3094         (syms_of_chartab): Don't define `char_table_entry' in XEmacs
3095         UTF-2000.
3096
3097 2001-08-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3098
3099         * cmds.c (vars_of_cmds): Use `put_char_id_table_0' for
3100         `Vauto_fill_chars' in XEmacs UTF-2000.
3101
3102         * chartab.h (get_byte_table): New prototype [moved from
3103         chartab.c].
3104         (put_byte_table): Likewise [moved from chartab.c].
3105         (put_char_id_table_0): New inline function [moved from chartab.c].
3106         (struct Lisp_Char_Table_Entry): Don't define in XEmacs UTF-2000.
3107         (Lisp_Char_Table_Entry): Likewise.
3108         (char_table_entry): Likewise.
3109         (XCHAR_TABLE_ENTRY): Likewise.
3110         (XSETCHAR_TABLE_ENTRY): Likewise.
3111         (CHAR_TABLE_ENTRYP): Likewise.
3112         (CHECK_CHAR_TABLE_ENTRY): Likewise.
3113         (NUM_ASCII_CHARS): Likewise.
3114         (struct Lisp_Char_Table): New implementation in XEmacs UTF-2000.
3115         (CHAR_TABLE_VALUE_UNSAFE): Likewise.
3116
3117 2001-08-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3118
3119         * chartab.c (get_char_id_table): Change interface.
3120         (put_char_id_table_0): New function.
3121         (put_char_id_table): Change interface; new implementation.
3122         (Fget_composite_char): Modify for interface change of
3123         `get_char_id_table'.
3124         (Fchar_variants): Likewise.
3125         (add_char_attribute_alist_mapper): Likewise.
3126         (Fchar_attribute_alist): Likewise.
3127         (Fget_char_attribute): Likewise.
3128         (Fput_char_attribute): Allow coded-charset or [CODED-CHARSET ROW]
3129         as same as character as the first argument like `put-char-table';
3130         modify for interface change of `put_char_id_table'.
3131         (Fremove_char_attribute): Modify for interface change of
3132         `put_char_id_table'.
3133
3134 2001-08-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3135
3136         * text-coding.c: Sync up with XEmacs 21.2.41.
3137         (COMPOSE_ADD_CHAR): Modify for interface change of
3138         `get_char_id_table'.
3139
3140         * mule-charset.c (put_char_ccs_code_point): Modify for interface
3141         change of `put_char_id_table'.
3142         (remove_char_ccs): Likewise.
3143
3144         * chartab.h (put_char_id_table): Change interface.
3145
3146         * char-ucs.h (get_char_id_table): Change interface.
3147         (charset_code_point): Modify for interface change of
3148         `get_char_id_table'.
3149         (encode_char_1): Likewise.
3150
3151 2001-08-19  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3152
3153         * chartab.c (map_over_uint8_byte_table): Change arguments; add new
3154         argument `ccs'.
3155         (map_over_uint16_byte_table): Likewise.
3156         (map_over_byte_table): Likewise.
3157         (map_char_id_table): Add new argument `range' like
3158         `map_char_table'.
3159         (Fmap_char_attribute): Add new argument `range' like
3160         `Fmap_char_table'.
3161
3162 2001-08-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3163
3164         * chartab.c (map_over_uint8_byte_table): Change interface of
3165         mapping function to use struct chartab_range instead of Emchar.
3166         (map_over_uint16_byte_table): Likewise.
3167         (map_over_byte_table): Likewise.
3168         (map_char_id_table): Likewise.
3169         (struct slow_map_char_id_table_arg): Deleted.
3170         (slow_map_char_id_table_fun): Deleted.
3171         (Fmap_char_attribute): Use struct `slow_map_char_table_arg' and
3172         function `slow_map_char_table_fun' instead of struct
3173         `slow_map_char_id_table_arg' and function
3174         `slow_map_char_id_table_fun'.
3175
3176 2001-08-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3177
3178         * mule-charset.c: Move char-it-table related codes to chartab.c.
3179         (Vutf_2000_version): Moved to chartab.c.
3180         (Fdefine_char): Likewise.
3181         (Ffind_char): Likewise.
3182         (syms_of_mule_charset): Move types `uint8-byte-table',
3183         `uint16-byte-table', `byte-table' and `char-id-table' to
3184         chartab.c; move functions `char_attribute_list,
3185         `find_char_attribute_table, `char_attribute_alist,
3186         `get_char_attribute, `put_char_attribute, `remove_char_attribute,
3187         `map_char_attribute, `define_char, `find_char, `char_variants and
3188         `get_composite_char to chartab.c; move symbols `=>ucs',
3189         `->decomposition', `compat', `isolated', `initial', `medial',
3190         `final', `vertical', `noBreak', `fraction', `super', `sub',
3191         `circle', `square', `wide', `narrow', `small' and `font' to
3192         chartab.c.
3193         (vars_of_mule_charset): Move `utf-2000-version' to chartab.c; move
3194         setting codes for `Vcharacter_composition_table' and
3195         `Vcharacter_variant_table' to chartab.c.
3196         (complex_vars_of_mule_charset): Move setting code for
3197         `Vchar_attribute_hash_table' to chartab.c.
3198
3199         * chartab.h: Include "char-ucs.h" if --with-utf-2000 is specified.
3200         (make_char_id_table): New prototype.
3201         (put_char_id_table): Likewise.
3202         (Fget_char_attribute): Likewise.
3203
3204         * chartab.c: Move char-id-table related code from mule-charset.c.
3205         (Vutf_2000_version): Moved from mule-charset.c.
3206
3207         * char-ucs.h (Qucs): New external variable.
3208         (put_char_ccs_code_point): New prototype.
3209         (remove_char_ccs): Likewise.
3210
3211 2001-08-14  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
3212
3213         * mule-charset.c (Vcharset_ucs_jis): New variable.
3214         (Qucs_jis): Likewise.
3215         (syms_of_mule_charset): Add new symbol `ucs-jis'.
3216         (complex_vars_of_mule_charset): Add new coded-charset `ucs-jis'.
3217
3218         * char-ucs.h (LEADING_BYTE_UCS_JIS): New macro.
3219
3220 2001-08-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3221
3222         * mule-charset.c (map_over_uint8_byte_table): New function.
3223         (map_over_uint16_byte_table): Likewise.
3224         (map_over_byte_table): Likewise.
3225         (map_char_id_table): Likewise.
3226         (slow_map_char_id_table_fun): Likewise.
3227         (Fmap_char_attribute): Likewise.
3228         (syms_of_mule_charset): Add new function `map-char-attribute'.
3229
3230 2001-08-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3231
3232         * mule-charset.c (Ffind_char): New function in XEmacs UTF-2000.
3233         (syms_of_mule_charset): Add new function `find-char'.
3234
3235 2001-08-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3236
3237         * mule-charset.c (Vcharset_chinese_big5_cdp): New variable in
3238         XEmacs UTF-2000.
3239         (Qchinese_big5_cdp): New variable in XEmacs UTF-2000.
3240         (syms_of_mule_charset): Add new symbol `chinese-big5-cdp' in
3241         XEmacs UTF-2000.
3242         (complex_vars_of_mule_charset): Add new coded-charset
3243         `chinese-big5-cdp' in XEmacs UTF-2000; change registry of
3244         `ideograph-gt-pj-*'.
3245
3246         * char-ucs.h (LEADING_BYTE_CHINESE_BIG5_CDP): New macro.
3247
3248 2001-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3249
3250         * mule-charset.c (encode_builtin_char_1): Purge codes about
3251         {MIN|MAX}_CHAR_{GREEK|CYRILLIC}; comment out code about
3252         {MIN|MAX}_CHAR_HEBREW.
3253         (complex_vars_of_mule_charset): Comment out {MIN|MAX}_CHAR_HEBREW;
3254         don't use {MIN|MAX}_CHAR_HEBREW to define `hebrew-iso8859-8'.
3255
3256         * char-ucs.h (MIN_CHAR_GREEK): Purged.
3257         (MAX_CHAR_GREEK): Purged.
3258         (MIN_CHAR_CYRILLIC): Purged.
3259         (MAX_CHAR_CYRILLIC): Purged.
3260         (MIN_CHAR_HEBREW): Commented out.
3261         (MAX_CHAR_HEBREW): Likewise.
3262
3263 2001-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3264
3265         * mule-charset.c (Qto_ucs): New variable.
3266         (Fput_char_attribute): Treat `=>ucs' as same as `->ucs'.
3267         (Fdefine_char): Likewise.
3268         (syms_of_mule_charset): Add new symbol `=>ucs'.
3269
3270 2001-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3271
3272         * mule-charset.c (Fdecode_char): Fixed.
3273
3274 2001-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3275
3276         * mule-charset.c (complex_vars_of_mule_charset): Modify registry
3277         of latin-tcvn5712 to accept "tcvn5712.1993-1" as same as
3278         "tcvn5712-1".
3279
3280 2001-07-21  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3281
3282         * mule-charset.c (Vcharset_ucs_big5): New variable.
3283         (Qucs_big5): Likewise.
3284         (syms_of_mule_charset): Add new symbol `ucs-big5'.
3285         (complex_vars_of_mule_charset): Add new coded-charset `ucs-big5'.
3286
3287         * char-ucs.h (LEADING_BYTE_UCS_BIG5): New macro.
3288
3289 2001-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3290
3291         * mule-charset.c (decode_builtin_char): Check Big5 code range
3292         which can be mapped to `chinese-big5-1' and `chinese-big5-2'.
3293
3294 2001-07-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3295
3296         * mule-charset.c (Vcharset_chinese_gb12345): New variable.
3297         (Qchinese_gb12345): Likewise.
3298         (Fdecode_builtin_char): Fixed.
3299         (syms_of_mule_charset): Add `chinese-gb12345'.
3300         (complex_vars_of_mule_charset): Add coded-charset
3301         `chinese-gb12345'.
3302
3303         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x70.
3304         (LEADING_BYTE_CHINESE_GB12345): New macro.
3305
3306 2001-07-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3307
3308         * mule-charset.c (Fdecode_builtin_char): Use `latin-viscii-lower'
3309         and `latin-viscii-upper' for `latin-viscii'.
3310
3311 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3312
3313         * mule-charset.c (Fdecode_builtin_char): Comment out
3314         regularization code for ISO-IR GR representation.
3315
3316 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3317
3318         * mule-charset.c (decode_builtin_char): New function; renamed from
3319         `make_builtin_char'; return -1 instead of signal.
3320         (Fdecode_builtin_char): Use `decode_builtin_char'.
3321
3322         * char-ucs.h (decode_builtin_char): New prototype; renamed from
3323         `make_builtin_char'.
3324         (DECODE_CHAR): Use `decode_builtin_char' instead of
3325         `make_builtin_char'; use mapping table of `chinese-big5' for
3326         `chinese-big5-{1,2}'.
3327
3328 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3329
3330         * text-coding.c (char_encode_big5): New function.
3331         (char_finish_big5): Likewise.
3332         (reset_encoding_stream): Use `char_encode_big5' and
3333         `char_finish_big5' for CODESYS_BIG5.
3334         (mule_encode): Don't use `encode_coding_big5'.
3335         (encode_coding_big5): Deleted.
3336
3337 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3338
3339         * text-coding.c (BYTE_BIG5_TWO_BYTE_1_P): Support private area
3340         0x81- in XEmacs UTF-2000.
3341         (detect_coding_big5): Likewise.
3342
3343 2001-07-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3344
3345         * mule-charset.c (Fdefine_char): Don't use a CCS property to
3346         generate character-id if the CCS property does not have
3347         corresponding predefined character.
3348         (make_builtin_char): Return -1 if corresponding predefined
3349         character is not found.
3350         (Fdecode_char): Return nil if corresponding character is not
3351         found.
3352         (complex_vars_of_mule_charset): Change `ucs-cns' to 256^3-set and
3353         don't map to builtin ucs space.
3354
3355 2001-07-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3356
3357         * char-ucs.h (MAX_LEADING_BYTE_PRIVATE): Fixed.
3358         (MAX_CHAR_GT): Changed to `(MIN_CHAR_GT + 66773)'.
3359
3360 2001-07-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3361
3362         * mule-charset.c (Vcharset_ideograph_gt): New variable.
3363         (Vcharset_ideograph_gt_pj_{1..11}): Likewise.
3364         (Qideograph_gt): Likewise.
3365         (Qideograph_gt_pj_{1..11}): Likewise.
3366         (syms_of_mule_charset): Add `ideograph-gt', `ideograph-gt-pj-1',
3367         `ideograph-gt-pj-2', ..., `ideograph-gt-pj-10' and
3368         `ideograph-gt-pj-11'.
3369         (complex_vars_of_mule_charset): Add coded-charset `ideograph-gt',
3370         `ideograph-gt-pj-1', `ideograph-gt-pj-2', ...,
3371         `ideograph-gt-pj-10' and `ideograph-gt-pj-11'.
3372
3373         * char-ucs.h (LEADING_BYTE_GT): New macro.
3374         (LEADING_BYTE_GT_PJ_{1..11}): Likewise.
3375         (MIN_CHAR_GT): Likewise.
3376         (MAX_CHAR_GT): Likewise.
3377
3378 2001-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3379
3380         * lisp-disunion.h (XCHARVAL): New implementation for UTF-2000 to
3381         support U-60000000 .. U-7FFFFFFF with 32 bits architecture.
3382
3383         * doprnt.c (unsigned_int_converters): Add `c'.
3384         (emacs_doprnt_1): Use `XUINT' for unsigned integers.
3385
3386         * char-ucs.h (MIN_CHAR_DAIKANWA): Don't refer `MIN_CHAR_MOJIKYO'.
3387         (MAX_CHAR_DAIKANWA): Refer `MIN_CHAR_DAIKANWA' instead of
3388         `MIN_CHAR_MOJIKYO'.
3389         (MIN_CHAR_MOJIKYO_0): New macro; refer `MIN_CHAR_DAIKANWA'.
3390         (MAX_CHAR_MOJIKYO_0): New macro.
3391         (MIN_CHAR_MOJIKYO): Changed to 0x60000000.
3392
3393 2001-06-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3394
3395         * mule-charset.c (Fdefine_char): Delete cemented out code.
3396         (encode_builtin_char_1): Modify for new allocation of builtin
3397         Mojikyo characters.
3398
3399         * lisp-disunion.h (XCHARVAL): Cast the argument into EMACS_UINT.
3400
3401 2001-06-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3402
3403         * mule-charset.c (Vcharset_ucs_cns): New variable.
3404         (Qucs_cns): New variable.
3405         (syms_of_mule_charset): Add new symbol `ucs-cns'.
3406         (complex_vars_of_mule_charset): Add new coded-charset `ucs-cns'.
3407
3408 2001-05-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3409
3410         * char-ucs.h (LEADING_BYTE_UCS_CNS): New macro.
3411
3412 2000-12-09  MORIOKA Tomohiko  <tomo@m17n.org>
3413
3414         * search.c (search_buffer): Make `charset_base_code' as
3415         character-id >> 6 to eliminate the corresponding last byte in
3416         UTF-8 representation [I'm not sure it is right thing].
3417         (boyer_moore): Likewise.
3418
3419 2000-12-09  MORIOKA Tomohiko  <tomo@m17n.org>
3420
3421         * emacs.c (vars_of_emacs): Convert XEMACS_CODENAME to internal
3422         representation in MULE.
3423
3424 2000-11-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3425
3426         * text-coding.c (Fmake_coding_system): Use
3427         `EXTERNAL_PROPERTY_LIST_LOOP_3' instead of
3428         `EXTERNAL_PROPERTY_LIST_LOOP'.
3429
3430 2000-11-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3431
3432         * text-coding.c (decode_output_utf8_partial_char): New function.
3433         (decode_coding_utf8): Use `decode_output_utf8_partial_char'.
3434
3435 2000-11-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3436
3437         * text-coding.c (decode_coding_utf8): Output original byte
3438         sequence if it is broken; change order of conditions.
3439
3440         * mb-utf-8.h (REP_BYTES_BY_FIRST_BYTE): Use Bufbyte; reverse order
3441         of conditions.
3442
3443         * mb-multibyte.h (BYTE_ASCII_P):
3444         Use bit ops for char-signedness safety.
3445         (BYTE_C0_P): Use bit ops for char-signedness safety.
3446         (BYTE_C1_P): Use bit ops for char-signedness safety.
3447
3448         * character.h: (XCHAR_OR_CHAR_INT):
3449         Always use inline function.
3450         Remove redundant type checking assert() - XINT will abort quite
3451         nicely.
3452
3453 2000-11-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3454
3455         * text-coding.c: (Fencode_shift_jis_char):
3456         (Fencode_big5_char):
3457         Docstring arglist/Texinfo fixes.  See man/ChangeLog for details.
3458         Replace 0 with '\0' when working with bytes.
3459         Replace initial "(" with "\(" in docstrings.
3460
3461         (Fmake_coding_system):
3462         When type is ccl and value is vector, register it with a proper
3463         symbol.  And checks whether the given ccl program is valid.
3464         (mule_decode): When calling ccl_driver, if src indicates
3465         NULL pointer, set an empty string instead.
3466         (mule_encode): Likewise.
3467
3468         (detect_eol_type):
3469         (detect_coding_sjis):
3470         (decode_coding_sjis):
3471         (detect_coding_big5):
3472         (decode_coding_big5):
3473         (detect_coding_ucs4):
3474         (decode_coding_ucs4):
3475         (detect_coding_utf8):
3476         (decode_coding_utf8):
3477         (detect_coding_iso2022):
3478         (decode_coding_iso2022):
3479         (decode_coding_no_conversion):
3480         (mule_decode):
3481         Make all detecting and decoding functions take an Extbyte * arg.
3482         (text_encode_generic):
3483         (encode_coding_big5):
3484         (encode_coding_no_conversion):
3485         (mule_encode):
3486         Make all encoding functions take a Bufbyte * arg.
3487         Use size_t instead of unsigned int for memory sizes.
3488         Only cast to unsigned char whenever dereferencing Extbyte *.
3489
3490         (struct lrecord_description fcd_description_1): Use countof.
3491         (complex_vars_of_file_coding):
3492         Use countof instead of sizeof.
3493         Use CHECK_NATNUM instead of CHECK_INT.
3494
3495 2000-11-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3496
3497         * mule-charset.c (Fget_char_attribute): Add new optional argument
3498         `default-value'.
3499         (put_char_ccs_code_point): Modify for `Fget_char_attribute'.
3500         (remove_char_ccs): Likewise.
3501
3502 2000-10-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3503
3504         * text-coding.c (char_encode_shift_jis): New implementation in
3505         UTF-2000.
3506         (decode_coding_big5): Use `DECODE_CHAR (Vcharset_chinese_big5,
3507         ...)'.
3508
3509         * mule-charset.c (Vcharset_chinese_big5): New variable in
3510         UTF-2000.
3511         (Qchinese_big5): New variable in UTF-2000.
3512         (BIG5_SAME_ROW): New macro in UTF-2000.
3513         (make_builtin_char): Use builtin characters of
3514         `Vcharset_chinese_big5_1' and `Vcharset_chinese_big5_2' as builtin
3515         characters of `Vcharset_chinese_big5'.
3516         (syms_of_mule_charset): Add new symbol `chinese-big5' in UTF-2000.
3517         (complex_vars_of_mule_charset): Add new coded-charset
3518         `chinese-big5' in UTF-2000.
3519
3520         * char-ucs.h (LEADING_BYTE_CHINESE_BIG5): New macro.
3521         (Vcharset_chinese_big5): New external variable declaration.
3522         (Vcharset_japanese_jisx0208_1990): Likewise.
3523
3524 2000-07-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3525
3526         * mule-charset.c (expand_uint8_byte_table_to_uint16): New
3527         function.
3528         (put_byte_table): Use `expand_uint8_byte_table_to_uint16'.
3529
3530 2000-07-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3531
3532         * mule-charset.c (complex_vars_of_mule_charset): Define new macro
3533         `DEF_MOJIKYO_PJ' in UTF-2000; use `DEF_MOJIKYO_PJ' to define
3534         `mojikyo-pj-*'; add "MojikyoPJ-*" to charset-registry of
3535         `mojikyo-pj-*'.
3536
3537 2000-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3538
3539         * text-coding.c (decode_coding_big5): Modify for UTF-2000.
3540
3541 2000-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3542
3543         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3544         to 0.17.
3545
3546 2000-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3547
3548         * file-coding.c (ucs_to_char): Don't use `CHARSET_TYPE_*'; modify
3549         for `CHARSET_BY_ATTRIBUTES'.
3550         (parse_iso2022_esc): Don't use `CHARSET_TYPE_*'; modify for
3551         `CHARSET_BY_ATTRIBUTES'.
3552
3553         * text-coding.c (struct decoding_stream): Rename member `CH' to
3554         `CPOS'.
3555         (reset_decoding_stream): Use `str->cpos' instead of `str->ch'.
3556         (decode_coding_sjis): Likewise.
3557         (decode_coding_big5): Likewise.
3558         (decode_coding_ucs4): Likewise.
3559         (decode_coding_utf8): Likewise.
3560         (parse_iso2022_esc): Don't use `CHARSET_TYPE_*'; modify for
3561         `CHARSET_BY_ATTRIBUTES'.
3562         (decode_coding_iso2022): Use `str->cpos' instead of `str->ch'; use
3563         `str->counter'; decode 3, 4 bytes sets.
3564         (char_encode_iso2022): Don't use `BREAKUP_CHAR'; encode 3, 4 bytes
3565         sets.
3566         (decode_coding_no_conversion): Use `str->cpos' instead of
3567         `str->ch'.
3568
3569         * mule-charset.c (Vcharset_mojikyo_2022_1): New variable.
3570         (Qmojikyo_2022_1): New variable.
3571         (make_charset): Don't use `CHARSET_TYPE_*'.
3572         (range_charset_code_point): Support coded-charset
3573         `mojikyo-2022-1'.
3574         (encode_builtin_char_1): Modify for `CHARSET_BY_ATTRIBUTES'.
3575         (Fmake_charset): Don't use `CHARSET_TYPE_*'; modify for
3576         `CHARSET_BY_ATTRIBUTES'.
3577         (Fcharset_from_attributes): Don't use `CHARSET_TYPE_*'; modify for
3578         `CHARSET_BY_ATTRIBUTES'.
3579         (syms_of_mule_charset): Add new symbol `mojikyo-2022-1'.
3580         (complex_vars_of_mule_charset): Add new coded-charset
3581         `mojikyo-2022-1'.
3582
3583         * mule-charset.h (CHARSET_BY_ATTRIBUTES): New implementation and
3584         interface; changed to inline function.
3585
3586         * char-ucs.h (Vcharset_mojikyo_2022_1): New variable.
3587         (LEADING_BYTE_MOJIKYO_2022_1): New macro.
3588         (LEADING_BYTE_MOJIKYO_2022_2): New macro.
3589         (CHARSET_TYPE_94): Deleted.
3590         (CHARSET_TYPE_94X94): Deleted.
3591         (CHARSET_TYPE_96): Deleted.
3592         (CHARSET_TYPE_96X96): Deleted.
3593         (CHARSET_TYPE_128): Deleted.
3594         (CHARSET_TYPE_128X128): Deleted.
3595         (CHARSET_TYPE_256): Deleted.
3596         (CHARSET_TYPE_256X256): Deleted.
3597         (CHARSET_BY_ATTRIBUTES): New implementation and interface; changed
3598         to inline function.
3599         (DECODE_MOJIKYO_2022): New inline function.
3600         (DECODE_CHAR): Use `DECODE_MOJIKYO_2022'; decode
3601         `Vcharset_mojikyo_2022_1'.
3602
3603 2000-07-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3604
3605         * mule-charset.c (byte_table_same_value_p): Use `internal_equal'
3606         instead of `EQ'.
3607         (put_byte_table): Likewise.
3608         (char_id_table_equal): Use `get_byte_table' [new implementation].
3609
3610 2000-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3611
3612         * mule-charset.c: Include <limits.h> in UTF-2000.
3613         (BT_UINT8_MIN): New macro in UTF-2000.
3614         (BT_UINT8_MAX): New macro in UTF-2000.
3615         (BT_UINT8_t): New macro in UTF-2000.
3616         (BT_UINT8_nil): New macro in UTF-2000.
3617         (BT_UINT8_unbound): New macro in UTF-2000.
3618         (INT_UINT8_P): New inline function in UTF-2000.
3619         (UINT8_VALUE_P): New inline function in UTF-2000.
3620         (UINT8_ENCODE): New inline function in UTF-2000.
3621         (UINT8_DECODE): New inline function in UTF-2000.
3622         (mark_uint8_byte_table): New function in UTF-2000.
3623         (print_uint8_byte_table): New function in UTF-2000.
3624         (uint8_byte_table_equal): New function in UTF-2000.
3625         (uint8_byte_table_hash): New function in UTF-2000.
3626         (make_uint8_byte_table): New function in UTF-2000.
3627         (uint8_byte_table_same_value_p): New function in UTF-2000.
3628         (BT_UINT16_MIN): New macro in UTF-2000.
3629         (BT_UINT16_MAX): New macro in UTF-2000.
3630         (BT_UINT16_t): New macro in UTF-2000.
3631         (BT_UINT16_nil): New macro in UTF-2000.
3632         (BT_UINT16_unbound): New macro in UTF-2000.
3633         (INT_UINT16_P): New inline function in UTF-2000.
3634         (UINT16_VALUE_P): New inline function in UTF-2000.
3635         (UINT16_ENCODE): New inline function in UTF-2000.
3636         (UINT16_DECODE): New inline function in UTF-2000.
3637         (UINT8_TO_UINT16): New inline function in UTF-2000.
3638         (mark_uint16_byte_table): New function in UTF-2000.
3639         (print_uint16_byte_table): New function in UTF-2000.
3640         (uint16_byte_table_equal): New function in UTF-2000.
3641         (uint16_byte_table_hash): New function in UTF-2000.
3642         (make_uint16_byte_table): New function in UTF-2000.
3643         (uint16_byte_table_same_value_p): New function in UTF-2000.
3644         (print_byte_table): New function in UTF-2000.
3645         (byte-table): Use `print_byte_table' as printer.
3646         (make_byte_table): Delete second argument `older'.
3647         (byte_table_same_value_p): New function in UTF-2000.
3648         (copy_byte_table): Deleted.
3649         (get_byte_table): New function in UTF-2000.
3650         (put_byte_table): New function in UTF-2000.
3651         (print_char_id_table): New function in UTF-2000.
3652         (char-id-table): Use `print_char_id_table' as printer.
3653         (make_char_id_table): Delete second argument `older'.
3654         (get_char_id_table): Use `get_byte_table [new implementation].
3655         (put_char_id_table): Use `get_byte_table and `put_byte_table' [new
3656         implementation].
3657         (Ffind_char_attribute_table): New function in UTF-2000.
3658         (mark_charset): Mark `cs->encoding_table' in UTF-2000.
3659         (syms_of_mule_charset): Add LRECORD_IMPLEMENTATION
3660         `uint8_byte_table' and `uint16_byte_table' in UTF-2000.
3661         (syms_of_mule_charset): Add new function
3662         `find-char-attribute-table' in UTF-2000.
3663
3664         * lrecord.h (enum lrecord_type): Add
3665         `lrecord_type_uint16_byte_table' and
3666         `lrecord_type_uint8_byte_table'.
3667
3668         * char-ucs.h (struct Lisp_Uint8_Byte_Table): New structure.
3669         (Lisp_Uint8_Byte_Table): New type.
3670         (XUINT8_BYTE_TABLE): New macro.
3671         (XSETUINT8_BYTE_TABLE): New macro.
3672         (UINT8_BYTE_TABLE_P): New macro.
3673         (GC_UINT8_BYTE_TABLE_P): New macro.
3674         (struct Lisp_Uint16_Byte_Table): New structure.
3675         (Lisp_Uint16_Byte_Table): New type.
3676         (XUINT16_BYTE_TABLE): New macro.
3677         (XSETUINT16_BYTE_TABLE): New macro.
3678         (UINT16_BYTE_TABLE_P): New macro.
3679         (GC_UINT16_BYTE_TABLE_P): New macro.
3680
3681 2000-07-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3682
3683         * mule-charset.c (Vcharacter_ideographic_radical_table): Deleted.
3684         (Vcharacter_ideographic_strokes_table): Deleted.
3685         (Vcharacter_total_strokes_table): Deleted.
3686         (Vcharacter_morohashi_daikanwa_table): Deleted.
3687         (Vcharacter_decomposition_table): Deleted.
3688         (Qname): Deleted because it is duplicated.
3689         (Qideographic_radical): Deleted.
3690         (Qideographic_strokes): Deleted.
3691         (Qtotal_strokes): Deleted.
3692         (Qmorohashi_daikanwa): Deleted.
3693         (Fchar_attribute_alist): Use `Vchar_attribute_hash_table' for
3694         `ideographic-radical', `ideographic-strokes', `total-strokes',
3695         `morohashi-daikanwa' and `->decomposition'.
3696         (Fget_char_attribute): Likewise.
3697         (Fput_char_attribute): Likewise; use `make-vector' instead of
3698         `make_older_vector' for `->decomposition' value.
3699         (Fdefine_char): Comment out code to check `morohashi-daikanwa' and
3700         `ideograph-daikanwa'.
3701         (syms_of_mule_charset): Delete builtin symbols `name',
3702         `ideographic-radical', `ideographic-strokes', `total-strokes' and
3703         `morohashi-daikanwa'.
3704         (vars_of_mule_charset): Don't setup
3705         `Vcharacter_ideographic_radical_table',
3706         `Vcharacter_ideographic_strokes_table',
3707         `Vcharacter_total_strokes_table',
3708         `Vcharacter_morohashi_daikanwa_table' and
3709         `Vcharacter_decomposition_table'.
3710
3711 2000-06-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3712
3713         * alloc.c: Use `HAVE_GGC' instead of `UTF2000' for
3714         `make_older_vector', `make_vector_newer_1' and
3715         `make_vector_newer'.
3716
3717         * lisp.h: Use `HAVE_GGC' instead of `UTF2000' for
3718         `make_older_vector' and `make_vector_newer'.
3719
3720         * config.h.in (HAVE_GGC): New macro.
3721
3722 2000-06-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3723
3724         * mule-charset.c (struct char_attribute_list_closure): New
3725         structure in UTF-2000.
3726         (add_char_attribute_to_list_mapper): New function in UTF-2000.
3727         (Fchar_attribute_list): Likewise.
3728         (Fset_charset_mapping_table): Use `make_vector_newer'.
3729         (Fdecode_builtin_char): New function in UTF-2000.
3730         (syms_of_mule_charset): Add new function `char-attribute-list' and
3731         `decode-builtin-char' in UTF-2000.
3732
3733         * lisp.h (make_vector_newer): New prototype.
3734
3735         * alloc.c (make_vector_newer_1): New function.
3736         (make_vector_newer): New function.
3737
3738 2000-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3739
3740         * char-ucs.h (MAX_CHAR_DAIKANWA): Changed to `(MIN_CHAR_MOJIKYO +
3741         50100)'.
3742
3743 2000-06-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3744
3745         * mule-charset.c (Vchar_attribute_hash_table): New variable.
3746         (Vcharacter_attribute_table): Deleted.
3747         (Vcharacter_name_table): Deleted.
3748         (put_char_attribute): Deleted.
3749         (remove_char_attribute): Deleted.
3750         (struct char_attribute_alist_closure): New structure.
3751         (add_char_attribute_alist_mapper): New function.
3752         (Fchar_attribute_alist): Use `Vchar_attribute_hash_table' instead
3753         of `Vcharacter_attribute_table' and `Vcharacter_name_table'.
3754         (Fget_char_attribute): Likewise.
3755         (Fput_char_attribute): Likewise.
3756         (Fremove_char_attribute): Use `Vchar_attribute_hash_table' instead
3757         of `remove_char_attribute'.
3758         (Fdefine_char): Return character.
3759         (vars_of_mule_charset): Don't setup `Vcharacter_attribute_table'
3760         and `Vcharacter_name_table'.
3761         (complex_vars_of_mule_charset): Likewise
3762         `Vchar_attribute_hash_table'.
3763
3764 2000-06-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3765
3766         * character.h (CHARC_CHARSET): New macro.
3767         (CHARC_CHARSET_ID): New macro.
3768         (CHARC_CODE_POINT): New macro.
3769         (CHARC_COLUMNS): New macro.
3770         (CHARC_TO_CHAR): New inline function.
3771         (CHARC_EQ): New inline function.
3772         (CHARC_ASCII_EQ): New inline function.
3773         (CHARC_IS_SPACE): New inline function.
3774         (ASCII_TO_CHARC): New inline function.
3775
3776         * char-ucs.h (encode_char_2): Deleted.
3777         (ENCODE_CHAR): Use `encode_char_1' again.
3778         (breakup_char_1): Likewise.
3779         (CHAR_TO_CHARC): New inline function.
3780
3781         * char-lb.h, char-1byte.h (CHAR_TO_CHARC): New inline function.
3782
3783 2000-06-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3784
3785         * redisplay.c (add_emchar_rune): Use `ASCII_TO_CHARC',
3786         `CHAR_TO_CHARC' and `CHARC_CHARSET'.
3787         (create_text_block): Use `CHARC_ASCII_EQ' and `CHARC_IS_SPACE'.
3788         (generate_formatted_string_db): Use `CHARC_TO_CHAR'.
3789         (create_string_text_block): Use `CHARC_ASCII_EQ' and
3790         `CHARC_IS_SPACE'.
3791         (pixel_to_glyph_translation): Use `CHARC_ASCII_EQ'.
3792
3793         * redisplay-x.c (separate_textual_runs): Use `CHARC_CHARSET' and
3794         `CHARC_CODE_POINT'.
3795         (x_output_display_block): Use `CHARC_CHARSET' and
3796         `CHARC_ASCII_EQ'.
3797
3798         * redisplay-tty.c (tty_output_display_block): Use
3799         `CHARC_ASCII_EQ'.
3800         (tty_output_display_block): Likewise; use `ASCII_TO_CHARC'.
3801
3802         * redisplay-output.c (compare_runes): Use `CHARC_EQ'.
3803
3804         * insdel.c (find_charsets_in_charc_string): Use
3805         `CHARC_CHARSET_ID'.
3806         (charc_string_displayed_columns): Use `CHARC_COLUMNS'.
3807         (convert_bufbyte_string_into_charc_dynarr): Use `CHAR_TO_CHARC'.
3808         (convert_charc_string_into_bufbyte_dynarr): Use `CHARC_TO_CHAR'.
3809         (convert_charc_string_into_malloced_string): Likewise.
3810
3811 2000-06-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3812
3813         * toolbar-x.c (x_output_toolbar_button): Use <Charc_dynarr *>
3814         instead of <Emchar_dynarr *> for buf; use
3815         `convert_bufbyte_string_into_charc_dynarr' instead of
3816         `convert_bufbyte_string_into_emchar_dynarr'; use
3817         `find_charsets_in_charc_string' instead of
3818         `find_charsets_in_emchar_string'.
3819
3820         * redisplay.h:
3821         - Include "character.h".
3822         (struct rune): New member `cglyph'; delete member `chr'.
3823
3824         * redisplay.c (redisplay_text_width_charc_string): New function;
3825         delete `redisplay_text_width_emchar_string'.
3826         (rtw_charc_dynarr): New variable; renamed from
3827         `rtw_emchar_dynarr'.
3828         (redisplay_text_width_string): Use `rtw_charc_dynarr' instead of
3829         `rtw_emchar_dynarr'; use
3830         `convert_bufbyte_string_into_charc_dynarr' instead of
3831         `convert_bufbyte_string_into_emchar_dynarr'; use
3832         `redisplay_text_width_charc_string' instead of
3833         `redisplay_text_width_emchar_string'.
3834         (redisplay_frame_text_width_string): Use `rtw_charc_dynarr'
3835         instead of `rtw_emchar_dynarr'; use
3836         `convert_bufbyte_string_into_charc_dynarr' instead of
3837         `convert_bufbyte_string_into_emchar_dynarr'.
3838         (add_emchar_rune): Add <Charc> instead of <Emchar>; use
3839         `redisplay_text_width_charc_string' instead of
3840         `redisplay_text_width_emchar_string'.
3841         (create_text_block): Modify for <struct rune> change.
3842         (generate_formatted_string_db): Likewise.
3843         (create_string_text_block): Likewise.
3844         (pixel_to_glyph_translation): Likewise.
3845
3846         * redisplay-x.c (separate_textual_runs): Use <const Charc *>
3847         instead of <const Emchar *>.
3848         (x_text_width): Likewise.
3849         (x_output_display_block): Use <Charc_dynarr *> instead
3850         <Emchar_dynarr *>; modify for <structure rune> change.
3851         (x_output_string): Use <Charc_dynarr *> instead of <Emchar_dynarr
3852         *>.
3853
3854         * redisplay-tty.c (tty_text_width): Use <const Charc *> instead of
3855         <const Emchar *>; use `charc_string_displayed_columns' instead of
3856         `emchar_string_displayed_columns'.
3857         (tty_output_display_block): Use <Charc_dynarr *> instead of
3858         <Emchar_dynarr *> for buf; modify for <structure rune> change; use
3859         `tty_output_charc_dynarr' instead of `tty_output_emchar_dynarr'.
3860         (tty_output_charc_dynarr_dynarr): New variable; renamed from
3861         `tty_output_emchar_dynarr_dynarr'.
3862         (tty_output_charc_dynarr): New function; delete
3863         `tty_output_charc_dynarr'.
3864
3865         * redisplay-output.c (compare_runes): Modify for `struct rune'.
3866         (redisplay_output_layout): Use <Charc_dynarr *> instead of
3867         <Emchar_dynarr *> for buf; use
3868         `convert_bufbyte_string_into_charc_dynarr' instead of
3869         `convert_bufbyte_string_into_emchar_dynarr'.
3870
3871         * frame.c (title_string_charc_dynarr): New variable; renamed from
3872         `title_string_emchar_dynarr'.
3873         (generate_title_string): Use `title_string_charc_dynarr' instead
3874         of `title_string_emchar_dynarr'; use
3875         `convert_charc_string_into_malloced_string' instead of
3876         `convert_emchar_string_into_malloced_string'.
3877         (init_frame): Use `title_string_charc_dynarr' instead of
3878         `title_string_emchar_dynarr'.
3879
3880         * console.h:
3881         - Include "character.h".
3882         (struct console_methods): Use <const Charc *> instead of <const
3883         Emchar *> in `text_width_method'; use <Charc_dynarr *> instead of
3884         <Emchar_dynarr *> in output_string_method.
3885
3886         * console-x.h (x_output_string): Use <Charc_dynarr *> instead of
3887         <Emchar_dynarr *>.
3888
3889         * console-stream.c (stream_text_width): Use <const Charc *>
3890         instead of <const Emchar *>.
3891
3892         * character.h (Charc_dynarr): New type.
3893
3894         * char-ucs.h (structure Charc): New structure; define new type
3895         `Charc'.
3896
3897         * char-lb.h (DECODE_CHAR): New inline function.
3898         (encode_char_1): New inline function.
3899         (ENCODE_CHAR): New macro.
3900         (structure Charc): New structure; define new type `Charc'.
3901
3902         * char-1byte.h (Vcharset_control_1): New macro.
3903         (Vcharset_latin_iso8859_1): New macro.
3904         (DECODE_CHAR): New inline function.
3905         (encode_char_1): New inline function.
3906         (ENCODE_CHAR): New macro.
3907         (structure Charc): New structure; define new type `Charc'.
3908
3909         * insdel.c (find_charsets_in_charc_string): New function; delete
3910         `find_charsets_in_emchar_string'.
3911         (charc_string_displayed_columns): New function; delete
3912         `emchar_string_displayed_columns'.
3913         (convert_bufbyte_string_into_charc_dynarr): New function; delete
3914         `convert_bufbyte_string_into_emchar_dynarr'.
3915         (convert_charc_string_into_bufbyte_dynarr): New function; delete
3916         `convert_charc_string_into_bufbyte_dynarr'.
3917         (convert_charc_string_into_malloced_string): New function; delete
3918         `convert_charc_string_into_malloced_string'.
3919
3920         * buffer.h (find_charsets_in_charc_string): New prototype; delete
3921         `find_charsets_in_emchar_string'.
3922         (charc_string_displayed_columns): New prototype; delete
3923         `emchar_string_displayed_columns'.
3924         (convert_charc_string_into_bufbyte_dynarr): New prototype; delete
3925         `convert_charc_string_into_bufbyte_dynarr'.
3926         (convert_charc_string_into_malloced_string): New prototype; delete
3927         `convert_charc_string_into_malloced_string'.
3928
3929 2000-06-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3930
3931         * select-x.c (Fx_store_cutbuffer_internal): Modify for UTF-2000.
3932
3933 2000-06-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3934
3935         * chartab.h (get_non_ascii_char_table_value): Use <Charset_ID>.
3936
3937         * char-ucs.h: Use <short> for <Charset_ID>.
3938
3939         * mule-charset.h, char-1byte.h: Use <unsigned char> for
3940         <Charset_ID>.
3941
3942 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3943
3944         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3945         to 0.16.
3946
3947 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3948
3949         * mule-charset.c (Vcharacter_morohashi_daikanwa_table): New
3950         variable.
3951         (Qmorohashi_daikanwa): New variable.
3952         (Fchar_attribute_alist): Use `Vcharacter_morohashi_daikanwa_table'
3953         for `morohashi-daikanwa' attribute.
3954         (Fget_char_attribute): Likewise.
3955         (Fput_char_attribute): Likewise.
3956         (Fdefine_char): Don't setup `morohashi-daikanwa' attribute if it
3957         has the same value of `ideograph-daikanwa'.
3958         (syms_of_mule_charset): Add new symbol `morohashi-daikanwa'.
3959         (vars_of_mule_charset): Setup
3960         `Vcharacter_morohashi_daikanwa_table'.
3961
3962 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3963
3964         * mule-charset.c (Fchar_attribute_alist): Add coded-charset
3965         attributes.
3966         (add_charset_to_list_mapper): Add `key' instead of
3967         `XCHARSET_NAME (value)' to return aliases.
3968
3969 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3970
3971         * mule-charset.c (Vcharacter_ideographic_radical_table): New
3972         variable.
3973         (Vcharacter_ideographic_strokes_table): New variable.
3974         (Qideographic_radical): New variable.
3975         (Qideographic_strokes): New variable.
3976         (Fchar_attribute_alist): Use
3977         `Vcharacter_ideographic_radical_table' for `ideographic-radical'
3978         attribute; use `Vcharacter_ideographic_strokes_table' for
3979         `ideographic-strokes' attribute.
3980         (Fget_char_attribute): Likewise.
3981         (Fput_char_attribute): Likewise.
3982         (syms_of_mule_charset): Add new symbol `ideographic-radical' and
3983         `ideographic-strokes'.
3984         (vars_of_mule_charset): Setup
3985         `Vcharacter_ideographic_radical_table' and
3986         `Vcharacter_ideographic_strokes_table'.
3987
3988 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3989
3990         * mule-charset.c (Vcharacter_total_strokes_table): New variable.
3991         (Qtotal_strokes): New variable.
3992         (Fchar_attribute_alist): Use `Vcharacter_total_strokes_table' for
3993         `total-strokes' attribute.
3994         (Fget_char_attribute): Likewise.
3995         (Fput_char_attribute): Likewise.
3996         (syms_of_mule_charset): Add new symbol `total-strokes'.
3997         (vars_of_mule_charset): Setup `Vcharacter_total_strokes_table'.
3998
3999 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4000
4001         * mule-charset.c (Vcharacter_decomposition_table): New variable.
4002         (Fchar_attribute_alist): Add `name' and `->decomposition' if they
4003         are found.
4004         (Fget_char_attribute): Use `Vcharacter_decomposition_table' for
4005         `->decomposition' attribute.
4006         (Fput_char_attribute): Likewise.
4007         (vars_of_mule_charset): Setup `Vcharacter_decomposition_table'.
4008
4009 2000-06-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4010
4011         * mule-charset.c (decoding_table_check_elements): New function.
4012         (Fset_charset_mapping_table): Use `decoding_table_check_elements'.
4013
4014 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4015
4016         * mule-charset.c (Fset_charset_mapping_table): Use
4017         `put_char_ccs_code_point'.
4018
4019 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4020
4021         * mule-charset.c (decoding_table_put_char): New inline function.
4022         (put_char_ccs_code_point): Use `decoding_table_put_char'.
4023
4024 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4025
4026         * mule-charset.c (CHARSET_BYTE_SIZE): New inline function.
4027         (XCHARSET_BYTE_SIZE): New macro.
4028         (decoding_table_remove_char): New inline function.
4029         (put_char_ccs_code_point): Use `XCHARSET_BYTE_SIZE'; use
4030         `decoding_table_remove_char'.
4031         (remove_char_ccs): Use `decoding_table_remove_char'.
4032         (Fset_charset_mapping_table): Use `CHARSET_BYTE_SIZE'.
4033
4034 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4035
4036         * mule-charset.c (Vcharacter_name_table): New variable.
4037         (Qname): New variable.
4038         (Fget_char_attribute): Use `Vcharacter_name_table' for `name'
4039         attribute.
4040         (Fput_char_attribute): Use function `put_char_ccs_code_point'; use
4041         `Vcharacter_name_table' for `name' attribute.
4042         (Fremove_char_attribute): Use function `remove_char_ccs'.
4043         (put_char_ccs_code_point): New function.
4044         (remove_char_ccs): New function.
4045         (syms_of_mule_charset): Add new symbol `name'.
4046         (vars_of_mule_charset): Setup `Vcharacter_name_table'.
4047
4048 2000-05-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4049
4050         * mule-charset.c (make_byte_table): Add new argument `older'.
4051         (make_char_id_table): Likewise.
4052         (copy_char_id_table): Comment out because it is not used.
4053         (put_char_id_table): Modify for `make_byte_table'.
4054         (Fput_char_attribute): Make encoding_table as older object;
4055         inherit older bit of `Vcharacter_composition_table'.
4056         (mark_charset): Don't mark `cs->encoding_table'.
4057         (vars_of_mule_charset): Make `Vcharacter_attribute_table' as a
4058         normal object; make `Vcharacter_composition_table' as an older
4059         object; delete staticpro for `Vcharacter_composition_table'; make
4060         `Vcharacter_variant_table' as a normal object.
4061
4062         * alloc.c (alloc_older_lcrecord): New function in UTF-2000.
4063         (mark_object): Don't check older object in UTF-2000.
4064
4065         * lrecord.h (struct lrecord_header): Add new member `older' in
4066         UTF-2000.
4067         (set_lheader_implementation): Setup `SLI_header->older' in
4068         UTF-2000.
4069         (set_lheader_older_implementation): New macro in UTF-2000.
4070         (OLDER_RECORD_P): New macro in UTF-2000.
4071         (OLDER_RECORD_HEADER_P): New macro in UTF-2000.
4072         (alloc_older_lcrecord): New prototype in UTF-2000.
4073         (alloc_older_lcrecord_type): New macro in UTF-2000.
4074
4075 2000-05-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4076
4077         * mule-charset.c (byte_table_description): Use
4078         `XD_LISP_OBJECT_ARRAY' instead of `XD_LISP_OBJECT'.
4079         (char_id_table_description): Delete bogus `, 1'.
4080         (Fget_char_attribute): Refer encoding_table of each coded-charset
4081         to get value of coded-charset attribute of a character.
4082         (Fput_char_attribute): Use `make_older_vector' instead of
4083         `make_vector'; use encoding_table of each coded-charset to store
4084         value of coded-charset attribute of a character.
4085         (Fremove_char_attribute): Use encoding_table of each coded-charset
4086         to store value of coded-charset attribute of a character.
4087         (mark_charset): Mark `cs->encoding_table'; don't mark
4088         `cs->decoding_table'.
4089         (charset_description): Add description of new member
4090         `encoding_table'.
4091         (make_charset): Initialize `encoding_table'.
4092
4093         * char-ucs.h (struct Lisp_Charset): Add new member
4094         `encoding_table'.
4095         (CHARSET_ENCODING_TABLE): New macro.
4096         (XCHARSET_ENCODING_TABLE): New macro.
4097         (charset_code_point): New implementation.
4098         (encode_char_1): Likewise.
4099
4100         * alloc.c (all_older_lcrecords): New variable in UTF-2000.
4101         (disksave_object_finalization_1): Call finalizers of
4102         `all_older_lcrecords' in UTF-2000.
4103         (make_older_vector): New function in UTF-2000.
4104         (reinit_alloc_once_early): Initialize `all_older_lcrecords' in
4105         UTF-2000.
4106
4107         * lisp.h (make_older_vector): New prototype in UTF-2000.
4108
4109 2000-05-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4110
4111         * lrecord.h (enum lrecord_type): Rename
4112         `lrecord_type_char_code_table' to `lrecord_type_char_id_table'.
4113
4114         * text-coding.c (COMPOSE_ADD_CHAR): Use `CHAR_ID_TABLE_P' and
4115         `get_char_id_table' instead of `CHAR_CODE_TABLE_P' and
4116         `get_char_code_table'.
4117
4118         * mule-charset.c (mark_char_id_table): Renamed from
4119         `mark_char_code_table'.
4120         (char_id_table_equal): Renamed from `char_code_table_equal'.
4121         (char_id_table_hash): Renamed from `char_code_table_hash'.
4122         (make_char_id_table): Renamed from `make_char_code_table'.
4123         (copy_char_id_table): Renamed from `copy_char_code_table'.
4124         (get_char_id_table): Renamed from `get_char_code_table'.
4125         (put_char_id_table): Renamed from `put_char_code_table'.
4126         (to_char_id): Renamed from `to_char_code'.
4127
4128         * char-ucs.h (struct Lisp_Char_ID_Table): Renamed from
4129         `Lisp_Char_Code_Table'.
4130         (char_id_table): Renamed from `char_code_table'.
4131         (XCHAR_ID_TABLE): Renamed from `XCHAR_CODE_TABLE'.
4132         (XSETCHAR_ID_TABLE): Renamed from `XSETCHAR_CODE_TABLE'.
4133         (CHAR_ID_TABLE_P): Renamed from `CHAR_CODE_TABLE_P'.
4134         (GC_CHAR_ID_TABLE_P): Renamed from `GC_CHAR_CODE_TABLE_P'.
4135         (get_char_id_table): Renamed from `get_char_code_table'.
4136
4137 2000-05-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4138
4139         * lrecord.h (enum lrecord_type): Rename
4140         `lrecord_type_char_byte_table' to `lrecord_type_byte_table'.
4141
4142         * mule-charset.c (mark_byte_table): Renamed from
4143         `mark_char_byte_table'.
4144         (byte_table_equal): Renamed from `char_byte_table_equal'.
4145         (byte_table_hash): Renamed from `byte_table_hash'.
4146         (make_byte_table): Renamed from `make_byte_table'.
4147         (copy_byte_table): Renamed from `copy_char_byte_table'.
4148
4149         * char-ucs.h (struct Lisp_Byte_Table): Renamed from
4150         `Lisp_Char_Byte_Table'.
4151         (byte_table): Renamed from `char_byte_table'.
4152         (XBYTE_TABLE): Renamed from `XCHAR_BYTE_TABLE'.
4153         (XSETBYTE_TABLE): Renamed from `XSET_CHAR_BYTE_TABLE'.
4154         (BYTE_TABLE_P): Renamed from `XBYTE_TABLE_P'.
4155         (GC_BYTE_TABLE_P): Renamed from `GC_CHAR_BYTE_TABLE_P'.
4156
4157 2000-05-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4158
4159         * buffer.c (dfc_convert_to_external_format): Modify for UTF-2000.
4160         (dfc_convert_to_internal_format): Likewise.
4161         
4162         * text-coding.c (Fcoding_system_canonical_name_p): New function.
4163         * text-coding.c (Fcoding_system_alias_p): New function.
4164         * text-coding.c (Fcoding_system_aliasee): New function.
4165         * text-coding.c (append_suffix_to_symbol): New function.
4166         * text-coding.c (dangling_coding_system_alias_p): New function.
4167         * text-coding.c (Ffind_coding_system):
4168         * text-coding.c (Fcopy_coding_system):
4169         * text-coding.c (encode_coding_no_conversion):
4170         * text-coding.c (syms_of_file_coding):
4171         * text-coding.c (vars_of_file_coding):
4172         Rewrite coding system alias code.
4173         Allow nested aliases, like symbolic links.
4174         Allow redefinition of coding system aliases.
4175         Prevent existence of dangling coding system aliases.
4176         Eliminate convert_to_external_format.
4177         Eliminate convert_to_internal_format.
4178         
4179         * text-coding.c: Change enum eol_type to eol_type_t.
4180
4181 2000-05-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4182
4183         * mule-charset.c (encode_builtin_char_1): Limit builtin-code-range
4184         of `mojikyo' to MIN_CHAR_MOJIKYO + 94 * 60 * 22.
4185
4186         * char-ucs.h (MAX_CHAR_MOJIKYO): Limit builtin-code-range to
4187         MIN_CHAR_MOJIKYO + 94 * 60 * 22.
4188
4189 2000-04-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4190
4191         * mule-charset.c (encode_builtin_char_1): Use `mojikyo' instead of
4192         `ideograph-daikanwa'.
4193
4194         * char-ucs.h (Vcharset_ucs): Deleted because it is not used.
4195         (Vcharset_ucs_bmp): Likewise.
4196         (Vcharset_mojikyo): Add new extern variable definition.
4197         (Vcharset_latin_iso8859_2): Deleted because it is not used.
4198         (Vcharset_latin_iso8859_3): Likewise.
4199         (Vcharset_latin_iso8859_4): Likewise.
4200         (Vcharset_latin_iso8859_9): Likewise.
4201         (Vcharset_latin_viscii_lower): Likewise.
4202         (Vcharset_latin_viscii_upper): Likewise.
4203         (DECODE_CHAR): If charset is `mojikyo-pj-N', corresponding
4204         `mojikyo' code-point is used to decode.
4205         (encode_char_2): New function [to convert `mojikyo' code-point to
4206         Mojikyo font encoding].
4207         (ENCODE_CHAR): Use `encode_char_2' instead of `encode_code_1'.
4208         (breakup_char_1): Likewise.
4209         (CHAR_CHARSET): Use `ENCODE_CHAR' instead of `BREAKUP_CHAR'.
4210
4211 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4212
4213         * text-coding.c (Fmake_coding_system): Add document about
4214         `disable-composition' property.
4215
4216 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4217
4218         * text-coding.c (Qdisable_composition): New variable; delete
4219         `Qcomposite'.
4220         (Fmake_coding_system): Add new property `disable-composite';
4221         delete property `composite'.
4222         (COMPOSE_ADD_CHAR): Use `CODING_SYSTEM_DISABLE_COMPOSITION'
4223         instead of `!CODING_SYSTEM_COMPOSITE'.
4224         (syms_of_file_coding): Add new symbol `disable-composition';
4225         delete symbol `composite'.
4226
4227         * file-coding.h (struct Lisp_Coding_System): Add
4228         `disable_composition'; delete `enable_composition'.
4229         (CODING_SYSTEM_DISABLE_COMPOSITION): New macro; delete
4230         `CODING_SYSTEM_COMPOSITE'.
4231         (XCODING_SYSTEM_DISABLE_COMPOSITION): New macro; delete
4232         `XCODING_SYSTEM_COMPOSITE'.
4233
4234 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4235
4236         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
4237         to 0.15.
4238
4239 2000-04-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4240
4241         * text-coding.c (Qcomposite): New variable.
4242         (Fmake_coding_system): Add new property `composite'.
4243         (struct decoding_stream): Add `combined_char_count',
4244         `combined_chars' and `combining_table' in UTF-2000.
4245         (COMPOSE_FLUSH_CHARS): New macro.
4246         (COMPOSE_ADD_CHAR): New macro.
4247         (reset_decoding_stream): Reset `str->combined_char_count' and
4248         `str->combining_table' in UTF-2000.
4249         (decode_coding_iso2022): Modify for character-decomposition.
4250         (syms_of_file_coding): Add new symbol `composite'.
4251
4252 2000-04-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4253
4254         * mule-charset.c (Vcharset_latin_tcvn5712): New variable.
4255         (Fput_char_attribute): Set up `Vcharacter_variant_table' instead
4256         of `Vcharacter_composition_table' if `->decomposition' property
4257         has only 1 element.
4258         (Qlatin_tcvn5712): New variable.
4259         (syms_of_mule_charset): Add new symbol `latin-tcvn5712'.
4260         (complex_vars_of_mule_charset): Add new coded-charset
4261         `latin-tcvn5712'.
4262
4263         * char-ucs.h (LEADING_BYTE_LATIN_TCVN5712): New macro.
4264
4265 2000-04-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4266
4267         * file-coding.h (struct Lisp_Coding_System): Add
4268         `enable_composition'.
4269         (CODING_SYSTEM_COMPOSITE): New macro.
4270         (XCODING_SYSTEM_COMPOSITE): New macro.
4271
4272 2000-03-17  MORIOKA Tomohiko  <tomo@m17n.org>
4273
4274         * mule-canna.c (c2mu): Fix problem with UTF-2000.
4275
4276 2000-03-16  MORIOKA Tomohiko  <tomo@m17n.org>
4277
4278         * mule-charset.c (Fput_char_attribute): Don't make mapping-table
4279         if ATTRIBUTE is `ucs' and character-id of CHARACTER = VALUE.
4280
4281 2000-02-24  MORIOKA Tomohiko  <tomo@m17n.org>
4282
4283         * mule-charset.c (Vcharset_mojikyo): New variable.
4284         (Fdefine_char): Don't use coded-charset which does not have
4285         non-builtin character range to allocate character-id.
4286         (Qmojikyo): New variable.
4287         (syms_of_mule_charset): Add new symbol `mojikyo'.
4288         (complex_vars_of_mule_charset): Add new coded-charset `mojikyo'.
4289
4290         * char-ucs.h (LEADING_BYTE_DAIKANWA_EKANJI): New macro.
4291         (LEADING_BYTE_MOJIKYO): New macro.
4292         (MIN_CHAR_MOJIKYO): New macro.
4293         (MIN_CHAR_DAIKANWA): Use `MIN_CHAR_MOJIKYO'.
4294         (MAX_CHAR_MOJIKYO): New macro.
4295
4296 2000-02-12  MORIOKA Tomohiko  <tomo@m17n.org>
4297
4298         * mule-charset.c (remove_char_attribute): Fixed.
4299
4300 2000-02-08  MORIOKA Tomohiko  <tomo@m17n.org>
4301
4302         * mule-charset.c (remove_char_attribute): New function.
4303         (Fremove_char_attribute): New function.
4304         (encode_builtin_char_1): Comment out builtin-support for
4305         greek-iso8859-7 and cyrillic-iso8859-5.
4306         (Fdecode_char): Check `code' is an integer.
4307         (syms_of_mule_charset): Add `remove-char-attribute'.
4308         (MIN_CHAR_GREEK): Deleted.
4309         (MAX_CHAR_GREEK): Likewise.
4310         (MIN_CHAR_CYRILLIC): Likewise.
4311         (MAX_CHAR_CYRILLIC): Likewise.
4312         (complex_vars_of_mule_charset): Don't use MIN_CHAR_GREEK and
4313         MAX_CHAR_GREEK for `greek-iso8859-7'.
4314
4315         * char-ucs.h (MIN_CHAR_GREEK): Comment out.
4316         (MAX_CHAR_GREEK): Likewise.
4317         (MIN_CHAR_CYRILLIC): Likewise.
4318         (MAX_CHAR_CYRILLIC): Likewise.
4319
4320 2000-02-02  MORIOKA Tomohiko  <tomo@m17n.org>
4321
4322         * mule-charset.c (Fdefine_char): Fix problem when new code-point
4323         format is used without `ucs' property.
4324         (Fdecode_char): Fix problem with GR representation.
4325         (complex_vars_of_mule_charset): Don't use `MIN_CHAR_CYRILLIC' and
4326         `MAX_CHAR_CYRILLIC' as range of builtin `cyrillic-iso8859-5'.
4327
4328 2000-01-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
4329
4330         * mule-charset.c (make_builtin_char): New function.
4331         (encode_builtin_char_1): Check ISO-2022-charset is defined or not.
4332         (Fset_charset_mapping_table): Modify for new representation of
4333         code-point.
4334         (Fdecode_char): New function.
4335         (syms_of_mule_charset): Add new builtin function `decode-char' in
4336         UTF-2000.
4337
4338         * char-ucs.h (make_builtin_char): New prototype.
4339         (DECODE_CHAR): New inline function.
4340         (MAKE_CHAR): Use `DECODE_CHAR'.
4341
4342 2000-01-28  MORIOKA Tomohiko  <tomo@m17n.org>
4343
4344         * text-coding.c (parse_charset_conversion_specs): Use
4345         `XCHARSET_CHARS' and `XCHARSET_DIMENSION' instead of
4346         `XCHARSET_TYPE'.
4347         (iso2022_designate): Likewise.
4348
4349         * chartab.c (decode_char_table_range): Use `XCHARSET_CHARS' and
4350         `XCHARSET_DIMENSION' instead of `XCHARSET_TYPE'.
4351
4352         * mule-charset.c (Vcharset_ucs): New variable.
4353         (print_charset): Change design; use `CHARSET_CHARS' and
4354         `CHARSET_DIMENSION' instead of `CHARSET_TYPE'.
4355         (make_charset): Change signature to specify `chars' and
4356         `dimension' instead of `type'.
4357         (range_charset_code_point): Modify for 256^n-set.
4358         (encode_builtin_char_1): Encode as `ucs' in default.
4359         (Fmake_charset): Modify for `make_charset'.
4360         (Fmake_reverse_direction_charset): Likewise.
4361         (Fsplit_char): Use `ENCODE_CHAR' instead of `BREAKUP_CHAR' in
4362         UTF-2000.
4363         (complex_vars_of_mule_charset): Add coded-charset `ucs'; modify
4364         for `make_charset'.
4365
4366         * char-ucs.h (Vcharset_ucs): New variable.
4367         (LEADING_BYTE_UCS): New macro.
4368         (struct Lisp_Charset): Delete `type'; change type of `dimension'
4369         and `chars' to `unsigned short' from `unsigned int'.
4370         (CHARSET_TYPE): Deleted.
4371         (XCHARSET_TYPE): Deleted.
4372
4373 2000-01-27  MORIOKA Tomohiko  <tomo@m17n.org>
4374
4375         * mule-charset.c (charset_code_point): Moved to char-ucs.h.
4376
4377         * char-ucs.h (charset_code_point): Moved from mule-charset.c.
4378         (ENCODE_CHAR): New macro.
4379
4380 2000-01-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
4381
4382         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
4383         to 0.14 (Kawachi-Katakami).
4384
4385 2000-01-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
4386
4387         * text-coding.c (char_encode_shift_jis): Modify for
4388         `charset_code_point'.
4389         (char_encode_iso2022): Likewise.
4390
4391         * mule-charset.c (Fput_char_attribute): Use <Lisp_Object>
4392         (integer) instead of list of <Lisp_Object>s (integers) as the
4393         format of code-point of a coded-charset.
4394         (range_charset_code_point): Return <int> instead of <Lisp_Object>.
4395         (encode_builtin_char_1): New function; delete
4396         `split_builtin_char'.
4397         (charset_code_point): Return <int> instead of <Lisp_Object>.
4398         (Fsplit_char): Don't use `SPLIT_CHAR'.
4399
4400         * char-ucs.h (encode_builtin_char_1): New prototype; delete
4401         prototype for `split_builtin_char'.
4402         (range_charset_code_point): Return <int> instead of <Lisp_Object>.
4403         (charset_code_point): Likewise.
4404         (encode_char_1): New inline function; delete `SPLIT_CHAR'.
4405         (breakup_char_1): Use `encode_char_1' instead of `SPLIT_CHAR'.
4406
4407 2000-01-20  MORIOKA Tomohiko  <tomo@m17n.org>
4408
4409         * mule-charset.c (complex_vars_of_mule_charset): Don't define
4410         `japanese-jisx0208-1990' in non-UTF-2000 Mule.
4411
4412 2000-01-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
4413
4414         * mule-charset.c (split_builtin_char): Don't support OBS_94x94.
4415
4416         * char-ucs.h (MIN_CHAR_OBS_94x94): Deleted.
4417         (MAX_CHAR_OBS_94x94): Deleted.
4418
4419 2000-01-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
4420
4421         * mule-charset.c (split_builtin_char): Use `MAX_CHAR_BMP'.
4422
4423         * char-ucs.h (MAX_CHAR_BMP): New macro.
4424
4425 2000-01-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
4426
4427         * text-coding.c: Sync with r21-2-24.
4428
4429 2000-01-08  MORIOKA Tomohiko  <tomo@etl.go.jp>
4430
4431         * file-coding.c: Modify for UTF-2000.
4432
4433 2000-01-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
4434
4435         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
4436         to 0.13 (Takaida).
4437
4438 2000-01-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
4439
4440         * mule-charset.c (split_builtin_char): Delete builtin support for
4441         `katakana-jisx0201'.
4442         (complex_vars_of_mule_charset): Don't map `katakana-jisx0201' to
4443         BMP area in builtin representation.
4444
4445         * char-ucs.h (MAKE_CHAR): Delete builtin support for
4446         `Vcharset_katakana_jisx0201'.
4447
4448 1999-12-24  MORIOKA Tomohiko  <tomo@etl.go.jp>
4449
4450         * mule-charset.c (Vcharset_mojikyo_pj_[1 .. 21]): New variable.
4451         (Qisolated): New variable.
4452         (Qinitial): New variable.
4453         (Qmedial): New variable.
4454         (Qfinal): New variable.
4455         (Qvertical): New variable.
4456         (Qsmall): New variable.
4457         (to_char_code): Use `Qisolated', `Qinitial', `Qmedial', `Qfinal',
4458         `Qvertical' and `Qsmall'.
4459         (Qmojikyo_pj_[1 .. 21]): New variable.
4460         (syms_of_mule_charset): Add new symbols `isolated', `initial',
4461         `medial', `final', `vertical', `small' and `mojikyo-pj-[1 .. 21]'.
4462         (complex_vars_of_mule_charset): Add new charset `mojikyo-pj-[1
4463         .. 21]'.
4464
4465 1999-11-23  MORIOKA Tomohiko  <tomo@etl.go.jp>
4466
4467         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x60.
4468         (LEADING_BYTE_MOJIKYO_PJ_[1 .. 21]): New macros.
4469         (MAX_LEADING_BYTE_PRIVATE): Changed to `(CHARSET_ID_OFFSET - 32)'.
4470
4471 1999-11-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
4472
4473         * mule-charset.c (Vcharset_japanese_jisx0208_1990): New variable.
4474         (Fdefine_char): Use Group 00 Plane 10 for non-coded variants of
4475         BMP.
4476         (Qjapanese_jisx0208_1990): New variable.
4477         (syms_of_mule_charset): Add new symbol `Qjapanese_jisx0208_1990'.
4478         (complex_vars_of_mule_charset): Add new coded-charset
4479         `japanese-jisx0208-1990'.
4480
4481         * char-ucs.h (LEADING_BYTE_JAPANESE_JISX0208_1990): New macro.
4482         (MIN_CHAR_JIS_X0208_1990): New macro.
4483         (MAX_CHAR_JIS_X0208_1990): New macro.
4484
4485 1999-11-16  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4486
4487         * text-coding.c (char_encode_iso2022): Output `~' if ISO 2022
4488         coded-charset is not found.
4489
4490 1999-11-16  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4491
4492         * mule-charset.c (Fget_char_attribute): Forgot to `CHECK_CHAR'.
4493         (Fdefine_char): Use `Fmake_char'.
4494
4495 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4496
4497         * mule-charset.c (Vcharset_ideograph_daikanwa): New variable.
4498         (Vcharset_hiragana_jisx0208): Deleted.
4499         (Vcharset_katakana_jisx0208): Deleted.
4500         (Qideograph_daikanwa): New variable.
4501         (Qhiragana_jisx0208): Deleted.
4502         (Qkatakana_jisx0208): Deleted.
4503         (split_builtin_char): Split `ideograph-daikanwa'.
4504         (Fsplit_char): New implementation for UTF-2000.
4505         (syms_of_mule_charset): Add new symbol `ideograph-daikanwa';
4506         delete symbol `hiragana-jisx0208' and `katakana-jisx0208'.
4507         (complex_vars_of_mule_charset): Add new coded-charset
4508         `ideograph-daikanwa'; delete coded-charset `hiragana-jisx0208' and
4509         `katakana-jisx0208'.
4510
4511         * char-ucs.h (LEADING_BYTE_DAIKANWA): New macro.
4512         (LEADING_BYTE_HIRAGANA_JISX0208): Deleted.
4513         (LEADING_BYTE_KATAKANA_JISX0208): Deleted.
4514         (MIN_CHAR_DAIKANWA): New macro.
4515         (MAX_CHAR_DAIKANWA): New macro.
4516
4517 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4518
4519         * data.c (Fstring_to_number): Don't recognize floating point if
4520         base is not 10.
4521
4522 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4523
4524         * mule-charset.c (Fput_char_attribute): Forgot to `CHECK_CHAR'.
4525
4526 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4527
4528         * mule-charset.c (Qsquare): New variable.
4529         (to_char_code): Add `Qsquare'.
4530         (syms_of_mule_charset): Add new symbol `square'.
4531
4532 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4533
4534         * mule-charset.c (Qcircle): New variable.
4535         (to_char_code): Add `Qcircle'.
4536         (syms_of_mule_charset): Add new symbol `circle'.
4537
4538 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4539
4540         * mule-charset.c (Qfont): New variable.
4541         (to_char_code): Add `Qfont'.
4542         (syms_of_mule_charset): Add new symbol `font'.
4543
4544 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4545
4546         * mule-charset.c (Qsub): New variable.
4547         (to_char_code): Add `Qsub'.
4548         (syms_of_mule_charset): Add new symbol `sub'.
4549
4550 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4551
4552         * mule-charset.c (Fput_char_attribute): Convert each element of
4553         VALUE to GL position if ATTRIBUTE is a GR-set,
4554
4555 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4556
4557         * mule-charset.c (Fput_char_attribute): Allow GR code-point if a
4558         coded-charset is a GR-set.
4559
4560 1999-11-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4561
4562         * mule-charset.c (Fput_char_attribute): Check each element of
4563         VALUE is a byte if ATTRIBUTE is a coded-charset or its name.
4564
4565 1999-11-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4566
4567         * mule-charset.c (Vcharset_ethiopic_ucs): New variable in
4568         UTF-2000.
4569         (Qethiopic_ucs): New variable in UTF-2000.
4570         (syms_of_mule_charset): Add new symbol `ethiopic-ucs' in UTF-2000.
4571         (complex_vars_of_mule_charset): Add new coded-charset
4572         `ethiopic-ucs' in UTF-2000.
4573
4574         * char-ucs.h (LEADING_BYTE_ETHIOPIC_UCS): New macro.
4575         (LEADING_BYTE_HIRAGANA_JISX0208): Changed to `(CHARSET_ID_OFFSET -
4576         9)'.
4577         (LEADING_BYTE_KATAKANA_JISX0208): Changed to `(CHARSET_ID_OFFSET -
4578         10)'.
4579         (LEADING_BYTE_PRIVATE): Changed to `(CHARSET_ID_OFFSET - 11)'.
4580
4581 1999-11-13  MORIOKA Tomohiko  <tomo@etl.go.jp>
4582
4583         * mule-charset.c (Fset_charset_mapping_table): Fix problem with
4584         `ascii'.
4585
4586 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4587
4588         * mule-charset.c (Vcharacter_variant_table): New variable.
4589         (Q_ucs): New variable.
4590         (Fchar_variants): New function.
4591         (Fput_char_attribute): Register `->ucs' value to
4592         `Vcharacter_variant_table'.
4593         (syms_of_mule_charset): Add new function `char-variants' and new
4594         symbol `->ucs'.
4595         (vars_of_mule_charset): Setup `Vcharacter_variant_table'.
4596
4597 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4598
4599         * mule-charset.c (get_char_code_table): Allow negative character
4600         code.
4601         (put_char_code_table): Likewise.
4602         (Vcharacter_composition_table): New variable.
4603         (Q_decomposition): New variable.
4604         (Qwide): New variable.
4605         (Qnarrow): New variable.
4606         (Qcompat): New variable.
4607         (QnoBreak): New variable.
4608         (Qsuper): New variable.
4609         (Qfraction): New variable.
4610         (to_char_code): New function.
4611         (Fget_composite_char): New function.
4612         (Fput_char_attribute): Register `->decomposition' value to
4613         `Vcharacter_composition_table'.
4614         (syms_of_mule_charset): Add new function `get-composite-char', new
4615         symbol `->decomposition', `wide', `narrow', `compat', `noBreak',
4616         `super' and `fraction'.
4617         (vars_of_mule_charset): Setup `Vcharacter_composition_table'.
4618
4619 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4620
4621         * mule-charset.c (Fchar_attribute_alist): Check the argument is a
4622         character; copy the return value.
4623
4624 1999-11-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
4625
4626         * char-ucs.h (SPLIT_CHAR): Use `split_builtin_char'.
4627
4628         * mule-charset.c (range_charset_code_point): Must use make_int.
4629         (split_builtin_char): New function.
4630
4631 1999-11-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
4632
4633         * mule-charset.c (char_byte_table): Change name from
4634         "char-code-table" to "char-byte-table".
4635         (mark_char_code_table): New function.
4636         (char_code_table_equal): New function.
4637         (char_code_table_hash): New function.
4638         (char_code_table_description): New constant.
4639         (char_code_table): New type.
4640         (make_char_code_table): New function.
4641         (copy_char_code_table): New function.
4642         (get_char_code_table): Modify for `char_code_table' type.
4643         (put_char_code_table): Likewise.
4644         (vars_of_mule_charset): Update `utf-2000-version' to 0.12
4645         (Kashiwara).
4646
4647         * char-ucs.h (char_code_table): New type.
4648         (XCHAR_CODE_TABLE): New macro.
4649         (XSETCHAR_CODE_TABLE): New macro.
4650         (CHAR_CODE_TABLE_P): New macro.
4651         (GC_CHAR_CODE_TABLE_P): New macro.
4652         (struct Lisp_Char_Code_Table): New structure.
4653
4654 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
4655
4656         * mule-charset.c (Fmake_charset): Setup byte_offset for
4657         {94|96}^n-set.
4658
4659 1999-11-09  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4660
4661         * mule-charset.c (Fdefine_char): Fix problem with non-UCS
4662         character.
4663
4664 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
4665
4666         * char-ucs.h (SPLIT_CHAR): Don't make new cell if a charset slot
4667         is found.
4668
4669 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
4670
4671         * mule-charset.c (Fget_char_attribute): If ATTRIBUTE is a name of
4672         charset, it is regarded as a charset.
4673         (put_char_attribute): New function in UTF-2000.
4674         (Fput_char_attribute): If ATTRIBUTE is a charset or a name of
4675         charset, mapping-table of the charset is modified.
4676         (Fdefine_char): New function in UTF-2000.
4677         (Fset_charset_mapping_table): Use `put_char_attribute' instead of
4678         `Fput_char_attribute'.
4679         (syms_of_mule_charset): Add new function `define-char' and new
4680         symbol `ucs' in UTF-2000.
4681         (vars_of_mule_charset): Update `utf-2000-version' to 0.11 (Shiki).
4682
4683 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
4684
4685         * mule-charset.c (Fcharset_name): Define `byte_offset' in
4686         non-UTF-2000 configuration.
4687
4688 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
4689
4690         * text-coding.c (char_encode_shift_jis): Use `charset_code_point'
4691         not to use `XCHARSET_ENCODING_TABLE (Vcharset_latin_jisx0201)'.
4692
4693         * mule-charset.c (mark_charset): `cs->encoding_table' has been
4694         deleted.
4695         (make_charset): Don't use `CHARSET_ENCODING_TABLE(cs)'.
4696         (Fset_charset_mapping_table): Likewise.
4697
4698         * char-ucs.h (struct Lisp_Charset): Delete `encoding_table'.
4699         (CHARSET_ENCODING_TABLE): Delete.
4700         (XCHARSET_ENCODING_TABLE): Delete.
4701         (charset_code_point): New interface.
4702
4703 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
4704
4705         * text-coding.c (char_encode_iso2022): Use `charset_code_point'
4706         instead of `charset_get_byte1' and `charset_get_byte2'.
4707
4708         * mule-charset.c, char-ucs.h (charset_get_byte1): Deleted.
4709         (charset_get_byte2): Deleted.
4710
4711 1999-10-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
4712
4713         * char-ucs.h (SPLIT_CHAR): New inline function.
4714         (breakup_char_1): Use `SPLIT_CHAR'.
4715
4716         * mule-charset.c (range_charset_code_point): New function.
4717         (charset_code_point): New function.
4718
4719         * char-ucs.h (range_charset_code_point): New interface.
4720         (breakup_char_1): Use `range_charset_code_point'.
4721
4722 1999-10-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
4723
4724         * mule-charset.c (Fmake_charset): Delete unused local variable
4725         `code_offset'.
4726
4727         * char-ucs.h (Vcharacter_attribute_table): New extern variable.
4728         (breakup_char_1): Find a charset and code-point in
4729         `Vcharacter_attribute_table'.
4730
4731 1999-10-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
4732
4733         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
4734         to 0.10 (Yao).
4735
4736 1999-10-25  MORIOKA Tomohiko  <tomo@etl.go.jp>
4737
4738         * mule-charset.c (Vcharacter_attribute_table): New variable.
4739         (Fchar_attribute_alist): New function.
4740         (Fget_char_attribute): New function.
4741         (Fput_char_attribute): New function.
4742         (Fset_charset_mapping_table): Setup `Vcharacter_attribute_table'
4743         too.
4744         (syms_of_mule_charset): Add new function `char-attribute-alist',
4745         `get-char-attribute' and `put-char-attribute'.
4746         (vars_of_mule_charset): Setup `Vcharacter_attribute_table'.
4747
4748 1999-10-19  MORIOKA Tomohiko  <tomo@etl.go.jp>
4749
4750         * mule-charset.c (Fmake_charset): Just use
4751         `get_unallocated_leading_byte'.
4752
4753         * char-ucs.h (LEADING_BYTE_*): Use ISO-IR numbers for official
4754         sets; don't use final-byte based number for private sets.
4755
4756 1999-10-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
4757
4758         * doprnt.c (emacs_doprnt_1): Fix problem with %0XXd for a negative
4759         integer.
4760
4761 1999-10-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
4762
4763         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
4764         to 0.9.
4765
4766 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4767
4768         * regex.c (compile_extended_range): Use `CHAR_CHARSET_ID' instead
4769         of `CHAR_LEADING_BYTE' in UTF-2000.
4770
4771         * insdel.c (find_charsets_in_bufbyte_string): Use
4772         `CHAR_CHARSET_ID' instead of `CHAR_LEADING_BYTE' in UTF-2000.
4773         (find_charsets_in_emchar_string): Likewise.
4774
4775         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use
4776         `CHAR_CHARSET_ID' instead of `CHAR_LEADING_BYTE' in UTF-2000.
4777
4778         * char-ucs.h (CHAR_LEADING_BYTE): Deleted.
4779         (CHAR_CHARSET_ID): New macro.
4780
4781 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4782
4783         * chartab.c (get_char_table): Don't use type `Charset_ID' for
4784         charset-id - MIN_LEADING_BYTE.
4785         (put_char_table): Likewise.
4786
4787 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4788
4789         * char-ucs.h (MIN_LEADING_BYTE): Changed to `-0x40'.
4790         (NUM_LEADING_BYTES): Changed to (80 * 3 - MIN_LEADING_BYTE).
4791         (CHARSET_LEADING_BYTE): Don't cast by `Bufbyte'.
4792         (CHARSET_ID_OFFSET): New macro.
4793         (LEADING_BYTE_CONTROL_1): Changed to (CHARSET_ID_OFFSET - 1).
4794         (LEADING_BYTE_UCS_BMP): Changed to (CHARSET_ID_OFFSET - 2).
4795         (LEADING_BYTE_LATIN_VISCII): Changed to (CHARSET_ID_OFFSET - 3).
4796         (LEADING_BYTE_HIRAGANA_JISX0208): Changed to (CHARSET_ID_OFFSET -
4797         4).
4798         (LEADING_BYTE_KATAKANA_JISX0208): Changed to (CHARSET_ID_OFFSET -
4799         5).
4800         (MIN_LEADING_BYTE_PRIVATE): Changed to `MIN_LEADING_BYTE'.
4801         (MAX_LEADING_BYTE_PRIVATE): Changed to (CHARSET_ID_OFFSET - 6).
4802         (CHARSET_ID_OFFSET_94): Changed to (CHARSET_ID_OFFSET - '0').
4803         (CHARSET_ID_OFFSET_96): Changed to (CHARSET_ID_OFFSET_94 + 80).
4804         (CHARSET_ID_OFFSET_94x94): Changed to (CHARSET_ID_OFFSET_96 + 80).
4805
4806 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4807
4808         * mule-charset.c (next_allocated_leading_byte): New variable in
4809         UTF-2000.
4810         (next_allocated_1_byte_leading_byte): Don't define in UTF-2000.
4811         (next_allocated_2_byte_leading_byte): Don't define in UTF-2000.
4812         (get_unallocated_leading_byte): Simply use
4813         `next_allocated_leading_byte' [ignore dimension] in UTF-2000.
4814         (vars_of_mule_charset): Setup `next_allocated_leading_byte' in
4815         UTF-2000.
4816
4817         * char-ucs.h (MIN_LEADING_BYTE_PRIVATE): New macro.
4818         (MAX_LEADING_BYTE_PRIVATE): New macro.
4819         (MIN_LEADING_BYTE_OFFICIAL_2): Deleted.
4820         (MAX_LEADING_BYTE_OFFICIAL_2): Deleted.
4821
4822 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4823
4824         * mule-charset.c (Fmake_charset): Allocate final-byte based
4825         charset-id for 94-set, 96-set and 94x94-set.
4826
4827 1999-10-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
4828
4829         * mule-charset.c (char_byte_table_equal): Fill braces to avoid
4830         ambiguous `else'.
4831         (Fmake_charset): Likewise.
4832         (complex_vars_of_mule_charset): Modify the font registry of
4833         `ucs-bmp' not to match `Ethiopic-Unicode'.
4834
4835 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4836
4837         * mule-charset.c (complex_vars_of_mule_charset): Add font
4838         registory of `ucs-bmp'.
4839
4840 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4841
4842         * text-coding.c (char_encode_iso2022): Ignore non-ISO-2022
4843         coded-charsets in `default-coded-charset-priority-list' when
4844         breaking up a character.
4845
4846         * mule-charset.c (Vcharset_latin_viscii): New variable.
4847         (Qlatin_viscii): New variable.
4848         (make_charset): Don't use `decoding_table'.
4849         (Fmake_charset): Regard graphic = 2 as 256^n-set; setup
4850         byte_offset.
4851         (Fset_charset_mapping_table): New implementation.
4852         (syms_of_mule_charset): Add new symbol `latin-viscii'.
4853         (complex_vars_of_mule_charset): Set `graphic' attribute of charset
4854         `ucs-bmp' and `latin_viscii' to 2; change font registry of charset
4855         `latin-viscii-lower' to "MULEVISCII-LOWER"; change font registry
4856         of charset `latin-viscii-upper' to "MULEVISCII-UPPER"; add new
4857         charset `latin_viscii'.
4858
4859         * char-ucs.h (LEADING_BYTE_LATIN_VISCII): New macro.
4860         (CHARSET_TYPE_94X94): Change to 1 from 2.
4861         (CHARSET_TYPE_96): Change to 2 from 1.
4862         (CHARSET_TYPE_128): New macro.
4863         (CHARSET_TYPE_128X128): Change to 5 from 4.
4864         (CHARSET_TYPE_256): New macro.
4865         (CHARSET_TYPE_256X256): Change to 7 from 5.
4866         (MAKE_CHAR): Use `XCHARSET_BYTE_OFFSET(charset)'.
4867
4868 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4869
4870         * text-coding.c (char_encode_shift_jis): Refer
4871         `XCHARSET_ENCODING_TABLE(Vcharset_latin_jisx0201)' instead of
4872         `XCHARSET_TO_BYTE1_TABLE(Vcharset_latin_jisx0201)'.
4873
4874         * mule-charset.c (mark_char_byte_table): New function in UTF-2000.
4875         (char_byte_table_equal): New function in UTF-2000.
4876         (char_byte_table_hash): New function in UTF-2000.
4877         (char_byte_table_description): New constant in UTF-2000.
4878         (char_byte_table): New type in UTF-2000.
4879         (make_char_byte_table): New function in UTF-2000.
4880         (copy_char_byte_table): New function in UTF-2000.
4881         (make_char_code_table): New macro in UTF-2000.
4882         (get_char_code_table): New function in UTF-2000.
4883         (put_char_code_table): New function in UTF-2000.
4884         (mark_charset): Mark `cs->encoding_table' in UTF-2000.
4885         (charset_description): Add setting in UTF-2000.
4886         (make_charset): Setup `CHARSET_ENCODING_TABLE(cs)' instead of
4887         `CHARSET_TO_BYTE1_TABLE(cs)'.
4888         (charset_get_byte1): Refer `XCHARSET_ENCODING_TABLE(charset)'
4889         instead of `XCHARSET_TO_BYTE1_TABLE(charset)'.
4890         (charset_get_byte2): Refer `XCHARSET_ENCODING_TABLE(charset)'
4891         instead of `XCHARSET_TO_BYTE2_TABLE(charset)'.
4892         (Fset_charset_mapping_table): Setup `CHARSET_ENCODING_TABLE(cs)'
4893         instead of `CHARSET_TO_BYTE1_TABLE(cs)' and
4894         `CHARSET_TO_BYTE2_TABLE(cs)'.
4895
4896         * char-ucs.h (char_byte_table): New type.
4897         (XCHAR_BYTE_TABLE): New macro.
4898         (XSETCHAR_BYTE_TABLE): New macro.
4899         (CHAR_BYTE_TABLE_P): New macro.
4900         (GC_CHAR_BYTE_TABLE_P): New macro.
4901         (struct Lisp_Char_Byte_Table): New structure.
4902         (get_char_code_table): New interface.
4903         (Emchar_to_byte_table): Deleted.
4904         (get_byte_from_character_table): Deleted.
4905         (struct Lisp_Charset): Add `encoding_table'; delete
4906         `to_byte1_table' and `to_byte2_table'.
4907         (CHARSET_ENCODING_TABLE): New macro.
4908         (CHARSET_TO_BYTE1_TABLE): Deleted.
4909         (CHARSET_TO_BYTE2_TABLE): Deleted.
4910         (XCHARSET_ENCODING_TABLE): New macro.
4911         (XCHARSET_TO_BYTE1_TABLE): Deleted.
4912         (XCHARSET_TO_BYTE2_TABLE): Deleted.
4913
4914 1999-10-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
4915
4916         * mule-charset.c (syms_of_mule_charset): Delete charset alias
4917         `vietnamese-viscii-*'.
4918
4919 1999-10-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
4920
4921         * mule-charset.c (Qvietnamese_viscii_lower): New variable.
4922         (Qvietnamese_viscii_upper): New variable.
4923         (Fdefine_charset_alias): New function.
4924         (syms_of_mule_charset): Add new function `define-charset-alias'.
4925         (syms_of_mule_charset): Rename charset `vietnamese-viscii-*' to
4926         `latin-viscii-*'; define `vietnamese-viscii-*' as aliases for
4927         `latin-viscii-*'.
4928
4929 1999-10-04  MORIOKA Tomohiko  <tomo@etl.go.jp>
4930
4931         * char-ucs.h (MIN_CHAR_OBS_94x94): New macro.
4932         (MAX_CHAR_OBS_94x94): New macro.
4933         (breakup_char_1): Support obsolete XEmacs-UCS private code space
4934         for 94x94 sets.
4935
4936         * mule-charset.c (put_byte_from_character_table): Change unit size
4937         from 128 to 256.
4938         (mark_charset): Don't mark `cs->decoding_table' if `UTF2000' is
4939         not defined.
4940         (Fmake_reverse_direction_charset): Modify dummy argument of
4941         `make_charset' for non-UTF-2000 environment.
4942
4943 1999-10-03  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4944
4945         * char-ucs.h (MAKE_CHAR): Allow nested decoding-table.
4946
4947         * mule-charset.c (destroy_byte_from_character_table): New macro.
4948         (latin_jisx0201_to_ucs): Deleted.
4949         (latin_iso8859_2_to_ucs): Deleted.
4950         (latin_iso8859_3_to_ucs): Deleted.
4951         (latin_iso8859_4_to_ucs): Deleted.
4952         (latin_iso8859_9_to_ucs): Deleted.
4953         (latin_viscii_lower_to_ucs): Deleted.
4954         (latin_viscii_upper_to_ucs): Deleted.
4955         (mark_charset): Mark `cs->decoding_table'.
4956         (Fcharset_mapping_table): Fix DOC-string.
4957         (Fset_charset_mapping_table): New function.
4958         (syms_of_mule_charset): Add nwe function
4959         `set-charset-mapping-table'.
4960         (complex_vars_of_mule_charset): Don't setup and use
4961         `latin_*_to_ucs'.
4962
4963 1999-10-01  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4964
4965         * char-ucs.h (MAKE_CHAR): Check the result for range-represented
4966         charset.
4967
4968 1999-09-30  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4969
4970         * mule-charset.c (Vcharset_hiragana_jisx0208): New variable.
4971         (Vcharset_katakana_jisx0208): New variable.
4972         (Qhiragana_jisx0208): New variable.
4973         (Qkatakana_jisx0208): New variable.
4974         (make_charset): Add new argument `byte_offset'.
4975         (charset_get_byte1): Modify for new coded-charset definition; use
4976         `XCHARSET_UCS_MIN', `XCHARSET_UCS_MAX', `XCHARSET_CODE_OFFSET' and
4977         `XCHARSET_BYTE_OFFSET'.
4978         (Fmake_charset): Modify for `make_charset'.
4979         (Fmake_reverse_direction_charset): Likewise.
4980         (syms_of_mule_charset): Add new symbols `hiragana-jisx0208' and
4981         `katakana-jisx0208'.
4982         (complex_vars_of_mule_charset): Modify for `make_charset'; quote
4983         `.'  in font registry of charset `katakana-jisx0201',
4984         `latin-jisx0201', `vietnamese-viscii-lower' and
4985         `vietnamese-viscii-upper'; modify DOC-string of charset
4986         `japanese-jisx0208-1978' and `japanese-jisx0208'; modify font
4987         registry of charset `japanese-jisx0208' not to use font for JIS
4988         X0208:1990; add new charset `hiragana-jisx0208' and
4989         `katakana-jisx0208'.
4990
4991         * char-ucs.h (LEADING_BYTE_HIRAGANA_JISX0208): New macro.
4992         (LEADING_BYTE_KATAKANA_JISX0208): New macro.
4993         (struct Lisp_Charset): Add `byte_offset'.
4994         (CHARSET_BYTE_OFFSET): New macro.
4995         (XCHARSET_UCS_MIN): New macro.
4996         (XCHARSET_UCS_MAX): New macro.
4997         (XCHARSET_CODE_OFFSET): New macro.
4998         (XCHARSET_BYTE_OFFSET): New macro.
4999         (MIN_CHAR_HIRAGANA): New macro.
5000         (MAX_CHAR_HIRAGANA): New macro.
5001         (MIN_CHAR_KATAKANA): New macro.
5002         (MAX_CHAR_KATAKANA): New macro.
5003         (MAKE_CHAR): Modify for new coded-charset definition; use
5004         `XCHARSET_UCS_MIN', `XCHARSET_UCS_MAX', `XCHARSET_CODE_OFFSET' and
5005         `XCHARSET_BYTE_OFFSET'.
5006
5007 1999-09-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
5008
5009         * mule-charset.c (CHAR96): Deleted.
5010         (latin_jisx0201_to_ucs): Type is changed from array of <Emchar> to
5011         <Lisp_Object>.
5012         (latin_iso8859_2_to_ucs): Likewise.
5013         (latin_iso8859_3_to_ucs): Likewise.
5014         (latin_iso8859_4_to_ucs): Likewise.
5015         (latin_iso8859_9_to_ucs): Likewise.
5016         (latin_viscii_lower_to_ucs): Likewise.
5017         (latin_viscii_upper_to_ucs): Likewise.
5018         (latin_tcvn5712_to_ucs): Commented out.
5019         (make_charset): Change type of argument `decoding_table' from
5020         <Emchar*> to <Lisp_Object> [vector of characters].
5021         (Fmake_charset): Modify for `make_charset'.
5022         (Fmake_reverse_direction_charset): Likewise.
5023         (Fcharset_mapping_table): New function in UTF-2000.
5024         (syms_of_mule_charset): Setup `Fcharset_mapping_table' in
5025         UTF-2000.
5026         (complex_vars_of_mule_charset): Modify for type change of
5027         `*_to_ucs'; modify for `make_charset'.
5028
5029         * char-ucs.h (struct Lisp_Charset): Change type of
5030         `decoding_table' from <Emchar*> to <Lisp_Object>.
5031         (MAKE_CHAR): Modify for new specification of `decoding_table'.
5032
5033 1999-09-23  MORIOKA Tomohiko  <tomo@etl.go.jp>
5034
5035         * mule-charset.c (Fmake_reverse_direction_charset): Fix compile
5036         error with non-UTF-2000-Mule.
5037
5038 1999-09-21  MORIOKA Tomohiko  <tomo@etl.go.jp>
5039
5040         * mule-charset.c (Vcharset_chinese_cns11643_3): Deleted [defined
5041         in lisp again].
5042         (Vcharset_chinese_cns11643_4): Likewise.
5043         (Vcharset_chinese_cns11643_5): Likewise.
5044         (Vcharset_chinese_cns11643_6): Likewise.
5045         (Vcharset_chinese_cns11643_7): Likewise.
5046         (Qchinese_cns11643_3): Likewise.
5047         (Qchinese_cns11643_4): Likewise.
5048         (Qchinese_cns11643_5): Likewise.
5049         (Qchinese_cns11643_6): Likewise.
5050         (Qchinese_cns11643_7): Likewise.
5051         (syms_of_mule_charset): Move definitions for `chinese-cns11643-3',
5052         `chinese-cns11643-4', `chinese-cns11643-5', `chinese-cns11643-6'
5053         and `chinese-cns11643-7' to lisp/mule/chinese.el.
5054         (complex_vars_of_mule_charset): Likewise.
5055
5056 1999-09-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
5057
5058         * mule-charset.c (charset_get_byte1): Fix bug about 94- and
5059         96-set.
5060         (Fmake_reverse_direction_charset): Inherit CHARSET_DECODING_TABLE,
5061         CHARSET_UCS_MIN, CHARSET_UCS_MAX and CHARSET_CODE_OFFSET.
5062
5063 1999-09-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
5064
5065         * char-ucs.h (MIN_CHAR_HALFWIDTH_KATAKANA): Changed to 0xFF61 from
5066         0xFF60.
5067         (MAKE_CHAR): Change offset for katakana-jisx0201 to 33 from 0x20.
5068         (breakup_char_1): Likewise.
5069
5070         * text-coding.c (char_encode_iso2022): Keep designated charsets if
5071         one of them includes the specified character.
5072
5073 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
5074
5075         * mule-charset.c: Update `utf-2000-version' to 0.8 (Kami).
5076
5077 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
5078
5079         * char-ucs.h (MAKE_CHAR): Fix problem in 2-dimension charset.
5080
5081 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
5082
5083         * mule-charset.c (latin_iso8859_2_to_ucs NULL): Add pseudo
5084         definition for non-UTF-2000 Mule.
5085         (latin_iso8859_3_to_ucs): Likewise.
5086         (latin_iso8859_4_to_ucs): Likewise.
5087         (latin_iso8859_9_to_ucs): Likewise.
5088         (latin_jisx0201_to_ucs): Likewise.
5089         (MIN_CHAR_THAI): Likewise.
5090         (MAX_CHAR_THAI): Likewise.
5091         (MIN_CHAR_GREEK): Likewise.
5092         (MAX_CHAR_GREEK): Likewise.
5093         (MIN_CHAR_HEBREW): Likewise.
5094         (MAX_CHAR_HEBREW): Likewise.
5095         (MIN_CHAR_HALFWIDTH_KATAKANA): Likewise.
5096         (MAX_CHAR_HALFWIDTH_KATAKANA): Likewise.
5097         (MIN_CHAR_CYRILLIC): Likewise.
5098         (MAX_CHAR_CYRILLIC): Likewise.
5099
5100 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
5101
5102         * char-ucs.h (breakup_char_1): Use
5103         `Vdefault_coded_charset_priority_list' for hebrew-iso8859-8,
5104         thai-tis620 and katakana-jisx0201 area.
5105
5106 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5107
5108         * char-ucs.h (breakup_char_1): Use
5109         `Vdefault_coded_charset_priority_list' for cyrillic-iso8859-5
5110         area.
5111
5112         * text-coding.c (reset_encoding_stream): Fixed.
5113         (char_encode_ucs4): Delete `& 255'.
5114
5115         * char-ucs.h (breakup_char_1): Use
5116         `Vdefault_coded_charset_priority_list' for greek-iso8859-7 area.
5117
5118 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5119
5120         * file-coding.c (Fmake_coding_system): Don't set up
5121         `codesys->fixed.size'.
5122         (encode_coding_no_conversion): Don't refer
5123         `str->codesys->fixed.size'.
5124
5125 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5126
5127         * mule-charset.c, char-ucs.h (latin_a_char_to_charset): Deleted.
5128         (latin_a_char_to_byte1): Deleted.
5129         (latin_a_char_to_byte2): Deleted.
5130
5131 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5132
5133         * mule-charset.c (make_charset): Add new argument `ucs_min',
5134         `ucs_max' and `code_offset'.
5135         (charset_get_byte1): New implementation [delete specific charset
5136         depended implementations].
5137         (Fmake_charset): Modify for `make_charset'.
5138         (Fmake_reverse_direction_charset): Likewise.
5139         (complex_vars_of_mule_charset): Likewise.
5140
5141         * char-ucs.h (struct Lisp_Charset): Add `ucs_min', `ucs_max' and
5142         `code_offset'.
5143         (CHARSET_UCS_MIN): New macro.
5144         (CHARSET_UCS_MAX): New macro.
5145         (CHARSET_CODE_OFFSET): New macro.
5146         (MAKE_CHAR): Delete charset depended definitions [except
5147         katakana-jisx0201].
5148
5149 1999-09-13  MORIOKA Tomohiko  <tomo@etl.go.jp>
5150
5151         * char-ucs.h (breakup_char_1): Use
5152         `Vdefault_coded_charset_priority_list' for C0-Controls,
5153         Basic-Latin, C1-Controls and Latin-1-Supplement area.
5154
5155 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5156
5157         * char-ucs.h (charset_get_byte1): New function.
5158         (XCHARSET_GET_BYTE1): Deleted.
5159         (charset_get_byte2): New function.
5160         (XCHARSET_GET_BYTE2): Deleted.
5161         (Vdefault_coded_charset_priority_list): New external variable.
5162         (breakup_char_1): Use `charset_get_byte1', `charset_get_byte2' and
5163         `Vdefault_preferred_coded_charset_list'.
5164
5165         * mule-charset.c (charset_get_byte1): New function.
5166         (charset_get_byte2): New function.
5167         (Vdefault_coded_charset_priority_list): New variable.
5168         (vars_of_mule_charset): Add new variable
5169         `default-coded-charset-priority-list'.
5170
5171 1999-09-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5172
5173         * char-ucs.h (XCHARSET_GET_BYTE1): New inline function.
5174         (XCHARSET_GET_BYTE2): New inline function.
5175         (breakup_char_1): Use `XCHARSET_GET_BYTE1' and
5176         `XCHARSET_GET_BYTE2'.
5177
5178 1999-09-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5179
5180         * mule-charset.c (make_charset): Initialize
5181         `CHARSET_TO_BYTE1_TABLE(cs)' and `CHARSET_TO_BYTE2_TABLE(cs)' by
5182         NULL if table is not defined.
5183
5184 1999-09-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5185
5186         * text-coding.c (char_encode_shift_jis): Use
5187         `XCHARSET_TO_BYTE1_TABLE' for `Vcharset_latin_jisx0201' instead of
5188         `ucs_to_latin_jisx0201'.
5189
5190         * mule-charset.c (ucs_to_latin_jisx0201): Deleted.
5191         (ucs_to_latin_iso8859_2): Deleted.
5192         (ucs_to_latin_iso8859_3): Deleted.
5193         (ucs_to_latin_iso8859_4): Deleted.
5194         (ucs_to_latin_iso8859_9): Deleted.
5195         (ucs_to_latin_viscii_lower): Deleted.
5196         (ucs_to_latin_viscii_upper): Deleted.
5197         (ucs_to_latin_tcvn5712): Deleted.
5198         (make_charset): Add new argument `decoding_table'; set up
5199         `CHARSET_DECODING_TABLE(cs)' in UTF-2000; set up
5200         `CHARSET_TO_BYTE1_TABLE(cs)' for 94-set and 96-set if
5201         `decoding_table' is defined in UTF-2000.
5202         (Fmake_charset): Modify for `make_charset'.
5203         (Fmake_reverse_direction_charset): Likewise.
5204         (complex_vars_of_mule_charset): Likewise; delete `GENERATE_94_SET'
5205         and `GENERATE_96_SET'.
5206
5207         * char-ucs.h (latin_jisx0201_to_ucs): Deleted.
5208         (ucs_to_latin_jisx0201): Deleted.
5209         (latin_iso8859_2_to_ucs): Deleted.
5210         (ucs_to_latin_iso8859_2): Deleted.
5211         (latin_iso8859_3_to_ucs): Deleted.
5212         (ucs_to_latin_iso8859_3): Deleted.
5213         (latin_iso8859_4_to_ucs): Deleted.
5214         (ucs_to_latin_iso8859_4): Deleted.
5215         (latin_iso8859_9_to_ucs): Deleted.
5216         (ucs_to_latin_iso8859_9): Deleted.
5217         (latin_viscii_lower_to_ucs): Deleted.
5218         (ucs_to_latin_viscii_lower): Deleted.
5219         (latin_viscii_upper_to_ucs): Deleted.
5220         (ucs_to_latin_viscii_upper): Deleted.
5221         (struct Lisp_Charset): Renamed `encoding_table' to
5222         `to_byte1_table'; add `to_byte2_table'.
5223         (CHARSET_DECODING_TABLE): New macro.
5224         (CHARSET_TO_BYTE1_TABLE): New macro.
5225         (CHARSET_TO_BYTE2_TABLE): New macro.
5226         (XCHARSET_DECODING_TABLE): New macro.
5227         (XCHARSET_TO_BYTE1_TABLE): New macro.
5228         (XCHARSET_TO_BYTE2_TABLE): New macro.
5229         (MAKE_CHAR): Use `XCHARSET_DECODING_TABLE'; don't use `*_to_ucs'
5230         tables.
5231         (breakup_char_1): Use `XCHARSET_TO_BYTE1_TABLE' if it is defined;
5232         don't use `ucs_to_*' tables.
5233
5234 1999-09-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5235
5236         * text-coding.c (Fmake_coding_system): Don't set up
5237         `codesys->fixed.size'.
5238         (encode_coding_no_conversion): Use `if' instead of `switch'.
5239
5240         * file-coding.h (struct Lisp_Coding_System): Delete `fixed.size'.
5241
5242 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
5243
5244         * mule-charset.c (make_charset): Delete argument `rep_bytes'.
5245         (Fmake_charset): Modify for `make_charset'.
5246         (Fmake_reverse_direction_charset): Likewise.
5247         (complex_vars_of_mule_charset): Likewise.
5248
5249 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
5250
5251         * text-coding.c (char_encode_shift_jis): Use table
5252         `ucs_to_latin_jisx0201' and BREAKUP_CHAR.
5253
5254 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
5255
5256         * text-coding.c (text_encode_generic): Use `if' instead of
5257         `switch'.
5258         (decode_coding_sjis): Use `MAKE_CHAR' and `DECODE_ADD_UCS_CHAR' to
5259         decode JIS-Latin.
5260
5261 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
5262
5263         * text-coding.c (encode_coding_sjis): Deleted.
5264         (char_encode_shift_jis): New function.
5265         (char_finish_shift_jis): New function.
5266         (reset_encoding_stream): Set up `encode_char' and `finish' for
5267         `CODESYS_UCS4' and `CODESYS_SHIFT_JIS'.
5268         (mule_encode): Use generic encoder for `CODESYS_SHIFT_JIS'.
5269         (char_encode_utf8): Treat `eol_type'.
5270
5271 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
5272
5273         * file-coding.c (decode_coding_iso2022): Use
5274         `DECODE_ADD_UCS_CHAR'; don't use `XCHARSET_REP_BYTES'.
5275
5276 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
5277
5278         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
5279         to 0.7 (Hirano).
5280
5281 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
5282
5283         * char-lb.h (CHAR_COLUMNS): New macro.
5284
5285 1999-09-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
5286
5287         * text-coding.c (char_encode_ucs4): New function.
5288         (char_finish_ucs4): New function.
5289         (encode_coding_ucs4): Deleted.
5290         (mule_encode): Use generic encoder for `CODESYS_UCS4'.
5291         (text_encode_generic): Delete local variable `charset' and `half'.
5292         (ucs_to_mule_table): Deleted.
5293         (mule_to_ucs_table): Deleted.
5294         (Fset_ucs_char): Deleted.
5295         (ucs_to_char): Deleted.
5296         (Fucs_char): Deleted.
5297         (Fset_char_ucs): Deleted.
5298         (Fchar_ucs): Deleted.
5299         (decode_ucs4): Deleted.
5300         (mule_char_to_ucs4): Deleted.
5301         (encode_ucs4): Deleted.
5302         (decode_coding_ucs4): Use `DECODE_ADD_UCS_CHAR'.
5303         (decode_coding_utf8): Likewise.
5304         (decode_coding_iso2022): Likewise; don't use `XCHARSET_REP_BYTES'.
5305         (char_encode_iso2022): Fixed.
5306         (syms_of_file_coding): Delete `Fset_ucs_char', `Fucs_char',
5307         `Fset_char_ucs' and `Fchar_ucs'.
5308         (complex_vars_of_file_coding): Don't initialize
5309         `ucs_to_mule_table'.
5310
5311         * objects-tty.c (tty_initialize_font_instance): Don't use
5312         `XCHARSET_COLUMNS'.
5313
5314         * mule-charset.c (make_charset): Don't set up CHARSET_REP_BYTES in
5315         UTF-2000.
5316
5317         * redisplay-tty.c (tty_output_display_block): Use `CHAR_COLUMNS'
5318         instead of `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
5319
5320         * insdel.c (bufbyte_string_displayed_columns): Use `CHAR_COLUMNS'
5321         instead of `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
5322         (emchar_string_displayed_columns): Likewise.
5323
5324         * indent.c (column_at_point): Use `CHAR_COLUMNS' instead of
5325         `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
5326         (string_column_at_point): Likewise.
5327         (Fmove_to_column): Likewise.
5328
5329         * char-ucs.h (struct Lisp_Charset): Delete `rep_bytes'; add
5330         `encoding_table' and `decoding_table'.
5331         (CHARSET_REP_BYTES): Deleted.
5332         (XCHARSET_REP_BYTES): Deleted.
5333         (XCHARSET_COLUMNS): Deleted.
5334         (CHAR_COLUMNS): New macro.
5335         (lookup_composite_char): Deleted unconditionally.
5336         (composite_char_string): Likewise.
5337
5338 1999-09-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
5339
5340         * char-ucs.h (Emchar_to_byte_table): New type.
5341         (get_byte_from_character_table): New function interface.
5342         (Vcharset_latin_jisx0201): New variable.
5343         (latin_jisx0201_to_ucs): New variable.
5344         (ucs_to_latin_jisx0201): New variable.
5345         (Vcharset_latin_iso8859_2): New variable.
5346         (latin_iso8859_2_to_ucs): New variable.
5347         (ucs_to_latin_iso8859_2): New variable.
5348         (Vcharset_latin_iso8859_3): New variable.
5349         (latin_iso8859_3_to_ucs): New variable.
5350         (ucs_to_latin_iso8859_3): New variable.
5351         (Vcharset_latin_iso8859_4): New variable.
5352         (latin_iso8859_4_to_ucs): New variable.
5353         (ucs_to_latin_iso8859_4): New variable.
5354         (Vcharset_latin_iso8859_9): New variable.
5355         (latin_iso8859_9_to_ucs): New variable.
5356         (ucs_to_latin_iso8859_9): New variable.
5357         (Vcharset_latin_viscii_lower): New variable.
5358         (latin_viscii_lower_to_ucs): New variable.
5359         (ucs_to_latin_viscii_lower): New variable.
5360         (Vcharset_latin_viscii_upper): New variable.
5361         (latin_viscii_upper_to_ucs): New variable.
5362         (ucs_to_latin_viscii_upper): New variable.
5363         (CHARSET_ID_OFFSET_94): Changed from 0x60 to 0x55.
5364         (LEADING_BYTE_LATIN_VISCII_LOWER): New macro.
5365         (LEADING_BYTE_LATIN_VISCII_UPPER): New macro.
5366         (MAKE_CHAR): Map `latin-iso8859-2', `latin-iso8859-3',
5367         `latin-iso8859-4', `latin-iso8859-9', `latin-jisx0201',
5368         `vietnamese-viscii-lower' and `vietnamese-viscii-upper' to BMP.
5369         (breakup_char_1): Use `ucs_to_latin_iso8859_2',
5370         `ucs_to_latin_iso8859_3', `ucs_to_latin_iso8859_4',
5371         `ucs_to_latin_iso8859_9', `ucs_to_latin_viscii_lower',
5372         `ucs_to_latin_viscii_upper' and `ucs_to_latin_jisx0201' tables.
5373
5374         * mule-charset.c (Vcharset_latin_viscii_lower): New variable.
5375         (Vcharset_latin_viscii_upper): New variable.
5376         (make_byte_from_character_table): New function.
5377         (put_byte_from_character_table): New function.
5378         (get_byte_from_character_table): New function.
5379         (CHAR96): New macro.
5380         (ucs_to_latin_jisx0201): New variable.
5381         (latin_jisx0201_to_ucs): New variable.
5382         (ucs_to_latin_iso8859_2): New variable.
5383         (latin_iso8859_2_to_ucs): New variable.
5384         (ucs_to_latin_iso8859_3): New variable.
5385         (latin_iso8859_3_to_ucs): New variable.
5386         (ucs_to_latin_iso8859_4): New variable.
5387         (latin_iso8859_4_to_ucs): New variable.
5388         (ucs_to_latin_iso8859_9): New variable.
5389         (latin_iso8859_9_to_ucs): New variable.
5390         (ucs_to_latin_viscii_lower): New variable.
5391         (latin_viscii_lower_to_ucs): New variable.
5392         (ucs_to_latin_viscii_upper): New variable.
5393         (latin_viscii_upper_to_ucs): New variable.
5394         (ucs_to_latin_tcvn5712): New variable.
5395         (latin_tcvn5712_to_ucs): New variable.
5396         (Qlatin_viscii_lower): New variable.
5397         (Qlatin_viscii_upper): New variable.
5398         (syms_of_mule_charset): Set up new symbol
5399         `vietnamese-viscii-lower' and `vietnamese-viscii-upper'.
5400         (complex_vars_of_mule_charset): Set up new charset
5401         `vietnamese-viscii-lower' and `vietnamese-viscii-upper'; new macro
5402         `GENERATE_94_SET' and `GENERATE_96_SET'; use them to generate
5403         `ucs_to_<CHARSET>' tables.
5404
5405 1999-09-08  MORIOKA Tomohiko  <tomo@etl.go.jp>
5406
5407         * text-coding.c: New file.
5408
5409 1999-09-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
5410
5411         * mule-charset.c (Fmake_char): Fix problem of 256-set.
5412
5413         * char-ucs.h (Vcharset_ucs_bmp): New variable.
5414         (MAKE_CHAR): Modify for `ucs-bmp'.
5415         (breakup_char_1): Return `ucs-bmp' and code point of BMP for
5416         non-MULE characters of BMP.
5417
5418 1999-09-06  MORIOKA Tomohiko  <tomo@etl.go.jp>
5419
5420         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
5421         to 0.6.
5422
5423 1999-09-05  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5424
5425         * lstream.h:
5426         - Include multibyte.h instead of character.h for `BYTE_ASCII_P'.
5427         - Include character.h for `CHAR_ASCII_P'.
5428
5429         * mb-multibyte.h (CHAR_MULTIBYTE_P): Moved from mule-charset.h.
5430
5431         * mule-charset.h (CHAR_MULTIBYTE_P): Moved to mb-multibyte.h.
5432         (CHAR_ASCII_P): Don't use `CHAR_MULTIBYTE_P'.
5433
5434         * mb-multibyte.h (BYTE_ASCII_P): Moved from char-ucs.h.
5435         (BYTE_C0_P): Likewise.
5436         (BYTE_C1_P): Likewise.
5437         (Lstream_get_emchar_1): Likewise.
5438         (Lstream_fput_emchar): Likewise.
5439         (Lstream_funget_emchar): Likewise.
5440         (copy_internal_to_external): Likewise.
5441         (copy_external_to_internal): Likewise.
5442
5443         * char-ucs.h (BYTE_ASCII_P): Moved to mb-multibyte.h.
5444         (BYTE_C0_P): Likewise.
5445         (BYTE_C1_P): Likewise.
5446         (Lstream_get_emchar_1): Likewise.
5447         (Lstream_fput_emchar): Likewise.
5448         (Lstream_funget_emchar): Likewise.
5449         (copy_internal_to_external): Likewise.
5450         (copy_external_to_internal): Likewise.
5451
5452         * mb-1byte.h (BYTE_ASCII_P): Moved from buffer.h.
5453         (REP_BYTES_BY_FIRST_BYTE): Likewise.
5454
5455         * buffer.h (REP_BYTES_BY_FIRST_BYTE): Moved to mb-1byte.h.
5456         (BYTE_ASCII_P): Moved to mb-1byte.h.
5457
5458 1999-09-04  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5459
5460         * mb-utf-8.h, mb-lb.h: Include mb-multibyte.h.
5461
5462         * multibyte.h: Include mb-1byte.h in unibyte-XEmacs.
5463         (MAX_EMCHAR_LEN): Moved to mb-1byte.h.
5464         (VALID_CHARPTR_P): Moved to mb-*byte.h.
5465         (VALIDATE_CHARPTR_BACKWARD): Likewise.
5466         (VALIDATE_CHARPTR_FORWARD): Likewise.
5467         (simple_charptr_emchar): Moved to mb-multibyte.h.
5468         (simple_set_charptr_emchar): Likewise.
5469         (simple_charptr_copy_char): Likewise.
5470         (non_ascii_charptr_emchar): Likewise.
5471         (non_ascii_set_charptr_emchar): Likewise.
5472         (non_ascii_charptr_copy_char): Likewise.
5473         (charptr_emchar): Moved to mb-*byte.h.
5474         (set_charptr_emchar): Likewise.
5475         (charptr_copy_char): Likewise.
5476
5477         * mb-1byte.h, mb-multibyte.h: New files.
5478
5479 1999-09-03  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5480
5481         * mb-utf-8.h (MULTIBYTE): New macro.
5482         (MAX_EMCHAR_LEN): Moved from buffer.h.
5483         (REP_BYTES_BY_FIRST_BYTE): Moved from char-ucs.h.
5484
5485         * char-ucs.h (REP_BYTES_BY_FIRST_BYTE): Moved to mb-utf-8.h.
5486
5487         * mb-lb.h, multibyte.h: New files.
5488
5489         * char-1byte.h (Charset_ID): Moved from buffer.h.
5490         (MIN_LEADING_BYTE): Likewise.
5491         (LEADING_BYTE_ASCII): Likewise.
5492         (NUM_LEADING_BYTES): Likewise.
5493         (CHARSETP): Likewise.
5494         (CHARSET_BY_LEADING_BYTE): Likewise.
5495         (XCHARSET_LEADING_BYTE): Likewise.
5496         (XCHARSET_GRAPHIC): Likewise.
5497         (XCHARSET_COLUMNS): Likewise.
5498         (XCHARSET_DIMENSION): Likewise.
5499         (CHAR_CHARSET): Likewise.
5500         (CHAR_LEADING_BYTE): Likewise.
5501         (BREAKUP_CHAR): Likewise.
5502         (Vcharset_ascii): Likewise.
5503
5504         * buffer.h: Include multibyte.h unconditionally.
5505         (VALID_CHARPTR_P): Moved to multibyte.h.
5506         (ASSERT_VALID_CHARPTR): Likewise.
5507         (REAL_INC_CHARPTR): Likewise.
5508         (REAL_INC_CHARBYTIND): Likewise.
5509         (REAL_DEC_CHARPTR): Likewise.
5510         (INC_CHARPTR): Likewise.
5511         (INC_CHARBYTIND): Likewise.
5512         (DEC_CHARPTR): Likewise.
5513         (VALIDATE_CHARPTR_BACKWARD): Likewise.
5514         (VALIDATE_CHARPTR_FORWARD): Likewise.
5515         (charptr_n_addr): Likewise.
5516         (MAX_EMCHAR_LEN): Moved to mb-*.h.
5517         (simple_charptr_emchar): Moved to multibyte.h.
5518         (simple_set_charptr_emchar): Likewise.
5519         (simple_charptr_copy_char): Likewise.
5520         (non_ascii_charptr_emchar): Likewise.
5521         (non_ascii_set_charptr_emchar): Likewise.
5522         (non_ascii_charptr_copy_char): Likewise.
5523         (charptr_emchar): Likewise.
5524         (set_charptr_emchar): Likewise.
5525         (charptr_copy_char): Likewise.
5526         (charptr_emchar_n): Likewise.
5527         (Charset_ID): Moved to char-1byte.h.
5528         (Vcharset_ascii): Likewise.
5529         (CHAR_CHARSET): Likewise.
5530         (CHAR_LEADING_BYTE): Likewise.
5531         (LEADING_BYTE_ASCII): Likewise.
5532         (NUM_LEADING_BYTES): Likewise.
5533         (MIN_LEADING_BYTE): Likewise.
5534         (CHARSETP): Likewise.
5535         (CHARSET_BY_LEADING_BYTE): Likewise.
5536         (XCHARSET_LEADING_BYTE): Likewise.
5537         (XCHARSET_GRAPHIC): Likewise.
5538         (XCHARSET_COLUMNS): Likewise.
5539         (XCHARSET_DIMENSION): Likewise.
5540         (BREAKUP_CHAR): Likewise.
5541
5542 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5543
5544         * character.h: Add document about interface for characters.
5545
5546         * char-ucs.h (CHAR_ASCII_P): Modify name of argument.
5547         (MAKE_CHAR): Delete comment about
5548         `FIELD2_TO_OFFICIAL_LEADING_BYTE' and
5549         `FIELD2_TO_PRIVATE_LEADING_BYTE'.
5550         (BREAKUP_CHAR): Modify name of arguments.
5551         (CHAR_CHARSET): Modify name of argument.
5552
5553         * buffer.h: Delete document about Emchar accessors.
5554
5555 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5556
5557         * character.h (CHAR_INTP): Moved from buffer.h
5558         (CHAR_OR_CHAR_INTP): Likewise.
5559         (XCHAR_OR_CHAR_INT): Likewise.
5560         (CHECK_CHAR_COERCE_INT): Likewise.
5561
5562         * buffer.h (CHAR_INTP): Moved to character.h
5563         (CHAR_OR_CHAR_INTP): Likewise.
5564         (XCHAR_OR_CHAR_INT): Likewise.
5565         (CHECK_CHAR_COERCE_INT): Likewise.
5566
5567 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5568
5569         * character.h:
5570         - Move definitions about UCS-2000 (UCS-4) to char-ucs.h.
5571         - Include char-1byte.h, char-lb.h or char-ucs.h.
5572
5573         * mb-utf-8.h (CHAR_ASCII_P): Moved to char-ucs.h.
5574
5575         * buffer.h: Include character unconditionally.
5576         (valid_char_p): Moved to char-*.h.
5577         (non_ascii_valid_char_p): Moved to char-lb.h.
5578
5579         * char-1byte.h, char-lb.h, char-ucs.h: New files.
5580
5581 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5582
5583         * mule-ccl.c (ccl_driver): Don't define `CCL_WriteMultibyteChar2'
5584         in UTF-2000 because it is not ported yet and not to use
5585         `FIELD2_TO_OFFICIAL_LEADING_BYTE', `MIN_LEADING_BYTE_OFFICIAL_2',
5586         `FIELD1_TO_OFFICIAL_LEADING_BYTE' and
5587         `FIELD1_TO_PRIVATE_LEADING_BYTE'.
5588
5589         * mb-utf-8.h (CHAR_MULTIBYTE_P): Moved from character.h.
5590         (CHAR_ASCII_P): Moved from character.h.
5591
5592         * character.h (CHAR_MULTIBYTE_P): Moved to mb-utf-8.h.
5593         (CHAR_ASCII_P): Likewise.
5594         (CHAR_FIELD1_MASK): Deleted.
5595         (CHAR_FIELD2_MASK): Deleted.
5596         (CHAR_FIELD3_MASK): Deleted.
5597         (MAX_CHAR_BASIC_LATIN): New macro.
5598         (CHAR_FIELD1): Deleted.
5599         (CHAR_FIELD2_INTERNAL): Deleted.
5600         (CHAR_FIELD3_INTERNAL): Deleted.
5601         (FIELD1_TO_PRIVATE_LEADING_BYTE): Deleted.
5602         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Deleted.
5603         (FIELD2_TO_PRIVATE_LEADING_BYTE): Deleted.
5604         (FIELD2_TO_OFFICIAL_LEADING_BYTE): Deleted.
5605         (MIN_CHAR_FIELD1_OFFICIAL): Deleted.
5606         (MAX_CHAR_FIELD1_OFFICIAL): Deleted.
5607         (MIN_CHAR_FIELD2_PRIVATE): Deleted.
5608         (MAX_CHAR_FIELD2_PRIVATE): Deleted.
5609         (MIN_CHAR_FIELD1_PRIVATE): Deleted.
5610         (MAX_CHAR_FIELD1_PRIVATE): Deleted.
5611         (MULE_CHAR_PRIVATE_OFFSET): Deleted.
5612         (MIN_CHAR_PRIVATE_TYPE9N): Deleted.
5613         (MAX_CHAR_PRIVATE_TYPE9N): Deleted.
5614         (MIN_CHAR_PRIVATE_TYPE9NX9N): Deleted.
5615         (MIN_CHAR_OFFICIAL_TYPE9NX9N): Deleted.
5616         (MIN_CHAR_COMPOSITION): Deleted.
5617         (breakup_char_1): Use `MAX_CHAR_BASIC_LATIN' instead of
5618         `CHAR_ASCII_P'; use `0x7f' instead of `CHAR_FIELD3_INTERNAL'.
5619
5620 1999-09-02  MORIOKA Tomohiko  <tomo@m17n.org>
5621
5622         * buffer.h: Include mb-utf-8.h in UTF-2000.
5623
5624         * character.h (BUFBYTE_FIRST_BYTE_P): Moved to mb-utf-8.h.
5625
5626         * mb-utf-8.h: New file.
5627
5628 1999-09-02  MORIOKA Tomohiko  <tomo@etl.go.jp>
5629
5630         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use `Charset_ID'
5631         instead of `int'.
5632
5633         * mule-charset.h, buffer.h (Charset_ID): New type.
5634
5635 1999-09-01  MORIOKA Tomohiko  <tomo@etl.go.jp>
5636
5637         * mule-canna.c (c2mu): Use `MAKE_CHAR',
5638         `Vcharset_japanese_jisx0212' and `Vcharset_japanese_jisx0208'
5639         instead of `MULE_CHAR_PRIVATE_OFFSET',
5640         `LEADING_BYTE_JAPANESE_JISX0212', `LEADING_BYTE_JAPANESE_JISX0208'
5641         and `FIELD1_TO_OFFICIAL_LEADING_BYTE'.
5642         (m2c): Use `BREAKUP_CHAR' and `XCHARSET_FINAL'.
5643
5644         * character.h (Vcharset_japanese_jisx0212): New variable
5645         definition.
5646
5647 1999-09-01  MORIOKA Tomohiko  <tomo@etl.go.jp>
5648
5649         * mule-charset.c (Vcharset_ucs_bmp): New variable in UTF-2000.
5650         (charset_by_attributes): Delete array about direction.
5651         (latin_a_char_to_charset): New variable in UTF-2000.
5652         (latin_a_char_to_byte1): New variable in UTF-2000.
5653         (latin_a_char_to_byte2): New variable in UTF-2000.
5654         (Qucs_bmp): New variable.
5655         (next_allocated_1_byte_leading_byte): Use `Charset_ID' instead of
5656         `Bufbyte'.
5657         (next_allocated_2_byte_leading_byte): Likewise.
5658         (non_ascii_set_charptr_emchar): Likewise.
5659         (make_charset): Likewise; add `CHARSET_TYPE_128X128' and
5660         `CHARSET_TYPE_256X256' in UTF-2000; modify for
5661         `charset_by_attributes'.
5662         (get_unallocated_leading_byte): Use `Charset_ID' instead of `int'.
5663         (char-charset): Use `CHAR_CHARSET' instead of `CHAR_LEADING_BYTE'
5664         and `CHARSET_BY_LEADING_BYTE'.
5665         (syms_of_mule_charset): Set up `ucs-bmp'; move setting of
5666         `utf-2000-version' to `vars_of_mule_charset'.
5667         (vars_of_mule_charset): Modify for `charset_by_attributes'; don't
5668         define `leading-code-private-11' in UTF-2000; move setting of
5669         `utf-2000-version' from `syms_of_mule_charset'.
5670         (complex_vars_of_mule_charset): Set up charset `ucs-bmp' in
5671         UTF-2000.
5672
5673         * character.h (Charset_ID): New type.
5674         (LEADING_BYTE_UCS_BMP): New macro.
5675         (LEADING_BYTE_CONTROL_1): Changed from 0x8F to 0x81.
5676         (CHARSET_ID_OFFSET_94): New macro.
5677         (MIN_CHARSET_ID_PRIVATE_94): New macro.
5678         (MAX_CHARSET_ID_PRIVATE_94): New macro.
5679         (LEADING_BYTE_ASCII): Changed to use CHARSET_ID_OFFSET_94 and
5680         final-byte.
5681         (LEADING_BYTE_KATAKANA_JISX0201): Likewise.
5682         (LEADING_BYTE_LATIN_JISX0201): Likewise.
5683         (CHARSET_ID_OFFSET_96): New macro.
5684         (LEADING_BYTE_LATIN_ISO8859_1): Changed to use
5685         CHARSET_ID_OFFSET_96 and final-byte.
5686         (LEADING_BYTE_LATIN_ISO8859_2): Likewise.
5687         (LEADING_BYTE_LATIN_ISO8859_3): Likewise.
5688         (LEADING_BYTE_LATIN_ISO8859_4): Likewise.
5689         (LEADING_BYTE_GREEK_ISO8859_7): Likewise.
5690         (LEADING_BYTE_ARABIC_ISO8859_6): Likewise.
5691         (LEADING_BYTE_HEBREW_ISO8859_8): Likewise.
5692         (LEADING_BYTE_CYRILLIC_ISO8859_5): Likewise.
5693         (LEADING_BYTE_LATIN_ISO8859_9): Likewise.
5694         (LEADING_BYTE_THAI_TIS620): Likewise.
5695         (MIN_LEADING_BYTE_PRIVATE_1): Changed from 0x0D0 to 0xD0.
5696         (MAX_LEADING_BYTE_PRIVATE_1): Changed from 0x11f to 0xDF.
5697         (CHARSET_ID_OFFSET_94x94): New macro.
5698         (LEADING_BYTE_CHINESE_BIG5_1): Changed to use
5699         CHARSET_ID_OFFSET_94x94 and final-byte.
5700         (LEADING_BYTE_CHINESE_BIG5_2): Likewise.
5701         (MIN_LEADING_BYTE_PRIVATE_2): Likewise.
5702         (MAX_LEADING_BYTE_PRIVATE_2): Likewise.
5703         (LEADING_BYTE_JAPANESE_JISX0208_1978): Likewise.
5704         (LEADING_BYTE_CHINESE_GB2312): Likewise.
5705         (LEADING_BYTE_JAPANESE_JISX0208): Likewise.
5706         (LEADING_BYTE_KOREAN_KSC5601): Likewise.
5707         (LEADING_BYTE_JAPANESE_JISX0212): Likewise.
5708         (LEADING_BYTE_CHINESE_CCITT_GB): Likewise.
5709         (LEADING_BYTE_CHINESE_CNS11643_*): Likewise.
5710         (LEADING_BYTE_KOREAN_KPS9566): Likewise.
5711         (CHARSET_TYPE_128X128): New macro.
5712         (CHARSET_TYPE_256X256): New macro.
5713         (XCHARSET_PRIVATE_P): Delete unconditionally.
5714         (charset_by_attributes): Delete array about direction.
5715         (CHARSET_BY_LEADING_BYTE): Use `Charset_ID' instead of `int'.
5716         (CHARSET_BY_ATTRIBUTES): Modify for `charset_by_attributes'.
5717         (MIN_CHAR_94): New macro.
5718         (MAX_CHAR_94): New macro.
5719         (MIN_CHAR_96): New macro.
5720         (MAX_CHAR_96): New macro.
5721         (MIN_CHAR_94x94): New macro.
5722         (MAX_CHAR_94x94): New macro.
5723         (MIN_CHAR_96x96): New macro.
5724         (MAX_CHAR_96x96): New macro.
5725         (FIELD1_TO_PRIVATE_LEADING_BYTE): Use `CHARSET_ID_OFFSET_94x94'.
5726         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Likewise.
5727         (FIELD2_TO_PRIVATE_LEADING_BYTE): Use `(MIN_LEADING_BYTE_PRIVATE_1
5728         - 32)'.
5729         (FIELD2_TO_OFFICIAL_LEADING_BYTE): Use `LEADING_BYTE_ASCII'.
5730         (MIN_CHAR_FIELD2_OFFICIAL): Deleted.
5731         (MAX_CHAR_FIELD2_OFFICIAL): Deleted.
5732         (MIN_CHAR_OFFICIAL_TYPE9N): Deleted.
5733         (MAX_CHAR_PRIVATE_TYPE9N): Changed.
5734         (MAKE_CHAR): Use `XCHARSET_FINAL' instead of
5735         `XCHARSET_LEADING_BYTE' to make code-point.
5736         (latin_a_char_to_charset): New variable.
5737         (latin_a_char_to_byte1): New variable.
5738         (latin_a_char_to_byte2): New variable.
5739         (breakup_char_1): Use `latin_a_char_to_{charset|byte1|byte2}' for
5740         Latin Extended-A; use `CHARSET_BY_ATTRIBUTES' instead of
5741         `CHARSET_BY_LEADING_BYTE' to get charset for ISO-2022 characters.
5742
5743         * insdel.c (find_charsets_in_bufbyte_string): Use `Charset_ID'
5744         instead of `unsigned char'; use `MIN_LEADING_BYTE' instead of 128.
5745         (find_charsets_in_emchar_string): Likewise.
5746         (vars_of_insdel): Don't define local variable `i' in UTF-2000.
5747
5748         * file-coding.c (Fdecode_big5_char): Use `Charset_ID' instead of
5749         `int'.
5750         (decode_coding_iso2022): Likewise.
5751
5752         * toolbar-x.c (x_output_toolbar_button): Use `Charset_ID' instead
5753         of `unsigned char'.
5754
5755         * redisplay.c (redisplay_text_width_emchar_string): Use
5756         `Charset_ID' instead of `unsigned char'.
5757         (redisplay_frame_text_width_string): Likewise.
5758
5759         * glyphs.c (glyph_height_internal): Use `Charset_ID' instead of
5760         `unsigned char'.
5761
5762         * faces.h, faces.c (ensure_face_cachel_complete): Use `Charset_ID'
5763         instead of `unsigned char'.
5764         (face_cachel_charset_font_metric_info): Likewise.
5765
5766         * chartab.c (print_char_table): Use `Charset_ID' instead of `int'.
5767         (get_non_ascii_char_table_value): Likewise.
5768         (get_char_table): Likewise.
5769         (put_char_table): Likewise.
5770         (map_over_other_charset): Likewise.
5771         (map_char_table): Likewise.
5772
5773         * buffer.h (find_charsets_in_bufbyte_string): Use `Charset_ID'
5774         instead of `unsigned char'.
5775
5776 1999-08-31  MORIOKA Tomohiko  <tomo@etl.go.jp>
5777
5778         * character.h (PRE_LEADING_BYTE_PRIVATE_1): Deleted.
5779         (PRE_LEADING_BYTE_PRIVATE_2): Deleted.
5780
5781         * mule-charset.c (leading_code_private_11): Don't define in
5782         UTF-2000.
5783
5784         * mule-ccl.c (ccl_driver): Don't define `CCL_ReadMultibyteChar2'
5785         in UTF-2000 because it is not ported yet and not to use
5786         `PRE_LEADING_BYTE_PRIVATE_1' and `PRE_LEADING_BYTE_PRIVATE_2'.
5787
5788 1999-08-30  MORIOKA Tomohiko  <tomo@etl.go.jp>
5789
5790         * character.h (LEADING_BYTE_COMPOSITE): Deleted.
5791
5792 1999-08-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
5793
5794         * regex.c (re_compile_fastmap): Don't use `LEADING_BYTE_PREFIX_P'
5795         in UTF-2000.
5796
5797         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use int instead
5798         of unsigned char to store leading-byte.
5799
5800         * chartab.c (get_non_ascii_char_table_value): Don't use
5801         `BREAKUP_CHAR_1_UNSAFE' in UTF-2000.
5802
5803         * file-coding.c (encode_coding_big5): Delete bogus implementation
5804         in UTF2000.
5805
5806         * character.h (LEADING_BYTE_*): Delete definition for
5807         non-UTF-2000.
5808         (LEADING_BYTE_PRIVATE_P): Deleted unconditionally.
5809         (LEADING_BYTE_PREFIX_P): Deleted.
5810         (PRIVATE_LEADING_BYTE_PREFIX): Deleted.
5811         (BUFBYTE_FIRST_BYTE_P): Delete definition for non-UTF-2000.
5812         (BUFBYTE_LEADING_BYTE_P): Deleted.
5813         (CHARSET_PRIVATE_P): Deleted unconditionally.
5814         (rep_bytes_by_first_byte): Deleted unconditionally.
5815         (REP_BYTES_BY_FIRST_BYTE): Delete definition for non-UTF-2000.
5816         (FIELD1_TO_PRIVATE_LEADING_BYTE): Likewise.
5817         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Likewise.
5818         (FIELD2_TO_PRIVATE_LEADING_BYTE): Likewise.
5819         (CHAR_FIELD2): Deleted.
5820         (CHAR_FIELD3): Deleted.
5821         (MAKE_CHAR): Delete definition for non-UTF-2000.
5822         (BREAKUP_CHAR_1_UNSAFE): Deleted.
5823         (breakup_char_1): New implementation.
5824         (CHAR_CHARSET): Use `BREAKUP_CHAR'.
5825         (CHAR_LEADING_BYTE): Use `CHAR_CHARSET'.
5826
5827 1999-08-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
5828
5829         * character.h (REP_BYTES_BY_FIRST_BYTE): Change order of
5830         condition.
5831
5832 1999-08-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
5833
5834         * character.h (LEADING_BYTE_PRIVATE_P): Don't define in UTF2000.
5835         (CHARSET_PRIVATE_P): Likewise.
5836         (XCHARSET_PRIVATE_P): Likewise.
5837         (MAKE_CHAR): Don't use XCHARSET_PRIVATE_P in UTF2000.
5838
5839         * file-coding.c (encode_coding_ucs4): Delete bogus implement in
5840         UTF2000.
5841         (decode_coding_iso2022): Don't use XCHARSET_PRIVATE_P in UTF2000.
5842
5843 1999-08-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
5844
5845         * character.h (LEADING_BYTE_*): Changed in UTF2000.
5846         (NUM_LEADING_BYTES): Changed from 128 to 256.
5847         (FIELD1_TO_PRIVATE_LEADING_BYTE): Change value to 0x80 in UTF2000.
5848         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Change value to 0x80 in
5849         UTF2000.
5850         (FIELD2_TO_PRIVATE_LEADING_BYTE): Change value to 0x80 in UTF2000.
5851
5852         * mule-charset.c (Vcharset_chinese_cns11643_3): New variable in
5853         UTF2000.
5854         (Vcharset_chinese_cns11643_4): New variable in UTF2000.
5855         (Vcharset_chinese_cns11643_5): New variable in UTF2000.
5856         (Vcharset_chinese_cns11643_6): New variable in UTF2000.
5857         (Vcharset_chinese_cns11643_7): New variable in UTF2000.
5858         (Qchinese_cns11643_3): New variable in UTF2000.
5859         (Qchinese_cns11643_4): New variable in UTF2000.
5860         (Qchinese_cns11643_5): New variable in UTF2000.
5861         (Qchinese_cns11643_6): New variable in UTF2000.
5862         (Qchinese_cns11643_7): New variable in UTF2000.
5863         (syms_of_mule_charset): Define `chinese-cns11643-3',
5864         `chinese-cns11643-4', `chinese-cns11643-5', `chinese-cns11643-6'
5865         and `chinese-cns11643-7' in UTF2000.
5866         (vars_of_mule_charset): Initialize
5867         next_allocated_2_byte_leading_byte by LEADING_BYTE_CHINESE_BIG5_2
5868         + 1 in UTF2000.
5869         (complex_vars_of_mule_charset): Setup charset
5870         `chinese-cns11643-3', `chinese-cns11643-4', `chinese-cns11643-5',
5871         `chinese-cns11643-6' and `chinese-cns11643-7' in UTF2000.
5872
5873 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
5874
5875         * mule-charset.c: Move setting for `leading-code-private-11' from
5876         `syms_of_mule_charset' to `vars_of_mule_charset'.
5877
5878 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
5879
5880         * mule-charset.h (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE'
5881         and `NUM_LEADING_BYTES' in assert.
5882
5883 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
5884
5885         * character.h (charset_by_leading_byte): Use `NUM_LEADING_BYTES'
5886         instead of 128.
5887         (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE' and
5888         `NUM_LEADING_BYTES' instead of 128.
5889
5890 1999-08-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
5891
5892         * mule-charset.h (charset_by_leading_byte): Use
5893         `NUM_LEADING_BYTES' instead of 128.
5894         (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE' instead of 128.
5895
5896         * mule-charset.c (charset_by_leading_byte): Use
5897         `NUM_LEADING_BYTES' instead of 128.
5898         (make_charset): Use `MIN_LEADING_BYTE' instead of 128.
5899
5900         * faces.h (FACE_CACHEL_FONT): Use `MIN_LEADING_BYTE' instead of
5901         128.
5902
5903 1999-08-25  MORIOKA Tomohiko  <tomo@etl.go.jp>
5904
5905         * mule-charset.c (syms_of_mule_charset): Update to
5906         0.4 (Shin-Imamiya).
5907
5908 1999-07-13 Daiki Ueno <ueno@ueda.info.waseda.ac.jp>
5909
5910         * file-coding.c (encode_coding_sjis): New implementation for
5911         UTF2000.  (decode_coding_sjis): Ditto.
5912
5913 1999-06-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
5914
5915         * mule-charset.c, character.h (Bytecount rep_bytes_by_first_byte):
5916         Don't define in UTF2000.
5917
5918         * character.h: Include mule-charset.h if CHAR_IS_UCS4 is not
5919         defined.
5920
5921         * redisplay-msw.c, objects-tty.c, objects-msw.c, mule-wnnfns.c,
5922         mule-ccl.c, lstream.h, buffer.h: Include character.h in every
5923         MULE.
5924
5925 1999-06-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
5926
5927         * config.h.in (CHAR_IS_UCS4): New macro.
5928
5929         * mule-charset.c (rep_bytes_by_first_byte): Modify for
5930         conventional MULE representation.
5931         (syms_of_mule_charset): Update to 0.3 (Imamiya).
5932
5933         * mule-charset.h: Reverted to original.
5934
5935         * redisplay-msw.c, objects-tty.c, objects-msw.c, mule-wnnfns.c,
5936         mule-ccl.c, lstream.h, buffer.h: Use "character.h" instead of
5937         "mule-charset.h" if CHAR_IS_UCS4 is defined.
5938
5939         * character.h: New file.
5940
5941         * file-coding.c (Fmake_coding_system): Set 1 to
5942         `codesys->fixed.size' if TYPE is `no-conversion' and UTF2000 is
5943         defined.
5944         (encode_coding_no_conversion): New implementation for UTF2000.
5945
5946         * file-coding.h (struct Lisp_Coding_System): Add new member
5947         `fixed.size'.
5948
5949 1999-06-16  MORIOKA Tomohiko  <tomo@etl.go.jp>
5950
5951         * file-coding.c (decode_coding_iso2022): Code-point arguments of
5952         `MAKE_CHAR' must be smaller than 0x80 in UTF2000.
5953         (encode_coding_iso2022): New implementation for UTF2000.
5954
5955 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
5956
5957         * mule-canna.c (c2mu): New implementation for UTF2000.
5958         (m2c): Likewise.
5959
5960 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
5961
5962         * file-coding.c (encode_coding_no_conversion): Modify for UTF2000.
5963
5964 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
5965
5966         * file-coding.c (reset_encoding_stream): Set 0 to
5967         `str->iso2022.current_char_boundary' in UTF2000.
5968         (encode_utf8): Don't define in UTF2000.
5969         (encode_coding_utf8): New implementation for UTF-8 representation
5970         of UTF2000.
5971         (complex_vars_of_file_coding): Define coding-system `utf-8'.
5972
5973 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
5974
5975         * mule.c (vars_of_mule): Provide `utf-2000' in UTF2000.
5976
5977         * mule-charset.h (BUFBYTE_FIRST_BYTE_P): Modify for UTF-8 in
5978         UTF2000.
5979         (REP_BYTES_BY_FIRST_BYTE): Likewise.
5980
5981         * buffer.h (non_ascii_valid_char_p): Don't define in UTF2000.
5982
5983         * mule-charset.c (non_ascii_set_charptr_emchar): Don't define
5984         local variables `lb', `c1', `c2' and `charset' in UTF2000; encode
5985         as UTF-8 in UTF2000.
5986         (non_ascii_charptr_emchar): Decode as UTF-8 in UTF2000.
5987         (non_ascii_valid_char_p): Don't define in UTF2000.
5988         (non_ascii_charptr_copy_char): Add case 5 and 6 in UTF2000.
5989         (Lstream_get_emchar_1): Likewise.
5990         (utf-2000-version): New variable in UTF2000.
5991
5992         * lread.c (read_escape): Add new reader `u'.
5993
5994         * insdel.c (three_to_one_table): Don't define in UTF2000.
5995         (bufpos_to_bytind_func): Use `buf->text->mule_size' instead of
5996         `buf->text->mule_shifter' and `buf->text->mule_three_p' in
5997         UTF2000.
5998         (bytind_to_bufpos_func): Likewise.
5999         (buffer_mule_signal_inserted_region): Likewise.
6000         (vars_of_insdel): Don't initialize `three_to_one_table'.
6001         (init_buffer_text): Use `buf->text->mule_size' instead of
6002         `buf->text->mule_shifter' and `buf->text->mule_three_p' in
6003         UTF2000.
6004
6005         * file-coding.c (DECODE_ADD_BINARY_CHAR): New implementation for
6006         UTF-8 representation in UTF2000.
6007         (DECODE_ADD_UCS_CHAR): New macro in UTF2000.
6008         (decode_ucs4): Use `DECODE_ADD_UCS_CHAR' in UTF2000.
6009         (decode_coding_iso2022): Don't define local variable `lb' in
6010         UTF2000; don't use LEADING_BYTE in UTF2000; use
6011         `DECODE_ADD_UCS_CHAR' in UTF2000.
6012         (convert_to_external_format): Decode as UTF-8 in UTF2000.
6013
6014         * config.h.in (UTF2000): New macro.
6015
6016         * buffer.h (struct buffer_text): Add new member `mule_size' and
6017         don't add `mule_shifter' and `mule_three_p' in UTF2000.
6018         (valid_char_p): Return always 1 in UTF2000.
6019         (MAX_EMCHAR_LEN): 6 in UTF2000.
6020         (three_to_one_table): Don't define in UTF2000.
6021         (real_bufpos_to_bytind): Modify for UTF-8 representation in
6022         UTF2000.
6023         (real_bytind_to_bufpos): Likewise.
6024
6025         * alloc.c (Fmake_string): Add case 5 and 6 for UTF2000.
6026
6027 1999-06-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
6028
6029         * mule-charset.c (rep_bytes_by_first_byte): Modified for character
6030         representation change.
6031         (Vutf_2000_version): New variable.
6032         (leading_code_private_11): New variable.
6033         (syms_of_mule_charset): Add new variables `utf-2000-version' and
6034         `leading-code-private-11'.
6035
6036         * mule-charset.h (LEADING_BYTE_CHINESE_CCITT_GB): New macro.
6037         (LEADING_BYTE_CHINESE_BIG5_1): Changed to 0x96 temporally.
6038         (LEADING_BYTE_CHINESE_CNS11643_1): Changed to 0x97.
6039         (LEADING_BYTE_CHINESE_CNS11643_2): Changed to 0x98.
6040         (LEADING_BYTE_CHINESE_CNS11643_3): New macro.
6041         (LEADING_BYTE_CHINESE_CNS11643_4): Likewise.
6042         (LEADING_BYTE_CHINESE_CNS11643_5): Likewise.
6043         (LEADING_BYTE_CHINESE_CNS11643_6): Likewise.
6044         (LEADING_BYTE_CHINESE_CNS11643_7): Likewise [but not used].
6045         (LEADING_BYTE_CHINESE_BIG5_2): Changed to 0x9D temporally.
6046         (LEADING_BYTE_KOREAN_KPS9566): New macro [but not used].
6047         (CHAR_FIELD1_MASK): Changed to (0x7F << 14).
6048         (MIN_CHAR_GREEK): New macro.
6049         (MAX_CHAR_GREEK): New macro.
6050         (MIN_CHAR_CYRILLIC): New macro.
6051         (MAX_CHAR_CYRILLIC): New macro.
6052         (MIN_CHAR_HEBREW): New macro.
6053         (MAX_CHAR_HEBREW): New macro.
6054         (MIN_CHAR_THAI): New macro.
6055         (MAX_CHAR_THAI): New macro.
6056         (MIN_CHAR_HALFWIDTH_KATAKANA): New macro.
6057         (MAX_CHAR_HALFWIDTH_KATAKANA): New macro.
6058         (CHAR_FIELD2_INTERNAL): New macro [renamed from `CHAR_FIELD2'.
6059         (CHAR_FIELD3_INTERNAL): New macro [renamed from `CHAR_FIELD3'.
6060         (FIELD1_TO_PRIVATE_LEADING_BYTE): Changed to 0xc0.
6061         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Changed to 0x50.
6062         (CHAR_FIELD2): New inline function.
6063         (CHAR_FIELD3): New inline function.
6064         (MULE_CHAR_PRIVATE_OFFSET): New macro.
6065         (MIN_CHAR_OFFICIAL_TYPE9N): Shifted to `MULE_CHAR_PRIVATE_OFFSET'.
6066         (MIN_CHAR_PRIVATE_TYPE9N): Likewise.
6067         (MIN_CHAR_PRIVATE_TYPE9NX9N): Likewise.
6068         (MIN_CHAR_OFFICIAL_TYPE9NX9N): Likewise.
6069         (MIN_CHAR_COMPOSITION): Likewise.
6070         (CHAR_LEADING_BYTE): Modified for character representation change.
6071         (MAKE_CHAR): Likewise.
6072
6073         * lisp.h (Vcharset_latin_iso8859_1): New variable.
6074         (Vcharset_greek_iso8859_7): Likewise.
6075         (Vcharset_cyrillic_iso8859_5): Likewise.
6076         (Vcharset_hebrew_iso8859_8): Likewise.
6077         (Vcharset_thai_tis620): Likewise.
6078         (Vcharset_katakana_jisx0201): Likewise.
6079
6080 2008-12-28  Vin Shelton  <acs@xemacs.org>
6081
6082         * XEmacs 21.4.22 is released
6083
6084 2008-12-27  Vin Shelton  <acs@xemacs.org>
6085
6086         * syswindows.h: Don't define wide character interfaces for Cygwin
6087         1.7 and up.
6088
6089 2008-03-05  Dominique Quatravaux  <domq@cpan.org>
6090
6091         * glyphs-gtk.c: Fixed compilation under gcc 4.x.
6092
6093 2008-11-01  Stephen J. Turnbull  <stephen@xemacs.org>
6094
6095         * regex.c (re_search_2): Fix at_dot by changing charpos to bytepos.
6096         From Julian Bradfield <18654.1143.304851.782755@krk.inf.ed.ac.uk>.
6097
6098 2008-12-25  Vin Shelton  <acs@xemacs.org>
6099
6100         * mule-ccl.c (ccl_driver): Fix off-by-one error.
6101         By Julian Bradfield in
6102         <18691.16568.526264.972026@krk.inf.ed.ac.uk>.
6103
6104         * mule-ccl.c (ccl_driver): 
6105
6106 2007-10-07  Vin Shelton  <acs@xemacs.org>
6107
6108         * XEmacs 21.4.21 is released
6109
6110 2007-08-14  Marcus Crestani  <crestani@xemacs.org>
6111
6112         * s/sol2.h: Fix for GCC lossage not needed with SunOS 5.10.
6113
6114 2007-02-17  Stephen J. Turnbull  <stephen@xemacs.org>
6115
6116         * glyphs-eimage.c (png_instantiate_unwind): Avoid recursion.
6117         (png_instantiate): Initialize setjmp_buffer early, and avoid
6118         recursive entry to error handler.
6119
6120 2007-06-23  Stephen J. Turnbull  <stephen@xemacs.org>
6121
6122         * linuxplay.c (linux_play_data_or_file): More 64-bit tweaking, and
6123         a typo fix.
6124
6125 2007-05-12  Aidan Kehoe  <kehoea@parhasard.net>
6126
6127         * event-Xt.c (x_reset_modifier_mapping):
6128         * event-gtk.c (gtk_reset_modifier_mapping):
6129         Zero out the device's modifier map once we've freed it, to prevent
6130         a double free on a re-entrant call. 
6131
6132 2007-05-17  Vin Shelton  <acs@xemacs.org>
6133
6134         * linuxplay.c (linux_play_data_or_file): Fix playing sound on
6135         64-bit linux.  Patch from Hans de Graaff.
6136
6137 2007-05-02  Vin Shelton  <acs@xemacs.org>
6138
6139         * dumper.c (pdump): Don't close pdump_fd (already closed by
6140         fclose() call.  Patch from Steve Higham.
6141         * callproc.c (Fold_call_process_internal): Don't close fd1 if it's
6142         already closed.  Patch inspired by Steve Higham.
6143
6144 2007-05-01  Vin Shelton  <acs@xemacs.org>
6145
6146         * nt.c (mswindows_stat): Tie _S_IEXEC permission to read access.
6147         (mswindows_fstat): Ditto.
6148         * sysfile.h: Under Windows, define X_OK to be the same as R_OK.
6149
6150 2007-02-08  Adrian Aichner  <adrian@xemacs.org>
6151
6152         * postgresql.c: Update Steve Baur's email address by his request.
6153         * postgresql.h: Ditto.
6154
6155 2007-01-04  Vin Shelton  <acs@xemacs.org>
6156
6157         * fileio.c (check_writable): Check old-style readonly bit only for
6158         non-directories.
6159
6160 2006-12-25  Benson I. Margulies  <benson@dchbk.us>
6161
6162         * src/fileio.c (check_writable): 
6163         Cope with the fact that the read-only attribute trumps Windows NTFS
6164         ACLS.
6165
6166
6167 2006-12-09  Vin Shelton  <acs@xemacs.org>
6168
6169         * XEmacs 21.4.20 is released
6170
6171 2006-12-08  Nelson Ferreira  <njsf@sxemacs.org>
6172
6173         * src/fns.c (XMALLOC_OR_ALLOCA,free_malloced_ptr,XMALLOC_UNBIND):
6174         relocated the definitions to be used sooner in file.
6175         (concat,plists_differ,mapcar1,Fmapconcat,Fmapcar): Use
6176         XMALLOC_OR_ALLOCA macro instead of alloca to prevent stack
6177         overflow.
6178
6179 2006-11-29  Aidan Kehoe  <kehoea@parhasard.net>
6180
6181         * sound.c (init_native_sound):
6182         Only X11 and GTK devices can possibly not be on the console of the
6183         associated machine. Fixes a crash when init_native_sound is called
6184         on a msprinter device. 
6185
6186 2006-11-14  Stephen J. Turnbull  <stephen@xemacs.org>
6187
6188         * buffer.c (buffer-file-name): Document invariant.
6189         (buffer-file-truename): Sync wording to buffer-file-name.
6190         Thanks to Nelson Ferreira <nelson.ferreira@ieee.org> for report
6191         and discussion.
6192
6193 2006-11-19  Benson Margulies  <benson@dchbk.us>
6194
6195         * fileio.c: Add code to use full Win32 API to check for write
6196         access.  Win32 has the general design policy that you aren't
6197         supposed to ask this question, since security checks change
6198         depending on asynchronous processes.  Nonetheless, there is a way,
6199         by acting as if we are a server doing interpretive access
6200         control.
6201
6202 2006-07-31  Aidan Kehoe <kehoea@parhasard.net>
6203
6204         * bytecode.c: Use xnew_array instead of alloca.
6205
6206 2006-07-04  Vin Shelton  <acs@xemacs.org>
6207
6208         * redisplay-msw.c: Fix tiny, but crucial typo.
6209
6210 2006-06-22  Jerry James  <james@xemacs.org>
6211
6212         * EmacsShell-sub.c (ChangeManaged):
6213         * device-x.c (x_IO_error_handler): Do not dereference d if it is
6214         NULL.
6215         * dgif_lib.c (DGifCloseFile): Do not dereference GifFile before
6216         checking if it is NULL.  Also fix a memory leak.
6217         * dialog-x.c (dbox_selection_callback): Ensure f is non-NULL, then
6218         dereference it, not the other way around.
6219         * dumper.c (pdump_register_object): Fix off-by-one array bounds
6220         overflow check.
6221         * dumper.c (pdump_register_struct): Ditto.
6222         * editfns.c (Ftemp_directory): Don't let a copy from (long) path
6223         to (short) warnpath overflow warnpath.
6224         * extents.c (detach_all_extents): Call extent_list_delete_all with
6225         a non-NULL parameter only.
6226         * glyphs-widget.c (widget_query_geometry): Guard against possibly
6227         NULL width and height.
6228         * input-method-xlib.c (XIM_SetGeometry): Do not dereference f or
6229         xic before checking if they are NULL.
6230         * keymap.c (where_is_recursive_mapper): Don't throw away the newly
6231         allocated array.
6232         * md5.c (Fmd5): Check whether Lstream_read encountered an error.
6233         * nas.c (Err): Fix a memory leak.
6234         * redisplay-gtk.c (gtk_output_display_block): Fix a Dynarr leak.
6235         Don't create the buffer if there is nothing to do.
6236         * redisplay-msw.c (mswindows_output_display_block): Ditto.
6237         * redisplay-output.c (redisplay_output_layout): Ditto.
6238         * redisplay-tty.c (tty_output_display_block): Ditto.
6239         * redisplay-x.c (x_output_display_block): Ditto.
6240         * scrollbar-gtk.c (gtk_free_scrollbar_instance): Do not
6241         dereference instance->scrollbar_data if it is NULL.
6242         * scrollbar-x.c (x_free_scrollbar_instance): Ditto.
6243         * scrollbar-msw.c (mswindows_free_scrollbar_instance): Ditto, but
6244         for sb->scrollbar_data.
6245         * sound.c (init_native_sound): Avoid a buffer overflow by
6246         allocating a buffer with the appropriate size.
6247
6248 2006-05-08  Stephen J. Turnbull  <stephen@xemacs.org>
6249
6250         * EmacsShell-sub.c (RootGeometryManager):
6251         Change garbage to useful messages under DEBUG_GEOMETRY_MANAGEMENT.
6252         Based on a suggestion by Francois L'Archeveque.
6253
6254 2006-03-21  Malcolm Purvis  <malcolmp@xemacs.org>
6255
6256         * regex.c: Bump INIT_FAILURE_ALLOC and re_max_failures to the
6257         current values found in GNU Emacs.
6258
6259 2006-03-17  Vin Shelton  <acs@xemacs.org>
6260
6261         * dialog-msw.c (handle_directory_dialog_box): Don't declare
6262         Q_title here.  LOCAL_FILE_FORMAT_TO_TSTR requires an lvalue.
6263
6264         * glyphs-msw.c (read_bitmap_data): change 'initialized' to
6265         'hex_initialized' because it conflicts with 'initialized' in
6266         lisp.h.
6267
6268 2006-01-28  Vin Shelton  <acs@xemacs.org>
6269
6270         * XEmacs 21.4.19 is released
6271
6272 2006-01-20  Rick Rankin <rrankin1424-xemacs@yahoo.com>
6273
6274         * sysdir.h: Workaround missing d_ino field from 'struct dirent'.
6275
6276 2005-12-24  Aidan Kehoe  <kehoea@parhasard.net>
6277
6278         * objects-gtk.c (MAX_FONT_COUNT): Increase MAX_FONT_COUNT from
6279         5000 to INT_MAX.
6280
6281 2005-12-05  Dr. Volker Zell  <Dr.Volker.Zell@oracle.com>
6282
6283         * database.c: Suppress compiler warning under Cygwin.
6284         * database.c: Removed __FreeBSD__ check, should be handled by
6285         HAVE_U_xxx_T defines.
6286
6287 2005-12-18  Malcolm Purvis  <malcolmp@xemacs.org>
6288
6289         * console.c (stuff_buffered_input): Compile body only if
6290         HAVE_TTY.
6291
6292 2005-05-10  Aidan Kehoe  <kehoea@parhasard.net>
6293
6294         * callproc.c: #include sysdir.h, so that any appropriate Mule
6295         magic happens with the chdir() call when calling a subprocess. 
6296
6297 2005-12-06  Aidan Kehoe  <kehoea@parhasard.net>
6298
6299         * mule-ccl.c (POSSIBLE_LEADING_BYTE_P): Add.
6300         * mule-ccl.c: Check that a character set exists before using it
6301         to create a character. 
6302
6303 2005-12-06  Vin Shelton  <acs@xemacs.org>
6304
6305         * objects-x.c (MAX_FONT_COUNT): Increase MAX_FONT_COUNT from 5000
6306         to INT_MAX.
6307
6308 2005-12-03  Vin Shelton <acs@xemacs.org>
6309
6310         * XEmacs 21.4.18 is released
6311
6312 2005-11-27  Kean Johnston <kean@armory.com>
6313
6314         * redisplay-tty.c (set_tty_modes):
6315         (reset_tty_modes): disable auto-margins if the terminal supports
6316         them.
6317         (init_tty_for_redisplay): fix cursor shape.
6318
6319 2005-04-05  Aidan Kehoe  <kehoea@parhasard.net>
6320
6321         * mule-ccl.c (ccl_driver): Calculate the charset and position code
6322         for control-1 characters properly, both when reading multibyte
6323         characters and writing them. 
6324
6325 2005-03-12  Aidan Kehoe  <kehoea@parhasard.net>
6326
6327         * config.h.in: Make HAVE_XTREGISTERDRAWABLE available. 
6328         * select-x.c (x_reply_selection_request): Use it; fix the bug we
6329         were seeing with incremental selection transfer failing. 
6330
6331 2005-11-26  Vin Shelton  <acs@xemacs.org>
6332
6333         * callproc.c (Fold_call_process_internal): Create the buffer if it
6334         does not already exist.  The original patch came from Ben Wing in
6335         http://list-archive.xemacs.org/xemacs-patches/200205/msg00117.html
6336
6337 2002-05-13  Adrian Aichner  <adrian@xemacs.org>
6338
6339         * callproc.c: Process-related docstring improvements spurred by
6340         Norbert Koch.
6341
6342 2005-11-25  Vin Shelton  <acs@xemacs.org>
6343
6344         * depend: Regenerated.
6345
6346 2005-07-11  Malcolm Purvis  <malcolmp@xemacs.org>
6347
6348         * glyphs-gtk.c:  Rename a local static variable because gcc 4.0
6349         says it clashes with a global with the same name.
6350
6351 2005-07-11  Atanu Ghosh <atanu@icsi.berkeley.edu>
6352
6353         * sysdll.c (dll_open): Under MacOS X return NULL under the
6354         filename is NULL.  Fixes problems finding local symbols under 10.4
6355         (Tiger)
6356
6357 2005-11-15  Dr. Volker Zell  <Dr.Volker.Zell@oracle.com>
6358         
6359         * config.h.in: New HAVE_U_INT*_T defines.
6360         
6361         * database.c: Only use u_int*_t typedefs if not already
6362         defined.
6363
6364 2005-04-07 15:08  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
6365
6366         * src/process-unix.c (unix_open_network_stream): moved
6367           'portbuf' buffer out of an inner block as it is used in the
6368           entire function. With gcc4, the stack may get corrupted
6369           after leaving this block. This patches adjusts the size of
6370           the used buffer also; static '128' bytes are far too much
6371           currently and might not suffice for future architectures
6372           (e.g. for 512 bit ones ;)). Instead of, use only the really
6373           required space (max octets * ln(256)/ln(10) chars + space
6374           for '\0' and the sign)
6375
6376 2005-04-08  Aidan Kehoe  <kehoea@parhasard.net>
6377
6378         * callproc.c: Include sysdir.h, so any necessary Mule processing
6379         is done on the current directory name before starting a new
6380         process.
6381
6382 2005-04-06  Stephen J. Turnbull  <stephen@xemacs.org>
6383
6384         * chartab.c (Fchar_table_p):
6385         (Fget_range_char_table):
6386         (Fput_char_table):
6387         (Fmap_char_table):
6388         Describe range representation and fix typo.
6389
6390 2005-02-12  Vin Shelton  <acs@xemacs.org>
6391
6392         * emacs.c (shut_down_emacs): Advise users to send email to the
6393         xemacs-beta list instead of crashes@xemacs.org.
6394
6395 2005-02-03  David Evers  <extsw@appliedgenerics.com>
6396
6397         * process-unix.c (unix_send_process): Flush the last chunk, even
6398         when the pipe is blocked.
6399
6400 2005-02-06  Vin Shelton <acs@xemacs.org>
6401
6402         * XEmacs 21.4.17 is released
6403
6404 2005-01-31  Ben Wing  <ben@xemacs.org>
6405
6406         * emacs.c:
6407         Define assert_failed() always.
6408         * lisp.h:
6409         Always define ABORT().
6410
6411 2005-01-25  Ben Wing  <ben@xemacs.org>
6412
6413         * Makefile.in.in:
6414         * Makefile.in.in (%.o):
6415         Don't compile executable as Windows (-mwindows) under Cygwin.
6416         Semi-recent changes to Cygwin's executable-startup handling make
6417         it impossible to access the TTY this way.
6418
6419         Don't use special linker file under Cygwin (cygwin.sc) except
6420         when non-PDUMP (even in this case it is highly questionable); you
6421         get errors like
6422
6423       1 [main] temacs 1364 fhandler_console::fixup_after_exec: error opening input console handle after exec, errno 13, Win32 error 5
6424    5820 [main] temacs 1364 fhandler_console::fixup_after_exec: error opening output console handle after exec, errno 13, Win32 error 5
6425
6426 2005-01-29  Ben Wing  <ben@xemacs.org>
6427
6428         Port this: 2003-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
6429
6430         * mule-charset.c (get_unallocated_leading_byte): Compiler quietus.
6431
6432 2005-01-29  Ben Wing  <ben@xemacs.org>
6433
6434         * bytecode.c (optimize_compiled_function):
6435         * print.c (FROB):
6436         * print.c (long_to_string):
6437         Add casts to avoid warning.
6438         
6439         * glyphs-eimage.c:
6440         Some really nasty hacks to allow TIFF and JPEG to both be compiled.
6441         #### The better solution is to move the TIFF and JPEG code to
6442         different files.
6443         
6444         * glyphs-msw.c (mswindows_xbm_instantiate):
6445         Define __STDC__ to avoid problems with compface.h.
6446         
6447         * EmacsFrame.c (EmacsFrameRecomputeCellSize):
6448         * EmacsShell-sub.c:
6449         * EmacsShell-sub.c (ABORT):
6450         * EmacsShell-sub.c (SuperClassRootGeometryManager):
6451         * EmacsShell-sub.c (RootGeometryManager):
6452         * EmacsShell.c:
6453         * EmacsShell.c (ABORT):
6454         * EmacsShell.c (EmacsShellUpdateSizeHints):
6455         * alloc.c (free_lcrecord):
6456         * alloca.c (i00afunc):
6457         * buffer.c (delete_from_buffer_alist):
6458         * buffer.c (MARKED_SLOT):
6459         * bytecode.c (execute_rare_opcode):
6460         * bytecode.c (optimize_byte_code):
6461         * bytecode.c (Ffetch_bytecode):
6462         * chartab.c (char_table_type_to_symbol):
6463         * chartab.c (Freset_char_table):
6464         * chartab.c (decode_char_table_range):
6465         * chartab.c (Fget_range_char_table):
6466         * chartab.c (check_valid_char_table_value):
6467         * chartab.c (map_char_table):
6468         * chartab.c (slow_map_char_table_fun):
6469         * chartab.c (chartab_instantiate):
6470         * cm.c (cmcheckmagic):
6471         * console-msw.c (DHEADER):
6472         * console.c (MARKED_SLOT):
6473         * data.c (finish_marking_weak_lists):
6474         * data.c (encode_weak_list_type):
6475         * debug.h (DASSERT):
6476         * device-gtk.c (gtk_init_device):
6477         * device-msw.c (mswindows_get_default_margin):
6478         * device-tty.c (tty_init_device):
6479         * device-x.c (get_device_from_display):
6480         * device-x.c (x_get_visual_depth):
6481         * doprnt.c (parse_doprnt_spec):
6482         * doprnt.c (get_doprnt_args):
6483         * dumper.c (pdump_get_indirect_count):
6484         * dumper.c (pdump_register_sub):
6485         * dumper.c (pdump_register_object):
6486         * dumper.c (pdump_register_struct):
6487         * dumper.c (pdump_dump_data):
6488         * dumper.c (pdump_reloc_one):
6489         * elhash.c (print_hash_table):
6490         * elhash.c (make_standard_lisp_hash_table):
6491         * elhash.c (hash_table_instantiate):
6492         * emacs.c:
6493         * emacs.c (Fforce_debugging_signal):
6494         * emacs.c (sort_args):
6495         * emacs.c (main):
6496         * emacs.c (assert_failed):
6497         * eval.c (throw_or_bomb_out):
6498         * eval.c (signal_1):
6499         * eval.c (Fsignal):
6500         * event-Xt.c:
6501         * event-Xt.c (emacs_Xt_mapping_action):
6502         * event-Xt.c (Xt_process_to_emacs_event):
6503         * event-msw.c:
6504         * event-stream.c (check_event_stream_ok):
6505         * event-stream.c (Fadd_timeout):
6506         * event-stream.c (Fadd_async_timeout):
6507         * event-stream.c (Fdiscard_input):
6508         * event-stream.c (execute_internal_event):
6509         * event-stream.c (Frecent_keys):
6510         * event-stream.c (extract_this_command_keys_nth_mouse_event):
6511         * event-stream.c (lookup_command_event):
6512         * event-unixoid.c (poll_fds_for_input):
6513         * events.c:
6514         * events.c (mark_event):
6515         * events.c (event_equal):
6516         * events.c (event_hash):
6517         * events.c (Fmake_event):
6518         * events.c (Fdeallocate_event):
6519         * events.c (event_chain_find_previous):
6520         * events.c (event_to_character):
6521         * events.c (format_event_object):
6522         * events.c (Fevent_type):
6523         * events.c (event_pixel_translation):
6524         * events.c (Fevent_properties):
6525         * extents.c (extent_in_region_p):
6526         * extents.c (print_extent):
6527         * extents.c (process_extents_for_insertion_mapper):
6528         * extents.c (report_extent_modification_mapper):
6529         * extents.c (glyph_layout_to_symbol):
6530         * faces.c (face_validate):
6531         * file-coding.c (eol_type_to_symbol):
6532         * file-coding.c (subsidiary_coding_system):
6533         * file-coding.c (Fcoding_system_type):
6534         * file-coding.c (Fcoding_system_property):
6535         * file-coding.c (mule_decode):
6536         * file-coding.c (mule_encode):
6537         * file-coding.c (encode_coding_ucs4):
6538         * file-coding.c (encode_coding_utf8):
6539         * file-coding.c (parse_iso2022_esc):
6540         * file-coding.c (encode_coding_iso2022):
6541         * fileio.c:
6542         * fns.c (concat):
6543         * fns.c (Fsubseq):
6544         * fns.c (mapcar1):
6545         * fns.c (Fbase64_encode_region):
6546         * fns.c (Fbase64_encode_string):
6547         * fns.c (Fbase64_decode_region):
6548         * fns.c (Fbase64_decode_string):
6549         * font-lock.c (find_context):
6550         * font-lock.c (context_to_symbol):
6551         * frame-gtk.c (gtk_set_frame_pointer):
6552         * frame-gtk.c (gtk_update_frame_external_traits):
6553         * frame-x.c (x_wm_mark_shell_size_user_specified):
6554         * frame-x.c (x_wm_mark_shell_position_user_specified):
6555         * frame-x.c (x_wm_set_shell_iconic_p):
6556         * frame-x.c (x_wm_set_cell_size):
6557         * frame-x.c (x_wm_set_variable_size):
6558         * frame-x.c (x_wm_store_class_hints):
6559         * frame-x.c (x_wm_maybe_store_wm_command):
6560         * frame-x.c (x_initialize_frame_size):
6561         * frame-x.c (x_update_frame_external_traits):
6562         * frame.c:
6563         * frame.c (delete_frame_internal):
6564         * frame.c (mouse_pixel_position_1):
6565         * frame.c (change_frame_size_1):
6566         * free-hook.c (check_free):
6567         * free-hook.c (check_realloc):
6568         * free-hook.c (note_block_input):
6569         * free-hook.c (log_gcpro):
6570         * gccache-gtk.c (gc_cache_lookup):
6571         * glyphs-eimage.c (tiff_memory_write):
6572         * glyphs-gtk.c (gtk_finalize_image_instance):
6573         * glyphs-gtk.c (init_image_instance_from_gdk_pixmap):
6574         * glyphs-gtk.c (init_image_instance_from_xbm_inline):
6575         * glyphs-gtk.c (gtk_xpm_instantiate):
6576         * glyphs-gtk.c (gtk_unmap_subwindow):
6577         * glyphs-gtk.c (gtk_map_subwindow):
6578         * glyphs-gtk.c (gtk_button_redisplay):
6579         * glyphs-msw.c:
6580         * glyphs-msw.c (init_image_instance_from_xbm_inline):
6581         * glyphs-x.c (init_image_instance_from_xbm_inline):
6582         * glyphs-x.c (extract_xpm_color_names):
6583         * glyphs-x.c (x_xpm_instantiate):
6584         * glyphs.c (get_image_instantiator_governing_domain):
6585         * glyphs.c (print_image_instance):
6586         * glyphs.c (image_instance_equal):
6587         * glyphs.c (image_instance_hash):
6588         * glyphs.c (encode_image_instance_type):
6589         * glyphs.c (make_image_instance_1):
6590         * glyphs.c (inherit_instantiate):
6591         * glyphs.c (image_instantiate):
6592         * glyphs.c (allocate_glyph):
6593         * glyphs.c (Fglyph_type):
6594         * glyphs.c (redisplay_subwindow):
6595         * glyphs.c (display_table_entry):
6596         * gtk-glue.c (xemacs_list_to_gtklist):
6597         * gtk-glue.c (xemacs_gtklist_to_list):
6598         * gtk-glue.c (xemacs_list_to_array):
6599         * gutter.c (SET_GUTTER_WAS_VISIBLE_FLAG):
6600         * gutter.c (gutter_was_visible):
6601         * gutter.c (get_gutter_coords):
6602         * input-method-xlib.c (get_XIM_input):
6603         * insdel.c (bufpos_to_bytind_func):
6604         * insdel.c (bytind_to_bufpos_func):
6605         * insdel.c (move_gap):
6606         * intl.c (x_get_composed_input):
6607         * keymap.c (keymap_lookup_directly):
6608         * keymap.c (keymap_delete_inverse_internal):
6609         * keymap.c (ensure_meta_prefix_char_keymapp):
6610         * keymap.c (accessible_keymaps_mapper_1):
6611         * keymap.c (where_is_recursive_mapper):
6612         * lisp.h:
6613         * lisp.h (ABORT):
6614         * lread.c (read_atom):
6615         * lstream.c (Lstream_delete):
6616         * lstream.c (make_lisp_buffer_stream_1):
6617         * macros.c (pop_kbd_macro_event):
6618         * malloc.c (malloc):
6619         * malloc.c (free):
6620         * marker.c (bi_marker_position):
6621         * marker.c (set_bi_marker_position):
6622         * menubar-gtk.c (menu_descriptor_to_widget_1):
6623         * menubar-msw.c (prune_menubar):
6624         * menubar-x.c (set_frame_menubar):
6625         * mule-charset.c (get_unallocated_leading_byte):
6626         * mule-charset.h (CHAR_LEADING_BYTE):
6627         * native-gtk-toolbar.c (SET_TOOLBAR_WAS_VISIBLE_FLAG):
6628         * nt.c (init_environment):
6629         * nt.c (generate_inode_val):
6630         * ntproc.c (delete_child):
6631         * ntproc.c (_sys_read_ahead):
6632         * ntproc.c (create_child):
6633         * objects.c (color_instantiate):
6634         * objects.c (font_instantiate):
6635         * objects.c (face_boolean_instantiate):
6636         * print.c (printing_major_badness):
6637         * process-nt.c (nt_send_process):
6638         * process-unix.c (unix_send_process):
6639         * process.c (get_process):
6640         * ralloc.c (obtain):
6641         * ralloc.c (relinquish):
6642         * ralloc.c (relocate_blocs):
6643         * ralloc.c (resize_bloc):
6644         * ralloc.c (r_alloc_free):
6645         * ralloc.c (r_re_alloc):
6646         * ralloc.c (r_alloc_thaw):
6647         * ralloc.c (init_ralloc):
6648         * ralloc.c (Free_Addr_Block):
6649         * ralloc.c (r_alloc):
6650         * redisplay-gtk.c (gtk_output_display_block):
6651         * redisplay-msw.c (mswindows_output_display_block):
6652         * redisplay-output.c (get_next_display_block):
6653         * redisplay-output.c (get_cursor_size_and_location):
6654         * redisplay-output.c (redisplay_output_layout):
6655         * redisplay-output.c (redisplay_clear_region):
6656         * redisplay-tty.c (tty_output_display_block):
6657         * redisplay-x.c (x_output_display_block):
6658         * redisplay.c (add_propagation_runes):
6659         * redisplay.c (add_glyph_rune):
6660         * redisplay.c (create_text_block):
6661         * redisplay.c (add_margin_runes):
6662         * redisplay.c (create_left_glyph_block):
6663         * redisplay.c (create_right_glyph_block):
6664         * redisplay.c (create_string_text_block):
6665         * redisplay.c (regenerate_window):
6666         * redisplay.c (REGEN_INC_FIND_START_END):
6667         * redisplay.c (redisplay_frame):
6668         * redisplay.c (point_in_line_start_cache):
6669         * regex.c:
6670         * regex.c (ABORT):
6671         * regex.c (re_compile_fastmap):
6672         * regex.c (re_match_2_internal):
6673         * regex.c (regerror):
6674         * scrollbar-gtk.c (gtk_scrollbar_loop):
6675         * scrollbar-gtk.c (scrollbar_cb):
6676         * scrollbar-gtk.c (gtk_update_frame_scrollbars):
6677         * scrollbar-msw.c (mswindows_handle_scrollbar_event):
6678         * scrollbar-x.c (x_update_scrollbar_instance_status):
6679         * scrollbar-x.c (x_scrollbar_loop):
6680         * scrollbar-x.c (x_update_frame_scrollbars):
6681         * search.c (search_command):
6682         * search.c (Fmatch_data):
6683         * select-x.c (motif_clipboard_cb):
6684         * signal.c (interrupt_signal):
6685         * specifier.c (specifier_add_spec):
6686         * specifier.c (specifier_instance_from_inst_list):
6687         * specifier.c (specifier_instance):
6688         * specifier.h:
6689         * specifier.h (struct specifier_methods):
6690         * strftime.c (add_num_time_t):
6691         * sunplay.c (init_device):
6692         * symbols.c (Fsetplist):
6693         * symbols.c (do_symval_forwarding):
6694         * symbols.c (store_symval_forwarding):
6695         * symbols.c (Fset):
6696         * symbols.c (Fbuilt_in_variable_type):
6697         * symbols.c (decode_magic_handler_type):
6698         * symbols.c (handler_type_from_function_symbol):
6699         * syntax.c (update_syntax_cache):
6700         * sysdep.c (init_baud_rate):
6701         * toolbar-gtk.c (SET_TOOLBAR_WAS_VISIBLE_FLAG):
6702         * toolbar-msw.c (SET_TOOLBAR_WAS_VISIBLE_FLAG):
6703         * toolbar-x.c (SET_TOOLBAR_WAS_VISIBLE_FLAG):
6704         * toolbar.c (get_toolbar_coords):
6705         * ui-gtk.c (build_gtk_boxed):
6706         * ui-gtk.c (describe_gtk_arg):
6707         * ui-gtk.c (gtk_type_to_lisp):
6708         * ui-gtk.c (lisp_to_gtk_type):
6709         * ui-gtk.c (lisp_to_gtk_ret_type):
6710         * ui-gtk.c (lisp_to_flag):
6711         * unexnt.c (read_in_bss):
6712         * unexnt.c (map_in_heap):
6713         * window.c (real_window):
6714         * window.c (window_display_lines):
6715         * window.c (window_display_buffer):
6716         * window.c (set_window_display_buffer):
6717         * window.c (window_modeline_height):
6718         * window.c (unshow_buffer):
6719         * window.c (window_loop):
6720         * window.c (Fget_lru_window):
6721         * window.c (Fsplit_window):
6722         * window.c (Fset_window_configuration):
6723         * window.c (saved_window_index):
6724         * xgccache.c (gc_cache_lookup):
6725         abort() -> ABORT().  Eliminate preprocessor games with abort()
6726         since it creates huge problems in VC7, solvable only by including
6727         massive amounts of files in every compile (and not worth it).
6728
6729         * sysdep.c:
6730         * sysproc.h:
6731         Inclusion of process.h does not need to be before lisp.h any more.
6732         Move later and remove comment about abort().
6733
6734 2005-01-26  Arnaud Giersch  <arnaud.giersch@free.fr>
6735
6736         * regex.c (re_match_2_internal):
6737         Correctly initialize loop which clears uninitialized registers.
6738
6739 2005-01-28  Vin Shelton  <acs@xemacs.org>
6740
6741         * sheap.c (more_static_core): Applied Ben's version of the long
6742         string patch.
6743
6744 2005-01-24  Vin Shelton  <acs@xemacs.org>
6745
6746         * sheap.c (more_static_core): Reformatted printf string so
6747         gcc-3.3.3 will compile this on Cygwin.
6748
6749 2004-02-22  Stephen J. Turnbull  <stephen@xemacs.org>
6750
6751         * console.c (function_key_map): Reference `key-binding'.
6752
6753         * keymap.c (Vkey_translation_map): Improve docstring.
6754
6755 2004-03-30  Zajcev Evgeny  <zevlg@yandex.ru>
6756
6757         * window.c: Declare `allow_deletion_of_last_visible_frame' extern.
6758         * window.c (window_loop): [fix] Take into account
6759         `allow-deletion-of-last-visible-frame' variable.
6760         * window.c (replace-buffer-in-windows): Ditto.
6761
6762 2004-12-15  Stephen J. Turnbull  <stephen@xemacs.org>
6763
6764         * EmacsManager.c (EmacsManagerChangeSize): Respect XtGeometryNo.
6765
6766 2005-01-20  Malcolm Purvis  <malcolmp@xemacs.org>
6767
6768         * event-gtk.c: Recognise AltGr as a valid modifier.
6769
6770 2005-01-12  Ville Skyttä  <scop@xemacs.org>
6771
6772         * console-x.h: #include X11/keysym.h before xintrinsic.h.
6773
6774 2005-01-13  Stephen J. Turnbull  <stephen@xemacs.org>
6775
6776         Fix backreference bug caught by test suite.
6777
6778         * regex.c (regex_compile):
6779         Make backref duplicate internal register.
6780
6781 2005-01-13  Stephen J. Turnbull  <stephen@xemacs.org>
6782
6783         Documentation, code clarification, and warning suppression.
6784         
6785         * regex.c (regex_compile):
6786         Improve comments.
6787         (re_match_2_internal):
6788         Improve comments and avoid redundant braces.  [Most of the big hunk
6789         at l. 4710 is indentation; use diff -w to see the real changes.]
6790         (alt_match_null_string_p):
6791         (common_op_match_null_string_p):
6792         Avoid shadowing global on Mac OS X 10.4, at least.
6793
6794 2004-09-08  Stephen J. Turnbull  <stephen@xemacs.org>
6795
6796         * regex.c (regcomp): Fix "unsigned comparison" warning (maybe
6797         introduced with shy groups fix).  [Already applied, probably
6798         with the second "fix shy groups" patch of 2004-10-07.] 
6799
6800 2005-01-10  Steve Youngs  <steve@sxemacs.org>
6801
6802         From Andrey Slusar <anrays@gmail.com>:
6803
6804         * unexelf.c: define `Elfw(type)' for FreeBSD alpha and amd64.
6805
6806 2004-11-21  Malcolm Purvis  <malcolmp@xemacs.org>
6807
6808         * Makefile (RECURSIVE_MAKE): Removed.
6809         * Makefile (RECURSIVE_MAKE_ARGS): New.  The new method for
6810         handling parallel builds.
6811
6812 2004-09-08  Malcolm Purvis  <malcolmp@xemacs.org>
6813
6814         * Makefile.in.in: Enable support for parallel builds.
6815
6816 2005-01-09  Steve Youngs  <steve@sxemacs.org>
6817
6818         From Andrey Slusar <anrays@gmail.com>:
6819
6820         * s/freebsd.h (LIBS_SYSTEM): Only set to "-lutil -lxpg4" if
6821         FreeBSD version is >= 199701 _and_ < 600006.
6822
6823 2005-01-06  Zajcev Evgeny <zevlg@yandex.ru>
6824
6825         * scrollbar.c (compute_scrollbar_instance_usage):
6826         Only call device method compute_scrollbar_instance_usage() if it
6827         is defined.
6828
6829 2004-12-05  Vin Shelton <acs@xemacs.org>
6830
6831         * XEmacs 21.4.16 is released
6832
6833 2004-12-04  Vin Shelton  <acs@xemacs.org>
6834
6835         * depend: Regenerated.
6836
6837 2004-10-07  Stephen J. Turnbull  <stephen@xemacs.org>
6838
6839         * regex.c (re_match_2_internal): Map internal to external
6840         registers.  Fixes bug identified by Steve Youngs 2004-09-30
6841         <microsoft-free.87ekkjhj7t.fsf@youngs.au.com>.
6842
6843 2004-09-02  Yoshiki Hayashi  <yoshiki@xemacs.org>
6844
6845         * buffer.c (Frecord_buffer): Make sure the argument is buffer
6846         to fix a crash.  Also, check the buffer is live and it
6847         really exists in buffer_list.  If the buffer is not in the list,
6848         prepend it.
6849
6850 2004-09-08  Stephen J. Turnbull  <stephen@xemacs.org>
6851
6852         Fix shy groups by implementing recording of all groups for
6853         repetition and backtracking.  Backport from 21.5.
6854         
6855         * regex.h (struct re_pattern_buffer): Add members re_ngroups,
6856         external_to_internal_register, external_to_internal_register_size,
6857         and update comments for re_nsub.
6858
6859         * regex.c (re_opcode_t): Update comments.
6860         (print_compiled_pattern): Ouput external_to_internal_register,
6861         external_to_internal_register_size, and re_ngroups for debugging.
6862         (INIT_REG_TRANSLATE_SIZE): New manifest constant.
6863         (regex_compile): Update header comment.
6864         Ensure that all groups are recorded so that repeat matches and
6865         backtracking work correctly.  Comment related warning for groups >
6866         255.
6867         (re_search_2): Construct map of API indexes (which count only
6868         nonshy groups) to internal register numbers, and keep it updated.
6869
6870 2004-07-27  Malcolm Purvis  <malcolmp@xemacs.org>
6871
6872         * frame-gtk.c (gtk_make_frame_visible):
6873         * frame-gtk.c (gtk_make_frame_invisible): Use map/unmap instead of
6874         show/hide.  This is what X uses and is prevents previously hidden
6875         widgets from suddenly reappearing.
6876         * gtk-xemacs.c (gtk_xemacs_paint):
6877         * gtk-xemacs.c (gtk_xemacs_draw):
6878         * gtk-xemacs.c (gtk_xemacs_expose): Only operate if the widget is
6879         drawable.
6880         * scrollbar-gtk.c (gtk_update_scrollbar_instance_status): Force
6881         size and location changes so that they can be seen before the next
6882         idle event.  Without this rapid changes to scrollbar properties
6883         are not seen.
6884
6885 2004-07-02  Malcolm Purvis  <malcolmp@xemacs.org>
6886
6887         * console-gtk.h:
6888         * console-gtk.h (struct gtk_frame):
6889         * console-gtk.h (FRAME_GTK_WIDGET_INSTANCE_HASH_TABLE):
6890           Add hash tables track tab_control callback data.
6891           Added #defines for GTK object data names.
6892           Declaration of gtk_widget_to_frame().
6893         * event-gtk.c (enqueue_gtk_dispatch_event) No longer static:
6894         * frame-gtk.c (gtk_widget_to_frame): New.
6895         * frame-gtk.c (gtk_create_widgets):
6896         * frame-gtk.c (allocate_gtk_frame_struct):
6897         * frame-gtk.c (gtk_mark_frame):
6898         Manage frame callbakc hash tables.
6899         * glyphs-gtk.c (gtk_map_subwindow): Fix size and moving bugs.
6900         * glyphs-gtk.c (gtk_redisplay_widget): Use correct size for widgets.
6901         * glyphs-gtk.c (gtk_widget_instantiate_1): Force reconsideration
6902         of widget size.
6903         * glyphs-gtk.c (gtk_widget_query_geometry): New
6904         * glyphs-gtk.c (gtk_register_gui_item): New
6905         * glyphs-gtk.c (gtk_add_tab_item): New
6906         * glyphs-gtk.c (gtk_tab_control_callback): New
6907         * glyphs-gtk.c (gtk_tab_control_instantiate): New
6908         * glyphs-gtk.c (gtk_tab_control_redisplay): Set notebook page.
6909         Use correct list when loading item.
6910         * glyphs-gtk.c (image_instantiator_format_create_glyphs_gtk):
6911         Register new methods.
6912         * gtk-xemacs.c (gtk_xemacs_size_allocate): Use XEmacs size, not
6913         default size, for widgets.
6914         * gui-x.c:  Improved comment.
6915         * menubar-gtk.c (__generic_button_callback): Use
6916         gtk_widget_to_frame instead of __get_channel.
6917         * scrollbar-gtk.c:
6918         * ui-gtk.c: Use symbolic names for GTK object data.
6919
6920 2004-06-23  Ilya N. Golubev <gin@mo.msk.ru>
6921
6922         * s/usg5-4.h (NSIG): Define only inside emacs binary.
6923
6924 2002-03-04  Stephen J. Turnbull  <stephen@xemacs.org>
6925
6926         * fileio.c (Fwrite_region_internal): Document use of start == Qnil.
6927
6928 2004-06-16  Malcolm Purvis  <malcolmp@xemacs.org>
6929
6930         * malloc.c (morecore): siz is a long because in some architectures
6931         (eg ia-64) an int cannot hold the address range.  Additional patch
6932         from the SuSe distribution.
6933
6934 2004-06-13  Malcolm Purvis  <malcolmp@xemacs.org>
6935
6936         * emacs.c:
6937         * malloc.c: lim_data is a long because in some architectures
6938         (eg ia-64) an int cannot hold the address range.
6939         * mem-limits.h: lim-data is a long.  Linux uses getrlimit()
6940         instead of ulimit() because ulimit() always returns -1.
6941
6942 2004-06-09  Stephen J. Turnbull  <stephen@xemacs.org>
6943
6944         * search.c: Reenable an ansync semaphore.  Remove bogus comments.
6945
6946 2004-06-11  David Kastrup  <dak@gnu.org>
6947
6948         * search.c (match_limit): Don't flag an error if match-data
6949         exceeding the allocated search_regs.num_regs gets requested, just
6950         return Qnil.
6951
6952 2003-07-21  Malcolm Purvis  <malcolmpurvis@optushome.com.au>
6953
6954         * glyphs-gtk.c (gtk_xpm_instantiate): Rewrite the XPM data to
6955         replace symbolic color entries with the real colors specified in
6956         xpm-color-symbols, before passing the XPM to gtk.
6957         * glyphs-gtk.h: Use the generic pixmap_image_instance.mask for masks,
6958         instead of a GTK specific field, so that it is used in by generic
6959         code.
6960
6961 2004-05-05  Chuck Hines <chuck.hines@baesystems.com>
6962
6963        * dgif_lib.c (DGifSlurp): Changed do-while to while to stop
6964         coredump from deref of NULL ptr (ExtData)
6965
6966 2004-04-19  Jerry James  <james@xemacs.org>
6967
6968         * data.c (sign_extend_lisp_int): Use INT_VALBITS instead of
6969         VALBITS to compute the location of the sign bit.
6970         * event-stream.c (Fcurrent_event_timestamp): Replace incorrect use
6971         of VALBITS with EMACS_INT_MAX.
6972         * events.c (Fevent_timestamp): Ditto.
6973         * events.c (TIMESTAMP_HALFSPACE): Change VALBITS to INT_VALBITS to
6974         compute the halfway point to timestamp wraparound.
6975         * floatfns.c (float_to_int): Compare against EMACS_INT_MAX and
6976         EMACS_INT_MIN instead of using VALBITS.
6977         * floatfns.c (Flogb): Use EMACS_INT_MIN instead of building an
6978         incorrect number with VALBITS.
6979         * fns.c (Frandom): Correct number of integer bits in docstring.
6980         Use INT_VALBITS instead of VALBITS to compute the denominator.
6981         * sysdep.c (get_random): Use INT_VALBITS instead of VALBITS to
6982         build random numbers.
6983
6984 2004-03-23  Malcolm Purvis  <malcolmpurvis@optushome.com.au>
6985         * event-gtk.c:
6986         * event-gtk.c (gtk_event_to_emacs_event):
6987         * menubar-gtk.c:
6988         * menubar-gtk.c (gtk_xemacs_menubar_class_init):
6989         * menubar-gtk.c (gtk_xemacs_menubar_size_request):
6990         * menubar-gtk.c (gtk_xemacs_accel_label_get_type):
6991         * menubar-gtk.c (gtk_xemacs_set_accel_keys):
6992         * menubar-gtk.c (__activate_menu):
6993         * menubar-gtk.c (convert_underscores):
6994         * menubar-gtk.c (remove_underscores):
6995         * menubar-gtk.c (menu_convert):
6996         * menubar-gtk.c (menu_descriptor_to_widget_1):
6997         * menubar-gtk.c (menu_descriptor_to_widget):
6998         * menubar-gtk.c (menu_can_reuse_widget):
6999         * menubar-gtk.c (menu_create_menubar):
7000         * menubar-gtk.c (gtk_popup_menu):
7001         * menubar-gtk.c (Fgtk_build_xemacs_menu):
7002         Added support for Gtk menu bar and menu item mnemonics.
7003
7004 2004-03-23  Malcolm Purvis  <malcolmpurvis@optushome.com.au>
7005
7006         * sysdll.c: (dll_function): Added support for finding symbols in
7007         Darwin shared libraries as well in Darwin bundles.
7008         * sysdll.c (image_for_address): New
7009         * sysdll.c (my_find_image): New
7010         * sysdll.c (search_linked_libs): New
7011
7012 2004-03-23  Malcolm Purvis  <malcolmpurvis@optushome.com.au>
7013
7014         * ui-gtk.c (__internal_callback_marshal): Marshalling data to
7015         return to GTK requires a different API to marshalling data to use
7016         as GTK parameters.
7017         * ui-gtk.c (lisp_to_gtk_ret_type): New.
7018
7019 2004-03-08  Lutz Euler  <lutz.euler@freenet.de>
7020
7021         * lstream.c (Lstream_pseudo_close): Fix test for LSTREAM_FL_IS_OPEN.
7022
7023 2004-02-19  Stephen J. Turnbull  <stephen@xemacs.org>
7024
7025         * glyphs.c (process_image_string_instantiator):
7026         (Fset_console_type_image_conversion_list):
7027         Stop GCC from warning about shadowing of `exp'.
7028
7029         * redisplay-x.c (x_output_string): Fix unsigned lossage.
7030
7031 2004-02-19  Stephen J. Turnbull  <stephen@xemacs.org>
7032
7033         * regex.c (re_match_2_internal): Shut up GCC about syn1, syn2.
7034
7035 2004-02-03  Vin Shelton  <acs@xemacs.org>
7036
7037         * glyphs.c (image_instance_layout): Remove pointless assertion.
7038         * regex.c (regex_grow_registers): Return type is void.
7039
7040 2004-02-02  Vin Shelton <acs@xemacs.org>
7041
7042         * XEmacs 21.4.15 is released
7043
7044 2004-01-30  Glynn Clements  <glynn.clements@virgin.net>
7045
7046         * device-x.c (x_error_handler): Don't call stderr_out
7047
7048 2003-11-07  Katsumi Yamaoka <yamaoka@jpl.org>
7049
7050         * buffer.c (other-buffer): Clarify documentation of order of
7051         arguments for FSF Emacs.
7052
7053 2003-10-11  Olivier Galibert  <galibert@pobox.com>
7054
7055         * window.c (Fdelete_window): Dirty the mirror structure _before_
7056         marking the window deleted.
7057
7058 2003-09-15  Jerry James  <james@xemacs.org>
7059
7060         * event-msw.c (debug_mswin_messages): Conditionally compile
7061         messages missing from the Cygwin headers.
7062
7063 2003-06-16  Stephen J. Turnbull  <stephen@xemacs.org>
7064
7065         * data.c (eq_with_ebola_notice): Fix typo in comment.
7066         (Ftrue_list_p): Improve docstring.
7067
7068 2003-10-13  Stephen J. Turnbull  <stephen@xemacs.org>
7069
7070         * frame-x.c (x_update_frame_external_traits): Fix XtSetArg idiom.
7071
7072 2003-09-27  Stephen J. Turnbull  <stephen@xemacs.org>
7073
7074         * search.c (trivial_regexp_p): Regexps containing "\{" are
7075         nontrivial.  Thanks to Manfred Bartz for reporting the bug and
7076         Stefan Monnier for suggesting a diagnosis.
7077
7078 2003-09-25  Stephen J. Turnbull  <stephen@xemacs.org>
7079
7080         * elhash.c (make-hash-table): Clarify use of :test #'equal.
7081
7082 2003-09-12  Stephen J. Turnbull  <stephen@xemacs.org>
7083
7084         * search.c (Fsearch_forward):
7085         (Fsearch_backward):
7086         Document negative count.
7087
7088 2003-09-13  Stephen J. Turnbull  <stephen@xemacs.org>
7089
7090         * regex.c (re_max_failures): Bump to 20000 for REGEX_MALLOC, too.
7091
7092 2003-09-13  Martin Buchholz  <martin@xemacs.org>
7093
7094         * s/sol2.h: Use OS_RELEASE=os_release_major*100+os_release_minor
7095
7096 2003-09-15  Vin Shelton  <acs@xemacs.org>
7097
7098         * .gdbinit (pobj): Remove Ilya's fix that was only intended for
7099         21.5.
7100
7101 2003-09-12  Yoshiki Hayashi  <yoshiki@xemacs.org>
7102
7103         * regex.c (TRANSLATE_EXTENDED_UNSAFE): Remove.
7104         (re_search_2): Match the first byte of Bufbyte, not Emchar.
7105         (re_match_2_internal): Use TRANSLATE instead of
7106         TRANSLATE_EXTENDED_UNSAFE.  The latter was a hack to bypass
7107         non-ASCII char case conversion.
7108
7109 2003-09-08  Mike Sperber  <mike@xemacs.org>
7110
7111         * symbols.c (Fvariable_binding_locus): Add, as per suggestion from
7112         RMS at: http://article.gmane.org/gmane.emacs.pretest.bugs/1010
7113
7114 2003-06-14  Ilya N. Golubev  <gin@mo.msk.ru>
7115
7116        * .gdbinit (pobj): fix printing of symbol name.
7117
7118 2003-08-01  Ilya N. Golubev  <gin@mo.msk.ru>
7119
7120         * frame-x.c (x_layout_widgets): When resizing is about to cause
7121         frame size slip, mark it for redisplay.
7122
7123 2003-08-18  Jerry James  <james@xemacs.org>
7124
7125         * opaque.h: Remove unused (X)OPAQUE_MARKFUN definitions.
7126
7127 2003-09-03  Vin Shelton <acs@xemacs.org>
7128
7129         * XEmacs 21.4.14 is released
7130
7131 2003-08-15  Stephen J. Turnbull  <stephen@xemacs.org>
7132
7133         * config.h.in (REGEX_MALLOC): Make it configure'able.
7134
7135 2003-08-14  Andrew Begel  <abegel@CS.Berkeley.EDU>
7136
7137         * config.h.in: Add HAVE_DYLD to indicate Darwin/MacOSX dynamic
7138         linking.
7139         * sysdll.c (dll_init):
7140         * sysdll.c (dll_open):
7141         * sysdll.c (dll_close):
7142         * sysdll.c (dll_function):
7143         * sysdll.c (dll_variable):
7144         * sysdll.c (dll_error):
7145         Add support for loading bundles using Darwin/MacOSX
7146         native API.
7147
7148 2003-08-12  Stephen J. Turnbull  <stephen@xemacs.org>
7149
7150         * process.c (start-process-internal): Document coding systems.
7151
7152 2003-07-30  Jerry James  <james@xemacs.org>
7153
7154         * sysdll.c: configure sets HAVE_DLD_INIT, not HAVE_INIT_DLD.
7155
7156 2003-07-31  René Kyllingstad  <listmailxemacs@kyllingstad.com>
7157
7158         * event-msw.c (mswindows_enqueue_mouse_button_event):
7159         * event-msw.c (mswindows_wnd_proc):
7160           enqueue button event when scrollwheel event isn't handled by 
7161           mswindows_handle_mousewheel_event, such as when the scrollbars
7162           are not showing.
7163
7164 2003-07-29  Stephen J. Turnbull  <stephen@xemacs.org>
7165
7166         * EmacsFrame.c (emacsFrameClassRec): Motif groks not XtCompress*.
7167
7168 2003-03-24  Stephen J. Turnbull  <stephen@xemacs.org>
7169
7170         * database.c (Fopen_database): Don't use DB_AUTO_COMMIT.
7171
7172 2003-03-21  Stephen J. Turnbull  <stephen@xemacs.org>
7173
7174         * regex.c (re_match_2_internal): Fix matching degenerate word
7175         boundaries.
7176
7177 2003-05-25  XEmacs Build Bot <builds@cvs.xemacs.org>
7178
7179         * XEmacs 21.4.13 is released
7180
7181 2003-03-20  Stephen J. Turnbull  <stephen@xemacs.org>
7182
7183         * config.h.in (INTPTR_T_IN_CYGWIN_TYPES_H): 
7184         * lisp.h (<inttypes.h>):
7185         Cygwin defines these types in <cygwin/types.h>.  Don't duplicate
7186         the definition.
7187
7188 2003-03-15  Martin Buchholz  <martin@xemacs.org>
7189
7190         * dumper.c (pdump_load): Pdump'ed XEmacs can't find its .dmp file.
7191         Scenario: Prepend ~/bin to PATH; then `mkdir ~/bin/xemacs'
7192         Result: "temacs can only be run in -batch mode."
7193         Fix: Check xemacs executable candidate for directory-ness.
7194
7195 2003-03-03  Robert Pluim  <rpluim@bigfoot.com>
7196
7197         * database.c: Don't use the u_int8_t etc typedefs on FreeBSD,
7198           they conflict with <sys/types.h>.
7199
7200 2003-02-14  Martin Buchholz  <martin@xemacs.org>
7201
7202         * database.c: Berkeley DB wants __STDC__ to be defined.
7203
7204 2003-02-13  Martin Buchholz  <martin@xemacs.org>
7205
7206         * EmacsFrame.c: Use symbolic name `NotUseful' in lieu of `0'.
7207
7208 2003-02-01  Martin Buchholz  <martin@xemacs.org>
7209
7210         * process-unix.c (unix_send_process): Fix C++ compile error.
7211
7212 2003-02-25  Andrew Begel  <abegel@cs.berkeley.edu>
7213
7214         * Added .dylib as an acceptable shared library file extension
7215         * to support MacOSX.
7216
7217 2003-02-01  Martin Buchholz  <martin@xemacs.org>
7218
7219         * EmacsFrameP.h (EmacsFramePart):
7220         Kludge to allow compiling with Motif1, but linking with Motif2.
7221
7222 2003-01-28  Martin Buchholz  <martin@xemacs.org>
7223
7224         * config.h.in (_ALL_SOURCE): Guard against multiple definition.
7225
7226
7227 2003-02-23  Stephen J. Turnbull  <stephen@xemacs.org>
7228
7229         * config.h.in (DLSYM_NEEDS_UNDERSCORE): Define on darwin.
7230
7231 2003-02-06  Andrew Begel  <abegel@CS.Berkeley.EDU>
7232
7233         * sysdll.c: Included lisp.h to define needed alloca_array.
7234
7235 2003-02-13  Martin Buchholz  <martin@xemacs.org>
7236
7237         Make XEmacs redisplay 10 times faster.
7238         If, that is, you're using a slow X connection and MoveOpaque.
7239         Use compress_exposure = XtExposeCompressMaximal | XtExposeNoRegion.
7240         Use compress_motion = TRUE.
7241         * EmacsFrame.c (emacsFrameClassRec): 
7242         * EmacsShell-sub.c (EMACS_SHELL_CLASS_REC):
7243         * EmacsManager.c (emacsManagerClassRec):
7244         * xintrinsicp.h: Make sure XtExposeNoRegion is defined.
7245
7246 2003-01-30  Vin Shelton  <acs@xemacs.org>
7247
7248         * s/linux.h (ORDINARY_LINK): define ORDINARY_LINK for linux.
7249
7250 2003-01-17  Stephen J. Turnbull  <stephen@xemacs.org>
7251
7252         * glyphs-eimage.c (tiff_memory_seek): Lobotomize unsigned typedef.
7253         Patch by Martin Buchholz.
7254
7255 2003-01-16  Stephen J. Turnbull  <stephen@xemacs.org>
7256
7257         * glyphs-eimage.c (tiff_instantiate): Fix unsigned comparison.
7258         Thanks to icc for warning and Martin Buchholz for reporting.
7259
7260 2003-01-29  Vin Shelton <acs@xemacs.org>
7261
7262         Patch courtesy of Andrew Begel <abegel@cs.berkeley.edu>
7263
7264         * dynarr.c (Dynarr_realloc): memcpy copies number of bytes, so
7265         remember to multiply by the element size.
7266
7267 2003-01-15  Stephen J. Turnbull  <stephen@xemacs.org>
7268
7269         * XEmacs 21.4.12 "Portable Code" is released.
7270
7271 2003-01-14  Sergey Okhapkin <sos@prospect.com.ru>
7272
7273         * Makefile.in.in (ldflags): re-order sections for gcc 3.2.
7274         * s/cygwin.sc: new linker file.
7275
7276 2003-01-14  Stephen J. Turnbull  <stephen@xemacs.org>
7277
7278         Build fixes courtesy Martin Buchholz <martin@xemacs.org>:
7279
7280         * redisplay-x.c (x_output_string): Use X11-specified types.
7281         * syntax.c, syntax.h (SYNTAX_CODE): Use enum syntaxcode, not int.
7282         * emacs.c (__free_hook): Use typeof with Intel compiler.
7283         * config.h.in (alloca.h): Quick safe hack to please Intel compiler.
7284
7285 2003-01-08  Andy Piper  <andy@xemacs.org>
7286
7287         * unexcw.c (copy_executable_and_dump_data_section): Set the stack
7288         reserve size during unexec().
7289
7290 2003-01-07  Daiki Ueno  <daiki@xemacs.org>
7291
7292         * process-unix.c (unix_create_process): Don't let outchannel block.
7293
7294 2003-01-05  Rick Rankin  <rick_rankin@yahoo.com>
7295
7296         * emacs.c: Include "syswindows.h" when compiling under Cygwin.
7297         Needed for IsBadReadPtr().
7298
7299 2003-01-03  Stephen J. Turnbull  <stephen@xemacs.org>
7300
7301         * XEmacs 21.4.11 "Native Windows TTY Support" is released.
7302
7303 2002-12-14  Ben Wing  <ben@xemacs.org>
7304
7305         * callint.c: Declaration error.
7306         * dumper.c (pdump):
7307         * dumper.c (pdump_load): Warning fix.
7308         * process.c: GCPRO error.
7309         * glyphs.c (unmap_subwindow):
7310         * glyphs.c (map_subwindow): Parenthesizing errors with ! and &&.
7311         * event-stream.c (maybe_kbd_translate): Wrong argument to
7312         character_to_event().
7313
7314         * alloc.c (garbage_collect_1):
7315         * emacs.c:
7316         * emacs.c (debug_can_access_memory):
7317         * emacs.c (fatal_error_signal):
7318         * emacs.c (mswindows_handle_hardware_exceptions):
7319         * emacs.c (main_1):
7320         * emacs.c (main):
7321         * emacs.c (assert_failed):
7322         * emacs.c (syms_of_emacs):
7323         * lisp.h:
7324         * print.c:
7325         * print.c (std_handle_out_va):
7326         * print.c (write_string_to_stdio_stream):
7327         * print.c (write_fmt_string):
7328         * print.c (printing_badness):
7329         * print.c (printing_major_badness):
7330         * print.c (print_internal):
7331         * print.c (debug_print_no_newline):
7332         * print.c (debug_backtrace):
7333         Be more defensive in handling bad values when printing.  Add code
7334         from trunk involving inhibit_non_essential_printing_operations.
7335         When going down or in debug_print(), don't do external conversion
7336         and such and try really, really hard when printing to avoid core
7337         dumping.  Add force-debugging-signal, debug_break().
7338
7339 2002-12-12  Stephen J. Turnbull  <stephen@xemacs.org>
7340
7341         * dumper.c (pdump_load): Include sysdep.h; retry with truename.
7342         Analysis and original patch by Vin Shelton <acs@xemacs.org>.
7343
7344 2002-12-02  Greg Allen  <greg_allen@westlb-systems.co.uk>
7345
7346         * database.c: Fix open_database. Berkeley DB API has changed in
7347         4.1. see: http://www.sleepycat.com/docs/ref/upgrade.4.1/fop.html
7348
7349 2002-11-26  Stephen J. Turnbull  <stephen@xemacs.org>
7350
7351         * specifier.c (Fvalid_specifier_type_p): Typo in comment.
7352
7353 2002-11-13  Stephen J. Turnbull  <stephen@xemacs.org>
7354
7355         * event-Xt.c (Xt_timeout):
7356         (Xt_timeout_callback):
7357         (emacs_Xt_add_timeout):
7358         (emacs_Xt_remove_timeout):
7359         (Xt_timeout_to_emacs_event):
7360         Turn completed_timeouts from a stack into a queue.  Fixes
7361         deadlocks <15829.21626.171573.994716@sinisa.nasamreza.org>.
7362
7363 2002-11-07  Wolfram Gloger  <wg@malloc.de>
7364
7365         * alloc.c (reinit_alloc_once_early): Disable mmap in Doug Lea malloc.
7366         * emacs.c (main): Assert that mmap'd allocation is disabled.
7367
7368 2002-10-14  Andy Piper  <andy@xemacs.org>
7369
7370         * glyphs-widget.c (layout_query_geometry): add in fiddle
7371         factor. Include border text in width layout calculation.
7372         (layout_layout): use BORDER_FIDDLE_FACTOR instead of 10.
7373
7374 2002-11-02  Stephen J. Turnbull  <stephen@xemacs.org>
7375
7376         * XEmacs 21.4.10 "Military Intelligence" is released.
7377
7378 2002-10-17  Raymond Toy  <toy@rtp.ericsson.se>
7379
7380         * nas.c: Update for NAS 1.6 and later, from Jon Trulson.  Was
7381         using the NAS private array SoundFileInfo that no longer exists in
7382         NAS 1.6 and later.  Preserve backward compatibility with NAS 1.5a
7383         and earlier.  This is broken for some versions between 1.5a and
7384         1.5f.
7385
7386 2002-10-10  Stephen J. Turnbull  <stephen@xemacs.org>
7387
7388         * realpath.c (win32_readlink): Try to fix truename of wildcard bug.
7389
7390         * emacs.c (shut_down_emacs): Improve crash message.
7391
7392 2002-10-09  Stephen J. Turnbull  <stephen@xemacs.org>
7393
7394         * file-coding.c (determine_real_coding_system): Check for coding
7395         cookie in first LINES_TO_CHECK lines (currently 2).  Cater to
7396         shebangs and Python PEP 263.
7397
7398 2002-10-08  Andy Piper  <andy@xemacs.org>
7399
7400         * glyphs-widget.c (layout_query_geometry): only resize dynamically
7401         if static sizes haven't been set.
7402
7403 2002-08-30  Mike Alexander  <mta@arbortext.com>
7404
7405         * event-msw.c (winsock_closer): Use closesocket, not CloseHandle
7406         to close a socket.
7407
7408 2002-10-03  Stephen J. Turnbull  <stephen@xemacs.org>
7409
7410         * callproc.c (child_setup): 21.4 doesn't have retry_close.
7411
7412 2002-09-20  Mike Sperber <mike@xemacs.org>
7413
7414         (This partially gets back my patch from 2002-07-20 without the
7415         bug.)
7416         * callproc.c (child_setup): Remove Ben's comment noting confusion
7417         over the file descriptors >= 3: close_process_descs() doesn't
7418         close those.  Fix fd range to go up to MAXDESC-1 instead of 64.
7419         * process-unix.c (unix_create_process): Call
7420         begin_dont_check_for_quit to inhibit unwanted interaction (and
7421         thus breaking of X event synchronicity) in the child.
7422
7423 2002-09-26  Golubev I. N.  <gin@mo.msk.ru>
7424
7425         * frame-x.c (x_delete_frame): do not call XtDisplay on a destroyed
7426         widget.
7427
7428 2002-08-20  Ben Sigelman  <bhsigelm@cs.brown.edu>
7429
7430         * event-Xt.c (drain_X_queue): loop over while(XEventsQueued())
7431         instead of while(XtAppPending()&XtIMXEvent).  Upon a gdm logout,
7432         the xemacs process did not exit, but looped infinitely here.  This
7433         fixes that problem.
7434
7435 2002-09-28  Stephen J. Turnbull  <stephen@xemacs.org>
7436
7437         * font-lock.c (SYNTAX_START_STYLE, SYNTAX_END_STYLE): Quiet GCC.
7438         (find_context): Improve comments.
7439
7440         * regex.c (re_compile_fastmap):  Gratuitous #ifdef comment fixes.
7441         (re_match_2): An XCHAR_TABLE operation was missing.
7442
7443         Many of the following changes were inspired by Andy Piper's (now
7444         obsolete) patch to make syntax-table text property lookup optional.
7445
7446         [Documentation]
7447
7448         * syntax.h (top level): Document semantics of syntax flags.
7449         * syntax.c (comstr_start, Fforward_comment): Improve comments.
7450         * syntax.c, syntax.h (top level): Document syntax cache better in
7451         comments.
7452
7453         [Instrument syntax caching (temporary change)]
7454
7455         * syntax.h (enum syntax_cache_statistics_functions, struct
7456         syntax_cache_statistics, SCS_STATISTICS_SET_FUNCTION,
7457         SYNTAX_CACHE_STATISTICS_COUNT_INIT): New types and macros.
7458         * syntax.c (scan_words, Fforward_comment, scan_lists,
7459         Fbackward_prefix_characters):
7460         * font-lock.c (find_context):
7461         Use them to instrument syntax caching. 
7462         * syntax.c (struct syntax_cache_statistics, scs_statistics,
7463         syntax_cache_statistics_function_names): New type and variables.
7464         * syntax.c (update_syntax_cache): Update and report statistics.
7465
7466         [Major syntax cache optimizations]
7467
7468         syntax.c (lookup_syntax_properties): Default off.
7469
7470         * syntax.h (UPDATE_SYNTAX_INTERNAL): New, implements UPDATE_SYNTAX*.
7471         * syntax.c (update_syntax_cache):
7472         Move init test from update_syntax_cache to UPDATE_SYNTAX_INTERNAL.
7473
7474         [Minor syntax cache optimizations and code clarifications]
7475
7476         * syntax.h (SYNTAX_COMMENT_BITS, SYNTAX_START_P, SYNTAX_END_P,
7477         SYNTAX_STYLES_MATCH_START_P, SYNTAX_STYLES_MATCH_1CHAR_P,
7478         SYNTAX_STYLES_MATCH_END_P, STYLE_FOUND_1CHAR_P, STYLE_FOUND_P,
7479         SYNTAX_COMMENT_MASK_END, SYNTAX_COMMENT_MASK_START,
7480         SYNTAX_COMMENT_1CHAR_MASK): Remove redundant argument `table'.
7481         (Code clarification.)
7482
7483         * syntax.c (scan_words, find_end_of_comment, scan_sexps_forward,
7484         scan_lists): Compute code from syncode, use Boolean macros instead
7485         of redundant masking operations.  (Code clarification; any decent
7486         compiler can do this optimization.)
7487
7488         * syntax.c (scan_lists): Rearrange switches (case Sstring_fence)
7489         for clarity.
7490
7491         * syntax.h, syntax.c (NEXT_SINGLE_PROPERTY_CHANGE,
7492         PREVIOUS_SINGLE_PROPERTY_CHANGE, update_syntax_cache): Conditionally
7493         use F*_single_property_change instead of F*_extent_change.
7494         Currently F*_single_property_change is _much_ less efficient.
7495
7496         * dired.c (Fdirectory_files): Qt not valid in syntax_cache.object.
7497         * syntax.h (SETUP_SYNTAX_CACHE_FOR_OBJECT):  Initialize
7498         syntax_cache.object properly, don't leave Qt or Qnil.
7499         (SYNTAX_CACHE_BYTE_TO_CHAR): Use SETUP_SYNTAX_CACHE_FOR_OBJECT.
7500         * syntax.c (update_syntax_cache): Use BUFFERP and STRINGP, not
7501         tests for Qt or Qnil.
7502
7503 2002-09-21  Stephen J. Turnbull  <stephen@xemacs.org>
7504
7505         * redisplay.c (point_in_line_start_cache): 
7506         * extents.c (print_extent_1):
7507         Fix warnings.
7508
7509         * extents.c (Fset_extent_property): Document `syntax-table' property.
7510
7511         * extents.h (Fnext_single_property_change): EXFUN it.
7512
7513 2002-09-09  Stephen J. Turnbull  <stephen@xemacs.org>
7514
7515         * search.c (clear_unused_search_regs): New static function.
7516         (search_buffer): 
7517         (simple_search): 
7518         (boyer_moore):
7519         Use it.  Fixes "stale match data" bug reported by Martin Stjernholm.
7520         Minor clarifications in comments.
7521
7522         * regex.c (re_match_2_internal): Ensure no stale submatches.
7523
7524 2002-09-09  Stephen J. Turnbull  <stephen@xemacs.org>
7525
7526         * event-Xt.c (enqueue_focus_event): Add missing prototype.
7527
7528 2002-08-29  Jerry James  <james@xemacs.org>
7529
7530         * lisp.h: structrures -> structures.
7531
7532 2002-06-03  Andy Piper  <andy@xemacs.org>
7533
7534         * frame.c (frame_conversion_internal): add conversion appropriate
7535         for setting frame dimensions in pixels.
7536
7537         * console.h (struct console_methods): add device-specific widget
7538         layout functions.
7539
7540         * emacs.c (main_1): initialize glyph vars.
7541
7542         * event-Xt.c (handle_focus_event_1): call handle_focus_event_2
7543         (handle_focus_event_2): new function. Allow focus to
7544         be set to a particular window and widget.
7545         (enqueue_focus_event): new function. Create a
7546         synthetic focus event.
7547         (emacs_Xt_handle_magic_event): call
7548         handle_focus_event_2.
7549
7550         * frame.c (Fset_frame_pixel_height): new function. Allow
7551         pixel-based sizing. Does the right thing on character-oriented
7552         displays.
7553         (Fset_frame_pixel_width): ditto.
7554         (Fset_frame_pixel_size): ditto.
7555         (syms_of_frame): declare.
7556
7557         * general-slots.h: add :vertically-justify and
7558         :horizontally-justify.
7559
7560         * glyphs-msw.c (xbm_create_bitmap_from_data): warning fix.
7561         (mswindows_widget_border_width): new function.
7562         (mswindows_combo_box_instantiate): set border widths.
7563         (console_type_create_glyphs_mswindows): declare.
7564
7565         * glyphs-widget.c:
7566         (check_valid_justification): allow vertical and horizontal
7567         justification.
7568         (widget_border_width): new function. Call device methods.
7569         (widget_instance_border_width): ditto.
7570         (logical_unit_height): new function. Determine the height of a
7571         logical-unit. Logical units are intended to provide grid-like
7572         layout for subcontrols in a layout. If the layout is
7573         :vertically-justify top then subcontrols will be positioned on
7574         logical-unit boundaries, thus allowing adjacent subcontrols to
7575         line up.
7576         (widget_logical_unit_height): ditto for widgets.
7577         (redisplay_widget): misc cleanup.
7578         (widget_spacing): new function. Call device specific
7579         methods. Intended to be the default gap between adjacent widgets.
7580         (widget_query_geometry): use new spacing functions to determine
7581         appropriate geometry.
7582         (initialize_widget_image_instance): initialize horizontal and
7583         vertical justification.
7584         (widget_instantiate): use logica-units where appropriate for
7585         sizing large widgets.
7586         (button_query_geometry): use widget_instance_border_width.
7587         (tree_view_query_geometry): ditto.
7588         (tab_control_query_geometry): ditto.
7589         (edit_field_query_geometry): new function.
7590         (layout_update): pick up :justify, :horizontally-justify and
7591         :vertically-justify none of which worked previously. :justify is
7592         used as a fallback for both horizontal and vertical justification.
7593         (layout_query_geometry): use logical units to size appropriately.
7594         (layout_layout): ditto.
7595         (Fwidget_logical_to_character_width): new function. Allow users to
7596         convert from logical units to characters so that frame sizes can
7597         be set appropriately.
7598         (Fwidget_logical_to_character_height): ditto.
7599         (syms_of_glyphs_widget): declare.
7600         (image_instantiator_edit_fields): add edit_field_query_geometry.
7601         (VALID_LAYOUT_KEYWORDS): declare :vertically-justify and
7602         :horizontally-justify.
7603         (specifier_vars_of_glyphs_widget): new function. Declare
7604         Vwidget_border_width which is not yet used.
7605
7606         * glyphs-x.c (x_map_subwindow): enqueue appropriate focus events.
7607         (x_widget_border_width): new function.
7608         (x_widget_instantiate): create a sensible name for widgets.
7609         (console_type_create_glyphs_x): declare x_widget_border_width.
7610
7611         * glyphs.h (DEFAULT_WIDGET_BORDER_WIDTH): new macro.
7612         (struct Lisp_Image_Instance): add :vertically-justify and
7613         :horizontally-justify.
7614         (LAYOUT_JUSTIFY_TOP): new.
7615         (IMAGE_INSTANCE_SUBWINDOW_H_JUSTIFY): new.
7616         (ROUND_UP): new macro. Round argument up to next integral
7617         interval.
7618
7619         * redisplay-output.c (redisplay_output_layout): misc formatting.
7620
7621         * symsinit.h: declare specifier_vars_of_glyphs_widget.
7622
7623 2002-08-23  Stephen J. Turnbull  <stephen@xemacs.org>
7624
7625         * XEmacs 21.4.9 "Informed Management" is released.
7626
7627 2002-08-19  Andy Piper  <andy@xemacs.org>
7628
7629         * fileio.c (Ffile_truename): on cygwin using win32 normalize to
7630         win32 format.
7631
7632         * realpath.c (xrealpath): normalize drive spec also so that dir
7633         sep chars are not mixed on cygwin.
7634
7635 2002-08-06  Jerry James  <james@xemacs.org>
7636
7637         * window.c (Fsplit_window): Count only half of the divider width
7638         against the left window when splitting horizontally. 
7639
7640 2002-06-24  Andy Piper  <andy@xemacs.org>
7641
7642         * toolbar-gtk.c (GTK_OUTPUT_BUTTONS_LOOP): output button if whole
7643         toolbar was cleared.
7644
7645         * toolbar-msw.c (mswindows_clear_frame_toolbars): new
7646         function. Split out from mswindows_output_frame_toolbars.
7647         (mswindows_output_frame_toolbars): move clear pieces to
7648         mswindows_output_frame_toolbars.
7649
7650         * toolbar-gtk.c (gtk_clear_frame_toolbars): new function. Split
7651         out from gtk_output_frame_toolbars.
7652         (gtk_output_frame_toolbars): move clear pieces to
7653         gtk_clear_frame_toolbars.
7654
7655         * toolbar-x.c (X_OUTPUT_BUTTONS_LOOP): always output buttons when
7656         the frame is cleared. How this ever worked before is a mystery.
7657         (x_output_frame_toolbars): Only output toolbars.
7658         (x_clear_frame_toolbars): new. Clear previous toolbar locations.
7659
7660         * gutter.c (update_gutter_geometry):
7661         Mark frame layout changed.
7662         (update_frame_gutter_geometry, update_frame_gutters):
7663         Respect frame_layout_changed.
7664
7665         * console.h (struct console_methods): add
7666         clear_frame_toolbars_method.
7667
7668         * redisplay.c (redisplay_frame): call
7669         update_frame_toolbars_geometry and re-order update_frame_toolbars.
7670
7671         * toolbar.h: declare update_frame_toolbars_geometry.
7672
7673         * toolbar.c (update_frame_toolbars_geometry): new function. Split
7674         out from update_frame_toolbars.  Call clear_frame_toolbars.
7675         (update_frame_toolbars): only output, do not change geometry.
7676
7677         * redisplay.c: add frame_layout_changed.
7678
7679         * redisplay.h: add frame_layout_changed.
7680         (CLASS_RESET_CHANGED_FLAGS): set it.
7681         (GLOBAL_RESET_CHANGED_FLAGS): ditto.
7682         (CLASS_REDISPLAY_FLAGS_CHANGEDP): test it.
7683         (GLOBAL_REDISPLAY_FLAGS_CHANGEDP): ditto.
7684
7685         * device.h (struct device): add frame_layout_changed.
7686         (MARK_DEVICE_FRAME_LAYOUT_CHANGED): new.
7687
7688         * frame.h (struct frame): add frame_layout_changed.
7689         (MARK_FRAME_LAYOUT_CHANGED): new.
7690
7691 2002-06-30  Mike Alexander  <mta@arbortext.com>
7692
7693         * event-msw.c (mswindows_need_event): Don't wait for a new message
7694         if the queue is not empty.  Suggested by Paul Moore.
7695
7696 2002-06-12  Andy Piper  <andy@xemacs.org>
7697
7698         * frame-msw.c (msprinter_init_frame_3): calculate the frame size
7699         for printing on accurately.
7700
7701 2002-06-09  Rick Rankin <rick_rankin@yahoo.com>
7702
7703         * event-msw.c (mswindows_wnd_proc): Add a handler for the
7704         WM_ACTIVATE message. Make sure that the frame is visible if the
7705         window is visible. This seemss to fix the problem where XEmacs
7706         appears to freeze after switching desktops with certain virtual
7707         window managers.
7708         (debug_output_mswin_message): Added code to output message
7709         parameters for WM_WINDOWPOSCHANGED, 
7710         WM_WINDOWPOSCHANGING, WM_MOVE, and WM_SIZE messages.
7711
7712 2002-05-25  Andy Piper  <andy@xemacs.org>
7713
7714         * select-x.c (vars_of_select_x): Fix docstring of
7715         x-selection-strict-motif-ownership
7716
7717 2002-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
7718
7719         * keymap.c (get_keymap):
7720         Add comment about do_autoload GCPROs own args.
7721
7722 2002-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
7723
7724         * bytecode.c (execute_optimized_program): check_opcode ifdef
7725         ERROR_CHECK_BYTE_CODE.
7726
7727 2002-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
7728
7729         Thanks to Ben Wing and Michael Sperber.
7730
7731         * eval.c (Fcommand_execute):
7732         (Feval):
7733         (Ffuncall):
7734         (Fmacroexpand_internal):
7735         (function_argcount):
7736         callint.c (Fcall_interactively):
7737         Add comment about do_autoload GCPROs own args.
7738
7739         * (do_autoload): GCPRO both args as well as local Lisp_Object.
7740
7741         * eval.c (Ffuncall): Extra braces to placate GCC.
7742
7743 2002-08-10  Stephen J. Turnbull  <stephen@xemacs.org>
7744
7745         * backtrace.h (grow_specpdl):
7746         (SPECPDL_RESERVE):
7747         * EmacsFrame.c (EmacsFrameSetValues):
7748         * eval.c (grow_specpdl):
7749         * ExternalShell.c (hack_event_masks_1):
7750         * glyphs-x.c (convert_EImage_to_XImage): 
7751         (x_finalize_image_instance):
7752         * ralloc.c (page_size):
7753         (r_alloc_sbrk):
7754         * xgccache.c (gc_cache_hash):
7755         Fix unsigned comparison warnings.
7756
7757 2002-07-29  Jerry James  <james@xemacs.org>
7758
7759         * lread.c (locate_file): Any nonnegative return value indicates
7760         success if MODE is nonnegative.
7761
7762 2002-08-03  Brian A Palmer  <bpalmer@rescomp.Stanford.EDU>
7763
7764         * emacs.c (Fsplit_string_by_char): Make 2nd arg SEPCHAR a required
7765         argument. 
7766
7767 2002-07-17  Stephen J. Turnbull  <stephen@xemacs.org>
7768
7769         * process-unix.c (unix_send_process): #ifdef the coding_stream member.
7770
7771         * dumper.c (pdump_get_indirect_count):
7772         (pdump_scan_by_alignment):
7773         (pdump_dump_root_struct_ptrs):
7774         (pdump_dump_rtables):
7775         (pdump_dump_root_objects):
7776         (pdump):
7777         * nas.c (WaveOpenDataForReading):
7778         * fns.c (print_bit_vector):
7779         * font-lock.c (SINGLE_SYNTAX_STYLE):
7780         * glyphs.c (check_for_ignored_expose):
7781         (find_matching_subwindow):
7782         * glyphs-eimage.c:
7783         * imgproc.c (get_histogram):
7784         * redisplay.c (point_in_line_start_cache):
7785         * redisplay-output.c (redisplay_unmap_subwindows):
7786         * symbols.c (defsymbol_massage_name_1):
7787         (defkeyword_massage_name):
7788         (deferror_massage_name_and_message):
7789         * redisplay-x.c (x_output_string): 
7790         * emacs.c (run_temacs_argv_size, run_temacs_args_size):
7791         * frame.h (struct frame):
7792         * filelock.c (current_lock_owner):
7793         * doprnt.c (emacs_doprnt_1):
7794         * lisp.h (struct Lisp_Bit_Vector):
7795         (DO_REALLOC):
7796         Fix warnings.
7797
7798 2002-02-13  Ben Wing  <ben@xemacs.org>
7799
7800         * event-stream.c (reset_key_echo):
7801         * event-stream.c (reset_this_command_keys):
7802         * event-stream.c (execute_command_event):
7803         If console is dead as a result of C-x 5 0, then post-command stuff
7804         needs to be careful and do only non-console-specific stuff.
7805
7806 2002-07-01  Mike Sperber <mike@xemacs.org>
7807
7808         * process-unix.c (unix_send_process): Mark coding_outstream as
7809         non-open upon SIGPIPE.
7810
7811         * event-stream.c (Fnext_event): Reorder switch cases to something
7812         that makes sense.
7813
7814 2001-08-13  Dmitry Astapov  <adept@umc.com.ua>
7815
7816         * event-Xt.c (maybe_define_x_key_as_self_inserting_character):
7817         Don't bogusly reinitialize ascii_character property.
7818
7819 2002-07-08  Mike Sperber <mike@xemacs.org>
7820
7821         * process.c (Fstart_process_internal): Do error checking before we
7822         fork off the child, so the child can't muck with the state of the
7823         parent.
7824
7825 2002-07-08  Mike Sperber <mike@xemacs.org>
7826
7827         * ralloc.c (init_ralloc): Allocate properly for pdump.
7828
7829 2002-06-12  Andy Piper  <andy@xemacs.org>
7830
7831         * glyphs.c (query_string_geometry): check the string.
7832
7833         * glyphs-widget.c (widget_logical_unit_height): cope with nil
7834         widget names.
7835
7836 2002-06-17  Jerry James  <james@xemacs.org>
7837
7838         * sysdll.c: Remove RTLD_GLOBAL initialization.
7839         * sysdll.c (dll_open): Do not use RTLD_GLOBAL.
7840
7841 2002-06-25  Stephen J. Turnbull  <stephen@xemacs.org>
7842
7843         * search.c (skip_chars): Port Ben's crash fix and efficiency patch.
7844
7845 2002-05-16  Mathias Grimmberger  <mgri@zaphod.sax.de>
7846
7847         * sysdep.c (sys_rename): Make sys_rename work for the case where
7848         Windows rename sets errno to EACCES if target file exists.
7849
7850 2002-05-21  Jonathan Harris  <jonathan@xemacs.org>
7851
7852         * device-msw.c (mswindows_handle_page_setup_dialog_box):
7853         Fix detection of metric units to work on Win95
7854
7855 2002-05-21  Stephen J. Turnbull  <stephen@xemacs.org>
7856
7857         * syswindows.h: #define LOCALE_RETURN_NUMBER.  Why, I don't know.
7858
7859 2002-04-25  Andy Piper  <andy@xemacs.org>
7860
7861         * redisplay.c (create_text_block): Remove extra comment trailer.
7862
7863 2002-04-24  Andy Piper  <andy@xemacs.org>
7864
7865         * redisplay.c (create_text_block): Don't actually add propagation
7866         data if the line ends after we have added a glyph.
7867
7868 2002-04-22  Andy Piper  <andy@xemacs.org>
7869
7870         * extents.c (extent_fragment_update): check for glyphs we have
7871         previously displayed.
7872         * extents.c (print_extent_1): warning removal.
7873         * extents.h: change prototype.
7874         * redisplay-output.c (redisplay_normalize_glyph_area): calculate
7875         widths correctly for wide glyphs.
7876         * redisplay.c (position_redisplay_data_type): add end_glyph_width.
7877         * redisplay.c (prop_type): add PROP_GLYPH.
7878         * redisplay.c (struct prop_block): add glyph type
7879         * redisplay.c (add_glyph_rune): when adding part of a glyph add it
7880         to the propagation data.
7881         * redisplay.c (create_text_block): if there is a glyph in the
7882         propagation data use it to salt extent_fragment_update.
7883         * redisplay.c (create_string_text_block): ditto.
7884
7885 2002-04-13  Nix  <nix@esperi.demon.co.uk>
7886
7887         * redisplay.h (struct rune): Add ascent, descent, and yoffset fields.
7888         * redisplay-output.c (compare_runes): Compare them.
7889         * redisplay.c: Update copyright date.
7890         * redisplay.c (pos_data): Add need_baseline_computation field.
7891         * redisplay.c (add_glyph_rune): Update ascent, descent, and
7892         need_baseline_computation; zero yoffset. Set max_pixmap_height
7893         for all pixmaps, not just automatically positioned ones.
7894         * redisplay.c (calculate_yoffset): New, compute yoffset values.
7895         * redisplay.c (calculate_baseline): New, compute textual baseline.
7896         * redisplay.c (add_glyph_rune): Call them.
7897         * redisplay.c (create_text_block): Likewise.
7898         * redisplay.c (create_overlay_glyph_block): Likewise.
7899         * redisplay.c (add_margin_runes): Likewise.
7900         * redisplay.c (create_string_text_block): Likewise. Fix tabdamage.
7901
7902         * redisplay.h: (redisplay_calculate_display_boxes): Change prototype.
7903         * redisplay-output.c (redisplay_calculate_display_boxes): Use yoffset.
7904         * redisplay-msw.c (mswindows_output_blank): Pass 0 as yoffset.
7905         * redisplay-msw.c (mswindows_output_string): Likewise.
7906         * redisplay-msw.c (mswindows_output_display_block): Pass yoffset.
7907         * redisplay-gtk.c (gtk_output_display_block): Likewise.
7908         * redisplay-x.c (x_output_display_block): Likewise.
7909
7910 2002-03-28  Ben Wing  <ben@xemacs.org>
7911
7912         * redisplay.c: Fixed bug in redisplay
7913         w.r.t. hscroll/truncation/continuation glyphs causing jumping up
7914         and down of the lines, since they're bigger than the line
7915         size. (It was seen most obviously when there's a horizontal scroll
7916         bar, e.g. do C-h a glyph or something like that.) The problem was
7917         that the glyph-contrib-p setting on glyphs was ignored even if it
7918         was set properly, which it wasn't until now.
7919
7920 2002-04-24  Andy Piper  <andy@xemacs.org>
7921
7922         * lisp.h (Dynarr_end): Fix definition.
7923
7924 2002-02-06  Adrian Aichner  <adrian@xemacs.org>
7925
7926         * redisplay.c (mark_redisplay): Remove call to
7927         update_frame_window_mirror.
7928
7929 2001-11-15  Andy Piper  <andy@xemacs.org>
7930
7931         * win32.c (Fmswindows_shell_execute): fix handling of URL's under
7932         cygwin (again).
7933
7934 2002-02-13  Andy Piper  <andy@xemacs.org>
7935
7936         * event-msw.c (mswindows_wnd_proc): only mark the frame visible if
7937         we did in fact enqueue the XM_MAPFRAME event.
7938
7939 2002-01-15  Adrian Aichner  <adrian@xemacs.org>
7940
7941         * event-msw.c (mswindows_wnd_proc): Add handling of WM_SHOWWINDOW
7942         to fix problem switching between virtual desktops under virtuawin
7943         virtual window manager.
7944
7945 2001-07-30  Adrian Aichner  <adrian@xemacs.org>
7946
7947         * event-msw.c: Typo fix.
7948         * event-msw.c (mswindows_wnd_proc): Set FRAME_VISIBLE_P after
7949         magic XM_MAPFRAME event has been sent.
7950
7951 2001-11-23  Andy Piper  <andy@xemacs.org>
7952
7953         * event-msw.c (mswindows_wnd_proc): Don't pump mousewheel events.
7954
7955 2001-11-21  Andy Piper  <andy@xemacs.org>
7956
7957         * scrollbar-msw.c (mswindows_handle_mousewheel_event): cope with
7958         mouse events outside the frame.
7959
7960 2002-03-20  Andy Piper  <andy@xemacs.org>
7961
7962         * menubar-msw.c (mswindows_popup_menu): warning removal.
7963         * dialog-msw.c (dialog_popped_down): ditto.
7964
7965 2001-12-11  Andy Piper  <andy@xemacs.org>
7966
7967         * dialog-msw.c (dialog_popped_down): new function. unset popup_up_p.
7968         * dialog-msw.c (mswindows_make_dialog_box_internal): set
7969         popup_up_p.
7970         * menubar-msw.c (unsafe_handle_wm_initmenupopup_1): ditto.
7971         * menubar-msw.c (mswindows_handle_wm_command): ditto.
7972         * menubar-msw.c (mswindows_popup_menu): ditto.
7973
7974 2001-10-29  Andy Piper  <andy@xemacs.org>
7975
7976         * dialog-msw.c (handle_directory_dialog_box): quit if the user
7977         cancels.
7978
7979 2002-01-03  Andy Piper  <andy@xemacs.org>
7980
7981         * realpath.c (ABS_LENGTH): dtrt for cygwin systems using drive
7982         letters.
7983         (xrealpath): ditto.
7984
7985 2002-03-29  Jonathan Harris  <jonathan@xemacs.org>
7986
7987         * device-msw.c (plist_get_margin): Add arg specifying mm or inches
7988         * device-msw.c (plist_set_margin): Fix multiplicand used for mm
7989         * device-msw.c (mswindows_handle_page_setup_dialog_box):
7990         Detect and handle case where machine is set up for metric units
7991
7992 2002-04-02  Andy Piper  <andy@xemacs.org>
7993
7994         * dired-msw.c (mswindows_get_files): 
7995         * nt.c (mswindows_stat): SetErrorMode() so that file errors are
7996         completely handled by XEmacs. Suggested by Thomas Vogler
7997         <mail@thomas-vogler.de>.
7998
7999 2001-11-14  Andy Piper  <andy@xemacs.org>
8000
8001         * nt.c (REG_ROOT): change registry key to XEmacs.
8002
8003 2002-04-27  Andy Piper  <andy@xemacs.org>
8004
8005         * glyphs-msw.c (mswindows_widget_instantiate): remove dead-code.
8006
8007 2002-04-26  Andy Piper  <andy@xemacs.org>
8008
8009         * glyphs-msw.c (mswindows_map_subwindow): observe :initial-focus
8010         behavior.
8011
8012 2002-03-14  Mike Alexander  <mta@arbortext.com>
8013
8014         * event-msw.c (mswindows_unwait_process): New, remove process from
8015         wait list
8016         * process-nt.c (nt_finalize_process_data): Call
8017         mswindows_unwait_process
8018         * console-msw.h: Declare mswindows_unwait_process
8019
8020 2002-05-14  Stephen J. Turnbull  <stephen@xemacs.org>
8021
8022         * editfns.c (Fdecode_time):
8023         (Fformat_time_string):
8024         Check for invalid time.  Thanks to Nick Pakoulin <npak@ispras.ru>.
8025         (make_time): Warning elimination (change arg name).
8026
8027 2001-11-24  Andy Piper  <andy@xemacs.org>
8028
8029         * window.c (Fsplit_window): Doc return type.
8030
8031 2002-04-01  Andy Piper  <andy@xemacs.org>
8032
8033         * emacs.c (Fkill_emacs): Only output message box in interactive
8034         mode.
8035
8036 2002-04-26  Andy Piper  <andy@xemacs.org>
8037  
8038         * config.h.in: pull in 21.5.x change to stop alloca warnings under
8039         cygwin.
8040
8041 2002-03-18  Gregory Steuck  <greg-xemacs-patch@nest.cx>
8042
8043         * unexelf.c:  Use ELFSIZE or define from _LP64 to indicate a 64
8044         bit platform.
8045
8046 2002-05-09  Stephen J. Turnbull  <stephen@xemacs.org>
8047
8048         * XEmacs 21.4.8 "Honest Recruiter" is released.
8049
8050 2002-05-07  Nix  <nix@esperi.demon.co.uk>
8051
8052         Supersedes 2002-04-17 patch.
8053
8054         * process.h (PROCESS_LIVE_P): Use the process status as
8055         evidence of health, not the state of the input stream.
8056         (PROCESS_READABLE_P): Say if the process is readable
8057         from. (It may be dead nonetheless.)
8058         (CHECK_READABLE_PROCESS): Test for that condition.
8059
8060         * process.c (create_process): Use PROCESS_READABLE_P.
8061         (read_process_output, set_process_filter): Likewise.
8062
8063         * process.c (Fprocess_input_coding_system): Use CHECK_READABLE_PROCESS.
8064         (Fset_process_input_coding_system, Fprocess_coding_system): Likewise.
8065
8066         This code is #if 0'd, this is not the time to add new functions:
8067
8068         * process.c (Fprocess_readable_p): Report readability status.
8069         * process.c (Qprocess_readable_p): New, associated symbol...
8070         * process.c (syms_of_process): ... initialize it.
8071
8072 2002-05-04  Stephen J. Turnbull  <stephen@xemacs.org>
8073
8074         * XEmacs 21.4.7 "Economic Science" is released.
8075
8076 2002-04-17  Nix  <nix@esperi.demon.co.uk>
8077
8078         * process.h (PROCESS_LIVE_P): Use the process status as
8079         evidence of health, not the state of the input stream.
8080
8081 2002-04-30  Charles G. Waldman <cgw@xemacs.org>
8082
8083         * sysdep.c (sys_siglist): change "signum" to "signal"
8084
8085 2001-04-21  Martin Buchholz  <martin@xemacs.org>
8086
8087         * s/darwin.h: New file.
8088         Thanks to Greg Parker <gparker@cs.stanford.edu>.
8089         
8090 2002-04-23  Andreas Jaeger  <aj@suse.de>
8091
8092         * s/linux.h (LIB_STANDARD): Define correctly for x86-64 and s390x
8093         which use lib64 for 64-bit libs.
8094         (START_FILES): Likewise.
8095
8096 2002-02-11  Mike Sperber  <mike@xemacs.org>
8097
8098         * device-x.c: 
8099         (x_IO_error_handler):
8100         (x_init_device): Temporarily keep device in static variable
8101         `device_being_initialized' so we can recover gracefully from
8102         internal XOpenDevice failure.  (XOpenDevice is documented to
8103         return NULL on failure, but sometimes calls the IO error handler
8104         instead.)
8105
8106 2002-01-31  John H. Palmieri  <palmieri@math.washington.edu>
8107
8108         * dired.c (Ffile_name_all_completions): Change documentation --
8109         remove reference to completion-ignored-extensions.
8110         * dired.c (vars_of_dired): Change documentation for
8111         completion-ignored-extensions -- remove reference to
8112         file-name-all-completions.
8113
8114 2002-03-06  Jerry James  <james@xemacs.org>
8115
8116         * emodules.c (emodules_load): Fix multiple loading of same module.
8117
8118 2002-01-25  Andrew Begel <abegel@cs.berkeley.edu>
8119         * sysdll.c (dll_open): Changed to use RTLD_NOW instead of
8120         RTLD_LAZY to avoid incorrect symbol binding when using nested
8121         shared libraries on Solaris.
8122
8123 2002-02-12  Stephen J. Turnbull  <stephen@xemacs.org>
8124
8125         * fileio.c (Ffind_file_name_handler): Improve docstring.
8126
8127 2002-01-20  Stephen J. Turnbull  <stephen@xemacs.org>
8128
8129         * fns.c (Fmapconcat): Improve docstring.
8130
8131 2002-01-03  Eric Gillespie, Jr.  <epg@pretzelnet.org>
8132
8133         * device-gtk.c: Add prototype for
8134         emacs_gtk_selection_clear_event_handle.
8135         (gtk_init_device): Call gtk_selection_add_target for CLIPBOARD
8136         selection.  Setup signal handler for "selection_clear_event"
8137         (emacs_gtk_selection_clear_event_handle).
8138
8139         * select-gtk.c (emacs_gtk_selection_clear_event_handle): Handle
8140         other applications owning the clipboard (based on
8141         x_handle_selection_clear).
8142
8143 2001-12-23  William M. Perry  <wmperry@gnu.org>
8144
8145         * menubar-gtk.c (gtk_popup_menu)  Add sanity checks, fix crash.
8146         
8147 2002-01-04  Martin Buchholz  <martin@xemacs.org>
8148
8149         * keymap.c (define_key_alternate_name): Parenthesize EQ.
8150
8151 2001-12-17  Stephen J. Turnbull  <stephen@xemacs.org>
8152
8153         * XEmacs 21.4.6 "Common Lisp" is released.
8154
8155 2001-12-16  Torsten Duwe  <duwe@caldera.de>
8156
8157         * search.c (Freplace_match): Add missing sub-expression functionality.
8158
8159         * buffer.c (decode_buffer): Add a check for pointer type to
8160         decode_buffer, before gcc's CSE optimization reorders a
8161         dereference in front of the allow_string test.
8162
8163 2001-11-16  Darryl Okahata  <darrylo@xemacs.org>
8164
8165         * window.c (window_loop): Fix bug that sometimes prevented
8166         window_loop() from iterating across multiple devices.  Also, at
8167         Ben's request, changed infloop-detecting code to abort() instead
8168         of silently terminating window_loop().
8169
8170 2001-11-21  Stephen J. Turnbull  <stephen@xemacs.org>
8171
8172         Based on analysis and patch by Simon Josefson <jas@extundo.com>.
8173         * editfns.c (make_time): New function.
8174         (Fencode_time): Use it instead of wasteful_word_to_lisp.
8175         * lisp.h (make_time): Prototype and comment it.
8176         * dired.c (wasteful_word_to_lisp): Deprecate.
8177         (Ffile_attributes): Use make_time() instead of wasteful_word_to_lisp().
8178
8179 2001-10-31  Kyle Jones  <kyle_jones@wonderworks.com>
8180
8181         * fileio.c (auto_save_1): Use current coding system, not
8182         escape-quoted.
8183
8184 2001-11-13  Ben Wing  <ben@xemacs.org>
8185
8186         * window.c:
8187         * window.c (window_truncation_on):
8188         * window.c (syms_of_window):
8189         truncate-partial-width-windows should respect the buffer being
8190         displayed, like other redisplay vars.
8191
8192 2001-11-13  Hirokazu FUKUI  <hfukui@sannet.ne.jp>
8193
8194         * event-stream.c (Fread_key_sequence): save current buffer.
8195
8196 2001-10-29  Andrew Begel  <abegel@eecs.berkeley.edu>
8197
8198         * ntheap.c (_heap_init): Don't redefine in VS.NET (MSC >= 1300).
8199
8200 2001-10-29  Andrew Begel  <abegel@eecs.berkeley.edu>
8201
8202         * alloc.c (lcrecord_stats): Add space for types defined in modules.
8203
8204 2001-10-26  Mike Alexander  <mta@arbortext.com>
8205
8206         * event-msw.c (slurper_free_shared_data_maybe): Free the pipe handle.
8207
8208 2001-10-25  Andy Piper  <andy@xemacs.org>
8209
8210         * ChangeLog:
8211         * dialog-msw.c (handle_directory_proc): new function.
8212          (handle_directory_dialog_box): new fucntion.
8213          (handle_file_dialog_box): use new directory dialog support.
8214          (mswindows_make_dialog_box_internal): ditto.
8215         * event-msw.c (mswindows_wnd_proc): minor fix to scrollbar event
8216         handling.
8217         (mswindows_find_frame): make global.
8218         * fileio.c (Fexpand_file_name): build fix.
8219         * general-slots.h: add Qdirectory.
8220         * scrollbar-msw.c (mswindows_handle_scrollbar_event): fix focus
8221         handling.
8222         * syswindows.h (LOCAL_TO_WIN32_FILE_FORMAT): fix problem with
8223         cygwin not leaving win32 paths unchanged.
8224         * win32.c (Fmswindows_cygwin_to_win32_path): new function. Use the
8225         cygwin runtime to do path conversion.
8226         (Fmswindows_shell_execute): fix cygwin handling of URLs.
8227         (syms_of_win32): add new function.
8228         * window.c (window_loop): build fix.
8229
8230 2001-10-15  Andy Piper  <andy@xemacs.org>
8231
8232         (Fmswindows_shell_execute): fix handling of URL's under cygwin.
8233
8234 2001-10-23  Stephen J. Turnbull  <stephen@xemacs.org>
8235
8236         * XEmacs 21.4.5 "Civil Service" is released.
8237
8238 2001-04-08  Danny Colascione  <qtmstr@optonline.net>
8239
8240         * glyphs-x.c: Force buffer-tab highlight update when moving the
8241         buffer, avoiding an ugly black border, used for keyboard focus
8242         indication, on a widget that can never have keyboard focus, the
8243         buffer tab.
8244
8245 2001-08-30  Daiki Ueno  <ueno@unixuser.org>
8246
8247         * process-unix.c (unix_open_multicast_group): Remove too much
8248         conversion between host and network byte order.
8249
8250 2001-09-10  Nix  <nix@esperi.demon.co.uk>
8251
8252         * src/buffer.c (kill_buffer): Undedicate windows showing BUF
8253         before replacing them.
8254
8255         * src/window.c (window_loop): Implement new UNDEDICATE_BUFFER
8256         operation.
8257
8258         * src/window.c (undedicate_windows): Use it.
8259         * src/window.h: Add prototype.
8260
8261 2001-09-17  Ben Wing  <ben@xemacs.org>
8262
8263         * fileio.c (normalize_filename):
8264         * fileio.c (Fexpand_file_name):
8265         Fix various C++ compile errors in Andy's recent code.
8266         
8267         * callint.c (Fcall_interactively):
8268         * editfns.c (Ftemp_directory):
8269         * editfns.c (Fuser_full_name):
8270         * emacs.c (argmatch):
8271         * lread.c (locate_file_map_suffixes):
8272         * redisplay-x.c (x_ring_bell):
8273         Fix sign-compare warnings.
8274         
8275 2001-09-08  Andy Piper  <andy@xemacs.org>
8276
8277         * fileio.c (normalize_filename): copied from nt.c
8278         * (Ffile_name_directory): enable win32 paths under cygwin.
8279         * (Ffile_name_nondirectory): ditto.
8280         * (directory_file_name): ditto.
8281         * (Fexpand_file_name): ditto.
8282         * (Ffile_truename): ditto.
8283         * (Fsubstitute_in_file_name): ditto.
8284         * (Ffile_name_absolute_p): ditto.
8285         * (Ffile_readable_p): ditto.
8286
8287 2001-09-08  Andy Piper  <andy@xemacs.org>
8288
8289         * device-msw.c (mswindows_finish_init_device): remove dde
8290         initialization.
8291         * device-msw.c (mswindows_init_dde): factor out from
8292         mswindows_finish_init_device()
8293         * device-msw.c (init_mswindows_very_early): new function
8294         initialize but don't enable dde.
8295         * emacs.c (main_1): call init_mswindows_very_early.
8296         * event-msw.c:
8297         * event-msw.c (mswindows_dde_callback): only execute when we are
8298         ready.
8299         * symsinit.h: declare init_mswindows_very_early.
8300
8301 2001-05-02  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
8302
8303         [sjt: This has been in 21.5 for months with no complaints.]
8304
8305         * console.h (struct console_methods): Added flags member.
8306         (CONSOLE_IMPLEMENTATION_FLAGS): Defined.
8307         (CONMETH_IMPL_FLAG):
8308         (CONSOLE_IMPL_FLAG): Macro to check implememntation flags.
8309         Defined XDEVIMPF_DONT_PREEMPT_REDISPLAY.
8310
8311         * device.c (window_system_pixelated_geometry): Use the above macros.
8312
8313         * device.h (DEVICE_IMPL_FLAG): Macro to check a device
8314         implememntation flag.
8315         * device.h (DEVICE_DISPLAY_P): Use it.
8316
8317         * frame.c (delete_frame_internal): Use the above macro.
8318
8319         * redisplay.c (redisplay_device): Use it.
8320         (redisplay_device): Obey XDEVIMPF_DONT_PREEMPT_REDISPLAY.
8321         (redisplay_frame): Ditto.
8322
8323         * device-msw.c (mswindows_device_implementation_flags): Removed.
8324         (msprinter_device_implementation_flags): Removed.
8325         (console_type_create_device_mswindows): Removed references to
8326         implementation_flags methods, set implementation flags here.
8327         (console_type_create_device_mswindows): Added XDEVIMPF_DONT_PREEMPT.
8328
8329         * device-gtk.c (gtk_device_implementation_flags): Removed method.
8330         (console_type_create_device_gtk): Removed method declaration.
8331         Added commented out statement which semantically matches the
8332         commented out statement in the above removed method.
8333
8334 2001-04-14  Gordon Sadler  <gbsadler1@lcisp.com>
8335
8336         The attached patch fixes a few warnings. 
8337
8338         * src/emacs.c: prototype console_type_create_select_gtk for GTK only
8339         * src/frame-gtk.c: guard against GNOME calls in GTK only
8340         * src/redisplay-gtk.c: include <sys/poll.h> #ifdef HAVE_POLL
8341         * src/select-gtk.c: prototype lisp_to_time
8342
8343 2001-06-08  Ben Wing  <ben@xemacs.org>
8344
8345         ------ gc-in-window-procedure fixes ------
8346         
8347         * alloc.c:
8348         * alloc.c (struct post_gc_action):
8349         * alloc.c (register_post_gc_action):
8350         * alloc.c (run_post_gc_actions):
8351         * alloc.c (garbage_collect_1):
8352         Create "post-gc actions", to avoid those dreaded "GC during window
8353         procedure" problems.
8354
8355         * event-msw.c:
8356         Abort, clean and simple, when GC in window procedure.  We want
8357         to flush these puppies out.
8358
8359         * glyphs-msw.c:
8360         * glyphs-msw.c (finalize_destroy_window):
8361         * glyphs-msw.c (mswindows_finalize_image_instance):
8362         Use a post-gc action when destroying subwindows.
8363
8364         * lisp.h:
8365         Declare register_post_gc_action().
8366
8367         * scrollbar-msw.c:
8368         * scrollbar-msw.c (unshow_that_mofo):
8369         Use a post-gc action when unshowing scrollbar windows, if in gc.
8370
8371         * redisplay.c (mark_redisplay):
8372         Add comment about the utter evilness of what's going down here.
8373
8374         ------ cygwin setitimer fixes ------
8375         
8376         * Makefile.in.in (sheap_objs):
8377         * Makefile.in.in (profile_objs):
8378         * Makefile.in.in (objs):
8379         Compile profile.c only when HAVE_SETITIMER.
8380         
8381         * nt.c (mswindows_sigset):
8382         * nt.c (mswindows_sighold):
8383         * nt.c (mswindows_sigrelse):
8384         * nt.c (mswindows_sigpause):
8385         * nt.c (mswindows_raise):
8386         * nt.c (close_file_data):
8387         Style fixes.
8388         
8389         * nt.c:
8390         Move setitimer() emulation to win32.c, because Cygwin needs it too.
8391         
8392         * profile.c:
8393         * profile.c (Fstart_profiling):
8394         * profile.c (Fstop_profiling):
8395         Make sure we don't compile if no setitimer().  Use qxe_setitimer()
8396         instead of just plain setitimer().
8397         
8398         * signal.c:
8399         * signal.c (set_one_shot_timer):
8400         * signal.c (alarm):
8401         Define qxe_setitimer() as an encapsulation around setitimer() --
8402         call setitimer() directly unless Cygwin or MS Win, in which case
8403         we use our simulated version in win32.c.
8404         
8405         * systime.h:
8406         * systime.h (struct itimerval):
8407         * systime.h (ITIMER_REAL):
8408         Prototype mswindows_setitimer() and qxe_setitimer().  Long
8409         comment about "qxe" and the policy regarding encapsulation.
8410
8411         * win32.c:
8412         * win32.c (setitimer_helper_proc):
8413         * win32.c (setitimer_helper_period):
8414         * win32.c (setitimer_helper):
8415         * win32.c (mswindows_setitimer):
8416         Move setitimer() emulation here, so Cygwin can use it.
8417         Rename a couple of functions and variables to be longer and more
8418         descriptive.  In setitimer_helper_proc(), send the signal
8419         using either mswindows_raise() or (on Cygwin) kill().  If for
8420         some reason we are still getting lockups, we'll change the kill()
8421         to directly invoke the signal handlers.
8422
8423         ------ windows shell fixes ------
8424         
8425         * callproc.c:
8426         * ntproc.c:
8427         Comments about how these two files must die.
8428
8429         * callproc.c (init_callproc):
8430         On MS Windows, init shell-file-name from SHELL, then COMSPEC,
8431         not just COMSPEC. (more correct and closer to FSF.) Don't
8432         force a value for SHELL into the environment. (Comments added
8433         to explain why not.)
8434         
8435         * nt.c (init_user_info):
8436         Don't shove a fabricated SHELL into the environment.  See above.
8437
8438 2001-06-01  Ben Wing  <ben@xemacs.org>
8439
8440         * Makefile.in.in (ldflags):
8441         eliminate that pesky "defaulting to 00401000" warning.
8442         * nt.h:
8443         eliminate warnings.
8444
8445 2001-06-15  Golubev I. N.  <gin@mo.msk.ru>
8446
8447         * s/sco5.h (FORCE_ALLOCATE_PTY_THE_OLD_FASHIONED_WAY): #define.
8448         * process-unix.c (allocate_pty): #ifndef "modern" pty allocation.
8449
8450 2001-04-24  Jerry James <james@xemacs.org>
8451
8452         * faces.h: pass parameters to Fadd_spec_to_specifier in the
8453         correct order.
8454
8455 2001-06-01  Ben Wing  <ben@xemacs.org>
8456
8457         * event-msw.c (debug_mswin_messages):
8458         conditionalize the messages that were causing compile errors.
8459         (if only macros could generate #ifdef statements ...)
8460
8461 2001-07-28  Stephen J. Turnbull  <stephen@xemacs.org>
8462
8463         * XEmacs 21.4.4 "Artificial Intelligence" is released.
8464
8465 2001-07-22  Stephen J. Turnbull  <stephen@xemacs.org>
8466
8467         * event-msw.c (mswindows_wnd_proc): Add GC debugging assert.
8468
8469 2001-07-22  Stephen J. Turnbull  <stephen@xemacs.org>
8470
8471         * config.h.in (IPV6_CANONICALIZE): New #define for --with-ipv6-lookup.
8472         * process-unix.c (unix_canonicalize_host_name):
8473         sysdep.c (init_system_name):
8474         Use it to conditionally support IPv6 canonicalization.
8475
8476 2001-05-31  Paul Stodghill  <stodghil@cs.cornell.edu>
8477
8478         * event-msw.c:
8479         Cygwin does not define WM_IME_xxx. Modify the #if's accordingly.
8480
8481 2001-05-19  Paul Krause  <paulkrause1@mediaone.net>
8482
8483         * scrollbar-msw.c: Fixes a crash that occurs on Windows when an
8484         attempt is made to scroll when no scroll bar is available.
8485
8486 2001-04-19  Glynn Clements  <glynn.clements@virgin.net>
8487
8488         * input-method-motif.c (XIM_delete_frame): New callback.
8489         (XIM_init_frame): Register it.  (Reapplied by SJT, it somehow
8490         got deleted from 21.4.3.)
8491
8492 2001-06-01  Ben Wing  <ben@xemacs.org>
8493
8494         * nt.c (mswindows_utime):
8495         * nt.c (close_file_data):
8496         fix off-by-one-indirection error.
8497
8498 2001-05-29  Adrian Aichner  <adrian@xemacs.org>
8499
8500         * fileio.c: Include nt.h.  Remove lisp_string_set_file_times()
8501         because set_file_times() now takes Lisp_Object path, instead of
8502         char*.
8503         * nt.c: Include buffer.h.
8504         * nt.c (convert_from_time_t): New.
8505         * nt.c (mswindows_utime): New.  Use utime, since SetFileTime does
8506         not set mtime correctly.
8507         * nt.h: Declare mswindows_utime().
8508         * sysdep.c (set_file_times): set_file_times() now takes Lisp_Object
8509         path, instead of char*.
8510         * systime.h: Include <sys/utime.h> on WIN32_NATIVE.
8511
8512 2001-05-30  Ben Wing  <ben@xemacs.org>
8513
8514         For 21.4:
8515
8516         (Stephen, just take all event-msw.c patches.  This includes
8517         the "iconify" fix below.)
8518
8519         * event-msw.c:
8520         * event-msw.c (mswindows_dequeue_dispatch_event):
8521         * event-msw.c (assert):
8522         * event-msw.c (emacs_mswindows_quit_p):
8523         * event-msw.c (debug_mswin_messages):
8524         * event-msw.c (debug_output_mswin_message):
8525         * event-msw.c (vars_of_event_mswindows):
8526         Fix yet more problems with C-g handling.
8527         Implement debug-mswindows-events.
8528         
8529 2001-05-24  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
8530
8531         * event-msw.c (WM_DROPFILES): Use correct type for OLE characters.
8532         
8533 2001-05-23  Ben Wing  <ben@xemacs.org>
8534
8535         * event-msw.c (winsock_writer):
8536         * event-msw.c (winsock_closer):
8537         prior kludgy code was clobbering the buffer, thinking it was
8538         "unused" space to store an unneeded return value; instead, use
8539         the variable we've already got staring us in the face.
8540
8541 2001-05-17  Andy Piper  <andy@xemacs.org>
8542
8543         * sysfile.h: don't assume that file attributes are boolean
8544
8545 2001-05-23  Ben Wing  <ben@xemacs.org>
8546
8547         * device-msw.c (msprinter_init_device):
8548         signal an error rather than crash with an unavailable network
8549         printer (from Mike Alexander).
8550         
8551         * event-msw.c:
8552         * event-msw.c (struct winsock_stream):
8553         * event-msw.c (winsock_writer):
8554         * event-msw.c (winsock_closer):
8555         * event-msw.c (make_winsock_stream_1):
8556         cleanup headers.  fix (hopefully) an error with data corruption
8557         when sending to a network connection.
8558
8559         * fileio.c (Fexpand_file_name): Fix evil code that attempts
8560         to handle the ~user prefix by (a) always assuming we're referencing
8561         ourselves and not even verifying the user -- hence any file with
8562         a tilde as its first char is invalid! (b) if there wasn't a slash
8563         following the filename, the pointer was set *past* the end of
8564         file and we started reading from uninitialized memory.  Now we
8565         simply treat these as files, always.
8566
8567         * buffer.c (common_init_complex_vars_of_buffer): comment change.
8568         
8569 2001-05-19  Ben Wing  <ben@xemacs.org>
8570
8571         * eval.c: doc comment about gcpro'ing in record_unwind_protect.
8572
8573         * process-nt.c:
8574         * process-nt.c (vars_of_process_nt):
8575         remove unused mswindows-quote-process-args.  rec for 21.4.
8576         
8577 2001-05-12  Ben Wing  <ben@xemacs.org>
8578
8579         * event-msw.c (mswindows_dde_callback):
8580         * event-msw.c (mswindows_wnd_proc):
8581         eliminate cygwin warnings.
8582
8583 2001-05-06  Ben Wing  <ben@xemacs.org>
8584
8585         * console-msw.h:
8586         * device-msw.c:
8587         * device-msw.c (print_dialog_worker):
8588         * device-msw.c (mswindows_handle_print_dialog_box):
8589         * device-msw.c (syms_of_device_mswindows):
8590         * dialog-msw.c (mswindows_make_dialog_box_internal):
8591         * general-slots.h:
8592         implement printing the selection when it's selected.
8593
8594 2001-05-20  Drazen Kacar  <dave@arsdigita.com>
8595
8596         * glyphs-gtk.c (gtk_resource_instantiate): C++ comment -> #if 0
8597
8598 2001-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
8599
8600         * lisp.h (EMACS_INT_MAX): This should be one bit less since
8601         EMACS_INT is signed.
8602
8603 2001-04-15  Michael Lausch  <mla@1012surf.net>
8604
8605         * scrollbar-gtk.c (gtk_create_scrollbar_instance): Call
8606         gtk_widget_request_size() to give scrollbar >0 width for
8607         GTK >1.2.8.
8608
8609 2001-05-30  William M. Perry  <wmperry@gnu.org>
8610
8611         * event-gtk.c: Check for buttons as modifier keys.
8612
8613 2001-05-25  Craig Lanning  <CraigL@Knology.net>
8614
8615         * s\mingw32.h:
8616         Properly find MinGW's <process.h> inside Cygwin's restructured
8617         include directories.  Don't try to include <cygwin/version.h>
8618         since we are dropping support for MinGW in versions of Cygwin
8619         earlier than b21.
8620         * nt.c:
8621         Drop support for MinGW in versions of Cygwin before b21.
8622         * sysdep.c:
8623         Properly find MinGW's <process.h> inside Cygwin's restructured
8624         include directories.
8625         * syswindows.h:
8626         Drop support for MinGW in versions of Cygwin before b21.
8627         * unexcw.c:
8628         Even though a.out.h is no longer detected by configure, allow
8629         MinGW to use it until we figure out how to do the job with Win32.
8630
8631 2001-07-11  Matt Tucker  <tuck@whistlingfish.net>
8632
8633         * syntax.c (find_start_of_comment):
8634         Fix `unbalanced parentheses' bug when dealing with mixed comment
8635         styles in c++/java/etc. mode
8636
8637 2001-05-29  Mike Alexander  <mta@arbortext.com>
8638
8639         * console-msw.h (FRAME_MSPRINTER_CHARHEIGHT): Unswap
8640         FRAME_MSPRINTER_CHARWIDTH and FRAME_MSPRINTER_CHARHEIGHT
8641
8642 2001-05-17  Andrew Begel  <abegel@eecs.berkeley.edu>
8643
8644         * lrecord.h (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): Add needed cast.
8645
8646 2001-03-31  Mike Sperber <mike@xemacs.org>
8647
8648         * search.c (Freplace_match): Support FSF-style specification of
8649         match subexpression when applied to a buffer.
8650
8651 2001-05-27  Karl M. Hegbloom  <karlheg@hegbloom.net>
8652
8653         * event-stream.c (is_scrollbar_event): add missing semicolon
8654
8655 2001-05-22  Isaac Hollander  <ysh@mindspring.com>
8656
8657         * Makefile.in.in: Use TAR macro instead of hardcoding
8658           tar.  Allows use of GNU tar instead of system tar
8659
8660 2001-05-27  Karl M. Hegbloom  <karlheg@hegbloom.net>
8661
8662         * event-stream.c (is_scrollbar_event): add missing semicolon
8663
8664 2001-05-17  Stephen J. Turnbull  <stephen@xemacs.org>
8665
8666         * XEmacs 21.4.3 "Academic Rigor" is released.
8667
8668 2001-05-17  Stephen J. Turnbull  <stephen@xemacs.org>
8669
8670         * regex.c: Define DECLARE_NOTHING when "lisp.h" is not included.
8671
8672 2001-05-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
8673
8674         * buffer.c (Vcase_fold_search): Remove obsolete
8675           comment about non ASCII case-fold-search.  This
8676           bug has been fixed by case-table changes.
8677
8678 2001-05-11  Stephen J. Turnbull  <stephen@xemacs.org>
8679
8680         * event-msw.c: Restore include of events-mod.h.
8681
8682 2001-04-22   zhaoway  <zw@debian.org>
8683
8684         * event-stream.c (is_scrollbar_event): Noop returning 0 if
8685         !HAVE_SCROLLBARS.
8686
8687 2001-05-10  Stephen J. Turnbull  <stephen@xemacs.org>
8688
8689         * XEmacs 21.4.2 "Developer-Friendly Unix APIs" is released.
8690
8691 2001-05-08  Yoshiaki Kasahara  <kasahara@nc.kyushu-u.ac.jp>
8692
8693         * mule-charset.c (Fmake_charset): Add missing else.
8694
8695 2001-04-23  Ben Wing  <ben@xemacs.org>
8696
8697         * event-msw.c (FAKE_MOD_QUIT):
8698         * event-msw.c (mswindows_dequeue_dispatch_event):
8699         * event-msw.c (mswindows_wnd_proc):
8700         * event-msw.c (emacs_mswindows_quit_p):
8701         Get critical quit working.
8702
8703 2001-05-05  Ben Wing  <ben@xemacs.org>
8704
8705         * console-msw.h:
8706         * device-msw.c:
8707         * device-msw.c (mswindows_get_default_margin):
8708         * frame-msw.c (mswindows_size_frame_internal):
8709         * frame-msw.c (msprinter_init_frame_1):
8710         * frame-msw.c (vars_of_frame_mswindows):
8711         Change top/bottom margin defaults to 0.5 inches.
8712
8713 2001-05-01  Martin Buchholz  <martin@xemacs.org>
8714
8715         Fix link error with gcc 3.0 on Linux.
8716         * terminfo.c (UP): Remove.
8717         * terminfo.c (BC): Remove.
8718         * terminfo.c (PC): Remove.
8719         They weren't used, and in any case, these symbols should be
8720         defined in the *library*.
8721
8722 2001-05-03  Martin Buchholz  <martin@xemacs.org>
8723
8724         * s/aix4.h: Fix crash with xlc -O3.
8725         Improve comment explaining how -O3 works.
8726
8727 2001-04-15  Ben Wing  <ben@xemacs.org>
8728
8729         * event-stream.c:
8730         * event-stream.c (Fnext_event):
8731         * event-stream.c (is_scrollbar_event):
8732         * event-stream.c (execute_command_event):
8733         Better fix for Yoshiki's `C-x @ h <scrollbar-drag> x causes a
8734         crash' problem.  His fix introduces other problems.  We filter
8735         out scrollbar events specifically, making them somewhat invisible
8736         to command-building, and not appearing in `this-command-keys'.
8737         More work is still needed (see comments in event-stream.c), but
8738         this fixes all the major problems.
8739
8740 2001-04-20  Ben Wing  <ben@xemacs.org>
8741
8742         * .cvsignore: Added stuff for Windows.
8743
8744 2001-04-28  Ben Wing  <ben@xemacs.org>
8745
8746         * buffer.c (Ferase_buffer):
8747         * editfns.c (buffer_insert1):
8748         * editfns.c (Finsert_before_markers):
8749         * editfns.c (Finsert_string):
8750         * editfns.c (Finsert_char):
8751         * editfns.c (Fdelete_region):
8752         * editfns.c (Fwiden):
8753         * editfns.c (Fnarrow_to_region):
8754         remove bogus lines setting zmacs_region_stays to 0.
8755         
8756 2001-04-15  Gunnar Evermann  <ge204@eng.cam.ac.uk>
8757
8758         * process-unix.c (unix_open_network_stream): If connect() fails
8759         invalidate file descriptor after closing it.
8760
8761 2001-03-08  Mike Alexander  <mta@arbortext.com>
8762
8763         * event-msw.c (mswindows_need_event_in_modal_loop):
8764         Don't dispatch a message if we didn't get one.
8765         (mswindows_need_event):
8766         Terminate the correct process when one exits instead of the first
8767         one on Vprocess_list and look for process termination when in
8768         mswindows_protect_modal_loop.
8769
8770 2001-04-19  Stephen J. Turnbull  <stephen@xemacs.org>
8771
8772         * XEmacs 21.4.1 "Copyleft" is released.
8773
8774 2001-04-19  Glynn Clements  <glynn.clements@virgin.net>
8775
8776         * input-method-motif.c (XIM_delete_frame): New callback.
8777         (XIM_init_frame): Register it.
8778
8779 2001-04-16  Stephen J. Turnbull  <stephen@xemacs.org>
8780
8781         * XEmacs 21.4.0 "Solid Vapor" is released.
8782
8783 2001-04-15  Ben Wing  <ben@xemacs.org>
8784
8785         * cmdloop.c (call_command_loop):
8786         Fix braino in bit-rotting code.
8787         
8788 2001-04-07  Hrvoje Niksic  <hniksic@arsdigita.com>
8789
8790         * extents.c (Fset_extent_endpoints): Force creation of extent info
8791         in buffer_or_string.
8792
8793         * extents.c (process_extents_for_insertion_mapper): Correctly
8794         check for open-open zero-length extents.
8795
8796 2001-04-16  Stephen J. Turnbull  <stephen@xemacs.org>
8797
8798         * lisp.h: New typedefs Memory_count, Element_count.
8799         * regex.c:
8800         * regex.h:
8801         Sign-compare warning elimination: several unsigned -> signed.
8802         Based on work by Ben Wing <ben@xemacs.org>.
8803
8804 2001-04-14  Stephen J. Turnbull  <stephen@xemacs.org>
8805
8806         * XEmacs 21.2.47 "Zephir" is released.
8807
8808 2001-04-02  Jan Vroonhof  <jan@xemacs.org>
8809
8810         * redisplay.c (add_bufbyte_string_runes): Update data->bytepos
8811
8812 2001-04-03  Mike Sperber <mike@xemacs.org>
8813
8814         * search.c: Revert previous patch due because of release.
8815
8816 2001-03-30  Ben Wing  <ben@xemacs.org>
8817
8818         * s\cygwin32.h:
8819         Add missing killpg prototype.
8820
8821         * elhash.c:
8822         Add a comment about fixing problems when a new entry is added
8823         while mapping.
8824
8825         * frame-msw.c (mswindows_init_frame_1):
8826         Fix compile warnings.
8827
8828         * menubar.c (vars_of_menubar):
8829         Provide `menu-accelerator-support' to indicate that we properly
8830         support %_ in menu specifications, so that package code can
8831         conditionalize on this (and remove %_ from menu specifications
8832         on older versions).
8833
8834         * event-msw.c:
8835         * scrollbar-msw.c:
8836         * scrollbar-msw.c (can_scroll):
8837         * scrollbar-msw.h:
8838         Fix handling of mouse wheel under Windows to follow standards --
8839         now scrolls window under pointer, not selected window.
8840
8841 2001-03-31  Mike Sperber <mike@xemacs.org>
8842
8843         * search.c (Freplace_match): Support FSF-style specification of
8844         match subexpression when applied to a buffer.
8845
8846 2001-03-15  Martin Buchholz  <martin@xemacs.org>
8847
8848         * keymap.c (Fmap_keymap): map-keymap explicitly allows a mapping
8849         function to modify KEYMAP, so map over a copy of the hash table.
8850
8851 2001-03-21  Martin Buchholz <martin@xemacs.org>
8852
8853         * XEmacs 21.2.46 "Urania" is released.
8854
8855 2001-03-20  Dan Holmsand  <dan@eyebee.com>
8856
8857         * realpath.c (xrealpath): Make file-truename work with symlinks to
8858         /cygdrive paths on cygwin. Always lowercase drive-letters on
8859         native windows.
8860         (cygwin_readlink): Don't try to find canonical filename unless
8861         file exists.
8862
8863 2001-03-15  Stephen J. Turnbull  <stephen@xemacs.org>
8864
8865         * ChangeLog: Log GTK merge.
8866
8867         * dumper.c:
8868         * select-x.c:
8869         * specifier.c:
8870         * symeval.h:
8871         Revert gratuitous whitespace changes from GTK merge.
8872
8873         * emacs.c: Document end of complex #ifdef @ l. 1495.
8874
8875
8876 2001-03-12  Andy Piper  <andy@xemacs.org>
8877
8878         * mingw32.h: unfortunately cygnus changed mingw32 -> mingw so we
8879         have to do likewise.
8880
8881 2001-03-12  Andy Piper  <andy@xemacs.org>
8882
8883         * sysdep.c: we only support mingw now.
8884
8885 2001-03-09  Andy Piper  <andy@xemacs.org>
8886
8887         * unexcw.c (copy_executable_and_dump_data_section): making approx
8888         overrun a warning only.
8889
8890 2001-03-10  William M. Perry  <wmperry@aventail.com>
8891
8892         * faces.c (complex_vars_of_faces): Rewrote the font mucking to
8893         satisfy Stephen's identical-after-cpp plea.
8894
8895 2001-03-02  Ben Wing  <ben@xemacs.org>
8896
8897         * cmds.c:
8898         * cmds.c (Fforward_char):
8899         * syntax.c:
8900         * window.c:
8901
8902         Augment documentation of the most common motion commands to make
8903         note of the shifted-motion support.
8904         
8905 2001-03-02  Ben Wing  <ben@xemacs.org>
8906
8907         * nt.c (mswindows_fstat):
8908         * nt.c (mswindows_stat):
8909         * search.c (boyer_moore):
8910         Fix compile warnings under Windows.
8911         
8912         * sysdep.c (sys_readdir):
8913         Fix buggy filename-conversion code under Mule.
8914
8915 2001-03-09  William M. Perry  <wmperry@aventail.com>
8916
8917         * Makefile.in.in:
8918         * config.h.in:
8919         * console.c:
8920         * console.h:
8921         * device.c:
8922         * device.h:
8923         * dragdrop.c:
8924         * emacs.c:
8925         * event-stream.c:
8926         * events.c:
8927         * events.h:
8928         * faces.c:
8929         * frame.h:
8930         * general-slots.h:
8931         * glyphs.c:
8932         * gutter.c:
8933         * inline.c:
8934         * lisp.h:
8935         * lrecord.h:
8936         * make-src-depend:
8937         * redisplay-output.c:
8938         * redisplay.c:
8939         * symsinit.h:
8940         * sysfile.h:
8941         * toolbar.c:
8942         * window.c:
8943         The Great GTK Merge.
8944
8945         * ChangeLog.GTK:
8946         * console-gtk.c:
8947         * console-gtk.h:
8948         * device-gtk.c:
8949         * emacs-marshals.c:
8950         * emacs-widget-accessors.c:
8951         * event-gtk.c:
8952         * frame-gtk.c:
8953         * gccache-gtk.c:
8954         * gccache-gtk.h:
8955         * glade.c:
8956         * glyphs-gtk.c:
8957         * glyphs-gtk.h:
8958         * gtk-glue.c:
8959         * gtk-xemacs.c:
8960         * gtk-xemacs.h:
8961         * gui-gtk.c:
8962         * gui-gtk.h:
8963         * menubar-gtk.c:
8964         * native-gtk-toolbar.c:
8965         * objects-gtk.c:
8966         * objects-gtk.h:
8967         * redisplay-gtk.c:
8968         * scrollbar-gtk.c:
8969         * scrollbar-gtk.h:
8970         * select-gtk.c:
8971         * toolbar-gtk.c:
8972         * ui-byhand.c:
8973         * ui-gtk.c:
8974         * ui-gtk.h:
8975         The Great GTK Merge: new files.
8976
8977 2001-02-26  Ben Wing  <ben@xemacs.org>
8978
8979         Reapplied Lstream change.
8980
8981 2001-02-26  Ben Wing  <ben@xemacs.org>
8982
8983         Undid the last change, since it is more controversial than I
8984         thought.  It should be back in at some point soon.
8985         
8986 2001-02-25  Ben Wing  <ben@xemacs.org>
8987
8988         * buffer.c:
8989         * callproc.c (Fold_call_process_internal):
8990         * event-msw.c (ntpipe_slurp_reader):
8991         * event-msw.c (ntpipe_shove_writer):
8992         * event-msw.c (winsock_reader):
8993         * event-msw.c (winsock_writer):
8994         * file-coding.c:
8995         * file-coding.c (detect_eol_type):
8996         * file-coding.c (detect_coding_type):
8997         * file-coding.c (determine_real_coding_system):
8998         * file-coding.c (Fdetect_coding_region):
8999         * file-coding.c (decoding_reader):
9000         * file-coding.c (decoding_writer):
9001         * file-coding.c (mule_decode):
9002         * file-coding.c (Fdecode_coding_region):
9003         * file-coding.c (encoding_reader):
9004         * file-coding.c (encoding_writer):
9005         * file-coding.c (mule_encode):
9006         * file-coding.c (Fencode_coding_region):
9007         * file-coding.c (detect_coding_sjis):
9008         * file-coding.c (decode_coding_sjis):
9009         * file-coding.c (encode_coding_sjis):
9010         * file-coding.c (detect_coding_big5):
9011         * file-coding.c (decode_coding_big5):
9012         * file-coding.c (encode_coding_big5):
9013         * file-coding.c (detect_coding_ucs4):
9014         * file-coding.c (decode_coding_ucs4):
9015         * file-coding.c (encode_coding_ucs4):
9016         * file-coding.c (detect_coding_utf8):
9017         * file-coding.c (decode_coding_utf8):
9018         * file-coding.c (encode_coding_utf8):
9019         * file-coding.c (detect_coding_iso2022):
9020         * file-coding.c (decode_coding_iso2022):
9021         * file-coding.c (encode_coding_iso2022):
9022         * file-coding.c (decode_coding_no_conversion):
9023         * file-coding.c (encode_coding_no_conversion):
9024         * glyphs-x.c (write_lisp_string_to_temp_file):
9025         * gpmevent.c (tty_get_foreign_selection):
9026         * lisp.h:
9027         * lstream.c:
9028         * lstream.c (Lstream_flush_out):
9029         * lstream.c (Lstream_adding):
9030         * lstream.c (Lstream_write_1):
9031         * lstream.c (Lstream_write):
9032         * lstream.c (Lstream_raw_read):
9033         * lstream.c (Lstream_read_more):
9034         * lstream.c (Lstream_read):
9035         * lstream.c (Lstream_unread):
9036         * lstream.c (Lstream_fputc):
9037         * lstream.c (stdio_reader):
9038         * lstream.c (stdio_writer):
9039         * lstream.c (filedesc_reader):
9040         * lstream.c (filedesc_writer):
9041         * lstream.c (lisp_string_reader):
9042         * lstream.c (struct fixed_buffer_stream):
9043         * lstream.c (make_fixed_buffer_input_stream):
9044         * lstream.c (make_fixed_buffer_output_stream):
9045         * lstream.c (fixed_buffer_reader):
9046         * lstream.c (fixed_buffer_writer):
9047         * lstream.c (struct resizing_buffer_stream):
9048         * lstream.c (resizing_buffer_writer):
9049         * lstream.c (dynarr_writer):
9050         * lstream.c (lisp_buffer_reader):
9051         * lstream.c (lisp_buffer_writer):
9052         * lstream.h:
9053         * lstream.h (lstream_implementation):
9054         * lstream.h (struct lstream):
9055         * md5.c (Fmd5):
9056         * process-nt.c (nt_send_process):
9057         * process-unix.c (unix_send_process):
9058         
9059         Correct Lstream lossage due to mixing of signed and unsigned
9060         quantities.  All Lstream uses of size_t and ssize_t are now a
9061         single signed data type Lstream_data_count.  This fixes problems
9062         under Windows with sending large quantities of data to a process,
9063         and may well fix other subtle bugs.
9064
9065 2001-02-23  Martin Buchholz <martin@xemacs.org>
9066
9067         * XEmacs 21.2.45 "Thelxepeia" is released.
9068
9069 2001-02-21  Martin Buchholz  <martin@xemacs.org>
9070
9071         * lisp-union.h (XSETINT): 
9072         (XSETCHAR):
9073         (XSETOBJ): 
9074         Reverse previous change of 2001-02-06.
9075
9076 2001-02-20  Matt Tucker  <tuck@whistlingfish.net>
9077
9078         Fix `VALID_BYTIND_P' crashes in regex.c when using narrowed
9079         buffers.
9080         * syntax.h (SYNTAX_CACHE_BYTE_TO_CHAR):
9081         * syntax.h (SYNTAX_CACHE_OBJECT_BYTE_TO_CHAR):
9082         Add `BI_BUF_BEGV' to bytepos before calculating bufpos.
9083         * regex.c (POS_AS_IN_BUFFER): removed
9084         * regex.c (re_search_2):
9085         * regex.c (re_match_2):
9086         Don't use an offset of 1 when calculating buffer positions, since
9087         `BI_BUF_BEGV' does it already.
9088
9089 2001-02-18  Wim Dumon  <wim@easics.be>
9090
9091         * insdel.c (prepare_to_modify_buffer): Also check for
9092         supersession when clash-detection is enabled. 
9093
9094 2001-02-17  Matt Tucker  <tuck@whistlingfish.net>
9095
9096         * regex.c (re_match_2_internal):
9097         Convert temp characters from 'const unsigned char' to 're_char'.
9098         Fix crashing bug with extended characters under mule.
9099         * syntax.c (Qsyntax_table): Moved from vars_of_syntax to
9100         syms_of_syntax. Use defsymbol to define. Fixes hanging bug with
9101         font-lock, pdump, and new syntax-table code.
9102         * syntax.c (find_start_of_comment):
9103         (find_end_of_comment):
9104         (forward-comment):
9105         Fix crashing bugs involving moving beyond end of buffer.
9106         * syntax.c (find_start_of_comment):
9107         Fixed logic to allow proper detection of cases where the same
9108         character is used to end both a two-char comment start and a
9109         two-char comment end sequence. Fixes `(forward-comment -1)'.
9110         * syntax.c (find_start_of_comment):
9111         Return position just past last comment-end character for all cases
9112         (previously was only done for two-char comment-end sequences).
9113         * syntax.c (forward-comment):
9114         Take value returned from `find_end_of_comment', rather than
9115         incrementing it.
9116         * syntax.h (SYNTAX_CACHE_BYTE_TO_CHAR):
9117         Properly deal with BUFFERP (syntax_cache.object)
9118
9119 2001-02-17  Martin Buchholz  <martin@xemacs.org>
9120
9121         * alloc.c (Fgarbage_collect): 
9122         * alloc.c (make_bit_vector_from_byte_vector):
9123         -Wsign-compare-correctness.
9124
9125 2001-02-16  Martin Buchholz  <martin@xemacs.org>
9126
9127         * lisp-union.h (XSETINT): Eliminate unnecessary temp var.
9128         (XSETCHAR): Likewise.
9129         (XSETOBJ): Likewise.
9130
9131 2001-02-15  Martin Buchholz  <martin@xemacs.org>
9132
9133         * mule-canna.c (canna-func-delete_previous): 
9134         Rename to canna-func-delete-previous.
9135
9136 2001-02-14  Martin Buchholz  <martin@xemacs.org>
9137
9138         * mule-ccl.c (ccl_driver): Warning suppression.  Use countof.
9139
9140 2001-02-13  Matt Tucker  <tuck@whistlingfish.net>
9141
9142         * font-lock.c (find_context): Fix C++ compile errors introduced by
9143         recent patch
9144
9145 2001-02-13  Martin Buchholz  <martin@xemacs.org>
9146
9147         * s/aix4.h: Later versions of IBM C compiler need a bug workaround
9148         pragma, but earlier ones barf on the same pragma.
9149
9150 2001-02-06  Mike Sperber <mike@xemacs.org>
9151
9152         * emacs.c (complex_vars_of_emacs): Add `mule-lisp-directory' and
9153         `configure-mule-lisp-directory'.
9154
9155 2001-02-12  Martin Buchholz  <martin@xemacs.org>
9156
9157         Make sure dump-id.c is compiled in the same way as other .c's.
9158         Fixes pdump compilation failure with HP's cc, which defaults to K&R.
9159         * dump-id.h: Remove.
9160         * emacs.c: Move dump-id.h into dumper.h.
9161         * dumper.h: Move dump-id.h into dumper.h.
9162         * Makefile.in.in:
9163         Use standard .c.o rule for building dump-id.o.
9164         Remove preprocessor flags from link command.
9165         Add dump-id.o to ${otherobjs} if PDUMP.
9166
9167 2001-02-07  Matt Tucker  <tuck@whistlingfish.net>
9168
9169         Port FSF 20.7 syntax table improvements.
9170         * syntax.c.
9171         * syntax.h.
9172
9173         Fixups for new syntax table stuff.
9174         * dired.c: Include syntax.c.
9175         (Fdirectory_files): Initialize regex_match_object and
9176         regex_emacs_buffer.
9177         * extents.h: EXFUN Fnext_extent_change, Fprevious_extent_change,
9178         and Fget_char_property.
9179
9180         Use ported FSF 20.7 syntax table improvements.
9181         * font-lock.c.
9182         * regex.c.
9183         * search.c.
9184         
9185 2001-02-09  Martin Buchholz  <martin@xemacs.org>
9186
9187         * regex.c (Boolean): Renamed to `re_bool', to avoid conflict with
9188         Unixware's enum boolean from sys/types.h.
9189
9190 2001-02-10  Martin Buchholz  <martin@xemacs.org>
9191
9192         Fix support for building with latest Purify.
9193         * Makefile.in.in (PURIFY_LIBS): Remove thread flags.
9194         (PURIFY_FLAGS): Likewise.
9195
9196 2001-02-09  Martin Buchholz  <martin@xemacs.org>
9197
9198         * fileio.c (lisp_string_set_file_times): New.
9199         * fileio.c (Fcopy_file): Use it.
9200         Fixes bug:
9201         (copy-file filename non-ascii-filename t t)
9202         ==> No such file or directory, non-ascii-filename
9203
9204 2001-02-10  Martin Buchholz  <martin@xemacs.org>
9205
9206         * glyphs-x.c (generate_cursor_fg_bg): Avoid a warning.
9207         USHRT_MAX seems clearer than ~0 anyways.
9208
9209 2001-02-09  Martin Buchholz  <martin@xemacs.org>
9210
9211         dumper improvements.  Inspired by Olivier.
9212         * dumper.c (pdump_max_align): New.
9213         * dumper.c (pdump_add_entry): Use pdump_max_align.
9214         * dumper.c (pdump_get_entry_list): Likewise.
9215         * dumper.c (pdump_scan_by_alignment): Likewise.
9216         Don't iterate through unnecessary alignments.
9217         * dumper.c (pdump_file_get): No need to align result of malloc().
9218         * dumper.c (pdump_mallocadr): Remove.  
9219         The result of malloc() is guaranteed to be maximally aligned.
9220         * dumper.c: s/elmt/elt/g;
9221         * dumper.c (pdump_object_table): Allocate dynamically, not statically.
9222         * dumper.c (pdump_alert_undump_object): Likewise.
9223         * dumper.c (pdump_align_table): 
9224         Don't support alignments > 64.
9225         Store ALIGNOF's, not shift counts, in table.
9226
9227 2001-02-09  Martin Buchholz  <martin@xemacs.org>
9228
9229         * s/mingw32.h (HAVE_STRUCT_UTIMBUF): Remove.
9230         * s/windowsnt.h (HAVE_STRUCT_UTIMBUF): Remove.
9231         * systime.h: Use HAVE_UTIME.
9232         * sysdep.c (struct utimbuf): Remove.
9233         * sysdep.c (set_file_times): Prefer utime() to utimes().
9234         * config.h.in (HAVE_UTIME): New.
9235         * config.h.in (HAVE_UTIME_H): Remove.
9236         * config.h.in (HAVE_STRUCT_UTIMBUF): Remove.
9237
9238 2001-02-09  Martin Buchholz  <martin@xemacs.org>
9239
9240         * s/aix4.h: Hide #pragmas inside #ifndef NOT_C_CODE.
9241
9242 2001-02-08  Martin Buchholz  <martin@xemacs.org>
9243
9244         * s/irix6-0.h: Use the standard system memmove, not bcopy.
9245
9246 2001-02-08  Martin Buchholz <martin@xemacs.org>
9247
9248         * XEmacs 21.2.44 "Thalia" is released.
9249
9250 2001-02-06  Martin Buchholz  <martin@xemacs.org>
9251
9252         Fixes crashes in kill-emacs on some systems.
9253         * process-unix.c (unix_kill_child_process):
9254         It's OK for kill() to fail with ESRCH.
9255
9256 2001-02-07  Martin Buchholz  <martin@xemacs.org>
9257
9258         Contortions to make .gdbinit tricks work on most systems.
9259         * alloc.c (dbg_inhibit_dbg_symbol_deletion): Keep debugger info.
9260         * alloc.c (dbg_valmask): Make non-const.
9261         * alloc.c (dbg_typemask): Make non-const.
9262         * alloc.c (dbg_USE_UNION_TYPE): Make non-const.
9263         * alloc.c (dbg_valbits): Make non-const.
9264         * alloc.c (dbg_gctypebits): Make non-const.
9265         * .gdbinit (decode_object): Make it work with AIX cc.
9266
9267 2001-02-06  Martin Buchholz  <martin@xemacs.org>
9268
9269         * elhash.c (make_general_lisp_hash_table):
9270         Use simpler and more efficient calloc to clear entries.
9271
9272 2001-02-07  Martin Buchholz  <martin@xemacs.org>
9273
9274         * window.c (window_scroll): Work around an AIX C compiler bug.
9275         Fixes 'scroll-up' does nothing problem with xlC.
9276
9277 2001-02-05  Martin Buchholz  <martin@xemacs.org>
9278
9279         * .gdbinit: Remove obsolete comment.
9280
9281 2001-01-31  Mike Alexander  <mta@arbortext.com>
9282
9283         * select.c (Fown_selection_internal): Set owned_p for device
9284         method correctly.
9285
9286 2001-02-01  Martin Buchholz  <martin@xemacs.org>
9287
9288         Port to g++ 2.97.
9289         "not" cannot be used as a macro name as it is an operator in C++
9290         * config.h.in: Stop #defining `not'.
9291         * chartab.c (check_category_char): not ==> not_p
9292         * chartab.h: Likewise.
9293         * regex.c (re_match_2_internal): Likewise.
9294
9295 2001-02-02  Martin Buchholz  <martin@xemacs.org>
9296
9297         * lisp-disunion.h: Fix up comments.
9298
9299 2001-01-31  Martin Buchholz  <martin@xemacs.org>
9300
9301         * keymap.c (define_key_check_and_coerce_keysym):
9302         (syms_of_keymap):
9303         Support mouse-6 and mouse-7 bindings in the obvious way.
9304
9305 2001-02-01  Martin Buchholz  <martin@xemacs.org>
9306
9307         * m/hp9000s300.h (UNEXEC): Check for HPUX, not !BSD.
9308
9309 2001-01-30  Martin Buchholz  <martin@xemacs.org>
9310
9311         Previous patch changing DEFVAR_INT to use EMACS_INT was incomplete.
9312         Previous patch missed DEFVAR_INT_MAGIC.
9313         Make sure future DEFVAR_foo use correct types.
9314         * symeval.h (DEFVAR_SYMVAL_FWD_FIXNUM): New.
9315         * (DEFVAR_SYMVAL_FWD_INT): Add type checking.
9316         * (DEFVAR_SYMVAL_FWD_OBJECT): Add type checking.
9317         * (DEFVAR_INT_MAGIC): Use DEFVAR_SYMVAL_FWD_FIXNUM.
9318         * (DEFVAR_INT): Likewise.
9319         * redisplay.c (vertical_clip): Should be of type Fixnum.
9320         * redisplay.c (horizontal_clip): Likewise.
9321         * lisp.h (dump_add_opaque_int): New.
9322         (dump_add_opaque_fixnum): New.
9323
9324 2001-01-29  Andy Piper  <andy@xemacs.org>
9325
9326         * glyphs-widget.c (check_valid_int_or_function): allow symbols
9327         since they can be eval'ed
9328
9329 2001-01-29  Martin Buchholz  <martin@xemacs.org>
9330
9331         * lisp.h (ALIGNOF): Make it work on non-gcc C++ compilers.
9332         Oops, XEmacs redefines `class'.  Use `typename' instead.
9333
9334 2001-01-28  Martin Buchholz  <martin@xemacs.org>
9335
9336         * dumper.c: Fix C++ compile errors.
9337
9338 2001-01-29  Martin Buchholz  <martin@xemacs.org>
9339
9340         * tparam.c: Use correct prototypes.
9341
9342 2001-01-28  Martin Buchholz  <martin@xemacs.org>
9343
9344         * sysproc.h: #include util.h for NetBSD's openpty.
9345
9346 2001-01-27  Martin Buchholz  <martin@xemacs.org>
9347
9348         More 64-bit correctness.
9349         The C value of a DEFVAR_INT should be of type EMACS_INT, not int.
9350         Use a typedef `fixnum' for the type used for DEFVAR_INT.
9351         Fix up comments.
9352         This finally finishes the 64-bit SGI port.
9353         Fixes things like (let ((gc-cons-threshold most-positive-fixnum)) ...).
9354         * symbols.c: Fix up comments and type casts.
9355         * symbols.c (do_symval_forwarding): s/int/Fixnum/g
9356         * symbols.c (store_symval_forwarding): s/int/Fixnum/g
9357         * symeval.h (Fixnum): New type.
9358         * symeval.h (symbol_value_type): Fix up comment.
9359
9360         * commands.h:
9361         * nt.c:
9362         * emacs.c:
9363         * data.c:
9364         * redisplay.c:
9365         * abbrev.c:
9366         * dired-msw.c:
9367         * event-Xt.c:
9368         * eldap.c:
9369         * window.c:
9370         * sound.c:
9371         * event-stream.c:
9372         * eval.c:
9373         * buffer.c:
9374         * mule-canna.c: A million DEFVAR_INTs here...
9375         * mule-canna.c (count_char): s/int */Fixnum */g in arglist.
9376         * extents.c:
9377         * cmdloop.c:
9378         * lisp.h:
9379         * select-x.c:
9380         * console-x.h:
9381         * event-msw.c:
9382         * mule-wnnfns.c:
9383         * hpplay.c:
9384         * ralloc.c:
9385         * alloc.c:
9386         * keymap.c:
9387         * profile.c:
9388         s/int/Fixnum/g in DEFVAR_INT declarations.
9389
9390 2001-01-26  Martin Buchholz  <martin@xemacs.org>
9391
9392         Port pdump to SGI alignment-sensitive environment.
9393         Lisp Object sizeof methods now return aligned sizes.  Rely on that.
9394         Eliminate is_lrecord since Lisp_Objects sizeof methods are now all
9395         properly aligned.
9396         Define and use aligned reading and writing macros.
9397         Use buffered stdio instead of posix i/o for faster dumping.
9398         Eliminate kludgy 256 byte space for header.
9399         Read and write from dump file using structs for alignment safety.
9400         * dumper.c (pdump_align_stream): New.
9401         * dumper.c (PDUMP_ALIGN_OUTPUT): New.
9402         * dumper.c (PDUMP_READ_ALIGNED): New.
9403         * dumper.c (PDUMP_WRITE_ALIGNED): New.
9404         * dumper.c (pdump_static_Lisp_Object): New struct.
9405         * dumper.c (pdump_static_pointer): New struct.
9406         * dumper.c (pdump_entry_list_element): Remove is_lrecord member.
9407         * dumper.c (pdump_add_entry): Remove is_lrecord parameter.
9408         * dumper.c (pdump_dump_data): Rely on sizeof method alignment.
9409         * dumper.c (pdump_allocate_offset): Rely on sizeof method alignment.
9410
9411         * dumper.c (pdump_backtrace):
9412         * dumper.c (pdump_get_indirect_count):
9413         * dumper.c (pdump_register_object):
9414         * dumper.c (pdump_register_struct):
9415         * dumper.c (pdump_reloc_one):
9416         * dumper.c (pdump_scan_by_alignment):
9417         * dumper.c (pdump_dump_from_root_struct_ptrs):
9418         * dumper.c (pdump_dump_opaques):
9419         * dumper.c (pdump_dump_rtables):
9420         * dumper.c (pdump_dump_from_root_objects):
9421         * dumper.c (pdump):
9422         * dumper.c (pdump_load_finish):
9423         Use aligned reading and writing.
9424
9425         * dumper.c (pdump_free): Make static.
9426         * dumper.c (pdump_hFile): Likewise.
9427         * dumper.c (pdump_hMap): Likewise.
9428
9429 2001-01-26  Martin Buchholz <martin@xemacs.org>
9430
9431         * XEmacs 21.2.43 "Terspichore" is released.
9432
9433 2001-01-25  Martin Buchholz  <martin@xemacs.org>
9434
9435         Type fiddling for window_config.saved_windows_count
9436         * window.c (struct window_config): 
9437         Make saved_windows_count member unsigned.
9438         * window.c (sizeof_window_config_for_n_windows): 
9439         Make parameter unsigned.
9440         * window.c (mark_window_config):
9441         * window.c (window_config_equal):
9442         * window.c (free_window_configuration):
9443         * window.c (Fset_window_configuration):
9444         * window.c (count_windows):
9445         * window.c (Fcurrent_window_configuration):
9446         * window.c (reinit_vars_of_window):
9447         Update all callers and users.
9448
9449 2001-01-25  Martin Buchholz  <martin@xemacs.org>
9450
9451         Alignment correctness for flexible arrays.
9452         * lisp.h (FLEXIBLE_ARRAY_STRUCT_SIZEOF):
9453         Make alignment-correct. Add interesting comments.
9454         * alloc.c (size_vector):
9455         * alloc.c (make_vector_internal):
9456         * alloc.c (make_bit_vector_internal):
9457         * alloc.c (sweep_bit_vectors_1):
9458         * fns.c (size_bit_vector):
9459         Update all callers of FLEXIBLE_ARRAY_STRUCT_SIZEOF to add new arg.
9460         * window.c (sizeof_window_config_for_n_windows): 
9461         Use FLEXIBLE_ARRAY_STRUCT_SIZEOF.
9462
9463 2001-01-24  Martin Buchholz  <martin@xemacs.org>
9464
9465         * lread.c (read1): Rename `fexp', which is #defined in SGI's math.h
9466
9467 2001-01-23  Andy Piper  <andy@xemacs.org>
9468
9469         * select.c (Fown_selection_internal): pass owned_p
9470
9471         * select-msw.c (mswindows_own_selection): New Signature.
9472
9473         * console.h (struct console_methods): add owned_p to
9474         _own_selection.
9475
9476         * select-x.c (x_own_selection): pass owned_p
9477         (hack_motif_clipboard_selection): use owned_p
9478         (vars_of_select_x): new variable -
9479         x_selection_strict_motif_ownership.
9480
9481 2001-01-23  Martin Buchholz  <martin@xemacs.org>
9482
9483         * specifier.h (specifier_data_offset): Remove pointless parens.
9484         * glyphs.h (IMAGE_SPECIFIER_DATA): Likewise.
9485
9486 2001-01-24  Martin Buchholz  <martin@xemacs.org>
9487
9488         Make Lisp_Object sizeof methods be alignment-correct.
9489         pdump must restore objects to the same alignment as the C compiler
9490         assumes.  It really matters on SGIs.
9491         * lstream.c (aligned_sizeof_lstream): New.
9492         (sizeof_lstream): Use aligned_sizeof_lstream.
9493         (Lstream_new): Likewise.
9494         * opaque.c (aligned_sizeof_opaque): New.
9495         (sizeof_opaque): Use aligned_sizeof_opaque.
9496         (make_opaque): Likewise.
9497         * specifier.c (aligned_sizeof_specifier): New.
9498         (sizeof_specifier): Use aligned_sizeof_specifier.
9499         (make_specifier_internal): Likewise.
9500
9501 2001-01-23  Martin Buchholz  <martin@xemacs.org>
9502
9503         * lstream.h (struct lstream): Use max_align_t for trailing data.
9504         * specifier.h (struct Lisp_Specifier): Likewise.
9505
9506 2001-01-22  Martin Buchholz  <martin@xemacs.org>
9507
9508         * mule-ccl.c (CCL_Extension): Renamed from CCL_Extention.
9509         (CCL_SUCCESS): Kludge to prevent Sun cc compiler warnings.
9510         (CCL_SUSPEND): Likewise.
9511         (CCL_INVALID_CMD): Likewise.
9512         (CCL_CALL_FOR_MAP_INSTRUCTION): Likewise.
9513         (ccl_driver): Likewise.
9514         (CCL_WRITE_CHAR): Macro hygiene.
9515         (CCL_WRITE_STRING): Macro hygiene.
9516
9517 2001-01-22  Martin Buchholz  <martin@xemacs.org>
9518
9519         Port "portable" dumper to SunOS 4 and HP-UX.
9520         * s/aix4.h (AIX4): Move MAP_FAILED definition elsewhere.
9521         * emacs.c (main): PDUMP implies no RUN_TIME_REMAP.
9522         * dumper.c (pdump_file_get): Define MAP_FAILED if not already defined.
9523
9524 2001-01-22  Martin Buchholz  <martin@xemacs.org>
9525
9526         * lisp.h (ALIGNOF): A better definition for C++.
9527
9528 2001-01-20  Martin Buchholz  <martin@xemacs.org>
9529
9530         Macro hygiene.
9531         Fix printf warnings: int format, long int arg.
9532         * regex.c (DECLARE_DESTINATION): Use DECLARE_NOTHING.
9533         (PUSH_FAILURE_POINT): Use correct printf formats.
9534         (POP_FAILURE_POINT): Use correct printf formats.  
9535         Use do {...} while (0)
9536
9537 2001-01-20  Martin Buchholz <martin@xemacs.org>
9538
9539         * XEmacs 21.2.42 "Poseidon" is released.
9540
9541 2001-01-20  Martin Buchholz  <martin@xemacs.org>
9542
9543         * console-x.h: typo fix du jour.  Remove #if 0'ed code.
9544
9545 2001-01-19  Martin Buchholz  <martin@xemacs.org>
9546
9547         De-kludgify FIXED_TYPE free list frobbing.
9548         Fix crashes on 64-bit platforms introduced by my patch of 2001-01-13.
9549         * alloc.c (DECLARE_FIXED_TYPE_ALLOC): Use Lisp_Free.
9550         * alloc.c (ALLOCATE_FIXED_TYPE_1): Use new definitions.
9551         * alloc.c (Lisp_Free): New pseudo lisp object definition.
9552         * alloc.c (LRECORD_FREE_P): New.
9553         * alloc.c (MARK_LRECORD_AS_FREE): New.
9554         * alloc.c (MARK_LRECORD_AS_NOT_FREE): New.
9555         * alloc.c (STRUCT_FREE_P): Deleted.
9556         * alloc.c (MARK_STRUCT_AS_FREE): Deleted.
9557         * alloc.c (MARK_STRUCT_AS_NOT_FREE): Deleted.
9558         * alloc.c (STRING_CHARS_FREE_P): New.
9559         * alloc.c (MARK_STRING_CHARS_AS_FREE): New.
9560         * alloc.c (PUT_FIXED_TYPE_ON_FREE_LIST): Use new definitions.
9561         * alloc.c (FREE_FIXED_TYPE): Use new definitions.
9562         * alloc.c (STRING_CHARS_FREE_P): Use new definitions.
9563         * alloc.c (resize_string): Use new definitions.
9564         * alloc.c (SWEEP_FIXED_TYPE_BLOCK): Use new definitions.
9565         * alloc.c (verify_string_chars_integrity): Use new definitions.
9566         * alloc.c (compact_string_chars): Use new definitions.
9567         * alloc.c: Update monster comments.
9568         * lrecord.h (lrecord_type): Add some new lrecord types for
9569         alloc.c's use.
9570
9571 2001-01-18  Martin Buchholz  <martin@xemacs.org>
9572
9573         Improve alignment hackery.
9574         * lisp.h (ALIGNOF): Better definition for the non-gcc case.
9575         (max_align_t): Moved from opaque.h - general purpose.
9576         (ALIGN_PTR): Use size_t, not long.
9577         * opaque.h (max_align_t): Move to lisp.h.
9578
9579 2001-01-18  Norbert Koch  <nk@LF.net>
9580
9581         * gui.h: Fix and add prototypes to fix build problems.
9582
9583 2001-01-18  Martin Buchholz  <martin@xemacs.org>
9584
9585         temacs is going away, so `dump-temacs' is now a bad name.
9586         * .dbxrc (dump-temacs): Rename to `dmp'.
9587         * .gdbinit (dump-temacs): Rename to `dmp'.
9588
9589 2001-01-17  Andy Piper  <andy@xemacs.org>
9590
9591         * glyphs.c (print_image_instance): comment to make martin happy.
9592
9593         * glyphs-x.c (x_redisplay_widget): update faces after a frame
9594         change.
9595
9596         * glyphs-msw.c (mswindows_redisplay_widget): add code to cope with
9597         activation.
9598         (mswindows_tab_control_redisplay): warning suppression.
9599
9600         * glyphs-widget.c (widget_update): re-write to cope with updated
9601         items.
9602         (widget_instantiate): use new gui_item functions.
9603         (tab_control_update): deleted.
9604         (progress_gauge_update): deleted.
9605         (image_instantiator_progress_guage): take out update reference.
9606         (image_instantiator_tree_view): ditto.
9607         (image_instantiator_tab_control): ditto.
9608
9609         * gui.c (widget_gui_parse_item_keywords): new function. Do things
9610         Right the new way.
9611         (gui_item_add_keyval_pair): re-write to cope with descriptors and
9612         return whether anything was changed.
9613         (update_gui_item_keywords): as it sounds.
9614
9615         * gui.h: declare widget_gui_parse_item_keywords.
9616
9617         * fns.c (safe_copy_tree): new function taken from Fcopy_tree.
9618         (Fcopy_tree): use it. Stops infloop death in bogus instantiators.
9619
9620 2001-01-17  Martin Buchholz <martin@xemacs.org>
9621
9622         * XEmacs 21.2.41 "Polyhymnia" is released.
9623
9624 2001-01-16  Didier Verna  <didier@xemacs.org>
9625
9626         * glyphs.c (image_instantiate): don't use fallbacks when
9627         instantiating a face's background pixmap by inheritance.
9628
9629 2001-01-14  Mike Sperber <mike@xemacs.org>
9630
9631         * sysdep.c (start_of_data): PDUMP implies ORDINARY_LINK.
9632         Conditionalize accordingly.
9633
9634 2001-01-16  Martin Buchholz  <martin@xemacs.org>
9635
9636         * dumper.c (pdump_file_get): Fix a compiler warning.
9637
9638 2001-01-15  Martin Buchholz  <martin@xemacs.org>
9639
9640         Make Purify happy when pdumping.
9641         * symbols.c (Fmake_variable_buffer_local): Make Purify happy, by
9642         iniitalizing all bits of new lisp object memory.
9643         * symbols.c (Fmake_local_variable): Likewise.
9644         * symbols.c (Fdontusethis_set_symbol_value_handler): Likewise.
9645         * symbols.c (Fdefvaralias): Likewise.
9646         * mule-charset.c (vars_of_mule_charset): Likewise.
9647
9648 2001-01-15  Martin Buchholz  <martin@xemacs.org>
9649         Add the `-nd' flag when running pre-dump operations under the debugger.
9650         * .dbxrc (run-temacs): Add `-nd'.
9651         * .dbxrc (update-elc): Likewise.
9652         * .dbxrc (dump-temacs): Likewise.
9653         * .gdbinit (run-temacs): Likewise.
9654         * .gdbinit (check-temacs): Likewise.
9655         * .gdbinit (update-elc): Likewise.
9656         * .gdbinit (dump-temacs): Likewise.
9657
9658 2001-01-14  Martin Buchholz  <martin@xemacs.org>
9659
9660         Allow building 64-bit executables on AIX with GNU malloc, e.g.
9661         export OBJECT_MODE=64
9662         configure --pdump --use-union-type=no
9663         * m/ibmrs6000.h (DATA_START): Define for 64-bit world.
9664         * gmalloc.c (__default_morecore): Remove pre-ANSI cruft.
9665
9666         * miscplay.c (sndcnv8U_2mono):
9667         Avoid two uses of `++' in the same expression.
9668         Suppresses a GCC warning.
9669
9670 2001-01-13  Martin Buchholz  <martin@xemacs.org>
9671
9672         Make sure future compilers don't miscompile alloc.c.
9673         * alloc.c:
9674         (MARK_STRUCT_AS_FREE): Make aliasing-optimization-resistant.
9675         (MARK_STRUCT_AS_NOT_FREE): Make aliasing-optimization-resistant.
9676
9677 2001-01-12  Martin Buchholz  <martin@xemacs.org>
9678
9679         * dumper.c: A little post-pdump-rename comment fixup.
9680
9681 2001-01-09  Jerry James  <james@eecs.ku.edu>
9682
9683         * lisp-disunion.h: Change LISP_TO_CVOID arg to match its use.
9684
9685 2001-01-13  Martin Buchholz  <martin@xemacs.org>
9686
9687         * *.[ch]: Globally rename symbols using the following `pdump-rename'
9688         script:
9689         #!/bin/sh
9690         replace_symbol () {
9691           (findn texi$; findn [ch]$) | xargs g -lw "$1" | xargs global-replace 's/(?<!_)\b'$1'\b(?!_)/'$2'/g'
9692         }
9693
9694         replace_symbol pdump_wire_lists pdump_weak_object_chains
9695         replace_symbol pdump_wire_list dump_add_weak_object_chain
9696
9697         replace_symbol pdump_wires pdump_root_objects
9698         replace_symbol pdump_wire dump_add_root_object
9699
9700         replace_symbol pdump_dump_wired pdump_dump_from_root_objects
9701         replace_symbol pdump_dump_structs pdump_dump_from_root_struct_ptrs
9702
9703         replace_symbol dumpstructinfos pdump_root_struct_ptrs
9704         replace_symbol dumpstructinfo_dynarr pdump_root_struct_ptr_dynarr
9705         replace_symbol dumpstructinfo pdump_root_struct_ptr
9706         replace_symbol dumpstruct dump_add_root_struct_ptr
9707
9708         replace_symbol dumpopaque dump_add_opaque
9709         replace_symbol dumpopaqueinfo_dynarr pdump_opaque_dynarr
9710         replace_symbol dumpopaqueinfos pdump_opaques
9711         replace_symbol dumpopaqueinfo pdump_opaque
9712
9713         replace_symbol nb_structdump nb_root_struct_ptrs
9714         replace_symbol nb_opaquedump nb_opaques
9715
9716         replace_symbol align_table pdump_align_table
9717         replace_symbol dump_header pdump_header
9718
9719         replace_symbol DUMP_SIGNATURE_LEN PDUMP_SIGNATURE_LEN
9720         replace_symbol DUMP_SIGNATURE PDUMP_SIGNATURE
9721
9722
9723 2001-01-12  Martin Buchholz  <martin@xemacs.org>
9724
9725         * s/aix4.h: Keep the C for AIX compiler from overaggressively
9726         optimizing bytecount_to_charcount().
9727
9728 2001-01-06  Golubev I. N.  <gin@mo.msk.ru>
9729
9730         * config.h.in:
9731         (HAVE_DLFCN_H): Removed.
9732         * sysdll.c: Remove HAVE__DLOPEN, HAVE_DLFCN_H.
9733
9734 2001-01-06  Martin Buchholz  <martin@xemacs.org>
9735
9736         Portable dumper maintainability improvements.
9737         * alloc.c (staticpro):
9738         * alloc.c (staticpro_nodump):
9739         * alloc.c (garbage_collect_1):
9740         * alloc.c (reinit_alloc_once_early):
9741         * alloc.c (init_alloc_once_early):
9742         * alloc.c: Move dumper functions to alloc.c.
9743         * dumper.c (pdump_backtrace):
9744         * dumper.c (pdump_dump_structs):
9745         * dumper.c (pdump_dump_opaques):
9746         * dumper.c (pdump_dump_rtables):
9747         * dumper.c (pdump_dump_wired):
9748         * dumper.c (pdump):
9749         * dumper.c (pdump_load_check):
9750         * dumper.c (pdump_load_finish):
9751         * dumper.c (pdump_file_unmap):
9752         * dumper.c (pdump_file_get):
9753         * dumper.c (pdump_resource_free):
9754         * dumper.c (pdump_resource_get):
9755         * dumper.c (pdump_file_free):
9756         * dumper.c (pdump_file_try):
9757         * dumper.c (pdump_load):
9758         Remove fixed size limits on staticpro(), staticpro_nodump(),
9759         dumpopaque(), dumpstruct() by using Dynarrs instead of static C arrays.
9760         Remove custom code for dumping lrecord_implementations_table - use
9761         dumpopaque instead.
9762         Remove (most of the) custom code for dumping staticpros - dump it
9763         like any other dynarr.
9764
9765         * alloc.h: Removed.  No longer useful, since dumper now more self-contained.
9766         * dumper.c: Moved functions from alloc.c.
9767         * alloc.c (dumpstruct): Moved to dumper.c.
9768         * alloc.c (dumpopaque): Likewise.
9769         * alloc.c (pdump_wire): Likewise.
9770         * alloc.c (pdump_wire_list): Likewise.
9771
9772         * lisp.h (Dynarr_sizeof): New.
9773         * lisp.h (Dynarr_begin): New.  Very slightly C++oid.
9774         * lisp.h (Dynarr_end): New.  Very slightly C++oid.
9775         * lisp.h (Lisp_Object_ptr_dynarr): New.  For staticpros.
9776
9777         * lisp.h (dumpstruct): Define to nothing if not PDUMPing.
9778         * lisp.h (dumpopaque): ditto.
9779         * lisp.h (pdump_wire): ditto.
9780         * lisp.h (pdump_wire_list): ditto.
9781
9782 2001-01-09  Martin Buchholz  <martin@xemacs.org>
9783
9784         * make-src-depend (PrintPatternDeps):
9785         Use `sort' to make output independent of perl version.
9786
9787 2001-01-08  Martin Buchholz  <martin@xemacs.org>
9788
9789         Port to Netbsd 1.5.
9790         * unexelf.c: Remove (never used) bogus Netbsd-specific cruft.
9791         * s/netbsd.c: Use unexelf.o if __ELF__ is defined.
9792
9793 2001-01-03  Didier Verna  <didier@xemacs.org>
9794
9795         * event-stream.c (emacs_handle_focus_change_preliminary): ensure
9796         that `focus_frame' is alive before thinking of calling
9797         `redisplay_redraw_cursor' on it.
9798
9799 2001-01-08  Martin Buchholz <martin@xemacs.org>
9800
9801         * XEmacs 21.2.40 is released.
9802
9803 2001-01-06  Golubev I. N.  <gin@mo.msk.ru>
9804
9805         * regex.c: Replace PREFETCH with REGEX_PREFETCH.
9806
9807 2001-01-06  Martin Buchholz  <martin@xemacs.org>
9808
9809         * alloc.c (dbg_valmask): Make const.
9810         * alloc.c (dbg_typemask): Make const.
9811         * alloc.c (dbg_USE_UNION_TYPE): Make const.
9812         * alloc.c (dbg_valbits): Make const.
9813         * alloc.c (dbg_gctypebits): Make const.
9814
9815 2001-01-06  Stephen J. Turnbull  <stephen@xemacs.org>
9816
9817         * redisplay-x.c (x_bevel_area):
9818         redisplay.h (struct rune):
9819         Typo fixes in comments.
9820
9821 2001-01-05  Andy Piper  <andy@xemacs.org>
9822
9823         * glyphs-x.c (x_redisplay_widget): use size changed for offset
9824         adjustment.
9825
9826         * menubar.c (menubar_visible_p_changed): don't mark frame changed.
9827
9828 2001-01-05  Martin Buchholz  <martin@xemacs.org>
9829
9830         * alloc.c (pure-bytes-used): Remove unused mendacious variable.
9831
9832         * mule-ccl.c (stack_idx_of_map_multiple):
9833         Non const global data must not be initialized!
9834         Found by MIYASHITA Hisashi.
9835
9836 2001-01-02  Andy Piper  <andy@xemacs.org>
9837
9838         * frame.c (change_frame_size): make sure frame size is always
9839         marked as changed.
9840
9841         * glyphs.c (image_instance_layout): minor code reuse.
9842
9843         * window.c (Fcurrent_window_configuration): revert previous
9844         change.
9845
9846 2001-01-02  Martin Buchholz  <martin@xemacs.org>
9847
9848         * glyphs.h:
9849         * glyphs.c (make_image_instance_cache_hash_table): Use ANSI prototypes.
9850
9851 2000-12-31  Andy Piper  <andy@xemacs.org>
9852
9853         * glyphs-x.c (x_unmap_subwindow): return focus to enclosing frame
9854         when widget gets unmapped.
9855
9856         * event-Xt.c (emacs_Xt_handle_widget_losing_focus): new
9857         function. Make sure widgets losing focus don't just drop it.
9858         (handle_focus_event_1): record the widget with focus.
9859
9860 2000-12-31  Andy Piper  <andy@xemacs.org>
9861
9862         * window.c (allocate_window): use
9863         make_image_instance_cache_hash_table.
9864         (make_dummy_parent): ditto.
9865         (Fset_window_configuration): ditto.
9866
9867         * glyphs.h (INSTANTIATOR_TYPE): new macro.  declare new functions.
9868
9869         * glyphs.c (process_image_string_instantiator): use
9870         INSTANTIATOR_TYPE.
9871         (get_image_instantiator_governing_domain): ditto.
9872         (normalize_image_instantiator): ditto.
9873         (instantiate_image_instantiator): ditto.
9874         (make_image_instance_1): ditto.
9875         (image_instantiate): ditto. Key on glyph *and* instantiator type.
9876         (instantiator_eq_equal): new function for use with instance hash
9877         tables.
9878         (instantiator_eq_hash): ditto.
9879         (make_image_instance_cache_hash_table): create a suitable hash
9880         table for storing image instances.
9881
9882         * elhash.h (hash_table_weakness): new internal weakness type
9883         HASH_TABLE_KEY_CAR_VALUE_WEAK.
9884         declare new functions.
9885
9886         * elhash.c (finish_marking_weak_hash_tables): introduce yet
9887         another weakness type for glyphs.
9888         (make_standard_lisp_hash_table): new function split out from
9889         make_general_lisp_hash_table.
9890         (make_lisp_hash_table): call make_standard_lisp_hash_table.
9891         (hash_table_instantiate): ditto.
9892         (Fmake_hash_table): ditto.
9893
9894 2000-12-31  Martin Buchholz <martin@xemacs.org>
9895
9896         * XEmacs 21.2.39 is released.
9897
9898 2000-12-29  Andy Piper  <andy@xemacs.org>
9899
9900         * menubar.c (menubar_visible_p_changed): signal the frame changed.
9901
9902         * glyphs-x.c (x_redisplay_widget): Re-calculate widget offsets if
9903         the frame has changed so that we pick up geometry changes such as
9904         menubar visibility.
9905
9906 2000-12-28  Andy Piper  <andy@xemacs.org>
9907
9908         * lastfile.c (my_ebss): make a char array so we can pad the
9909         bss. Fixes cygwin unexec.
9910
9911         * unexcw.c: invert BROKEN_GDB to NO_DEBUG.
9912
9913 2000-12-26  Andy Piper  <andy@xemacs.org>
9914
9915         * event-Xt.c (emacs_Xt_force_event_pending): add some verbose
9916         comments and try and be more precise about a non-/SIGIO world.
9917         (emacs_Xt_event_pending_p): use XtAppPending under cygwin and non
9918         SIGIO.
9919
9920         * redisplay-output.c (redisplay_normalize_glyph_area): make sure
9921         we don't normalize to zero width or height.
9922
9923 2000-12-24  Andy Piper  <andy@xemacs.org>
9924
9925         * Makefile.in.in (ldflags): add -mwindows when appropriate.
9926
9927 2000-08-18  Golubev I. N.  <gin@mo.msk.ru>
9928
9929         * s/sco5.h: SCO 5 has pty support.
9930
9931 2000-07-20  Kazuyuki IENAGA <ienaga@xemacs.org>
9932
9933         * input-method-xlib.c: supports both XIM_XLIB and USE_XFONTSET.
9934         input-method-xlib.c contains whole contents of input-method-xfs.c,
9935         so we can use input-method-xlib.c's code for USE_XFONTSET
9936         using #ifdefs.
9937         * input-method-xfs.c: removed.
9938
9939 2000-12-20  Stephen Turnbull  <stephen@xemacs.org>
9940
9941         * file-coding.h (enum coding_category_type): reorder enumerators to
9942         make autodetection safer.  Make CODING_CATEGORY_LAST an enumerator
9943         (now one greater than largest real coding_category_type enumerator).
9944         * file-coding.c (coding_category_symbol, coding_category_by_priority,
9945         coding_category_system, fcd_descriptihon_1, decode_coding_category,
9946         Fcoding_category_list, Fset_coding_priority_list,
9947         Fcoding_priority_list, coding_system_from_mask, Fdetect_coding_region,
9948         vars_of_file_coding): adjust for change in CODING_CATEGORY_LAST.
9949
9950 2000-12-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
9951
9952         * redisplay-output.c (redisplay_clear_top_of_window): Remove static.
9953         * redisplay-output.c (redisplay_output_window): Clear top of window
9954         when face is changed.
9955         * redisplay-x.c (x_redraw_exposed_window): Call
9956         redisplay_clear_top_of_window.
9957         * redisplay.h: Publish redisplay_clear_top_of_window.
9958
9959 2000-12-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
9960
9961         * buffer.c (Fkill_buffer): Map over all devices.
9962         * window.c (window_loop): Remove UNSHOW_BUFFER code.
9963         (list_windows): New function.
9964         (list_all_windows): Ditto.
9965         (Freplace_buffer_in_windows): Use them.
9966
9967 2000-02-02   Daiki Ueno <ueno@ueda.info.waseda.ac.jp>
9968
9969         * database.c (berkdb_subtype): Recognize new subtype `queue'.
9970         (Fopen_database): Use `db_create' instead of `db_open'.
9971         (syms_of_database): Initialize Qqueue.
9972
9973 2000-12-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
9974
9975         * buffer.c (common_init_complex_vars_of_buffer): Initialize
9976         buffer_local_face_property.
9977         * buffer.h (struct buffer): New member buffer_local_face_property.
9978         * window.c (Fset_window_buffer):  Mark window's face as changed
9979         when buffer has buffer local face.
9980         * window.h (MARK_WINDOW_FACES_CHANGED): New macro.
9981         * objects.c (color_after_change): Set buffer_local_face_property
9982         when locale of face specifier is buffer.
9983         * objects.c (font_after_change): Ditto.
9984         * objects.c (face_boolean_after_change): Ditto.
9985         * glyphs.c (image_after_change): Ditto.
9986
9987 2000-12-09  Dan Holmsand  <dan@eyebee.com>
9988
9989         * nt.c (mswindows_fstat): Report file permissions, volume serial
9990         number, etc. Code adapted from FSF Emacs 20.7.
9991
9992 2000-12-09  Dan Holmsand  <dan@eyebee.com>
9993
9994         * sysfile.h (lstat): Make lstat an alias for xemacs_stat instead
9995         of stat when we don't have symbolic links, to make sure
9996         mswindows_stat is called on mswindows.
9997
9998 2000-12-12  Yoshiki Hayashi  <yoshiki@xemacs.org>
9999
10000         * alloca.c: Define malloc to xmalloc only when built with XEmacs.
10001
10002 2000-12-12  Martin Buchholz  <martin@xemacs.org>
10003
10004         * doprnt.c (emacs_doprnt_1): More printing fixes.
10005         Make printing of numbers compatible with libc and FSF Emacs.
10006         BUG was: (format "%6.3f" 1.2) ==>"1.200000"
10007         Use the system printf to do most of the hard work of formatting,
10008         instead of doprnt_1().
10009         Calculate memory to allocate for format string.
10010         Remove arbitrary limit on precision, e.g. (format "%.1000f" 3.14)
10011         (doprnt_1): Cleaner code and documentation.
10012
10013 2000-12-01  Jerry James  <james@eecs.ukans.edu>
10014
10015         * Makefile.in.in: Use the loop variable to install headers.
10016
10017 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
10018
10019         * window.c (Fsplit_window): Don't invalidate face cache.
10020
10021 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
10022
10023         * minibuf.c (Fall_completions): Undo the previous change
10024         which removed checking elements start with space.
10025
10026 2000-12-06  Stephen Turnbull  <stephen@xemacs.org>
10027
10028         * mule-canna.c: Didier suppression.
10029
10030 2000-12-06  Stephen Turnbull  <stephen@xemacs.org>
10031
10032         * mule-canna.c: rename static unsigned char buf[] to key_buffer
10033         (warning suppression).  Add English comment translations.
10034
10035 2000-12-05  Martin Buchholz  <martin@xemacs.org>
10036
10037         * unexelfsgi.c (unexec): Better test for mmap failure.
10038
10039 2000-12-05  Martin Buchholz <martin@xemacs.org>
10040
10041         * XEmacs 21.2.38 is released.
10042
10043 2000-12-05  Martin Buchholz  <martin@xemacs.org>
10044
10045         * redisplay.c (bar-cursor): Make a user variable.
10046
10047         * symsinit.h: Add init_postgresql_from_environment.
10048
10049 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
10050
10051         * regex.c: Convert to clean C.
10052
10053 2000-12-05  Dan Holmsand  <dan@eyebee.com>
10054
10055         * realpath.c:
10056         Don't #include sysfile.h. Revert to duplicating PATH_MAX
10057         initialization.
10058         (sys_readlink): renamed to system_readlink to avoid conflict with
10059         the other sys_readlink.
10060
10061 2000-12-04  Hiroaki Abe  <h-abe@pc.highway.ne.jp>
10062
10063         * dumper.c (pdump_file_get): Correct uses of pdump_fd.
10064
10065 2000-12-04  Stephen J. Turnbull  <stephen@xemacs.org>
10066
10067         * postgresql.c (init_postgresql_from_environment): new function.
10068         (vars_of_postgresql): Move code initializing Lisp variables out and
10069         into init_postgresql_from_environment.
10070         emacs.c (main_1): Call init_postgresql_from_environment if and only
10071         if running a dumped XEmacs.
10072
10073 2000-08-31  Dan Holmsand  <dan@eyebee.com>
10074
10075         * buffer.c: Make find-file-compare-truenames default to true on
10076         windows.
10077
10078         * realpath.c (win32_abs_start):
10079         (cygwin_readlink):
10080         (win32_readlink): New functions.
10081         (xrealpath): Return really real filenames on windows.
10082
10083         * fileio.c (Ffile_truename): Make file-truename work on windows.
10084
10085 2000-11-29  Didier Verna  <didier@xemacs.org>
10086
10087         * faces.c (MAYBE_UNFROB_BACKGROUND_PIXMAP): new macro.
10088         * faces.c (update_face_cachel_data): use it.
10089         * faces.c (add_face_cachel): use it. Complete background pixmap
10090         frobbing in face cache if `update_face_cachel_data' has not done so.
10091
10092 2000-11-29  Yoshiki Hayashi  <yoshiki@xemacs.org>
10093
10094         * search.c (string_match_1): Don't set last_thing_searched
10095         when search failed.
10096
10097 2000-11-27  Yoshiki Hayashi  <yoshiki@xemacs.org>
10098
10099         * buffer.c: Include casetab.h
10100         (common_init_complex_vars_of_buffer): Use new case-table object.
10101         * buffer.h: Include casetab.h
10102         * buffer.h (MAKE_TRT_TABLE): Use generic char-table.
10103         (DOWNCASE_TABLE_OF): Ditto.
10104         * bufslots.h: Remove char-tables and add case-table.
10105         * casetab.c: Include casetab.h
10106         (CASE_TABLE_P): Removed.
10107         (mark_case_table): New function.
10108         (allocate_case_table): New function.
10109         (Fcase_table_p): Use new case-table.
10110         (case_table_char): New function.
10111         (Fget_case_table): Ditto.
10112         (Fput_case_table): Ditto.
10113         (Fput_case_table_pair): Ditto.
10114         (Fcopy_case_table): Ditto.
10115         (Fcurrent_case_table): Return case-table.
10116         (Fstandard_case_table): Return case-table.
10117         (Fset_case_table): Fix doc-string.
10118         (set_case_table): Use case-table
10119         (syms_of_casetab): DEFSUBR new functions.
10120         (complex_vars_of_casetab): Set up standard case-table.
10121         * casetab.h: New file.
10122         * editfns.c: Include casetab.h
10123         (Fcompare_buffer_substrings): Use case-table.
10124         * inline.c: Include casetab.h
10125         * lisp.h: Remove bogus extern.
10126         * lrecord.h (lrecord_type): Add lrecord_type_case_table.
10127         * search.c: Include casetab.h
10128         (TRANSLATE_ASCII): Removed.
10129         (TRANSLATE): Unconditionally translate character.
10130         (looking_at_1): Use case-table.
10131         (string_match_1): Ditto.
10132         (fast_string_match): Ditto.
10133         (search_command): Ditto.
10134         (search_buffer): Separate boyer_moore.  Check whether
10135         boyer_moore is possible.
10136         (simple_search): New function.
10137         (boyer_moore): Separated from search_buffer. Translate char.
10138
10139 2000-11-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
10140
10141         * regex.c (RE_TR_ASCII): Removed.
10142         (RE_TRANSLATE): Unconditionally use TRT_TABLE.
10143         (PATFETCH): Call PATFETCH_RAW.
10144         (PATFETCH_RAW): Fetch Emchar.
10145         (PATUNFETCH): Decrement charptr.
10146         (GET_BUFFER_SPACE): Rename b to buf_end.
10147         (BUF_PUSH): Ditto.
10148         (BUF_PUSH_2): Ditto.
10149         (BUF_PUSH_3): Ditto.
10150         (EXTEND_BUFFER): Ditto.
10151         (SET_LIST_BIT): Ditto.
10152         (regex_compile): Ditto.  Translate non ASCII char.
10153         (compile_range): Ditto.
10154         (re_search_2): Ditto.
10155         (re_match_2_internal): Compare Emchar.
10156         (bcmp_translate): Ditto.
10157
10158 2000-11-29  Stephen J. Turnbull  <turnbull@xemacs.org>
10159
10160         * lisp.h (basic char/int typedefs):  comment improvement.
10161
10162 2000-11-24  Stephen J. Turnbull  <turnbull@xemacs.org>
10163
10164         * emacs.c (main_1):  unconditional pdump unstomping; don't save and
10165         unstomp inhibit_site_lisp.  Improve comments.
10166
10167 2000-11-22  Stephen J. Turnbull  <turnbull@xemacs.org>
10168
10169         * mule-charset.c (Fcharset_property):  improve type checking, comments.
10170
10171 2000-11-28  Andy Piper  <andy@xemacs.org>
10172
10173         * redisplay-output.c (redisplay_output_subwindow): make sure we do
10174         clipped display for windows in the gutter also.
10175         (redisplay_display_boxes_in_window_p): change semantics of return
10176         codes to be more intuitive.
10177
10178         * gutter.h: declare display_boxes_in_gutter_p.
10179
10180         * gutter.c (display_boxes_in_gutter_p): new function for
10181         redisplay.
10182
10183 2000-11-22  Andy Piper  <andy@xemacs.org>
10184
10185         * glyphs-x.c (image_instantiator_format_create_glyphs_x): change
10186         autodetect domain.
10187
10188 2000-11-21  Yoshiki Hayashi  <yoshiki@xemacs.org>
10189
10190         * callproc.c (Fold_call_process_internal):
10191         * gpm.c (Freceive_gpm_event):
10192         (tty_get_foreign_selection): Might be just warning supression.
10193         * fileio.c (Fwrite_region_internal):
10194         (Fset_visited_file_modtime):
10195         * keymap.c (event_matches_key_specifier_p):
10196         Initialize GCPROed variable.
10197
10198         * menubar-x.c (command_builder_find_menu_accelerator):
10199         Initialize before use.
10200
10201 2000-11-23  Andy Piper  <andy@xemacs.org>
10202
10203         * unexcw.c (unexec): make the resulting executable executable.
10204
10205 2000-11-21  Martin Buchholz  <martin@xemacs.org>
10206
10207         * doc.c (get_doc_string):
10208         Use size_t, not int, for result of XSTRING_LENGTH.
10209
10210         * cmds.c (Fdelete_char):
10211         * cmds.c (Fpoint_at_eol):
10212         * cmds.c (Fself_insert_command):
10213         Use EMACS_INT, not int, for result of XINT.
10214         Someday, someone will want to insert more than 2**31 identical characters.
10215
10216         * cmds.c (Fdelete_char):
10217         * cmds.c (Fdelete_backward_char):
10218         * syntax.c (Fforward_word):
10219         * syntax.c (Fforward_comment):
10220         Make COUNT argument optional, for consistency with forward-char et al.
10221
10222 2000-11-22  Martin Buchholz  <martin@xemacs.org>
10223
10224         * lisp.h:
10225         * print.c (long_to_string):
10226         Return a useful value: the pointer at end of data written.
10227
10228         * doprnt.c:
10229         Use `static const char * const' for constant strings.
10230         (union printf_arg): Delete `i', `ui' members.
10231         (get_doprnt_args):
10232         (emacs_doprnt_1):
10233         Fix LP64 platform bug: (format "%d" most-positive-fixnum) ==> "-1"
10234         Do all printf-ing via the `l' specifier.
10235         Use EMACS_INT instead of int.
10236         Optimize.
10237
10238 2000-11-20  Didier Verna  <didier@xemacs.org>
10239
10240         * faces.c (update_face_cachel_data): don't frob the background
10241         pixmap when the window is being created. The face is needed but
10242         does not exist yet.
10243
10244 2000-11-20  Andy Piper  <andy@xemacs.org>
10245
10246         * unexcw.c (copy_executable_and_dump_data_section): Only do bss
10247         messing with a debug environment.
10248
10249 2000-11-20  Martin Buchholz  <martin@xemacs.org>
10250
10251         * emacs.c (__sti__iflPNGFile_c___): Pedantically correct prototype.
10252
10253 2000-11-20  Martin Buchholz  <martin@xemacs.org>
10254
10255         * casetab.c (Fcase_table_p): Fix compile error and crash.
10256
10257 2000-11-18  Philip Aston  <philipa@mail.com>
10258
10259         * s/cygwin32.h: Cygwin has SVR4-like pty support.
10260
10261 2000-11-18  Martin Buchholz  <martin@xemacs.org>
10262
10263         * fileio.c (Fexpand_file_name): GCPRO bug!  Protect `handler'.
10264         * filelock.c (lock_file): GCPRO bug! Initialize all GCPROed vars!
10265
10266 2000-11-17  Martin Buchholz  <martin@xemacs.org>
10267
10268         * config.h.in: Define HAVE_ELF_H if elf.h exists.
10269         * unexelf.c: Use HAVE_ELF_H.
10270         * unexelfsgi.c: Fix bug with dumped xemacs stdout/stderr not working.
10271         I copied FSF Emacs 20.7 unexelf.c to unexelfsgi.c and ANSIfied it.
10272         Max Matveev <makc@sgi.com> removed non-SGI-relevant parts and tested.
10273         Greg Harrington <greg_harrington@hotmail.com> provided a machine
10274         for testing.
10275         So this is an unexelfsgi.c from a different line of development.
10276
10277 2000-11-16  Yoshiki Hayashi  <yoshiki@xemacs.org>
10278
10279         * regex.c (RE_TR_ASCII): New function.
10280         (RE_TRANSLATE): Call it.
10281
10282 2000-11-16  Yoshiki Hayashi  <yoshiki@xemacs.org>
10283
10284         * buffer.h (TRT_TABLE_OF): Remove assert.
10285         (IN_TRT_TABLE_DOMAIN): Removed.
10286
10287 2000-11-16  Gunnar Evermann  <ge204@eng.cam.ac.uk>
10288
10289         * free-hook.c (log_gcpro):
10290         (show_gcprohist): Add support for GCPRO5.
10291
10292 2000-11-08  Stephen J. Turnbull  <stephen@xemacs.org>
10293
10294         * emacs.c (main_1): Improve -sd error message when --pdump=no.
10295
10296 2000-11-16  Olivier Galibert  <galibert@xemacs.org>
10297
10298         * symeval.h: Declare flush_all_buffer_local_cache.
10299
10300         * symbols.c: Change XD_LO_RESET_NIL into XD_LISP_OBJECTs.
10301         (flush_buffer_local_cache): Added.
10302         (flush_all_buffer_local_cache): Added.
10303
10304         * lrecord.h: Remove unused XD_LO_RESET_NIL.
10305
10306         * dumper.c (pdump_register_sub): Remove unused XD_LO_RESET_NIL.
10307         (pdump_dump_data): Ditto.
10308         (pdump_reloc_one): Ditto.
10309         (pdump): Remove unused pdump_qnil.  Flush buffer local caches
10310         before dumping.
10311
10312
10313 2000-11-14  Yoshiki Hayashi  <yoshiki@xemacs.org>
10314
10315         * buffer.c: Remove if 0'ed entry.
10316         * buffer.h: Rewrite TRT to use char-table.
10317         * bufslots.h: Remove mirror tables.
10318         * casetab.c: Remove mirror tables.
10319         (CASE_TABLE_P): New macro.
10320         (Fcase_table_p): Element of a case table is string or char-table.
10321         (make_mirror_trt_table): Removed.
10322         (set_case_table): Setup char-table from strings for backward
10323         compatibility.
10324         * dired.c (Fdirectory_files):
10325         * dired-msw.c: (mswindows_get_files):
10326         * lisp.h: Change prototype of re_pattern_buffer.
10327         * regex.c: (RE_TRANSLATE): New macro.
10328         (TRANSLATE_P): Ditto.
10329         Change translate to type RE_TRANSLATE_TYPE.
10330         * regex.h: Define RE_TRANSLATE_TYPE
10331         * search.c (TRANSLATE): New macro.
10332         (TRANSLATE_ASCII): New macro.
10333         Translate table is changed to Lisp_Object.
10334         (signal_failure): Inhibit return.
10335
10336 2000-11-14  Yoshiki Hayashi  <yoshiki@xemacs.org>
10337
10338         * device-msw.c:
10339         * eldap.c:
10340         * event-Xt.c:
10341         * event-stream.c:
10342         * print.c:
10343         Do UNGCPRO before return.
10344
10345 2000-11-14  Martin Buchholz <martin@xemacs.org>
10346
10347         * XEmacs 21.2.37 is released.
10348
10349 2000-11-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
10350
10351         * fileio.c (Finsert_file_contents_internal): UNGCPRO before return.
10352         Add comments about discarded return value.
10353
10354 2000-11-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
10355
10356         * callint.c:
10357         * event-stream.c: Fix comments.  Remove some #if 0'ed part.
10358
10359 2000-10-27  Andy Piper  <andy@xemacs.org>
10360
10361         * gutter.c (Fset_default_gutter_position): default left and right
10362         gutters to visible.
10363         (calculate_gutter_size): calculate resonable heuristic for left
10364         and right gutter sizes.
10365         (specifier_vars_of_gutter): change left and right gutter sizes to
10366         autodetect.
10367         (calculate_gutter_size_from_display_lines): new function.
10368         (output_gutter): check for resizing on left and right gutters.
10369         (clear_gutter): don't special case top and left gutters.
10370         (specifier_vars_of_gutter): use new signature for
10371         set_specifier_caching.
10372
10373         * glyphs-x.c (x_redisplay_widget): spelling fix.
10374         * glyphs.c (specifier_vars_of_glyphs):
10375         * menubar.c (specifier_vars_of_menubar):
10376         * redisplay.c (specifier_vars_of_redisplay):
10377         * toolbar.c (specifier_vars_of_toolbar):
10378         * window.c (specifier_vars_of_window):
10379         * scrollbar.c (specifier_vars_of_scrollbar):
10380         (complex_vars_of_scrollbar): use new signature for
10381         set_specifier_caching.
10382
10383         * specifier.c (set_specifier_caching): include recompute flag.
10384         (recompute_one_cached_specifier_in_window): always recompute if
10385         flag set.
10386         (recompute_one_cached_specifier_in_frame): ditto.
10387
10388         * specifier.h (struct specifier_caching): add recompute flag.
10389
10390 2000-10-24  Andy Piper  <andy@xemacs.org>
10391
10392         * unexcw.c (copy_executable_and_dump_data_section): add new
10393         BSS_PAD_SIZE so that we can re-instate a mini-bss. This keeps gdb
10394         5.0 happy.
10395
10396 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
10397
10398         * console-x.h (x_device): New member modifier_release_time.
10399         * event-Xt.c (x_handle_sticky_modifiers):
10400         Bound interval modifier keys are sticky.
10401         * event-stream.c (Vmodifier_keys_sticky_time): New variable.
10402         * events.h: extern it.
10403
10404 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
10405
10406         * cmdloop.c (Fcommand_loop_1): Just add C-g to event queue.
10407
10408 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
10409
10410         * event-stream.c (execute_command_event): Preserve current_events
10411         and the like when event is misc-user-event.
10412         Inhibit quit during the call to maybe_echo_keys.
10413
10414 2000-10-31  Yoshiki Hayashi  <yoshiki@xemacs.org>
10415
10416         * filelock.c (lock_buffer): Cope with kill-buffer. Don't create a
10417         symlink when buffer is killed.
10418         (inhibit_clash_detection): New variable.
10419
10420 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
10421
10422         * console.c (Fset_input_method): Trigger redisplay on tty.
10423
10424 2000-11-07  Martin Buchholz  <martin@xemacs.org>
10425
10426         * process.c (Fprocess_status): Revert to previous behavior:
10427         (process-status "nosuchprocess") ==> nil
10428
10429 2000-11-06  Martin Buchholz  <martin@xemacs.org>
10430
10431         * mule-charset.h (CHARSET_BY_LEADING_BYTE):
10432         Work around another GCC 2.95.2 optimizer bug.
10433
10434 2000-11-02  Martin Buchholz  <martin@xemacs.org>
10435
10436         * process.c (Fget_process): Use LIST_LOOP_2.
10437         (kill_buffer_processes): Use LIST_LOOP_2.
10438
10439         * minibuf.c (Fall_completions):
10440         Delete old non-functional code for FSF fourth argument.
10441
10442         * frame.c (frame_matches_frame_spec):
10443         Renamed from `frame_matches_frametype'.  Update all callers.
10444         (device_matches_device_spec):
10445         Renamed from 'device_matches_console_spec'.  Update all callers.
10446
10447         * doc.c (Fsubstitute_command_keys):
10448         Remove buffer overflow crash.  Small code cleanups.
10449
10450         * casetab.c (check_case_table): Simpler code.
10451
10452         * window.c (Freplace_buffer_in_windows):
10453         Give this the same WHICH-FRAMES and WHICH-DEVICES parameters
10454         (and similar implementation) as Fdelete_windows_on.
10455         Update all callers.
10456
10457         * alloc.c (Fmake_list):
10458         * alloc.c (make_vector):
10459         * alloc.c (Fmake_vector):
10460         * alloc.c (make_bit_vector):
10461         * alloc.c (Fmake_bit_vector):
10462         * alloc.c (Fbit_vector):
10463         * alloc.c (Fmake_string):
10464         * alloc.c (Fpurecopy):
10465         * alloc.c (Fmemory_limit):
10466         * buffer.c:
10467         * buffer.c (Fget_buffer):
10468         * buffer.c (Fkill_buffer):
10469         * buffer.c (complex_vars_of_buffer):
10470         * bytecode.c (Fcompiled_function_stack_depth):
10471         * callint.c (Fprefix_numeric_value):
10472         * event-stream.c:
10473         * event-stream.c (Fread_key_sequence):
10474         * casetab.c:
10475         * casetab.c (Fcase_table_p):
10476         * casetab.c (check_case_table):
10477         * casetab.c (Fset_case_table):
10478         * casetab.c (Fset_standard_case_table):
10479         * chartab.c:
10480         * chartab.c (Fchar_table_type):
10481         * chartab.c (Freset_char_table):
10482         * chartab.c (Fget_char_table):
10483         * chartab.c (Fget_range_char_table):
10484         * chartab.c (Fput_char_table):
10485         * chartab.c (Fmap_char_table):
10486         * chartab.c (Fcategory_table_p):
10487         * chartab.c (Fcheck_category_at):
10488         * chartab.c (Fchar_in_category_p):
10489         * chartab.c (Fcategory_table):
10490         * chartab.c (Fcopy_category_table):
10491         * chartab.c (Fset_category_table):
10492         * chartab.c (Fcategory_designator_p):
10493         * chartab.c (Fcategory_table_value_p):
10494         * cmds.c (Fdelete_char):
10495         * cmds.c (Fdelete_backward_char):
10496         * cmds.c (Fself_insert_command):
10497         * cmds.c (Fself_insert_internal):
10498         * console.c (Fvalid_console_type_p):
10499         * console.c (Fcdfw_console):
10500         * console.c (Fconsole_type):
10501         * console.c (Fconsole_name):
10502         * console.c (Fconsole_device_list):
10503         * console.c (Fconsole_on_window_system_p):
10504         * data.c:
10505         * data.c (Feq):
10506         * data.c (Fold_eq):
10507         * data.c (Fsubr_interactive):
10508         * data.c (Fchar_to_int):
10509         * data.c (Fint_to_char):
10510         * data.c (Fsetcar):
10511         * data.c (Fsetcdr):
10512         * data.c (Fnumber_to_string):
10513         * data.c (Fstring_to_number):
10514         * data.c (Frem):
10515         * database.c (mark_database):
10516         * database.c (finalize_database):
10517         * database.c (Fdatabase_live_p):
10518         * database.c (Fdatabasep):
10519         * device-x.c (Fx_get_resource):
10520         * device.c (Fdfw_device):
10521         * dired.c:
10522         * dired.c (Ffile_name_completion):
10523         * dired.c (Ffile_name_all_completions):
10524         * dired.c (Fuser_name_completion):
10525         * dired.c (Fuser_name_completion_1):
10526         * dired.c (Fuser_name_all_completions):
10527         * doc.c (Fdocumentation):
10528         * doc.c (Fdocumentation_property):
10529         * doc.c (Fsubstitute_command_keys):
10530         * editfns.c:
10531         * editfns.c (Fchar_to_string):
10532         * editfns.c (Fstring_to_char):
10533         * editfns.c (Ftemp_directory):
10534         * editfns.c (Finsert_char):
10535         * editfns.c (Fbuffer_substring_no_properties):
10536         * editfns.c (Fnarrow_to_region):
10537         * editfns.c (Fchar_equal):
10538         * editfns.c (Fchar_Equal):
10539         * editfns.c (Ftranspose_regions):
10540         * emacs.c (Fdump_emacs):
10541         * eval.c (Fthrow):
10542         * eval.c (Fcommand_execute):
10543         * eval.c (Fautoload):
10544         * eval.c (Fbacktrace):
10545         * eval.c (Fbacktrace_frame):
10546         * events.c:
10547         * events.c (Fcopy_event):
10548         * events.c (Fcharacter_to_event):
10549         * events.c (Fevent_button):
10550         * events.c (Fevent_process):
10551         * extents.c:
10552         * extents.c (Fnext_extent_change):
10553         * extents.c (Fextent_property):
10554         * faces.c (Ffacep):
10555         * faces.c (Fmake_face):
10556         * file-coding.c:
10557         * file-coding.c (Fencode_shift_jis_char):
10558         * file-coding.c (Fencode_big5_char):
10559         * fileio.c (Ffile_name_directory):
10560         * fileio.c (Ffile_name_nondirectory):
10561         * fileio.c (Ffile_name_as_directory):
10562         * fileio.c (Fdirectory_file_name):
10563         * fileio.c (Ffile_truename):
10564         * fileio.c (Fsubstitute_in_file_name):
10565         * fileio.c (Ffile_modes):
10566         * fileio.c (Fset_file_modes):
10567         * fileio.c (Fset_default_file_modes):
10568         * fileio.c (Fverify_visited_file_modtime):
10569         * floatfns.c (Facos):
10570         * floatfns.c (Fasin):
10571         * floatfns.c (Fatan):
10572         * floatfns.c (Fcos):
10573         * floatfns.c (Fsin):
10574         * floatfns.c (Ftan):
10575         * floatfns.c (Fbessel_j0):
10576         * floatfns.c (Fbessel_j1):
10577         * floatfns.c (Fbessel_jn):
10578         * floatfns.c (Fbessel_y0):
10579         * floatfns.c (Fbessel_y1):
10580         * floatfns.c (Fbessel_yn):
10581         * floatfns.c (Ferf):
10582         * floatfns.c (Ferfc):
10583         * floatfns.c (Flog_gamma):
10584         * floatfns.c (Fexp):
10585         * floatfns.c (Fexpt):
10586         * floatfns.c (Flog):
10587         * floatfns.c (Flog10):
10588         * floatfns.c (Fsqrt):
10589         * floatfns.c (Fcube_root):
10590         * floatfns.c (Facosh):
10591         * floatfns.c (Fasinh):
10592         * floatfns.c (Fatanh):
10593         * floatfns.c (Fcosh):
10594         * floatfns.c (Fsinh):
10595         * floatfns.c (Ftanh):
10596         * floatfns.c (Fabs):
10597         * floatfns.c (Ffloat):
10598         * floatfns.c (Flogb):
10599         * floatfns.c (Fceiling):
10600         * floatfns.c (Ffloor):
10601         * floatfns.c (Fround):
10602         * floatfns.c (Ftruncate):
10603         * floatfns.c (Ffceiling):
10604         * floatfns.c (Fffloor):
10605         * floatfns.c (Ffround):
10606         * floatfns.c (Fftruncate):
10607         * fns.c (Fstring_equal):
10608         * fns.c (Fstring_lessp):
10609         * fns.c (concat2):
10610         * fns.c (concat3):
10611         * fns.c (vconcat2):
10612         * fns.c (vconcat3):
10613         * fns.c (Fsubstring):
10614         * fns.c (Fassoc):
10615         * fns.c (Fold_assoc):
10616         * fns.c (assoc_no_quit):
10617         * fns.c (Fassq):
10618         * fns.c (Fold_assq):
10619         * fns.c (assq_no_quit):
10620         * fns.c (Frassoc):
10621         * fns.c (Fold_rassoc):
10622         * fns.c (Frassq):
10623         * fns.c (Fold_rassq):
10624         * fns.c (rassq_no_quit):
10625         * fns.c (Fremassoc):
10626         * fns.c (remassoc_no_quit):
10627         * fns.c (Fremassq):
10628         * fns.c (remassq_no_quit):
10629         * fns.c (Fremrassoc):
10630         * fns.c (Fremrassq):
10631         * fns.c (remrassq_no_quit):
10632         * fns.c (Fsort):
10633         * fns.c (Fplist_get):
10634         * fns.c (Fplist_put):
10635         * fns.c (Fplist_remprop):
10636         * fns.c (Fplist_member):
10637         * fns.c (Flax_plist_get):
10638         * fns.c (Flax_plist_put):
10639         * fns.c (Flax_plist_remprop):
10640         * fns.c (Flax_plist_member):
10641         * fns.c (Fequal):
10642         * fns.c (Fold_equal):
10643         * fns.c (Frequire):
10644         * fns.c (Fbase64_encode_region):
10645         * fns.c (Fbase64_encode_string):
10646         * fns.c (Fbase64_decode_region):
10647         * frame.c:
10648         * frame.c (frame_matches_frame_spec):
10649         * frame.c (device_matches_device_spec):
10650         * frame.c (next_frame):
10651         * frame.c (previous_frame):
10652         * frame.c (Fnext_frame):
10653         * frame.c (Fprevious_frame):
10654         * frame.c (Fframe_property):
10655         * frame.c (Fset_frame_height):
10656         * frame.c (Fset_frame_size):
10657         * frame.h:
10658         * glyphs.c:
10659         * glyphs.c (if):
10660         * glyphs.c (decode_error_behavior_flag):
10661         * glyphs.c (Fmake_image_instance):
10662         * indent.c (Findent_to):
10663         * intl.c (Fignore_defer_gettext):
10664         * keymap.c (Fkeymapp):
10665         * keymap.c (Flookup_key):
10666         * lread.c:
10667         * lread.c (Fload_internal):
10668         * lread.c (Feval_buffer):
10669         * lread.c (Feval_region):
10670         * macros.c (Fexecute_kbd_macro):
10671         * marker.c (set_marker_internal):
10672         * marker.c (Fset_marker):
10673         * marker.c (set_marker_restricted):
10674         * marker.c (Fcopy_marker):
10675         * marker.c (noseeum_copy_marker):
10676         * menubar.c:
10677         * menubar.c (Fpopup_menu):
10678         * minibuf.c:
10679         * mule-charset.c (Fcharset_name):
10680         * mule-charset.c (Fchar_charset):
10681         * mule-charset.c (Fchar_octet):
10682         * mule-charset.c (Fsplit_char):
10683         * mule-wnnfns.c (Fwnn_open):
10684         * mule-wnnfns.c (Fwnn_dict_comment):
10685         * mule-wnnfns.c (Fwnn_quit_henkan):
10686         * mule-wnnfns.c (Fwnn_word_toroku):
10687         * mule-wnnfns.c (Fwnn_word_sakujo):
10688         * mule-wnnfns.c (Fwnn_word_use):
10689         * mule-wnnfns.c (Fwnn_hindo_set):
10690         * objects.c:
10691         * objects.c (Fmake_color_instance):
10692         * objects.c (Fmake_font_instance):
10693         * print.c (Fwrite_char):
10694         * process.c:
10695         * process.c (mark_process):
10696         * process.c (print_process):
10697         * process.c (get_process_from_usid):
10698         * process.c (Fprocessp):
10699         * process.c (Fprocess_live_p):
10700         * process.c (Fget_process):
10701         * process.c (Fget_buffer_process):
10702         * process.c (get_process):
10703         * process.c (Fprocess_id):
10704         * process.c (Fprocess_name):
10705         * process.c (Fprocess_command):
10706         * process.c (init_process_io_handles):
10707         * process.c (start_process_unwind):
10708         * process.c (Fstart_process_internal):
10709         * process.c (Fopen_multicast_group_internal):
10710         * process.c (Fset_process_window_size):
10711         * process.c (read_process_output):
10712         * process.c (send_process):
10713         * process.c (Fprocess_tty_name):
10714         * process.c (Fset_process_buffer):
10715         * process.c (Fprocess_buffer):
10716         * process.c (Fprocess_mark):
10717         * process.c (set_process_filter):
10718         * process.c (Fset_process_filter):
10719         * process.c (Fprocess_filter):
10720         * process.c (Fprocess_send_region):
10721         * process.c (Fprocess_send_string):
10722         * process.c (exec_sentinel):
10723         * process.c (Fset_process_sentinel):
10724         * process.c (Fprocess_sentinel):
10725         * process.c (status_notify):
10726         * process.c (Fprocess_status):
10727         * process.c (Fprocess_exit_status):
10728         * process.c (process_send_signal):
10729         * process.c (Fprocess_send_eof):
10730         * process.c (deactivate_process):
10731         * process.c (remove_process):
10732         * process.c (Fdelete_process):
10733         * process.c (kill_buffer_processes):
10734         * process.c (Fprocess_kill_without_query):
10735         * process.c (Fprocess_kill_without_query_p):
10736         * rangetab.c:
10737         * rangetab.c (Fget_range_table):
10738         * rangetab.c (Fput_range_table):
10739         * rangetab.c (Fremove_range_table):
10740         * rangetab.c (Fclear_range_table):
10741         * search.c:
10742         * search.c (Fskip_chars_forward):
10743         * search.c (Fskip_chars_backward):
10744         * search.c (Fskip_syntax_forward):
10745         * search.c (Fskip_syntax_backward):
10746         * search.c (search_command):
10747         * search.c (Freplace_match):
10748         * search.c (Fregexp_quote):
10749         * select.c (Fown_selection_internal):
10750         * select.c (Fselection_owner_p):
10751         * select.c (Fselection_exists_p):
10752         * select.c (Fget_selection_internal):
10753         * specifier.c:
10754         * symbols.c:
10755         * symbols.c (Fintern):
10756         * symbols.c (Fintern_soft):
10757         * symbols.c (Funintern):
10758         * symbols.c (Fapropos_internal):
10759         * symbols.c (Fset_default):
10760         * syntax.c:
10761         * syntax.c (Fsyntax_table_p):
10762         * syntax.c (Fcopy_syntax_table):
10763         * syntax.c (Fset_syntax_table):
10764         * syntax.c (Fchar_syntax):
10765         * syntax.c (syntax_match):
10766         * syntax.c (Fmatching_paren):
10767         * syntax.c (Fforward_word):
10768         * syntax.c (scan_lists):
10769         * syntax.c (Fscan_lists):
10770         * syntax.c (Fscan_sexps):
10771         * syntax.c (Fparse_partial_sexp):
10772         * toolbar.c (Fcheck_toolbar_button_syntax):
10773         * tooltalk.doc:
10774         * window.c:
10775         * window.c (Fwindowp):
10776         * window.c (Fwindow_live_p):
10777         * window.c (Fwindow_point):
10778         * window.c (Fdelete_window):
10779         * window.c (Fnext_window):
10780         * window.c (Fprevious_window):
10781         * window.c (Fother_window):
10782         * window.c (window_loop):
10783         * window.c (Fget_lru_window):
10784         * window.c (Fsplit_window):
10785         * window.c (Fenlarge_window):
10786         * window.c (Fenlarge_window_pixels):
10787         * window.c (Fshrink_window):
10788         * window.c (Fshrink_window_pixels):
10789         * window.c (change_window_height):
10790         * window.c (Fwindow_configuration_p):
10791         * window.c (Fcurrent_window_configuration):
10792         * window.h:
10793         * casefiddle.c (casify_object):
10794         * casefiddle.c (Fupcase):
10795         * casefiddle.c (Fdowncase):
10796         * casefiddle.c (Fcapitalize):
10797         * casefiddle.c (Fupcase_initials):
10798         * casefiddle.c (casify_region_internal):
10799         * casefiddle.c (casify_region):
10800         * casefiddle.c (Fupcase_region):
10801         * casefiddle.c (Fdowncase_region):
10802         * casefiddle.c (Fcapitalize_region):
10803         * casefiddle.c (Fupcase_initials_region):
10804         * casefiddle.c (Fupcase_word):
10805         * casefiddle.c (Fdowncase_word):
10806         * casefiddle.c (Fcapitalize_word):
10807         Docstring arglist/Texinfo fixes.  See man/ChangeLog for details.
10808         Replace 0 with '\0' when working with bytes.
10809         Replace initial "(" with "\(" in docstrings.
10810
10811 2000-11-01  Martin Buchholz  <martin@xemacs.org>
10812
10813         * config.h.in: Handle alloca with Compaq C on Alpha Linux.
10814
10815         * m/alpha.h: Let configure handle SYSTEM_MALLOC on Linux.
10816
10817 2000-10-31  Martin Buchholz  <martin@xemacs.org>
10818
10819         * eldap.c (print_ldap): 64-bit cleaner.  Fixes warning.
10820
10821 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
10822
10823         * doprnt.c (emacs_do_prnt_1): Format (format "%01.2d" 10)
10824         correctly.
10825
10826 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
10827
10828         * fileio.c (Vauto_save_list_file_prefix): Moved from startup.el.
10829         (inhibit_auto_save_session): New variable.
10830         (vars_of_fileio): Declare and initialize them.
10831         * fileio.c (Fdo_auto_save): Don't create session file if
10832         Vinhibit_auto_save_session or Vauto_save_list_file_prefix is non-nil.
10833
10834 2000-10-31  Martin Buchholz  <martin@xemacs.org>
10835
10836         * sgiplay.c (play_internal): C++ compilability.
10837         * alloc.c (SWEEP_FIXED_TYPE_BLOCK): Remove unused var `SFTB_prev'.
10838         * callproc.c (Fold_call_process_internal):
10839         Remove unused vars `env', `first'.
10840         * scrollbar.c (update_scrollbar_instance):
10841         #### unused var `current_window'.
10842         * redisplay-tty.c: Put currently unused vars insert_mode_on,
10843         etc. within #ifdef NOT_YET.
10844         * emacs.c: #### unused vars `initial_argc', `initial_argv'.
10845         * dialog-x.c (dbox_descriptor_to_widget_value): ### unused var `title'.
10846         * specifier.c (specifier_instance):
10847         #### unused var `tag'.
10848         Use WINDOW_BUFFER, FRAME_DEVICE instead of their expansion.
10849
10850 2000-10-27  Martin Buchholz  <martin@xemacs.org>
10851
10852         * fns.c (Fbutlast):
10853         * fns.c (list_sort):
10854         * fns.c (Ffillarray):
10855         * fns.c (bytecode_nconc2):
10856         * fns.c (Fnconc):
10857         * fns.c (mapcar1):
10858         * fns.c (Fmapconcat):
10859         Be pedantically 64-bit correct.  For the time when someone will
10860         want to have a list with length > 2**32.
10861
10862         * lisp.h (PRIVATE_EXTERNAL_LIST_LOOP_6):
10863         Work around MIPSpro compiler bug.
10864
10865         * process-unix.c (unix_kill_child_process): Add snarky comment.
10866         * process-unix.c (try_to_initialize_subtty):  Oops, `=' ==> `=='
10867
10868         * config.h.in: Oops, _getpt ==> _getpty
10869
10870 2000-10-26  Martin Buchholz  <martin@xemacs.org>
10871
10872         * config.h.in:
10873         * regex.c:
10874         Use void*, not char*, as return type of alloca().
10875
10876         * alloc.c (free_marker): Side effect inside assert expression!
10877
10878 2000-10-16  MIYASHITA Hisashi  <himi@m17n.org>
10879
10880         * mule-charset.c (Fset_charset_ccl_program): To check
10881         if the given ccl program is valid, use setup_ccl_program()
10882         instead of CHECK_VECTOR().
10883         (Fmake_charset): Likewise.
10884
10885 2000-10-20  Golubev I. N.  <gin@mo.msk.ru>
10886
10887         * faces.c (get_extent_fragment_face_cache_index):
10888         Fix cachel.merged_faces memory leak.
10889
10890 2000-10-14  MIYASHITA Hisashi  <himi@m17n.org>
10891
10892         * mule-ccl.c (ccl_driver)<CCL_DECODE_SJIS>:
10893         Reset MSB of octets obtained by DECODE_SJIS
10894         because of the incompatibility with Emacs.
10895         (ccl_driver)<CCL_ENCODE_SJIS>:
10896         Set MSB of octets before passing them to
10897         ENCODE_SJIS because of the incompatibility
10898         with Emacs.
10899
10900 2000-10-18   Daiki Ueno  <ueno@unixuser.org>
10901
10902         * lrecord.h (DECLARE_TYPECHECK_LRECORD): Abolish.
10903         (DECLARE_LRECORD): Undo the last change.
10904         (DECLARE_EXTERNAL_LRECORD): Expand typechecking stuff.
10905
10906 2000-10-17   Daiki Ueno  <ueno@unixuser.org>
10907
10908         * lrecord.h (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): Connect
10909         the implementation to lrecord_implementations_table.
10910
10911 2000-10-14   Daiki Ueno  <ueno@unixuser.org>
10912
10913         * lrecord.h (MAKE_EXTERNAL_LRECORD_IMPLEMENTATION): Don't set the
10914         initial value of `lrecord_type_##c_name' and
10915         `lrecord_##c_name.lrecord_type_index'; discard "const" qualifier.
10916         (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): New macro.
10917         [ERROR_CHECK_TYPECHECK] (DECLARE_TYPECHECK_LRECORD): New macro.
10918         [ERROR_CHECK_TYPECHECK] (DECLARE_LRECORD): Use it.
10919         [ERROR_CHECK_TYPECHECK] (DECLARE_EXTERNAL_LRECORD): Use it.
10920
10921 2000-10-17  Martin Buchholz  <martin@xemacs.org>
10922
10923         * miscplay.c (sndcnv8S_2mono):
10924         (sndcnv2monounsigned):
10925         (sndcnvULaw_2linear):
10926         (sndcnv16swap):
10927         Remove implementation-defined behavior.
10928
10929 2000-10-12  Martin Buchholz  <martin@xemacs.org>
10930
10931         * input-method-xlib.c: Warning suppression.
10932
10933 2000-10-05  MIYASHITA Hisashi  <himi@m17n.org>
10934
10935         * mule-ccl.c: Sync up with Emacs 21.0.90.
10936         (ccl_driver)<CCL_TranslateCharacter>: Disabled.
10937         Do nothing.
10938         (ccl_driver)<CCL_TranslateCharacterConstTbl>:
10939         Likewise.
10940         (ccl_driver[WriteMultibyteChar2]): Bug fix.
10941         Use MAX_LEADING_BYTE_OFFICIAL_2 instead of
10942         MIN_LEADING_BYTE_OFFICIAL_2 to check whether the
10943         leading char belongs to official 2-dimensional charset.
10944         (CCL_WRITE_CHAR): When CCL_MODE_ENCODING,
10945         write the given character as is.  Otherwise,
10946         if it is a multibyte char, convert it by
10947         non_ascii_set_charptr_emchar, then write it.
10948         (CCL_WRITE_STRING): Likewise.
10949         (ccl_get_compiled_code): New function.
10950         (setup_ccl_program): When ccl_prog is invalid,
10951         return -1.
10952         (Fregister_code_conversion_map): New function.
10953         (syms_of_mule_ccl): defsubr Fregister_code_conversion_map.
10954
10955         * mule-ccl.h: Sync up with Emacs 21.0.90.
10956         (Fregister_ccl_program): export it.
10957
10958         * redisplay-msw.c (separate_textual_runs):
10959         If ccl program is not valid, don't do ccl conversion.
10960
10961         * redisplay-x.c (separate_textual_runs): Ditto.
10962
10963         * file-coding.c (Fmake_coding_system):
10964         When type is ccl and value is vector, register it
10965         with a proper symbol.  And checks whether the
10966         given ccl program is valid.
10967         (mule_decode): When calling ccl_driver, if src indicates
10968         NULL pointer, set an empty string instead.
10969         (mule_encode): Likewise.
10970
10971 2000-10-11  Martin Buchholz  <martin@xemacs.org>
10972
10973         The following large batch of changes gets us back to a state of
10974         C++ compilability.  Extbyte is now a char, which means that
10975         Extbyte * and Bufbyte * cannot be freely interchanged - a win!
10976
10977         * tooltalk.c (Fset_tooltalk_message_attribute): Type correctness.
10978
10979         * sound.c (Fplay_sound): Type correctness.
10980
10981         * select-x.c (hack_motif_clipboard_selection): Type correctness.
10982         (x_get_window_property): Type correctness.
10983         (receive_incremental_selection): unsigned char ==> Extbyte
10984         (selection_data_to_lisp_data): unsigned char ==> Extbyte
10985         (Fx_get_cutbuffer_internal): unsigned char ==> Extbyte
10986         (Fx_store_cutbuffer_internal): Type correctness.
10987
10988         * process-unix.c (try_to_initialize_subtty): Type correctness.
10989
10990         * objects-x.c (x_print_color_instance): Type correctness.
10991         (x_print_font_instance): Type correctness.
10992         (x_list_fonts): SExtbyte ==> Extbyte.
10993         (valid_x_font_name_p): SExtbyte ==> Extbyte.
10994         (x_find_charset_font): SExtbyte ==> Extbyte.
10995         Use TO_INTERNAL_FORMAT.  build_string ==> make_string.
10996         (truename_via_XListFonts): SExtbyte ==> Extbyte.
10997         (x_font_instance_properties): Use TO_INTERNAL_FORMAT.
10998         Use bufbyte_strcmp.
10999
11000         * mule-charset.h (LEADING_BYTE_PREFIX_P): unsigned char ==> Bufbyte
11001         (PRIVATE_LEADING_BYTE_PREFIX): Add paranoia cast.
11002         (BYTE_ASCII_P): Use bit ops for char-signedness safety.
11003         (BYTE_C0_P): Use bit ops for char-signedness safety.
11004         (BYTE_C1_P): Use bit ops for char-signedness safety.
11005         (CHARSET_BY_LEADING_BYTE):
11006         (CHARSET_BY_ATTRIBUTES):
11007         Always use inline function.
11008         Use type_checking_assert.
11009         Hide chlook.
11010
11011         * mule-charset.c (non_ascii_charptr_copy_char):
11012         Modify to work with both ASCII and non-ASCII characters.
11013         Improve docs and variable names.
11014         Replace over-clever fall-through switch with a simple loop.
11015         (Lstream_get_emchar_1):
11016         Replace over-clever fall-through switch with a simple loop.
11017
11018         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
11019         Warning suppression.
11020
11021         * lstream.h (Lstream_get_emchar): BYTE_ASCII_P cannot be used on
11022         the return value of Lstream_getc, which could be EOF as well.
11023
11024         * lstream.c (Lstream_raw_read): Now returns ssize_t, not int.
11025
11026         * lisp.h: Make Extbyte a char, not unsigned char, so that external
11027         APIs can be used on Extbytes without casts.  Risky!
11028         (SExtbyte): Remove.
11029         (UExtbyte): Remove.
11030
11031         * input-method-xlib.c (XIM_init_device):
11032         Use Xlib.h instead of IntrinsicP.h.
11033         Use HAVE_XREGISTERIMINSTANTIATECALLBACK instead of THIS_IS_X11R6,
11034         which will break in X11R7.
11035         Use XREGISTERIMINSTANTIATECALLBACK_NONSTANDARD_PROTOTYPE,
11036         to call XRegisterIMInstantiateCallback with correct types.
11037
11038         * gui-x.c (button_item_to_widget_value): Type correctness.
11039
11040         * glyphs.c (bitmap_to_lisp_data):  Type correctness.
11041
11042         * glyphs-x.c (pixmap_from_xbm_inline): Type correctness.
11043         (xbm_instantiate_1): Type correctness.
11044         (BUILD_GLYPH_INST):  Type correctness.
11045
11046         * fileio.c (Fsubstitute_in_file_name): Type correctness.
11047
11048         * file-coding.c:
11049         (decode_coding_sjis):
11050         (decode_coding_big5):
11051         (decode_coding_ucs4):
11052         (decode_coding_utf8):
11053         (decode_coding_iso2022):
11054         (decode_coding_no_conversion):
11055         Make all decoding functions take an Extbyte * arg.
11056         (encode_coding_sjis):
11057         (encode_coding_big5):
11058         (encode_coding_ucs4):
11059         (encode_coding_utf8):
11060         (encode_coding_iso2022):
11061         (encode_coding_no_conversion):
11062         Make all encoding functions take a Bufbyte * arg.
11063         Use size_t instead of unsigned int for memory sizes.
11064         Only cast to unsigned char whenever dereferencing Extbyte *.
11065
11066         * doc.c (unparesseuxify_doc_string): Type correctness.
11067
11068         * console-x.c (split_up_display_spec):
11069         Rewrite without using details of internal string representation.
11070         (x_semi_canonicalize_device_connection): Type correctness.
11071
11072         * config.h.in:
11073         (HAVE_XREGISTERIMINSTANTIATECALLBACK): New.
11074         (XREGISTERIMINSTANTIATECALLBACK_NONSTANDARD_PROTOTYPE): New.
11075         (HAVE_XFREE386): Removed.
11076
11077         * buffer.h (DEC_CHARPTR): `const' correctness.
11078         (bufbyte_strcmp): New.
11079         (bufbyte_memcmp): New.
11080
11081         * buffer.c (dfc_convert_to_internal_format): Extbyte ==> Bufbyte
11082
11083         * buffer.h (XCHAR_OR_CHAR_INT):
11084         Always use inline function.
11085         Remove redundant type checking assert() - XINT will abort quite nicely.
11086
11087 2000-10-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
11088
11089         * search.c (Freplace_match): Set newtext to an empty string.
11090
11091 2000-10-10  Martin Buchholz  <martin@xemacs.org>
11092
11093         * s/decosf1-3.h: Remove #include of stropts.h
11094         * s/ptx.h: Remove #include of stropts.h
11095         * s/usg5-4.h: Remove #include of stropts.h
11096         * sysproc.h:
11097         * config.h.in:
11098         Use stropts.h, not sys/stropts.h.
11099         Use strtio.h, not sys/strtio.h.
11100
11101 2000-10-04  Martin Buchholz <martin@xemacs.org>
11102
11103         * XEmacs 21.2.36 is released.
11104
11105 2000-09-21  Andy Piper  <andy@xemacs.org>
11106
11107         * glyphs-x.c (x_redisplay_widget): make sure non-structural
11108         changes still involve copying the widget tree.
11109         (update_widget_face): make sure a change is register in the widget
11110         tree. Call update_tab_widget_face appropriately.
11111         (update_tab_widget_face): ditto.
11112         (x_tab_control_redisplay): make sure non-structural changes still
11113         involve copying the widget tree.
11114
11115 2000-08-31   Daiki Ueno  <ueno@unixuser.org>
11116
11117         * lread.c (locate_file): Check the path element is non-nil.
11118
11119 2000-10-02  Martin Buchholz  <martin@xemacs.org>
11120
11121         * lisp.h: Warning suppression for SCO compilers.
11122
11123         * redisplay-tty.c (reset_tty_modes): Fix crash.
11124         E.g. from xemacs running on X: (delete-device (make-device 'tty nil))
11125
11126 2000-09-27  Martin Buchholz  <martin@xemacs.org>
11127
11128         Big signal/process handling overhaul.  Bugs fixed:
11129         M-x shell, type `sleep 10000', M-x comint-interrupt-subjob and
11130         M-x comint-kill-subjob should work for both values nil and t of
11131         process-connection-type. It was broken on most platforms.
11132         Testing on Irix and Cygwin still needed.  Other plaforms tested.
11133         * sysdep.c: Move #include of stropts.h into sysproc.h.  Use pid_t.
11134         * process-unix.c: Signal/Process handling overhaul.
11135         (pty_name): make 64 bytes, as `expect' does, for paranoia.
11136         (allocate_pty): Use all available modern methods of allocating
11137         ptys, falling back to old style BSD allocation as a last resort.
11138         Use allegedly more secure Unix98 pty allocation by default.
11139         (allocate_pty_the_old_fashioned_way): New. the last resort.
11140         (unix_create_process): Push ptem, ldterm, ttcompat where
11141         available.  Autoconfiscate.
11142         (try_to_initialize_subtty): New.
11143         (unix_kill_child_process): Proper signal handling for ptys on most
11144         platforms, using special knowledge of AIX, BSD, etc...
11145         (unix_create_process): Always disconnect_controlling_terminal() for
11146         subprocesses, whether using ptys or not.
11147         * process.h: Remove old getpt-dependent PTY code.
11148         * process.c (Fprocess_send_signal): New, obvious generic function.
11149         (decode_signal): New.
11150         (Finterrupt_process):
11151         (Fkill_process):
11152         (Fquit_process):
11153         (Fstop_process):
11154         (Fcontinue_process):
11155         (Fsignal_process): Use decode_signal.
11156         (process_send_signal):
11157         Many docstring corrections.
11158         Allow any signal to be sent to a process object.
11159         * config.h.in: Add symbols for big signal/process overhaul.
11160         * syssignal.h (EMACS_KILLPG): Use HAVE_KILLPG. Use `pid', not `gid'.
11161         * sysproc.h: Include process-related headers, where available:
11162         sys/stropts.h sys/strtio.h pty.h libutil.h
11163         * s/irix4-0.h:
11164         * s/irix5-0.h:
11165         * s/cygwin32.h:
11166         * s/gnu.h:
11167         * s/linux.h:
11168         * s/hpux.h:
11169         * s/aix3-1.h:
11170         Remove old S&M pty stuff.
11171         * console-tty.c (tty_init_console): Use pid_t, not int, for pids.
11172         * systty.h: Simplify cpp hackery, improve comments.
11173         Favor BSD ioctl(TIOCGPGRP) over Posix tcgetpgrp().
11174
11175         * editfns.c (Fformat_time_string):
11176         Be a little more paranoid with the return value of ctime.
11177
11178         * fileio.c (check_executable):
11179         (check_writable):
11180         Use symbolic constants X_OK, W_OK.
11181
11182         * console-x.c (split_up_display_spec): Fix a warning.
11183
11184 2000-10-02  Martin Buchholz  <martin@xemacs.org>
11185
11186         * gui-x.c (add_accel_and_to_external): strlen ==> XSTRING_LENGTH
11187         * ntproc.c (sys_spawnve): make_string ==> build_string
11188         Small clarity improvements.
11189
11190 2000-09-30  Martin Buchholz  <martin@xemacs.org>
11191
11192         * events.c (WRONG_EVENT_TYPE_FOR_PROPERTY): Warning removal.
11193
11194         * s/windowsnt.h (HAVE_STRCASECMP): Remove.
11195
11196         * config.h.in (HAVE_STRCASECMP): Remove.
11197
11198 2000-09-29  Martin Buchholz  <martin@xemacs.org>
11199
11200         * redisplay-output.c (redisplay_output_pixmap):
11201         Cleaner and possibly more 64-bit correct code.
11202
11203 2000-09-28  Stephen J. Turnbull  <stephen@xemacs.org>
11204
11205         * dumper.c (pdump_load_finish): move restoration of
11206         `noninteractive1' to emacs.c (main_1).
11207         * emacs.c (main_1): protect LISP-visible command-line flags
11208         from pdump_load().
11209
11210 2000-09-26  Stephen J. Turnbull  <stephen@xemacs.org>
11211
11212         * Makefile.in.in (versionclean):  Use EXE_TARGET and
11213         DUMP_TARGET instead of literal program names.
11214
11215 2000-09-20  Martin Buchholz  <martin@xemacs.org>
11216
11217         * Makefile.in.in: Recent purify's require absolute paths for cache-dir.
11218
11219 2000-09-19  Martin Buchholz  <martin@xemacs.org>
11220
11221         * *: Spelling mega-patch
11222
11223 2000-09-19  Martin Buchholz  <martin@xemacs.org>
11224
11225         * fns.c (bad_bad_turtle):
11226         Delete "Eek!" comment, since we fixed the bug to which it refers.
11227
11228 2000-09-16  Martin Buchholz  <martin@xemacs.org>
11229
11230         * alloca.c: Replace REGISTER with register.
11231
11232 2000-09-16   Daiki Ueno  <ueno@unixuser.org>
11233
11234         * file-coding.c (ucs_to_char): Use countof.
11235
11236 2000-09-16  Martin Buchholz  <martin@xemacs.org>
11237
11238         * file-coding.c: (ucs_to_char):
11239         (complex_vars_of_file_coding):
11240         Use countof instead of sizeof.
11241         Use CHECK_NATNUM instead of CHECK_INT.
11242
11243         * sysdep.c (strcasecmp): Remove.
11244         * device-x.c (ascii_strcasecmp): New.
11245         * device-x.c (Fx_get_resource): Use ascii_strcasecmp.
11246         Avoid using non-standard non-portable strcasecmp.
11247
11248 2000-09-16  Martin Buchholz  <martin@xemacs.org>
11249
11250         * Makefile.in.in (mostlyclean): remove reference to prefix-args.
11251         * font-lock.c: remove reference to emacsfns.h.
11252         * search.c: small doc improvement.
11253         * event-Xt.c: correct file names in comments.
11254         * console-x.h Correct file names in comments.
11255         * frame.c: Correct file names in comments.
11256         * event-stream.c: remove Energize from comments.
11257
11258 2000-09-15  Martin Buchholz  <martin@xemacs.org>
11259
11260         * symeval.h (DEFERROR_STANDARD):
11261         (DEFERROR):
11262         (DEFSYMBOL):
11263         (DEFSYMBOL_NO_DUMP):
11264         (DEFSYMBOL_MULTIWORD_PREDICATE):
11265         (DEFSYMBOL_MULTIWORD_PREDICATE_NO_DUMP):
11266         (DEFKEYWORD):
11267         The construct &##name is not sensible C.
11268         Fixes compilation errors with Unixware native compiler.
11269
11270 2000-09-14  Martin Buchholz  <martin@xemacs.org>
11271
11272         * frame.c (device_matches_console_spec): no longer takes a `frame' arg
11273         (next_frame_internal): Removed.  We now just have next_frame.
11274         (next_frame):
11275         Write a simpler and cleaner one-pass algorithm.
11276         Remove called_from_delete_device arg and #ifdefed-out code.
11277         (previous_frame):
11278         Renamed from prev_frame.  Update callers.
11279         Cleaned up to have an analogous implementation to next_frame.
11280         (other_visible_frames_internal): Remove the
11281         called_from_delete_device bogus arg, and hence, remove this
11282         function.  Just use other_visible_frames().
11283
11284         * window.c (Fnext_window):
11285         Prettify docstring.
11286         Since next_frame() is guaranteed to return a frame, remove check
11287         for nil inserted in previous patch.
11288         (Fprevious_window):
11289         Prettify docstring.
11290         Make code look more like Fnext_window.
11291         (window_loop):
11292         Respect the `console' arg when iterating through windows.
11293         Fixes bug: (get-buffer-window buffer t device) not respecting
11294         the `device' arg.
11295         This function needs more work, as others have pointed out.
11296
11297         * frame.h: Rename prev_frame to previous_frame.
11298         device_matches_console_spec no longer takes a `frame' arg.
11299
11300         * s/gnu.h:
11301         * s/linux.h:
11302         * s/hpux.h:
11303         Use EMACS_BLOCK_SIGNAL instead of sigblock.
11304         From "Golubev I. N." <gin@mo.msk.ru>.
11305
11306         * make-src-depend: Fix typo.
11307
11308 2000-09-13  Martin Buchholz  <martin@xemacs.org>
11309
11310         * window.c (Fnext_window):
11311         next_frame() might return nil, not a frame.
11312         Fixes this crash:
11313         (gdb) run -eval '(progn  (make-device (quote x) "polgar:0") (next-window (minibuffer-window) t (quote visible) (second (device-list))))'
11314
11315         * frame.c (next_frame_internal):
11316         We've passed a frame if we've passed its device.
11317         Fixes this crash:
11318         (gdb) run -eval '(progn (make-frame nil (make-device (quote x) "polgar:0")) (next-window (minibuffer-window) t (quote visible) (second (device-list))))'
11319 Fatal error: assertion failed, file /project/xemacs/ws/dev/src/frame.h, line 245, RECORD_TYPEP (obj, lrecord_type_frame)
11320
11321 2000-09-11  Jonathan Harris  <jhar@tardis.ed.ac.uk>
11322
11323         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
11324         Allow option to suppress accelerators in menu/dialog items.
11325         (populate_or_checksum_helper): Pass dialog title through above.
11326
11327 2000-09-10  Jonathan Harris  <jhar@tardis.ed.ac.uk>
11328
11329         * event-msw.c (mswindows_key_to_emacs_keysym):
11330         Add "pause" key, fix "menu" key.
11331
11332 2000-09-09  Martin Buchholz  <martin@xemacs.org>
11333
11334         * eval.c (reinit_vars_of_eval):
11335         Increase max_lisp_eval_depth to 1000,
11336         required for thai-xtis.el to byte-compile under some circumstances.
11337
11338 2000-09-04  Martin Buchholz  <martin@xemacs.org>
11339
11340         * event-Xt.c (x_to_emacs_keysym): Increase size of `buffer' to 513.
11341         From Kenichi Handa.
11342
11343 2000-09-01  Martin Buchholz  <martin@xemacs.org>
11344
11345         * make-src-depend: Make the generated Makefiles smaller.
11346
11347         * s/hpux.h (SETUP_SLAVE_PTY):
11348         Provide a %d in the format string for the errno argument.
11349
11350         * editfns.c (Ftemp_directory):
11351         Warning fix.
11352         Avoid buffer overrun on very long file name.
11353
11354         * input-method-xlib.c (XIM_init_device):
11355         6th parameter of XRegisterIMInstantiateCallback has different
11356         pointer types on different OSes, so simply cast to (void *).
11357
11358         * unexhp9k800.c: Warning fixes.  Fiddly changes.
11359
11360         * sysdll.c (dll_open):
11361         shl_load will hang hard if passed a NULL filename.
11362         Simply return NULL for compatibility with dlopen.
11363         * sysdll.c: Conform to XEmacs coding standards.
11364
11365         * sysdep.c (get_pty_max_bytes):
11366         Support pty input lines longer than 512 bytes on HP-UX 10.20.
11367
11368 2000-08-31  Martin Buchholz  <martin@xemacs.org>
11369
11370         * tooltalk.c: Add #include <syssignal.h>
11371
11372 2000-08-12  Alexandre Oliva  <aoliva@redhat.com>
11373
11374         * s/hpux.h: Don't use undefined function sigunblock().
11375
11376 2000-08-31  Martin Buchholz  <martin@xemacs.org>
11377
11378         * config.h.in: Add HAVE_BALLOON_HELP.
11379         * emacs.c: Use HAVE_BALLOON_HELP.
11380         * Makefile.in.in (x_objs):
11381         Make Balloon Help conditional on finding shape.h.
11382
11383 2000-08-23  Yoshiki Hayashi  <yoshiki@xemacs.org>
11384
11385         * syntax.c (regex_emacs_buffer_p): New variable.
11386         * syntax.h (regex_emacs_buffer_p): extern.
11387         * search.c (looking_at_1):
11388         (string_match_1):
11389         (fast_string_match):
11390         (search_buffer): Set regex_emacs_buffer_p.
11391         * regex.c (re_match_2_internal): Reference regex_emacs_buffer_p
11392         when before_dot, at_dot, after_dot.
11393
11394 2000-08-23  Andy Piper  <andy@xemacs.org>
11395
11396         * gui-x.c (popup_selection_callback): Only set action_occurred
11397         when we really have an image instance.
11398         * gui-msw.c (mswindows_handle_gui_wm_command): ditto.
11399
11400 2000-08-23  Andy Piper  <andy@xemacs.org>
11401
11402         * gui-msw.c (mswindows_handle_gui_wm_command): set
11403         action_occurred.
11404         * gui-x.c (popup_selection_callback): ditto.
11405
11406         * glyphs.h (IMAGE_INSTANCE_WIDGET_ACTION_OCCURRED): new accessor.
11407         (XIMAGE_INSTANCE_WIDGET_ACTION_OCCURRED): ditto.
11408         (struct Lisp_Image_Instance): add action_occurred flag.
11409
11410         * glyphs.c (redisplay_subwindow): use action_occurred flag.
11411         (image_instance_changed): ditto.
11412         (reset_frame_subwindow_instance_cache): only unmap windows - do
11413         not remove them from the cache also.
11414
11415         * glyphs-widget.c (tab_control_update): better debug.
11416         (progress_gauge_update): ditto.
11417         (layout_update): ditto.
11418         (layout_instantiate): ditto.
11419         (tab_control_order_only_changed): cope with null pending items.
11420
11421         * glyphs-msw.c (mswindows_tab_control_redisplay): add better
11422         debug. Force selection of an item when an action occurred. Cope
11423         with null pending_items.
11424         (mswindows_progress_gauge_redisplay): better debug.
11425         * glyphs-x.c (x_tab_control_redisplay): ditto.
11426
11427         * redisplay.c (redisplay_frame): reset the frame cache if the
11428         frame is garbaged.
11429
11430         * window.c (Fset_window_configuration): potentially re-enable
11431         frame cache reset.
11432         (window_unmap_subwindows): need to finalize instances here since
11433         it is only used in mark_window_as_deleted.
11434
11435 2000-08-22  Stephen J. Turnbull  <stephen@xemacs.org>
11436
11437         * nas.c (SndOpenDataForReading):
11438         nas.c (WaveOpenDataForReading):
11439         nas.c (readChunk): {BIG,LITTLE}_ENDIAN -> NAS_{BIG,LITTLE}_ENDIAN.
11440         Somehow escaped from the 2000-08-14 patch.
11441
11442 2000-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
11443
11444         * nas.c:  Preprocessor trickery to use NAS_LITTLE_ENDIAN instead
11445         of LITTLE_ENDIAN (conflicts with glibc, at least) in NAS <= 1.2p5.
11446
11447 2000-08-21  Andy Piper  <andy@xemacs.org>
11448
11449         * glyphs-x.c (x_map_subwindow): Minor optimization - only map the
11450         window if it is not already displayed.
11451
11452         * glyphs-msw.c (mswindows_map_subwindow): only map the window if
11453         it is not already displayed.
11454
11455         * window.c (Fset_window_configuration): don't reset the frame
11456         cache.
11457
11458         * glyphs.c (unmap_subwindow_instance_cache_mapper): only remove
11459         instances from the frame cache if we are actually finalizing them.
11460         (reset_frame_subwindow_instance_cache): reset frame cache only
11461         after unmapping everything.
11462         (map_subwindow): set displayed flag after mapping.
11463
11464 2000-08-21  Martin Buchholz  <martin@xemacs.org>
11465
11466         * data.c (indirect_function):
11467         Rename ERRORP to non-misleading VOID_FUNCTION_ERRORP.
11468
11469         * eval.c (function_argcount):
11470         Use original function when signaling errors.
11471
11472 2000-08-18  Andy Piper  <andy@xemacs.org>
11473
11474         * frame.c (delete_frame_internal): use new
11475         free_frame_subwindow_instances name.
11476
11477         * glyphs-msw.c (mswindows_tab_control_instantiate): verify index.
11478         (add_tab_item): make return type correct.
11479         (mswindows_tab_control_instantiate): assert index of tab.
11480         (mswindows_tab_control_redisplay): Re-code to use
11481         gui_item_equal_sans_selected and gui_item_list_find_selected.
11482
11483         * glyphs-widget.c (tab_control_update): Correct comment.
11484
11485         * window.c (window_unmap_subwindows): use new
11486         unmap_subwindow_instance_cache_mapper.
11487         (window_unmap_subwindows_cache_mapper): deleted.
11488         (Fset_window_configuration): comparisons should now be with
11489         EQ. Preserve the subwindow instance cache across configuration
11490         changes.
11491         (allocate_window): ditto.
11492         (make_dummy_parent): ditto.
11493
11494         * glyphs.c (free_frame_subwindow_instances): rename from
11495         free_frame_subwindow_instance_cache. finalize all instances rather
11496         than just those in the display cache.
11497         (finalize_all_subwindow_instances): walk windows unmapping and
11498         finalizing subwindows.
11499         (unmap_subwindow_instance_cache_mapper): moved from
11500         window.c. Allow finalization as well as unmapping.
11501
11502         * gui.c (gui_item_list_find_selected): new function.
11503
11504         * gui.h (gui_item_list_find_selected): declare.
11505
11506         * glyphs-x.c (x_tab_control_redisplay): pick tab
11507         explicitly. Re-code to use gui_item_equal_sans_selected and
11508         gui_item_list_find_selected.
11509
11510         * glyphs-x.h: add lwlib-utils.h
11511
11512         * buffer.c (Frecord_buffer): undo previous change.
11513
11514 2000-08-09  Vin Shelton  <acs@xemacs.org>
11515
11516         * config.h.in, s/gnu.h, s/hpux.h, s/linux.h: Use UNIX98 PTYs if
11517         possible.  Create temporary files more securely.  The patch was
11518         generated by Torsten Duwe <duwe@caldera.de>, Florian Weimer
11519         <Florian.Weimer@RUS.Uni-Stuttgart.DE> and Olaf Kirch.  See
11520         http://www.xemacs.org/list-archives/xemacs-patches/200007/msg00123.html
11521         for details.
11522
11523 2000-08-07  Ben Wing  <ben@xemacs.org>
11524
11525         * getloadavg.c: remove duplicate (and windows-breaking)
11526         includes of fcntl.h and sys/file.h.
11527
11528         * nt.c: remove duplicate getloadavg() definition.
11529
11530         * sysdll.h (Qdll_filename_encoding): add missing stand-in
11531         encodings.
11532
11533 2000-08-07  Gunnar Evermann  <ge204@eng.cam.ac.uk>
11534
11535         * eval.c (function_argcount): If function needs to be autoloaded
11536         actually use the loaded definition.
11537         GCPRO function.
11538
11539 2000-08-05  Ben Wing  <ben@xemacs.org>
11540
11541         * getloadavg.c: add prototype for getloadavg().  remove
11542         duplicate WIN32_NATIVE/CYGWIN code (already in the middle
11543         of the code).  remove duplicate header includes.
11544
11545         * s\cygwin32.h, s\mingw32.h: remove stray NO_ARG_ARRAY.
11546
11547         * s\cygwin32.h, s\mingw32.h, m\windowsnt.h:
11548         don't define LOAD_AVE_TYPE/LOAD_AVE_CVT because we have no
11549         useful load average.
11550
11551         * alloc.c (reinit_alloc_once_early): removed references to
11552         VIRT_ADDR_VARIES, malloc_sbrk_used/free, and data-bytes-used/free.
11553         the lisp vars are the only things referencing the malloc_sbrk_*
11554         vars, and they were already if 0'd out.  these vars only exist
11555         in the older malloc.c, which is basically unused, and they're
11556         only for informational purposes.
11557
11558         * m\*.h: removed useless VIRT_ADDR_VARIES.
11559
11560         * m\powerpc.h: removed stray NO_ARG_ARRAY.
11561
11562 2000-04-26  IKEYAMA Tomonori  <tomonori@suiyokai.org>
11563
11564         * redisplay-msw.c (mswindows_output_dibitmap): Set foreground
11565         color if the image is a mono pixmap.
11566
11567 2000-07-30  Ben Wing  <ben@xemacs.org>
11568
11569         * Makefile.in.in (release):
11570         Remove stray @.
11571
11572         * buffer.c (directory_is_current_directory):
11573         * dired-msw.c (mswindows_get_files):
11574         * dired.c:
11575         * dired.c (Fdirectory_files):
11576         * dired.c (file_name_completion_stat):
11577         * dired.c (Ffile_attributes):
11578         [[[[1]]]]: Rename stat() -> xemacs_stat() and eliminate nasty
11579         preprocessor tricks, to avoid problems on some machines
11580         (e.g. SCO).
11581
11582         * callproc.c (egetenv): GC docs.
11583
11584         * console-msw.h:
11585         * console-msw.h (struct mswindows_dialog_id):
11586         * lrecord.h (lrecord_type):
11587         New object for use with MSW dialogs.
11588
11589         * console.h (struct console_methods):
11590         New enable/disable frame methods, for proper modal dialogs.
11591
11592         * device-msw.c (msprinter_default_printer): Fix to follow
11593         proper Mule conventions.
11594
11595         * device-msw.c:
11596         * device-msw.c (signal_open_printer_error):
11597         * device-msw.c (msprinter_init_device):
11598         * device-msw.c (ensure_not_printing):
11599         * device-msw.c (plist_get_margin):
11600         * device-msw.c (Fmsprinter_select_settings):
11601         * device-msw.c (finalize_devmode):
11602         * device-msw.c (Fmsprinter_settings_despecialize):
11603         * device-msw.c (signal_enum_priner_error):
11604         * extents.c (decode_extent):
11605         * extents.c (decode_map_extents_flags):
11606         * extents.c (decode_extent_at_flag):
11607         * extents.c (Fextent_at):
11608         * extents.c (Fextents_at):
11609         * extents.c (symbol_to_glyph_layout):
11610         [[[[2]]]] Use structured errors.
11611
11612         * dialog-msw.c:
11613         * dialog-msw.c (mswindows_is_dialog_msg):
11614         * dialog-msw.c (mark_mswindows_dialog_id):
11615         * dialog-msw.c (dialog_proc):
11616         * dialog-msw.c (handle_question_dialog_box):
11617         * dialog-msw.c (syms_of_dialog_mswindows):
11618         Define new object to clean up marking; use it as a dialog identifier.
11619         Call new delete-dialog-box-hook.
11620
11621         * dialog-x.c (dbox_selection_callback):
11622         * dialog-x.c (dbox_descriptor_to_widget_value):
11623         * dialog-x.c (x_make_dialog_box_internal):
11624         Call new delete-dialog-box-hook.
11625         Return an id.
11626
11627         * dialog.c:
11628         * dialog.c (syms_of_dialog):
11629         * dialog.c (vars_of_dialog):
11630         Define new delete-dialog-box-hook, for use w/modal dialog boxes.
11631
11632         * eval.c:
11633         * eval.c (signal_call_debugger):
11634         when noninteractive, output stack traces on the console instead
11635         of in a (never-seen) buffer.
11636
11637         * eval.c (signal_type_error):
11638         * eval.c (invalid_argument_2):
11639         * lisp.h:
11640         new funs for use w/structured errors.
11641
11642         * event-Xt.c:
11643         * event-Xt.c (x_to_emacs_keysym):
11644         * event-Xt.c (describe_event):
11645         * event-Xt.c (emacs_Xt_event_handler):
11646         * event-Xt.c (vars_of_event_Xt):
11647         * event-msw.c:
11648         * event-msw.c (mswindows_wnd_proc):
11649         * event-msw.c (vars_of_event_mswindows):
11650         rename {x,mswindows}-debug-events to debug-{}-events for
11651         consistency with other debug-foo variables.
11652
11653         * event-stream.c:
11654         document next-event more clearly.
11655
11656         * fileio.c (Ffile_name_directory):
11657         * fileio.c (Ffile_name_nondirectory):
11658         * fileio.c (Funhandled_file_name_directory):
11659         * fileio.c (file_name_as_directory):
11660         * fileio.c (Ffile_name_as_directory):
11661         * fileio.c (directory_file_name):
11662         * fileio.c (Fdirectory_file_name):
11663         * fileio.c (Fmake_temp_name):
11664         * fileio.c (Ffile_truename):
11665         * fileio.c (Fsubstitute_in_file_name):
11666         * fileio.c (expand_and_dir_to_file):
11667         * fileio.c (barf_or_query_if_file_exists):
11668         * fileio.c (check_executable):
11669         * fileio.c (Ffile_exists_p):
11670         * fileio.c (Ffile_writable_p):
11671         * fileio.c (Ffile_directory_p):
11672         * fileio.c (Ffile_regular_p):
11673         * fileio.c (Ffile_modes):
11674         * fileio.c (Ffile_newer_than_file_p):
11675         * fileio.c (Fverify_visited_file_modtime):
11676         * fileio.c (Fset_visited_file_modtime):
11677         * fileio.c (auto_save_1):
11678         (1). (2).
11679         fix up gcpro's.
11680
11681         * frame-msw.c:
11682         * frame-msw.c (mswindows_init_frame_1):
11683         * frame-msw.c (mswindows_enable_frame):
11684         * frame-msw.c (error_frame_unsizable):
11685         * frame-msw.c (msprinter_init_frame_1):
11686         * frame-msw.c (msprinter_init_frame_3):
11687         * frame-msw.c (console_type_create_frame_mswindows):
11688         (2).
11689         implement new enable/disable frame methods.
11690
11691         * frame-x.c:
11692         * frame-x.c (x_enable_frame):
11693         * frame-x.c (console_type_create_frame_x):
11694         implement new enable/disable frame methods.
11695
11696         * frame.c:
11697         * frame.c (Fdisable_frame):
11698         * frame.c (syms_of_frame):
11699         * frame.h (struct frame):
11700         implement new enable/disable frame methods/functions.
11701
11702         * general-slots.h:
11703         add initial-focus.
11704
11705         * glyphs-msw.c (mswindows_widget_instantiate):
11706         comment that initial-focus should be implemented.
11707
11708         * glyphs-widget.c:
11709         * glyphs-widget.c (check_valid_instantiator):
11710         * glyphs-widget.c (check_valid_orientation):
11711         * glyphs-widget.c (check_valid_tab_orientation):
11712         * glyphs-widget.c (check_valid_justification):
11713         * glyphs-widget.c (check_valid_border):
11714         * glyphs-widget.c (check_valid_callback):
11715         * glyphs-widget.c (check_valid_int_or_function):
11716         * glyphs-widget.c (check_valid_string_or_vector):
11717         * glyphs-widget.c (check_valid_item_list_1):
11718         * glyphs-widget.c (widget_validate):
11719         * glyphs-widget.c (combo_box_validate):
11720         * glyphs-widget.c (widget_instantiate):
11721         * glyphs-widget.c (syms_of_glyphs_widget):
11722         * glyphs-widget.c (VALID_WIDGET_KEYWORDS):
11723         * glyphs-widget.c (image_instantiator_combo_box):
11724         * glyphs-widget.c (image_instantiator_scrollbar):
11725         * glyphs-widget.c (image_instantiator_tab_control):
11726         * glyphs-widget.c (VALID_LAYOUT_KEYWORDS):
11727         (2).
11728         support (unimplemented) keyword initial-focus.
11729         reindent long macros.
11730
11731         * glyphs-x.c (x_redisplay_widget):
11732         * glyphs-x.c (x_button_instantiate):
11733         * glyphs-x.c (x_button_redisplay):
11734         * glyphs-x.c (x_progress_gauge_instantiate):
11735         * glyphs-x.c (x_edit_field_instantiate):
11736         * glyphs-x.c (x_combo_box_instantiate):
11737         * glyphs-x.c (x_tab_control_instantiate):
11738         * glyphs-x.c (x_label_instantiate):
11739         * gui-x.c:
11740         * gui-x.c (button_item_to_widget_value):
11741         * gui-x.c (gui_items_to_widget_values_1):
11742         * gui-x.c (gui_item_children_to_widget_values):
11743         * gui-x.c (gui_items_to_widget_values):
11744         * gui-x.h:
11745         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
11746         add new flag to gui-parsing routines to indicate whether
11747         accelerator specs should be supported.
11748
11749         * glyphs.c (syms_of_glyphs): use DEFSYMBOL.
11750
11751         * glyphs.h (struct Lisp_Image_Instance):
11752         * glyphs.h (IMAGE_INSTANCE_WANTS_INITIAL_FOCUS):
11753         add initial-focus flag.
11754
11755         * gui.c:
11756         * gui.c (syms_of_gui):
11757         * gui.c (vars_of_gui):
11758         clean up menu-no-selection-hook.
11759
11760         * gui.h:
11761         support delete-dialog-box-hook.
11762
11763         * lread.c (Fload_internal):
11764         * lread.c (locate_file_in_directory_mapper):
11765         (1).
11766
11767         * lrecord.h:
11768         * lrecord.h (struct toolbar_button):
11769         * lrecord.h (syms_of_toolbar):
11770         document how to create a new object.
11771
11772         * menubar-msw.c (mswindows_char_is_accelerator):
11773         may be called on frames w/o menus.
11774
11775         * menubar.c (vars_of_menubar):
11776         clean up :filter docs.
11777
11778         * nt.c (readdir):
11779         * ntproc.c:
11780         (1).
11781
11782         * process-nt.c:
11783         * process-nt.c (validate_signal_number):
11784         * process-nt.c (signal_cannot_launch):
11785         * process-nt.c (nt_create_process):
11786         * process-nt.c (nt_send_process):
11787         * process-nt.c (nt_kill_child_process):
11788         * process-nt.c (nt_open_network_stream):
11789         * process-nt.c (syms_of_process_nt):
11790         (2).
11791         delete quote-handling.  call new lisp code that does it better.
11792
11793         * process-unix.c (connect_to_file_descriptor):
11794         * process-unix.c (allocate_pty):
11795         * process-unix.c (unix_send_process):
11796         * process-unix.c (unix_kill_child_process):
11797         * process-unix.c (unix_open_network_stream):
11798         * process-unix.c (unix_open_multicast_group):
11799         (1). (2).
11800
11801         * process.c:
11802         * process.c (Fstart_process_internal):
11803         (2).  need to canonicalize process path even if absolute.
11804
11805         * select-msw.c (symbol_to_ms_cf):
11806         * select-msw.c (ms_cf_to_symbol):
11807         * select-msw.c (cf_is_autofreed):
11808         * select-msw.c (mswindows_destroy_selection):
11809         * select.c:
11810         * select.c (syms_of_select):
11811         * select.h:
11812         support dibv5, fix bugs. (from Mike Alexander)
11813
11814         * select.c (Fget_selection_internal):
11815         * select.c (select_convert_out):
11816
11817         * sysdep.c:
11818         * sysdep.c (xemacs_stat):
11819         renamed.
11820
11821         * sysdep.c (mkdir):
11822         * sysdep.c (rmdir):
11823         but keep original stat() here because we provide encapsulation
11824         around these funs.
11825
11826         * sysfile.h:
11827         * sysfile.h (fstat):
11828         remove stat garbage.
11829
11830         * syswindows.h:
11831         fix X/MSW conflict.
11832         don't include tchar.h.  it's inappropriate because it makes
11833         compile-time distinctions when we want runtime distinctions.
11834         (we provide our own tchar replacements)
11835
11836         * toolbar.c:
11837         use default object printer for toolbar-button.
11838
11839         * unexcw.c:
11840         make sure we don't encapsulate.
11841
11842         * window.c (vars_of_window):
11843         emphasize that temp-buffer-show-hook is obsolete.
11844
11845 2000-08-05  Martin Buchholz  <martin@xemacs.org>
11846
11847         * glyphs.c (image_instance_hash): HASH2 wants EMACS_INT args.
11848         (Fimage_instance_subwindow_id): make_int wants EMACS_INT arg.
11849
11850         * events.c (Fevent_timestamp_lessp):
11851         Not 64-bit clean.  Use EMACS_INT, not int.
11852
11853 2000-06-05  Andrew Begel <abegel@cs.berkeley.edu>
11854
11855         * lrecord.h (lrecord_types): Changed lrecord_type_count to an
11856         unsigned int and changed the last enum to
11857         lrecord_type_last_built_in_type.
11858         (lrecord_implementations_table): changed prototype to know how
11859         long the array is supposed to be.
11860         (lrecord_type_count): new unsigned int to keep track of the
11861         current number of lisp lrecord types.
11862         (DEFINE_EXTERNAL_LRECORD):
11863         (DECLARE_EXTERNAL_LRECORD): Added these two for external
11864         dynamic-modules to declare new lisp types. They are the same
11865         as the non-EXTERNAL forms, but declare an lrecord_type unsigned
11866         int for each new type, and increment lrecord_type_count by 1.
11867
11868         * alloc.c (lrecord_implementations_table): Changed to reference
11869         lrecord_type_last_built_in_type for the size of the array.
11870         Moved MODULE_DEFINABLE_TYPE_COUNT to lrecord.h.
11871
11872 2000-08-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
11873
11874         * glyphs.h (check_valid_item_list): Renamed from
11875         check_valid_item_list_1.
11876
11877 2000-08-01 Alastair J. Houghton <ajhoughton@lineone.net>
11878
11879         * select.c (Qselect_coerce): New.
11880         * select.c (Vselection_coercion_alist): New.
11881         * select.c (syms_of_select): Declare.
11882         * select.c (get-selection-internal): Use it.
11883         Use the new select-coerce functionality.
11884
11885         * select.c (select_coerce): New.
11886         * select.h (select_coerce): Declare.
11887         New function to coerce one type of data into another.
11888
11889 2000-08-03  Martin Buchholz  <martin@xemacs.org>
11890
11891         * callproc.c (Fcall_process_internal):
11892         (Fcall_process_internal):
11893         * process-unix.c (unix_create_process):
11894         Save and restore the value of errno, so that error messages are accurate.
11895
11896 2000-08-01  Martin Buchholz  <martin@xemacs.org>
11897
11898         * elhash.c (print_hash_table):
11899         Fix printing of hash tables to also use `key-and-value' instead of `t'.
11900         Prettify docstrings and indentation.
11901
11902 2000-07-31  Yoshiki Hayashi  <yoshiki@xemacs.org>
11903
11904         * window.c (Fwindow_pixel_edges): Subtract frame border and
11905         gutter size.
11906
11907 2000-07-31  Andy Piper  <andy@xemacs.org>
11908
11909         * buffer.c (Frecord_buffer): make absolutely sure that redisplay
11910         will acknowledge the change.
11911
11912         * glyphs.h: declare tab_control_order_only_changed.
11913
11914         * glyphs-x.c (x_tab_control_redisplay): use
11915         tab_control_order_only_changed.
11916
11917         * glyphs-widget.c (tab_control_order_only_changed): new function.
11918
11919         * glyphs-msw.c (mswindows_tab_control_redisplay): use
11920         tab_control_order_only_changed.
11921
11922         * gui.c (gui_item_equal_sans_selected): new function.
11923         (gui_item_equal): use it.
11924
11925         * glyphs-msw.c (mswindows_combo_box_instantiate): deprecate
11926         :properties in favor of :items..
11927
11928         * glyphs-widget.c (check_valid_item_list): rename from
11929         check_valid_item_list_1.
11930         (check_valid_item_list_1): renamed.
11931         (combo_box_validate): deprecate :properties in favor of :items.
11932         (widget_instantiate): ditto.
11933         (tab_control_update): ditto.
11934         (image_instantiator_combo_box): ditto.
11935         (image_instantiator_tree_view): ditto.
11936         (image_instantiator_tab_control): ditto.
11937         (layout_post_instantiate): remove dead code.
11938
11939         * print.c (debug_print_no_newline): only write to debugger if in
11940         WIN32_NATIVE.
11941
11942         * elhash.c (Fmake_hash_table): update doc string.
11943
11944         * event-msw.c (mswindows_wnd_proc): don't allow processing of
11945         messages whilst in GC. This at least stops XEmacs crashing but has
11946         the potential for wierd behaviour.
11947
11948 2000-07-31  Martin Buchholz  <martin@xemacs.org>
11949
11950         * config.h.in:
11951         Make existence of s&m files optional.
11952
11953         * s/bsd386.h: Remove HAVE_GETLOADAVG.
11954         * s/freebsd.h: Remove HAVE_GETLOADAVG.
11955         * s/gnu.h: Remove HAVE_GETLOADAVG.
11956         * s/netbsd.h: Remove HAVE_GETLOADAVG.
11957         * s/sol2.h: Remove HAVE_GETLOADAVG.
11958         * lisp.h: Remove getloadavg() declaration.
11959         * fns.c:
11960         Include <sys/loadavg.h> if available.
11961         Don't declare our own getloadavg() if HAVE_GETLOADAVG.
11962         * config.h.in:  Group together getloadavg()-related macros.
11963         Use only configure-time tests to detect getloadavg().
11964
11965 2000-07-30  Martin Buchholz  <martin@xemacs.org>
11966
11967         * Makefile.in.in (TransientEmacsShell.o): Fix race condition.
11968
11969 2000-07-25  Andy Piper  <andy@xemacs.org>
11970
11971         * syswindows.h: add tchar.h for native builds.
11972
11973         * frame.c (syms_of_frame): remove set-glyph-image.
11974
11975         * general-slots.h: add Qset_glyph_image.
11976
11977         * glyphs-widget.c (layout_update): add domain arg to
11978         set-glyph-image.
11979         (syms_of_glyphs_widget): remove set-glyph-image.
11980
11981 2000-07-23  Ben Wing  <ben@xemacs.org>
11982
11983         * dialog-msw.c (vars_of_dialog_mswindows): need to staticpro
11984         Vpopup_frame_list.
11985
11986 2000-07-22  Andy Piper  <andy@xemacs.org>
11987
11988         * symsinit.h: add syms_of_win32().
11989
11990         * gui-msw.c (syms_of_gui_mswindows): remove
11991         Fmswindows_shell_execute.
11992         (Fmswindows_shell_execute): moved to win32.c.
11993
11994         * emacs.c (main_1): add syms_of_win32 ().
11995
11996         * win32.c (init_potentially_nonexistent_functions): rewrite in
11997         compiler-friendly terms.
11998         (Fmswindows_shell_execute): move here from gui-msw.c.
11999         (syms_of_win32): new.
12000
12001         * device-msw.c (Fmswindows_printer_list): clean up args to
12002         EnumPrinters.
12003         Don't include tchar under cygwin or mingw.
12004         (msprinter_default_printer): make cygwin-friendly.
12005
12006 2000-07-21  Andy Piper  <andy@xemacs.org>
12007
12008         * glyphs-widget.c (image_instantiator_tree_view): use tab
12009         control's update function.
12010         (layout_property): new function. Retrieve items.
12011
12012         * glyphs-msw.c (mswindows_tree_view_redisplay): new
12013         function. Re-populate the tree view from the pending items.
12014
12015         * glyphs.c (instantiate_image_instantiator): Make sure the domain
12016         is designated the parent if the domain is an image instance. This
12017         is needed so that dirtiness can be cascade up the hierarchy and
12018         thus for layout children to be redisplayed correctly.
12019         (allocate_image_instance): rename glyph -> parent.
12020
12021         * redisplay.h: change redisplay_output_layout signature.
12022
12023         * redisplay-msw.c (mswindows_output_display_block): use domain
12024         arg.
12025
12026         * redisplay-x.c (x_output_display_block): use domain arg.
12027
12028 2000-07-10  Andy Piper  <andy@xemacs.org>
12029
12030         * window.c (Fset_window_configuration): add comment.
12031
12032         * redisplay-output.c (compare_runes):
12033         (redisplay_output_subwindow): redisplay rather than update subwindow.
12034         (redisplay_output_layout): ditto.
12035
12036         * redisplay-msw.c (mswindows_frame_output_end):
12037         (mswindows_frame_output_end): make defer window pos optional.
12038
12039         * lisp.h: add Flast.
12040
12041         * glyphs.h (struct image_instantiator_methods): add dest_mask top
12042         normalize method. Change update method to be for changed
12043         instantiators. Add redisplay method. Change signature of layout
12044         method.
12045         (struct Lisp_Image_Instance): add instantiator.
12046         (IMAGE_INSTANCE_INSTANTIATOR): new.
12047         (IMAGE_INSTANCE_SUBWINDOW_FACE): new.
12048         (XIMAGE_INSTANCE_INSTANTIATOR): new.
12049         (XIMAGE_INSTANCE_SUBWINDOW_FACE): new.
12050
12051         * glyphs.c:
12052         (find_instantiator_differences): new function.
12053         (Fset_instantiator_property): new convenience function.
12054         (check_image_instance_structure): strictly check for vector
12055         instantiators.
12056         (normalize_image_instantiator): make non-static.
12057         (instantiate_image_instantiator): pass on dest_mask and use new
12058         signatures for image_instance_layout and friends.
12059         (mark_image_instance): mark the instantiator. Mark the subwindow
12060         face not the widget face.
12061         (image_instance_equal): add instantiator.
12062         (image_instance_hash): ditto.
12063         (allocate_image_instance): ditto.
12064         (Fset_image_instance_property): removed.
12065         (Fimage_instance_file_name): ditto.
12066         (Fcolorize_image_instance): ditto.
12067         (image_instance_layout): add offsets to be set.
12068         (update_image_instance): new function. update an image instance
12069         from its changed instantiator.
12070         (inherit_normalize): add dest_mask.
12071         (xbm_normalize): ditto.
12072         (xface_normalize): ditto.
12073         (xpm_normalize): ditto.
12074         (text_update): set_property -> update.
12075         (image_instantiate): use the glyph identity as a hash key, not the
12076         instantiator.
12077         (glyph_width): use new image_instance_layout signature.
12078         (glyph_ascent): ditto.
12079         (glyph_descent): ditto.
12080         (glyph_height): ditto.
12081         (glyph_query_geometry): ressurrect.
12082         (glyph_layout): ditto.
12083         (redisplay_subwindow): update -> redisplay.
12084         (syms_of_glyphs): add Fset_instantiator_property.
12085         (image_instantiator_format_create): set_property -> update.
12086
12087         * glyphs-x.c:
12088         (autodetect_normalize): add dest_maks to signature.
12089         (x_redisplay_subwindow): update -> redisplay.
12090         (x_redisplay_widget): ditto.
12091         (x_button_redisplay): ditto.
12092         (x_progress_gauge_redisplay): ditto.
12093         (x_tab_control_redisplay): ditto. Rewrite to cope with changed
12094         stacking order.
12095         (console_type_create_glyphs_x): update -> redisplay.
12096         (image_instantiator_format_create_glyphs_x): ditto.
12097
12098         * glyphs-widget.c:
12099         (check_valid_instantiator): disallow glyphs in the instantiator,
12100         they must now be vectors.
12101         (check_valid_instantiator_list): ditto.
12102         (glyph_instantiator_to_glyph): use internal symbol rather than
12103         intern.
12104         (widget_update): renamed from widget_set_property. Call cascaded
12105         update methods.
12106         (redisplay_widget): renamed from update_widget.
12107         (widget_layout): image_instance_layout now takes position as well
12108         as size.
12109         (widget_normalize): ditto.
12110         (widget_instantiate): ditto.
12111         (tab_control_query_geometry) ditto.:
12112         (tab_control_update): renamed from tab_control_set_property.
12113         (progress_gauge_update): set_property -> update.
12114         (layout_normalize): rewrite so that child instantiators are
12115         normalized also.
12116         (layout_update): new function. Create glyphs from the normalized
12117         children and cope with any other layout keywords. We do not
12118         instantiate children here that will be take care of by
12119         redisplay_output_layout.
12120         (layout_instantiate): call layout_update and not much else.
12121         (layout_post_instantiate): not sure whether this is needed
12122         anymore.
12123         (layout_query_geometry): query glyph geometry rather than
12124         image_instance geometry.
12125         (layout_layout): set offsets from pass in parameters. Use glyph
12126         geometry and layout functions rather than image instance ones.
12127         (native_layout_layout): ditto.
12128         (syms_of_glyphs_widget): add make-glyph and set-glyph-image.
12129         (image_instantiator_widget): set_property -> update.
12130         (image_instantiator_buttons): ditto.
12131         (image_instantiator_progress_guage): ditto.
12132         (image_instantiator_tab_control): ditto.
12133         (VALID_LAYOUT_KEYWORDS): instantiators must now be vectors.
12134         (image_instantiator_layout): add update method.
12135
12136         * glyphs-msw.c (bmp_normalize):
12137         (mswindows_resource_normalize): add dest_mask so that it can be
12138         proprogated by layout_normalize.
12139         (begin_defer_window_pos): make optional because it may not be the
12140         right thing to do and it introduces differences with X.
12141         (mswindows_unmap_subwindow): ditto.
12142         (mswindows_map_subwindow): ditto.
12143         (mswindows_redisplay_subwindow): renamed from
12144         mswindows_update_subwindow.
12145         (mswindows_redisplay_widget): ditto.
12146         (mswindows_button_redisplay): renamed from
12147         mswindows_button_update. Update is now what the instantiation
12148         function does for a changed instantiator.
12149         (mswindows_progress_gauge_instantiate): set the progress value
12150         here if appropriate.
12151         (mswindows_tab_control_redisplay): cope with re-ordering of the
12152         members of the tab widget by simply selecting the new top
12153         widget. This makes things appear ok if you click on a tab.
12154         (mswindows_combo_box_instantiate): image_instance_layout now takes
12155         position as well as size.
12156         (mswindows_progress_gauge_redisplay): renamed from
12157         mswindows_progress_gauge_update.
12158         (console_type_create_glyphs_mswindows): fix update -> redisplay.
12159         (image_instantiator_format_create_glyphs_mswindows): ditto.
12160
12161         * glyphs-eimage.c (jpeg_normalize):
12162         (gif_normalize):
12163         (png_normalize):
12164         (tiff_normalize): add dest_mask so that it can be proprogated by
12165         layout_normalize.
12166
12167         * elhash.c:
12168         (print_hash_table):
12169         (hash_table_weakness_validate):
12170         (decode_hash_table_weakness):
12171         (Fhash_table_weakness):
12172         (Fhash_table_type):
12173         (syms_of_elhash): use Ben's naming scheme for hashtable types..
12174
12175         * console.h (struct console_methods): move update_* to
12176         redisplay_*.
12177
12178 2000-07-20  Ben Wing  <ben@xemacs.org>
12179
12180         * *.[ch] (XSETOBJ): remove unused middle argument.
12181         lisp-disunion.h: correct wrap_object() to one argument.
12182
12183 2000-07-15  Ben Wing  <ben@xemacs.org>
12184
12185         * s/cygwin32.h:
12186         * s/cygwin32.h (CYGWIN_CONV_PATH):
12187         Add missing logb prototype for v1.1.
12188         Use post-b20 names and alias to pre-b20 names when pre-b20.
12189
12190         * s/windowsnt.h: [5].
12191
12192 2000-07-15  Ben Wing  <ben@xemacs.org>
12193
12194         * Makefile.in.in (x_objs):
12195         * Makefile.in.in (sheap_objs):
12196         * Makefile.in.in (objs):
12197         added win32.o, cosmetic cleanups.
12198
12199         * alloc.c (Fmake_byte_code):
12200         [[[1]]]: Changes for new LIST_LOOP, EXTERNAL_LIST_LOOP,
12201         etc. macros which declare their own args now.
12202
12203         * alloc.c (syms_of_alloc):
12204         [[[2]]]: Use DEFSYMBOL, DEFKEYWORD, DEFERROR and friends.
12205
12206         * buffer.c:
12207         Moved buffer-dedicated-frame, set-buffer-dedicated-frame into lisp.
12208
12209         * buffer.c (Fget_file_buffer):
12210         Fixed GCPRO problem.
12211
12212         * buffer.c (get_truename_buffer):
12213         Fixed comment about GC checking.
12214
12215         * buffer.c (syms_of_buffer):
12216         Undeclared those dedicated frame funs.
12217         [2].
12218
12219         * buffer.h:
12220         Define convenience macros for internal/external conversions.
12221         [[[3]]]: Define codesys aliases Qcommand_argument_encoding
12222         and Qenvironment_variable_encoding for cleaner code.
12223
12224         * bufslots.h:
12225         Remove dedicated-frame; in lisp.
12226
12227         * bytecode.c (funcall_compiled_function):
12228         [1].
12229
12230         * bytecode.c (syms_of_bytecode):
12231         [2].
12232
12233         * console-msw.c:
12234         * console-msw.c (mswindows_show_console): Rewrote.
12235
12236         * console-msw.c (Fmswindows_debugging_output): New.
12237         Sends to OutputDebugString (special MSWin debugger interface).
12238
12239         * console-msw.c (Fmswindows_message_box):
12240         Fixed stupid bugs so it works when called from kill-emacs.
12241
12242         * console-msw.c (syms_of_console_mswindows):
12243         Declare Fmswindows_debugging_output.
12244
12245         * console-msw.h:
12246         New MSWin prototypes.
12247
12248         * console-msw.h (struct mswindows_frame):
12249         New entry last-click-mods for improved button-modifier support.
12250
12251         * console-msw.h (FRAME_MSWINDOWS_POPUP):
12252         New struct entry `popup' with corresponding accessor.
12253
12254         * console-x.c:
12255         * console-x.c (split_up_display_spec):
12256         * console-x.c (get_display_arg_connection):
12257         * console-x.c (x_semi_canonicalize_console_connection):
12258         * console-x.c (x_canonicalize_device_connection):
12259         [[[6]]]: Change char to more specific type.
12260         [[[8]]]: Make use of abstracting codesys aliases defined in [3], [4];
12261
12262         * console-x.c (x_semi_canonicalize_console_connection):
12263         * console-x.c (x_canonicalize_device_connection):
12264         [[[9]]]: Fix up error signalling to use new structured error system.
12265
12266         * console-x.h:
12267         [[[4]]]: Define codesys aliases:
12268         Qlwlib_encoding, Qx_atom_name_encoding, Qx_font_name_encoding,
12269         Qx_color_name_encoding, Qx_display_name_encoding.
12270
12271         * console.h (struct console_methods):
12272         New method make_dialog_box_internal supersedes older
12273         popup_dialog_box method.
12274
12275         * data.c:
12276         Define many new errors, part of new structured errors.
12277
12278         * data.c (init_errors_once_early):
12279         * data.c (syms_of_data):
12280         [2].
12281
12282         * device-msw.c (mswindows_init_device):
12283         [[[5]]]: Cleanup to support NT 3.51.
12284
12285         * device-msw.c (decode_devmode): Cleanup.
12286
12287         * device-msw.c (mswindows_handle_print_setup_dialog_box):
12288         * device-msw.c (mswindows_handle_print_dialog_box):
12289         * device-msw.c (mswindows_handle_page_setup_dialog_box):
12290         * device-msw.c (syms_of_device_mswindows):
12291         Delete the dialog box primitives recently introduced by Kirill and
12292         instead interface to general dialog box interface.
12293
12294         * device-x.c:
12295         * device-x.c (compute_x_app_name):
12296         * device-x.c (x_init_device):
12297         * device-x.c (Fx_valid_keysym_name_p):
12298         * device-x.c (Fx_set_font_path):
12299         [6].
12300         [7].
12301
12302         * device.h (wrap_device): New.
12303         First of its kind; meant to replace XSETDEVICE.
12304
12305         * dialog-msw.c: Many file-dialog symbols.
12306
12307         * dialog-msw.c (mswindows_register_popup_frame): New.
12308         * dialog-msw.c (mswindows_is_dialog_msg): New.
12309         For supporting kbd traversal in dialog boxes.
12310
12311         * dialog-msw.c (dialog_proc):
12312         Support hitting ESC in dialogs.
12313
12314         * dialog-msw.c (struct):
12315         Common dialog box errors.
12316
12317         * dialog-msw.c (handle_file_dialog_box): New.
12318         Add file dialog code.
12319
12320         * dialog-msw.c (handle_question_dialog_box):
12321         Redo existing code to support new question dialog syntax.
12322
12323         * dialog-msw.c (console_type_create_dialog_mswindows):
12324         We support new dialog console method.
12325
12326         * dialog-msw.c (syms_of_dialog_mswindows):
12327         * dialog-msw.c (vars_of_dialog_mswindows):
12328         New file dialog symbols, vars.
12329
12330         * dialog-x.c:
12331         * dialog-x.c (maybe_run_dbox_text_callback):
12332         * dialog-x.c (dbox_descriptor_to_widget_value):
12333         * dialog-x.c (x_make_dialog_box_internal):
12334         * dialog-x.c (console_type_create_dialog_x):
12335         Mule-ize entire file.
12336         Redo to support question dialog syntax.
12337         [6].
12338
12339         * dialog.c:
12340         * dialog.c (Fmake_dialog_box_internal):
12341         * dialog.c (syms_of_dialog):
12342         Kill old popup-dialog-box, replace with new primitive.
12343         Just call device method or signal error.
12344
12345         * eldap.c (Fldap_open):
12346         * eldap.c (Fldap_search_basic):
12347         * eldap.c (Fldap_add):
12348         * eldap.c (Fldap_modify):
12349         [1].
12350         [7].
12351
12352         * emacs.c:
12353         * emacs.c (make_arg_list_1):
12354         * emacs.c (make_arg_list):
12355         Mule-ize call to dll_init().
12356         [6].
12357         [8].
12358
12359         * emacs.c (make_argc_argv):
12360         * emacs.c (free_argc_argv):
12361         * emacs.c (init_cmdargs):
12362         * emacs.c (main_1):
12363         * emacs.c (Fkill_emacs):
12364         * emacs.c (Fdump_emacs):
12365         Update comments about what can be used in syms_* etc.
12366         Call init_win32() when necessary.
12367         Fix up MS Win dialog box in kill-buffer to actually work right.
12368         [7].
12369
12370         * eval.c:
12371         * eval.c (For):
12372         * eval.c (Fand):
12373         * eval.c (Fprogn):
12374         * eval.c (Fprog1):
12375         * eval.c (Fprog2):
12376         * eval.c (FletX):
12377         * eval.c (Flet):
12378         * eval.c (condition_case_3):
12379         * eval.c (Feval):
12380         * eval.c (function_argcount):
12381         * eval.c (funcall_lambda):
12382         [1].
12383
12384         * eval.c (type_error): New.
12385         * eval.c (maybe_type_error): New.
12386         * eval.c (continuable_type_error): New.
12387         * eval.c (maybe_continuable_type_error): New.
12388         * eval.c (type_error_with_frob): New.
12389         * eval.c (maybe_type_error_with_frob): New.
12390         * eval.c (continuable_type_error_with_frob): New.
12391         * eval.c (maybe_continuable_type_error_with_frob): New.
12392         New functions for use with structured errors.
12393
12394         * event-Xt.c:
12395         * event-Xt.c (x_event_to_emacs_event):
12396         Buttons are now modifiers too.
12397
12398         * event-Xt.c (emacs_Xt_current_event_timestamp):
12399         Implement new event method.
12400         * event-Xt.c (reinit_vars_of_event_Xt): Set it.
12401
12402         * event-msw.c:
12403         * event-msw.c (ntpipe_shove_writer): [5].
12404         * event-msw.c (mswindows_enqueue_mouse_button_event):
12405         * event-msw.c (mswindows_drain_windows_queue):
12406         * event-msw.c (mswindows_wnd_proc): [7].
12407         * event-msw.c (mswindows_current_layout_has_AltGr): [5].
12408         * event-msw.c (mswindows_modifier_state):
12409         Throughout: support new button modifiers.
12410
12411         * event-msw.c (emacs_mswindows_current_event_timestamp):
12412         Implement new event method.
12413         * event-msw.c (reinit_vars_of_event_mswindows): Set it.
12414
12415         * event-stream.c:
12416         * event-stream.c (event_stream_current_event_timestamp): New.
12417         * event-stream.c (maybe_kbd_translate): New functionality.
12418         * event-stream.c (vars_of_event_stream):
12419         Document new kbd-translate-table functionality.
12420
12421         * event-stream.c (Fcurrent_event_timestamp): New.
12422         New primitive for use in fabricated events.
12423         * event-stream.c (syms_of_event_stream): [2]. Declare new primitive.
12424
12425         * events-mod.h (XEMACS_MOD_BUTTON1): new button modifiers.
12426
12427         * events.c:
12428         * events.c (Fmake_event):
12429         * events.c (WRONG_EVENT_TYPE_FOR_PROPERTY):
12430         [1].
12431         [9].
12432
12433         * events.c (format_event_object): fix gcc warnings.
12434
12435         * events.c (Fevent_timestamp): Document new primitives.
12436
12437         * events.c (TIMESTAMP_HALFSPACE): New.
12438
12439         * events.c (Fevent_timestamp_lessp): New.  New primitive for
12440         comparing timestamps correctly (half-space algorithm).
12441
12442         * events.c (Fevent_modifier_bits): Doc fix.
12443
12444         * events.c (Fevent_modifiers): Major doc addition.
12445         * events.c (event_x_y_pixel_internal): Typo fix.
12446         * events.c (syms_of_events): Declare new primitives.
12447
12448         * events.h:
12449         Update long comment for button modifiers, timestamps.
12450
12451         * events.h (struct event_stream):
12452         New current_event_timestamp method.
12453
12454         * extents.c:
12455         * extents.c (extent_in_region_p):
12456         * extents.c (decode_extent):
12457         * extents.c (Fset_extent_parent):
12458         * extents.c (decode_map_extents_flags):
12459         Fix gcc warnings.
12460         [9].
12461
12462         * extents.c (struct extent_at_arg):
12463         * extents.c (decode_extent_at_flag):
12464         * extents.c (extent_at_mapper):
12465         * extents.c (extent_at_bytind):
12466         * extents.c (Fextent_at): Adapt to new lower-level interface. [9].
12467         * extents.c (Fextents_at): New primitive. [9].
12468         * extents.c (symbol_to_glyph_layout): [9].
12469         Support new primitive `extents-at'.
12470
12471
12472         * extents.c (get_text_property_bytind):
12473         extent_at_bytind has another arg.
12474         [9].
12475
12476         * extents.c (syms_of_extents): New primitive.
12477
12478         * file-coding.c (Fmake_coding_system): [1].
12479         * file-coding.c (subsidiary_coding_system): fix gcc warning
12480         * file-coding.c (syms_of_file_coding): [2].
12481
12482         * fileio.c (Fexpand_file_name):
12483         * fileio.c (Fsysnetunam):
12484         * fileio.c (Ffile_exists_p):
12485         * fileio.c (Ffile_executable_p):
12486         * fileio.c (Fverify_visited_file_modtime):
12487         Clean up GCPROing.
12488
12489         * fileio.c (syms_of_fileio): [2].
12490
12491         * filelock.c (lock_file_1):
12492         * filelock.c (current_lock_owner):
12493         * filelock.c (lock_if_free):
12494         * filelock.c (lock_file):
12495         * filelock.c (unlock_file):
12496         Clean up GCPROing.
12497
12498         * fns.c (concat): Fix gcc warning.
12499
12500         * fns.c (Fmember):
12501         * fns.c (Fold_member):
12502         * fns.c (Fmemq):
12503         * fns.c (Fold_memq):
12504         * fns.c (memq_no_quit):
12505         * fns.c (Fassoc):
12506         * fns.c (Fold_assoc):
12507         * fns.c (Fassq):
12508         * fns.c (Fold_assq):
12509         * fns.c (assq_no_quit):
12510         * fns.c (Frassoc):
12511         * fns.c (Fold_rassoc):
12512         * fns.c (Frassq):
12513         * fns.c (Fold_rassq):
12514         * fns.c (rassq_no_quit):
12515         * fns.c (Fdelete):
12516         * fns.c (Fold_delete):
12517         * fns.c (Fdelq):
12518         * fns.c (Fold_delq):
12519         * fns.c (delq_no_quit):
12520         * fns.c (Fremassoc):
12521         * fns.c (Fremassq):
12522         * fns.c (remassq_no_quit):
12523         * fns.c (Fremrassoc):
12524         * fns.c (Fremrassq):
12525         * fns.c (remrassq_no_quit):
12526         * fns.c (Freverse):
12527         * fns.c (mapcar1):
12528         [1].
12529
12530         * frame-msw.c (mswindows_init_frame_1):
12531         * frame-msw.c (mswindows_delete_frame):
12532         Register popups with dialog code so keyboard traversing works.
12533
12534         * frame-tty.c (tty_raise_frame_no_select): [1].
12535
12536         * frame-x.c:
12537         * frame-x.c (x_set_frame_text_value):
12538         * frame-x.c (x_set_frame_properties):
12539         * frame-x.c (x_create_widgets):
12540         [7].
12541
12542         * frame.c:
12543         * frame.c (Fmouse_pixel_position): Minor doc fixes.
12544
12545         * frame.h (wrap_frame): New.
12546         Macro like wrap_device.
12547
12548         * general.c:
12549         * general.c (SYMBOL):
12550         * general.c (syms_of_general):
12551         Major reorg.  This is now just a wrapper and symbols themselves
12552         are listed in general-slots.h.
12553
12554         * glyphs-eimage.c (tiff_instantiate): Need cast to fix warning.
12555         * glyphs-msw.c (mswindows_resource_instantiate): [5].
12556
12557         * glyphs-msw.c (mswindows_native_layout_instantiate):
12558         Add DS_CONTROL so keyboard traversal will work.
12559
12560         * glyphs-widget.c:
12561         * glyphs-widget.c (syms_of_glyphs_widget):
12562         Move some symbols to general-slots.h.
12563
12564         * glyphs-x.c:
12565         * glyphs-x.c (xbm_instantiate_1):
12566         * glyphs-x.c (x_xbm_instantiate):
12567         * glyphs-x.c (x_xface_instantiate):
12568         * glyphs-x.c (autodetect_instantiate):
12569         * glyphs-x.c (cursor_font_instantiate):
12570         * glyphs-x.c (x_update_widget):
12571         * glyphs-x.c (x_widget_instantiate):
12572         * glyphs.c (bitmap_to_lisp_data):
12573         * glyphs.c (pixmap_to_lisp_data):
12574         [7].
12575
12576         * glyphs.c (syms_of_glyphs):
12577         [2].
12578
12579         * gui-x.c:
12580         * gui-x.c (print_widget_value):
12581         * gui-x.c (menu_separator_style_and_to_external):
12582         * gui-x.c (add_accel_and_to_external):
12583         * gui-x.c (button_item_to_widget_value):
12584         * gui-x.c (gui_items_to_widget_values_1):
12585         * gui-x.c (gui_items_to_widget_values):
12586         * gui-x.c (syms_of_gui_x):
12587         * gui-x.c (vars_of_gui_x):
12588         Mule-ize entire file.  Move menu-no-selection-hook to gui.c.
12589         [9].
12590
12591         * gui-x.h:
12592         Muleize, prototype changes matching gui-x.c.
12593
12594         * gui.c:
12595         * gui.c (separator_string_p):
12596         * gui.c (gui_item_add_keyval_pair):
12597         * gui.c (make_gui_item_from_keywords_internal):
12598         * gui.c (signal_too_long_error):
12599         * gui.c (parse_gui_item_tree_item):
12600         * gui.c (syms_of_gui):
12601         * gui.c (vars_of_gui):
12602         * gui.h:
12603         menu-no-selection-hook moved here (used by MSWin).
12604         Move some symbols to general-slots.h.
12605         [6].
12606         [9].
12607
12608         * insdel.c (get_buffer_pos_char):
12609         * insdel.c (get_buffer_range_char):
12610         Add GC comments.
12611
12612         * keymap.c (keymap_lookup_directly):
12613         * keymap.c (keymap_store):
12614         * keymap.c (ensure_meta_prefix_char_keymapp):
12615         * keymap.c (describe_map):
12616         * keymap.h:
12617         Support new button modifiers.
12618
12619         * lisp-disunion.h (wrap_object):
12620         * lisp-disunion.h (XSETOBJ):
12621         Rename make_obj to wrap_object.
12622
12623         * lisp-union.h:
12624         * lisp-union.h (make_int):
12625         * lisp-union.h (make_char):
12626         Support wrap_object.
12627
12628         * lisp.h:
12629         * lisp.h (LIST_LOOP):
12630         * lisp.h (EXTERNAL_LIST_LOOP):
12631         * lisp.h (LIST_LOOP_2):
12632         * lisp.h (EXTERNAL_LIST_LOOP_1):
12633         * lisp.h (EXTERNAL_LIST_LOOP_2):
12634         * lisp.h (EXTERNAL_LIST_LOOP_3):
12635         * lisp.h (EXTERNAL_LIST_LOOP_4_NO_DECLARE):
12636         * lisp.h (PRIVATE_EXTERNAL_LIST_LOOP_6):
12637         * lisp.h (GET_EXTERNAL_LIST_LENGTH):
12638         * lisp.h (EXTERNAL_ALIST_LOOP_5):
12639         * lisp.h (EXTERNAL_ALIST_LOOP_6):
12640         * lisp.h (EXTERNAL_ALIST_LOOP_6_NO_DECLARE):
12641         * lisp.h (EXTERNAL_PROPERTY_LIST_LOOP_5_NO_DECLARE):
12642         * lisp.h (EXTERNAL_PROPERTY_LIST_LOOP_7):
12643         * lisp.h (struct Lisp_Symbol):
12644         * lisp.h (maybe_continuable_error_with_frob):
12645         Fix up section comments.
12646         Add new types for char to indicate usage.
12647         Delete symbols auto-generated from general-slots.h.
12648         Add prototypes for structured error functions.
12649         Add long comments describing looping macros and change interface
12650         so that lvalues are automatically declared.
12651         Add NO_DECLARE macro in case callers want to declare lvalues
12652         themselves.
12653
12654         * lread.c (read_syntax_error):
12655         * lread.c (continuable_read_syntax_error):
12656         * lread.c (read_structure):
12657         * lread.c (sequence_reader):
12658         * lread.c (read_list_conser):
12659         * lread.c (read_compiled_function):
12660         Rename syntax_error and continuable_syntax_error to avoid clash
12661         with same-named structured error functions.
12662
12663         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
12664         * menubar-msw.c (populate_menu_add_item):
12665         * menubar-msw.c (populate_or_checksum_helper):
12666         [5].
12667         [9].
12668
12669         * menubar-x.c:
12670         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
12671         Mule-ize whole file.
12672
12673         * menubar.c (Fnormalize_menu_item_name): Add optimization.
12674
12675         * mule-charset.c (Fmake_charset):
12676         * mule-wnnfns.c (Fwnn_set_param):
12677         [1].
12678
12679         * ntproc.c (create_child):
12680         * ntproc.c (Fwin32_set_current_locale):
12681         Add comments portending doom.
12682
12683         * objects-msw.c:
12684         * objects-msw.c (old_font_enum_callback_2):
12685         * objects-msw.c (font_enum_callback_1):
12686         * objects-msw.c (mswindows_enumerate_fonts):
12687         [5].
12688
12689         * objects-x.c:
12690         * objects-x.c (allocate_nearest_color):
12691         * objects-x.c (x_parse_nearest_color):
12692         * objects-x.c (x_initialize_color_instance):
12693         * objects-x.c (x_print_color_instance):
12694         * objects-x.c (x_finalize_color_instance):
12695         * objects-x.c (x_valid_color_name_p):
12696         * objects-x.c (x_initialize_font_instance):
12697         * objects-x.c (x_print_font_instance):
12698         * objects-x.c (valid_x_font_name_p):
12699         * objects-x.c (truename_via_FONT_prop):
12700         * objects-x.c (truename_via_random_props):
12701         * objects-x.c (truename_via_XListFonts):
12702         * objects-x.c (x_font_truename):
12703         * objects-x.c (x_font_instance_truename):
12704         * objects-x.c (x_font_instance_properties):
12705         * objects-x.c (x_list_fonts):
12706         * objects-x.c (x_find_charset_font):
12707         Mule-ize entire file.
12708         [7].
12709
12710         * objects-x.h:
12711         Mule-verify.
12712
12713         * print.c:
12714         * print.c (std_handle_out_external):
12715         * print.c (debug_print_no_newline):
12716         * print.c (syms_of_print):
12717         Output to all debugger kinds in debug-print.
12718         Fix console-output code under MSWin to actually work.
12719
12720         * process-nt.c (send_signal):
12721         * process-nt.c (nt_create_process):
12722         Use newer Unicode macros.
12723
12724         * process-unix.c (unix_create_process):
12725         * process-unix.c (unix_canonicalize_host_name):
12726         * process-unix.c (unix_open_network_stream):
12727         [7].
12728
12729         * scrollbar-x.c:
12730         Mule-verify.
12731
12732         * search.c (syms_of_search):
12733         [2].
12734
12735         * select-msw.c (mswindows_destroy_selection):
12736         Use LIST_LOOP_2.
12737
12738         * select-x.c (symbol_to_x_atom):
12739         [7].
12740
12741         * select.c (syms_of_select):
12742         [2].
12743
12744         * sound.c (Fplay_sound_file):
12745         [7].
12746
12747         * specifier.c:
12748         * specifier.c (decode_specifier_type):
12749         * specifier.c (Fvalid_specifier_locale_type_p):
12750         * specifier.c (check_valid_locale_or_locale_type):
12751         * specifier.c (decode_locale):
12752         * specifier.c (decode_locale_type):
12753         * specifier.c (decode_locale_list):
12754         * specifier.c (check_valid_domain):
12755         * specifier.c (decode_specifier_tag_set):
12756         * specifier.c (Fcanonicalize_tag_set):
12757         * specifier.c (Fdefine_specifier_tag):
12758         * specifier.c (Fspecifier_tag_predicate):
12759         * specifier.c (check_valid_inst_list):
12760         * specifier.c (check_valid_spec_list):
12761         * specifier.c (decode_how_to_add_specification):
12762         * specifier.c (check_modifiable_specifier):
12763         * specifier.c (specifier_add_spec):
12764         * specifier.c (boolean_validate):
12765         * specifier.c (display_table_validate):
12766         [9].
12767
12768         * specifier.c (syms_of_specifier):
12769         Move some symbols to general-slots.h.
12770         [2].
12771
12772         * symbols.c:
12773         * symbols.c (Fmapatoms):
12774         * symbols.c (Fapropos_internal):
12775         Add GCPROs.
12776
12777         * symbols.c (set_default_buffer_slot_variable):
12778         * symbols.c (set_default_console_slot_variable):
12779         [1].
12780
12781         * symbols.c (defsymbol_massage_name_1):
12782         * symbols.c (defkeyword_massage_name):
12783         * symbols.c (deferror_1):
12784         * symbols.c (deferror):
12785         * symbols.c (deferror_massage_name_and_message):
12786         * symeval.h:
12787         * symeval.h (DEFSYMBOL):
12788         Support DEFSYMBOL*, DEFKEYWORD, DEFERROR
12789
12790         * symbols.c (syms_of_symbols):
12791         [2].
12792
12793         * symsinit.h:
12794         * symsinit.h (init_win32): New.
12795         Also new is syms_of_dialog_mswindows.
12796
12797         * syswindows.h:
12798         Add new Unicode macros, missing Cygwin wide-char functions,
12799         convenience conversion macros for Qmswindows_tstr, macros for
12800         encapsulating required MSWin <-> Cygwin filename conversions,
12801         prototype for dynamically-extracted (not in NT 3.51) functions.
12802
12803         * toolbar-x.c:
12804         Mule-verify.
12805
12806         * tooltalk.c (Fadd_tooltalk_message_arg):
12807         * tooltalk.c (Fadd_tooltalk_pattern_attribute):
12808         * tooltalk.c (Fadd_tooltalk_pattern_arg):
12809         [7].
12810
12811         * tooltalk.c (syms_of_tooltalk):
12812         [2].
12813
12814         * unexnt.c:
12815         * unexnt.c (unexec):
12816         Fix up headers, declaration of unexec() to be more standard.
12817
12818 2000-07-20  Martin Buchholz  <martin@xemacs.org>
12819
12820         * offix.h: Revert change to guard macros - they're used in offix.c!
12821
12822 2000-07-18  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12823
12824         * lisp.h: Defsubred Fdelete.
12825
12826         * console-msw.h:  (msprinter_default_printer): Added.
12827
12828         * console-msw.c (msprinter_canonicalize_console_connection):
12829         (msprinter_canonicalize_device_connection): Added.
12830
12831         * device-msw.c (msprinter_default_printer):
12832         (Fmswingows_get_default_printer):
12833         (signal_enum_priner_error):
12834         (Fmswingows_printer_list): Added.
12835
12836 2000-07-19  Martin Buchholz <martin@xemacs.org>
12837
12838         * XEmacs 21.2.35 is released.
12839
12840 2000-07-19  Martin Buchholz  <martin@xemacs.org>
12841
12842         * select-x.c (x_handle_selection_request):
12843         Text selected in xemacs and pasted into xterm failed to appear.
12844         Spelling fixes and cosmetic changes.
12845
12846 2000-07-18  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12847
12848         * event-msw.c (mswindows_drain_windows_queue): Correctly check for
12849         XEmacs frame (fix for doubling chars in dialog boxes).
12850
12851 2000-07-17 Alastair J. Houghton <ajhoughton@lineone.net>
12852
12853         * select.c (select_convert_in, select_convert_out):
12854         Don't call intern() every time.
12855
12856         * select.c (Qselect_convert_in, Qselect_convert_out): New.
12857         * select.c (vars_of_select): Initialise them.
12858
12859 2000-07-18 Alastair J. Houghton <ajhoughton@lineone.net>
12860
12861         * select.c (selection-coercible-types): New.
12862
12863         * select.c (own-selection-internal):
12864         * select.c (get-selection-internal):
12865         MULE bug fix - these should default to COMPOUND_TEXT and not
12866         STRING for MULE. I think.
12867
12868         * select.c (select_convert_out): Use selection-coercible-types
12869         to find types that we can attempt to perform coercions on.
12870
12871 2000-07-18  Martin Buchholz  <martin@xemacs.org>
12872
12873         * mule-wnnfns.c:
12874         * mule-canna.c:
12875         Add coding: cookie to identify encoding.
12876
12877         * mule-canna.c (CANNA_mode_keys): make static.
12878         Use proper prototypes, even for functions of no arguments.
12879         Remove external prototype for Fding().
12880
12881         * symsinit.h: Add missing prototype for reinit_vars_of_mule_wnn.
12882
12883         * select.c (syms_of_select): Add missing DEFSUBR.
12884
12885 2000-07-18 Alastair J. Houghton <ajhoughton@lineone.net>
12886
12887         * select.c (get_selection_internal, own_selection_internal):
12888         Make the type default to STRING, rather than placing a nil type
12889         into Vselection_alist.
12890
12891 2000-07-17 Alastair J. Houghton <ajhoughton@lineone.net>
12892
12893         * gpmevent.c (tty_selection_exists_p):
12894         * gpmevent.c (tty_own_selection):
12895         Updated parameter lists.
12896
12897 2000-07-15 Alastair J. Houghton <ajhoughton@lineone.net>
12898
12899         * select.h (selection-alist): Removed declaration.
12900
12901         * select.h (get_local_selection):
12902         * select.c (get_local_selection):
12903         Made static.
12904
12905         * select.h (convert_selection): Removed declaration.
12906         * select.c (convert_selection): Removed.
12907         This function belongs in Lisp.
12908
12909         * select.h (select_convert_in): Declare.
12910         * select.h (select_convert_out): Declare.
12911         * select.c (select_convert_in): New.
12912         * select.c (select_convert_out): New.
12913         New conversion functions for other files to call.
12914
12915         * select.h (select_notify_buffer_kill): Declare.
12916         * select.c (select_notify_buffer_kill): New.
12917         New functions that get called from kill-buffer.
12918
12919         * buffer.c (kill-buffer): Call select_notify_buffer_kill, rather than
12920         X-specific lisp code.
12921
12922         * select.h: Declare some of the lisp-visible functions for
12923         external use.
12924
12925         * select.c (clean_local_selection_data): Removed. This was
12926         a disgusting function, and previously should have been in
12927         select-x.c in any case. The functionality is now provided
12928         in select-convert-from-integer (select.el).
12929
12930         * select.c (available-selection-types): Fixed stupidity where
12931         INTEGER and ATOM got added twice. Also add STRING when we see an
12932         extent.
12933
12934         * select.c (get-selection-internal): Removed symbol stripping. No
12935         longer causes conversion when data comes from the internal cache.
12936
12937         * select.c (syms_of_select): Added new functions.
12938
12939         * select-x.c (motif_clipboard_cb): Use select_convert_out. Rewrote
12940         error checking - previously this called abort!
12941
12942         * select-x.c (x_own_selection): Changed comment.
12943
12944         * select-x.c (x_handle_selection_request): Use select_convert_out.
12945         Don't mess with selection-alist; it's an internal variable of select.c.
12946
12947         * select-x.c (x_get_foreign_selection): Use select_convert_in.
12948
12949         * select-x.c (x_handle_selection_clear): Use get-selection-timestamp,
12950         rather than messing with selection-alist.
12951
12952         * select-msw.c (mswindows_get_foreign_selection):
12953         Use TO_INTERNAL_FORMAT rather than hacking.
12954
12955 2000-07-14  Martin Buchholz  <martin@xemacs.org>
12956
12957         * process-unix.c (unix_open_multicast_group):
12958         (unix_open_multicast_group): Remove useless casts.
12959
12960 2000-07-13  Martin Buchholz  <martin@xemacs.org>
12961
12962         * sound.c (Fplay_sound): Fix `unused variable' warning.
12963
12964         * emacs.c (main): Use correct type for _environ on SCO5.
12965
12966 2000-07-12 Alastair J. Houghton <ajhoughton@lineone.net>
12967
12968         * console.h (own_selection_method):
12969         * console.h (selection_exists_p_method):
12970         * console.h (available_selection_types_method): New.
12971         * console.h (register_selection_data_type_method): New.
12972         * console.h (selection_data_type_name): New.
12973
12974         * console-msw.h (mswindows_destroy_selection): Declare it.  New
12975         function & alist to track GlobalAlloc()'d handles that need
12976         releasing when the clipboard data gets replaced or emptied.
12977
12978         * event-msw.c (mswindows_wnd_proc): Call it.
12979
12980         * lisp.h, general.c (Qappend): New symbol representing a
12981         `how-to-add' mode.
12982
12983         * select.c (own-selection-internal):
12984         * select.c (selection-exists-p):
12985         * select.c (available-selection-types): New.
12986         * select.c (register-selection-data-type): New.
12987         * select.c (selection-data-type-name): New.  New functions to deal
12988         with device-specific selection data formats.
12989         * select.c (selection-converter-out-alist): Renamed.
12990         * select.c (selection-converter-in-alist): New.
12991         * select.c (selection-appender-alist): New.  Added new alists.
12992         * select.c (syms_of_select, vars_of_select): Added new symbols &
12993         variables.
12994         * select.c (get_local_selection): Split.
12995         * select.c: Removed spurious type checking - selections may now be
12996         of any type, not just strings.
12997         * select.c (own-selection-internal):
12998
12999         * select.h, select.c (convert_selection): New. Created
13000         convert_selection() function based on get_local_selection().
13001         * select.h, select.c (QCF_*): New symbols representing mswindows
13002         clipboard formats.
13003         * select.h, select.c (Qreplace_all, Qreplace_existing): New
13004         symbols representing `how-to-add' modes.
13005
13006         * select-msw.c (x_sym_p): New.
13007         * select-msw.c (symbol_to_ms_cf): New.
13008         * select-msw.c (ms_cf_to_symbol): New. New functions to deal with
13009         symbols & clipboard formats. Can also handle string names.
13010         * select-msw.c (mswindows_own_selection):
13011         * select-msw.c (mswindows_selection_exists_p):
13012         Added `data-type' parameter. Use it.
13013         * select-msw.c (mswindows_available_selection_types): New.
13014         * select-msw.c (mswindows_register_selection_data_type): New.
13015         * select-msw.c (mswindows_selection_data_type_name): New.
13016         * select-msw.c (mswindows_own_selection):
13017         * select-msw.c (mswindows_get_foreign_selection):
13018         * select-msw.c (mswindows_selection_exists_p):  Rewrote.
13019         * select-msw.c (console_create_select_mswindows): Added new methods.
13020         * select-msw.c (mswindows_destroy_selection): New.
13021         * select-msw.c (Vhandle_alist): New list.
13022         * select-msw.c (mswindows_own_selection):
13023
13024         * select-x.c (x_own_selection):
13025         * select-x.c (x_selection_exists_p):
13026         * select-x.c: Added some comments about maybe using new
13027         functionality.
13028         * select-x.c (x_own_selection):
13029
13030         * specifier.c: Remove definition of Qappend (now in general.c)
13031         * specifier.c (syms_of_specifier): Remove Qappend.
13032
13033 2000-07-12  Martin Buchholz  <martin@xemacs.org>
13034
13035         * config.h.in: Add socklen_t.
13036
13037         * s/decosf4-0.h: No special compiler flags needed or desired.
13038         In particular, undefine _BSD for DEC OSF 4.0.
13039
13040 2000-07-07  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
13041
13042         * redisplay-msw.c (msprinter_frame_output_end): Added.
13043         (console_type_create_redisplay_mswindows): Referred the above.
13044
13045         * frame.c (setup_frame_without_minibuffer): Do not create a
13046         default minibuffer frame on a printer device.
13047
13048         * frame-msw.c (apply_dc_geometry): Added.
13049         (msprinter_start_page):
13050         (msprinter_init_frame_3):
13051         (msprinter_eject_page): Use it.
13052
13053         * console-msw.h (struct msprinter_frame): Added pix_left and top,
13054         and removed residual duplex and orientation properties.
13055
13056 2000-07-11  Martin Buchholz  <martin@xemacs.org>
13057
13058         * eval.c (function_argcount): Work around a DEC CC compiler bug.
13059
13060         * unexalpha.c: Remove system prototypes from C sources!
13061
13062 2000-07-09  Adrian Aichner  <aichner@ecf.teradyne.com>
13063
13064         * eval.c: Remove references to M-x edit-options in DEFUNs for
13065         `defvar' and `defconst'.
13066
13067 2000-07-09  Martin Buchholz  <martin@xemacs.org>
13068
13069         * config.h.in: Remove SMART_INCLUDE hackery.
13070
13071         PostgreSQL hacking:
13072         * config.h.in: Don't use SMART_INCLUDE.
13073
13074         * postgresql.h: Include libpq-fe.h here.  Fix typo.
13075         * inline.c: Simply #include "postgresql.h"
13076         * postgresql.c:
13077         - Don't use SMART_INCLUDE
13078         - Use simply "const".
13079         - Use standard doc string conventions.
13080         - Use correct type for result of PQstatus.
13081
13082 2000-07-09  Martin Buchholz  <martin@xemacs.org>
13083
13084         * glyphs-x.c (x_xface_instantiate): Fix C++ compilation warnings.
13085
13086         C++ compilation changes.
13087         * config.h.in (EXTERN_C): Define.
13088         * config.h.in (not): This is also a C++ keyword.
13089         * unexalpha.c (DEFAULT_ENTRY_ADDRESS): Enable C++ compilation.
13090         * cm.c: Use EXTERN_C.
13091         * redisplay-tty.c: Use EXTERN_C.
13092         * sysdep.c: Use EXTERN_C.  Remove Gould support.
13093
13094 2000-07-09  Martin Buchholz  <martin@xemacs.org>
13095
13096         * general.c: Remove duplicate definition for Qfunction.
13097
13098 2000-07-08  Ben Wing  <ben@xemacs.org>
13099
13100         * device-msw.c (msprinter_init_device):
13101         * device-msw.c (sync_printer_with_devmode):
13102         * device-msw.c (handle_devmode_changes):
13103         * device-msw.c (print_dialog_worker):
13104         * device-msw.c (Fmsprinter_apply_settings):
13105         * device-msw.c (hash_devmode):
13106         * device-msw.c (Fmsprinter_settings_despecialize):
13107         use Qmswindows_tstr, not Qctext.
13108
13109         * vm-limit.c (check_memory_limits):
13110         avoid infinite loop printing warning messages.
13111
13112 2000-07-05  Craig Lanning  <lanning@scra.org>
13113
13114         * Makefile.in.in: Add support for including the Windows resources
13115         when building with the cygwin and mingw targets.
13116
13117         * buffer.c: from Dan Holmsand, on Windows $PWD is most likely either
13118         not set or not correct.
13119         (directory_is_current_directory): Don't compile for WIN32_NATIVE.
13120         (init_initial_directory): Don't try to use $PWD on the
13121         WIN32_NATIVE target.
13122
13123         * s\cygwin32.h:
13124         [[Add -mwindows to eliminate console window.]] not required --ben
13125         (HAVE_NATIVE_SOUND): removed; now handled by configure.
13126         (MAIL_USE_POP): removed; now handled by configure.
13127
13128         * s\mingw32.h: [[Add -mwindows to eliminate console window.]] not in
13129         C_SWITCH_SYSTEM or it will affect lib-src progs. --ben
13130         (HAVE_NATIVE_SOUND): removed; now handled by configure.
13131         (MAIL_USE_POP): removed; now handled by configure.
13132         (ENCAPSULATE_STAT): from Dan Holmsand, added.
13133         (ENCAPSULATE_FSTAT): from Dan Holmsand, added.
13134         (DIRECTORY_SEP): from Dan Holmsand, use lisp variable instead of
13135         constant string.
13136         (HAVE_TIMEVAL): from Dan Holmsand, added; struct timeval is picked
13137         up from <winsock.h> via systime.h.
13138         (HAVE_GETPAGESIZE): from Dan Holmsand, added.
13139         (getpagesize): from Dan Holmsand, added.
13140         Added #endif which was left dangling by Ben's mega patch; added
13141         comment to help prevent this in the future.
13142
13143         * sysdll.c: added #include <windows.h> for WIN32_NATIVE case.
13144
13145 2000-07-05  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
13146
13147         * console-msw.h (struct mswindows_device): Removed unnecessary
13148         cached device geometry values.
13149         Added update_tick and an accessor macro.
13150         (Lisp_Devmode): Added lrecord declaration.
13151         (struct msprinter_device): Contain devmode as a Lisp object.
13152         Added mswindows_get_selected_frame_hwnd();
13153
13154         * console.h (struct console_methods): Indentation nitpicking.
13155
13156         * device-msw.c (mswindows_init_device): Do not initialize geometry
13157         cache. Initialize update tick.
13158         (mswindows_device_system_metrics): Ask the device for its geometry.
13159         (global_free_2_maybe):
13160         (devmode_to_hglobal):
13161         (handle_printer_changes):
13162         (ensure_not_printing):
13163         (print_dialog_worker):
13164         (Fmsprinter_print_setup_dialog):
13165         (Fmsprinter_print_dialog):
13166         (plist_get_margin):
13167         (plist_set_margin):
13168         (Fmsprinter_page_setup_dialog): Added functions.
13169         (sync_printer_with_devmode):
13170         (handle_devmode_changes):
13171         (Fmsprinter_get_settings):
13172         (Fmsprinter_select_settings):
13173         (Fmsprinter_apply_settings):
13174         (allocate_devmode):
13175         (Fmsprinter_settings_copy):
13176         (Fmsprinter_settings_despecialize):
13177         (print_devmode):
13178         (finalize_devmode):
13179         (equal_devmode):
13180         (hash_devmode): Added functions
13181         (syms_of_device_mswindows): Init devmode lrecord class.
13182
13183         * device.h: Added an exfun for find-device.
13184
13185         * event-msw.c (mswindows_wnd_proc): Do not update the cached
13186         geometry; although, recreate the device compatible DC.
13187
13188         * frame-msw.c (mswindows_get_selected_frame_hwnd): Added.
13189         (msprinter_init_frame_3):
13190         (msprinter_frame_property):
13191         (msprinter_internal_frame_property_p):
13192         (msprinter_frame_properties):
13193         (msprinter_set_frame_properties): Removed 'orientation and 'duplex
13194         print job properties (will move to device settings).
13195
13196         * lisp.h: Added symbols.
13197
13198         * general.c (syms_of_general): Declared them.
13199
13200         * hash.c (string_hash): Added.
13201
13202         * lrecord.h (lrecord_type): Added devmode lrecord type.
13203
13204 2000-07-02  Mike Sperber <mike@xemacs.org>
13205
13206         * s/freebsd.h (INTERRUPTIBLE_OPEN): open *is* interruptible on
13207         FreeBSD 4.0.
13208
13209 2000-06-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
13210
13211         * doprnt.c (emacs_doprnt_1): Fix problem with %0XXd for a negative
13212         integer.
13213
13214 2000-06-07  MORIOKA Tomohiko  <tomo@urania.m17n.org>
13215
13216         * data.c (Fstring_to_number): Don't recognize floating point if
13217         base is not 10.
13218
13219 2000-06-22  Martin Buchholz  <martin@xemacs.org>
13220
13221         * glyphs-widget.c (tab_control_query_geometry):
13222         (widget_query_geometry):
13223         (button_query_geometry):
13224         * glyphs.c (text_query_geometry):
13225         Enforce type correctness.
13226
13227 2000-06-18  Martin Buchholz  <martin@xemacs.org>
13228
13229         * s/decosf4-0.h (_etext): Use portable _etext instead of etext.
13230         * s/decosf4-0.h (_edata): Use portable _edata instead of edata.
13231
13232 2000-06-17  Martin Buchholz  <martin@xemacs.org>
13233
13234         * s/decosf4-0.h: Never #include "/usr/include/FOO.h" because this
13235         conflicts with gcc's fixincluded version of FOO.h.
13236
13237         * glyphs.h (image_instance_geometry): Remove trailing `,'
13238
13239 2000-06-08  Mike Alexander  <mta@arbortext.com>
13240
13241         (MAX_SHOVE_BUFFER_SIZE): Change to 512 to match stream buffer size
13242         (shove_thread): Don't write the same output twice
13243         (make_ntpipe_output_stream): Increase priority of shove thread
13244         (ntpipe_shove_writer): Call SwitchToThread to give shove thread a
13245         chance to run
13246         (ntpipe_shove_closer): Don't delete the pipe until we're done with
13247         it.
13248
13249 2000-06-12  Ben Wing  <ben@xemacs.org>
13250
13251         * s\mingw32.h (sigset):
13252         * s\windowsnt.h (sigset):
13253         rename msw_ to mswindows_ for consistency with general convention.
13254
13255 2000-06-12  Ben Wing  <ben@xemacs.org>
13256
13257         * console-msw.c:
13258         * console-msw.c (mswindows_get_console_hwnd):
13259         * console-msw.c (mswindows_ensure_console_allocated):
13260         * console-msw.c (mswindows_hide_console):
13261         * console-msw.c (mswindows_show_console):
13262         * console-msw.c (mswindows_ensure_console_buffered):
13263         * console-msw.c (mswindows_output_console_string):
13264         * console-msw.c (mswindows_windows9x_p):
13265         * console-msw.h:
13266         * device-msw.c (mswindows_get_workspace_coords):
13267         * device-msw.c (mswindows_device_system_metrics):
13268         * dialog-msw.c (mswindows_popup_dialog_box):
13269         * event-msw.c (mswindows_wnd_proc):
13270         * frame-msw.c (mswindows_size_frame_internal):
13271         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
13272         * menubar-msw.c (displayable_menu_item):
13273         * menubar-msw.c (mswindows_char_is_accelerator):
13274         * nt.c:
13275         * nt.c (mswindows_sigset):
13276         * nt.c (mswindows_sigrelse):
13277         * nt.c (mswindows_sigpause):
13278         * nt.c (mswindows_raise):
13279         * nt.c (timer_proc):
13280         * ntproc.c:
13281         * ntproc.c (find_child_console):
13282         * ntproc.c (sys_kill):
13283         * print.c:
13284         * print.c (std_handle_out_external):
13285         * process-nt.c (find_child_console):
13286         * process-nt.c (send_signal_the_95_way):
13287         * process-nt.c (ensure_console_window_exists):
13288         * process-nt.c (nt_create_process):
13289         * syssignal.h:
13290         rename msw_ to mswindows_ for consistency with general convention.
13291
13292         * emacs.c:
13293         * dumper.c:
13294         include nt.h, not syswindows.h.
13295
13296         * nt.c (mswindows_fstat):
13297         * nt.c (mswindows_stat):
13298         prefix mswindows_ instead of attempting to directly override the
13299         library functions.  fix declarations.
13300
13301         * nt.h:
13302         include syswindows.h.  move some sysdep.h stuff here.
13303
13304         * ntheap.h:
13305         include syswindows.h, not <windows.h>.
13306
13307         * ntplay.c:
13308         clean up headers.
13309
13310         * sysdep.c:
13311         clean up headers.
13312
13313         * sysdep.c (sys_fstat):
13314         * sysdep.c (sys_stat):
13315         call mswindows versions when appropriate.
13316
13317         * sysdep.h:
13318         move mswin decls to nt.h.
13319
13320         * syswindows.h:
13321         add long comment describing appropriate use of the various windows
13322         headers.
13323
13324 2000-06-11  Ben Wing  <ben@xemacs.org>
13325
13326         * device-x.c: Correct doc string for sixth arg of x-get-resource.
13327
13328 2000-06-10  Ben Wing  <ben@xemacs.org>
13329
13330         * Makefile.in.in (release):
13331         Correction to make sure xemacs.exe always dumped when correct.
13332
13333         * alloca.c:
13334         * balloon_help.c:
13335         [[[[3]]]]: Conditionalize on actual problem, not WINDOWSNT.
13336
13337         * buffer.c (set_buffer_internal):
13338         [[[[2]]]]: Remove HAVE_FEP code.
13339
13340         * buffer.c (init_initial_directory):
13341         [3].
13342
13343         * bytecode.c:
13344         [[[[4]]]]: limits.h standardly included in lisp.h; remove from
13345         individual files.
13346
13347         * callproc.c:
13348         * callproc.c (call_process_cleanup):
13349         * callproc.c (Fold_call_process_internal):
13350         * callproc.c (child_setup):
13351         * callproc.c (getenv_internal):
13352         * callproc.c (init_callproc):
13353         * callproc.c (vars_of_callproc):
13354         [[[[1]]]]: WINDOWSNT -> WIN32_NATIVE.
13355         __CYGWIN32__ -> CYGWIN.
13356         DOS_NT -> WIN32_NATIVE.
13357         Remove MSDOS support/references, converting to WIN32_NATIVE
13358           where correct.
13359         __MINGW32__ -> MINGW.
13360         Fix windows.h includes.
13361         Remove bogus HAVE_NTGUI.
13362
13363         * config.h.in:
13364         [2].
13365
13366         * console-msw.c:
13367         mswindows_message_outputted added for use in allowing startup
13368         errors on the console to be seen.
13369
13370         * console-msw.c (msw_ensure_console_allocated):
13371         * console-msw.c (msw_output_console_string):
13372         * console-msw.c (DHEADER):
13373         * console-msw.c (DOPAQUE_DATA):
13374         * console-msw.c (DEVENT):
13375         * console-msw.c (DCONS):
13376         * console-msw.c (DCONSCDR):
13377         * console-msw.c (DSTRING):
13378         * console-msw.c (DVECTOR):
13379         * console-msw.c (DSYMBOL):
13380         * console-msw.c (DSYMNAME):
13381         Fix warnings.
13382
13383         * console-stream.c (stream_init_console):
13384         Fix text/binary problems.
13385
13386         * device-msw.c:
13387         * device-msw.c (mswindows_finish_init_device):
13388         * device-msw.c (mswindows_delete_device):
13389         [1].
13390
13391         * device.c (handle_asynch_device_change):
13392         [3].
13393
13394         * dgif_lib.c:
13395         * dgif_lib.c (DGifOpenFileName):
13396         * dgif_lib.c (DGifOpenFileHandle):
13397         * dgif_lib.c (DGifGetLine):
13398         * dgif_lib.c (DGifGetPixel):
13399         Added config.h/lisp.h, fix up includes.
13400         [1].
13401
13402         * dired-msw.c:
13403         [4].
13404
13405         * dired.c:
13406         * dired.c (file_name_completion):
13407         * dired.c (Ffile_attributes):
13408         * dired.c (syms_of_dired):
13409         [1].
13410
13411         * dumper.c:
13412         * dumper.c (pdump_file_unmap):
13413         * dumper.c (pdump_load):
13414         [1].
13415
13416         * editfns.c:
13417         * editfns.c (Ftemp_directory):
13418         * editfns.c (user_login_name):
13419         * editfns.c (Fuser_real_login_name):
13420         * editfns.c (get_home_directory):
13421         [1].
13422
13423         * elhash.c (finish_marking_weak_hash_tables):
13424         [[[[5]]]]: Fix GCC warnings.
13425
13426         * emacs.c:
13427         * emacs.c (mswindows_handle_hardware_exceptions):
13428         * emacs.c (make_arg_list_1):
13429         * emacs.c (main_1):
13430         * emacs.c (Fkill_emacs):
13431         * emacs.c (Fdump_emacs):
13432         [1].
13433         Fix problems with nested crashes, add long comment.
13434
13435         * event-Xt.c (init_event_Xt_late):
13436         [1].
13437
13438         * event-msw.c:
13439         * event-msw.c (mswindows_dde_callback):
13440         * event-msw.c (mswindows_handle_sticky_modifiers):
13441         * event-msw.c (mswindows_wnd_proc):
13442         [1].
13443         [5].
13444
13445         * events.c (character_to_event):
13446         [1].
13447
13448         * fileio.c:
13449         * fileio.c (Ffile_name_directory):
13450         * fileio.c (Ffile_name_nondirectory):
13451         * fileio.c (directory_file_name):
13452         * fileio.c (Fexpand_file_name):
13453         * fileio.c (Fsubstitute_in_file_name):
13454         * fileio.c (Ffile_name_absolute_p):
13455         * fileio.c (check_executable):
13456         * fileio.c (Ffile_readable_p):
13457         * fileio.c (Ffile_accessible_directory_p):
13458         * fileio.c (Ffile_modes):
13459         * fileio.c (Funix_sync):
13460         * fileio.c (vars_of_fileio):
13461         [1]. [4].
13462
13463         [[[[7]]]]: Move CORRECT_DIR_SEPS to s\windowsnt.h.
13464
13465         Expand getdefdir defn.
13466         Fix bogus rename() comment.
13467
13468         [[[[6]]]]: Fix Windows includes w.r.t. removed nt\inc.  Attempt
13469         to use standard XEmacs include files, e.g. sysfile.h, rather
13470         than system-specific includes.
13471
13472         * fns.c:
13473         * fns.c (Fsubseq):
13474         [5]. [6].
13475
13476         * frame.c (vars_of_frame):
13477         [1].
13478
13479         * getloadavg.c:
13480         * getloadavg.c (getloadavg):
13481         [1]. [6].
13482         #ifdef XEMACS not defined on Cygwin.  Remove this; no need for it.
13483         (We don't use it elsewhere in the code; just add a comment.)
13484
13485         * gif_io.c:
13486         [6].
13487         Add config.h.
13488
13489         * glyphs-msw.c:
13490         * glyphs-msw.c (mswindows_resource_instantiate):
13491         [1].
13492
13493         * glyphs-x.c (x_native_layout_instantiate):
13494         [5].
13495
13496         * gui-msw.c (Fmswindows_shell_execute):
13497         [1].
13498
13499         * insdel.c:
13500         [4].
13501
13502         * lisp.h:
13503         [4]. [5].
13504
13505         * lread.c (locate_file_in_directory_mapper):
13506         [1].
13507
13508         * lstream.c:
13509         [4].
13510
13511         * mem-limits.h:
13512         * mem-limits.h (get_lim_data):
13513         [1].
13514
13515         * menubar-msw.c:
13516         [4].
13517
13518         * ndir.h:
13519         [1].
13520
13521         * nt.c:
13522         * nt.c (getwd):
13523         * nt.c (closedir):
13524         * nt.c (rva_to_section):
13525         * nt.c (mswindows_executable_type):
13526         [1]. [6].
13527         Fix closedir() defn.
13528
13529         * nt.h:
13530         [[[[8]]]]: *_OK defs moved to sysfile.h.
13531
13532         * ntproc.c:
13533         [6]. [7].
13534
13535         * objects-x.c:
13536         [4].
13537
13538         * print.c:
13539         * print.c (std_handle_out_external):
13540         [1]. [4].
13541
13542         * process-nt.c:
13543         * process-nt.c (nt_create_process):
13544         [6].
13545         try to fix process quoting somewhat.
13546
13547         * process-unix.c (unix_create_process):
13548         [1].
13549
13550         * process.c:
13551         * process.c (vars_of_process):
13552         Add Vnull_device.
13553
13554         * process.h:
13555         [1].
13556
13557         * realpath.c:
13558         * realpath.c (xrealpath):
13559         [1].
13560
13561         * redisplay-tty.c (init_tty_for_redisplay):
13562         [3].
13563
13564         * redisplay.c:
13565         [4]. [6].
13566
13567         * scrollbar-msw.c:
13568         [4].
13569
13570         * sheap.c:
13571         * sheap.c (more_static_core):
13572         * sheap.c (report_sheap_usage):
13573         [5]. [6].
13574
13575         * signal.c:
13576         * signal.c (alarm_signal):
13577         [1]. [6].
13578
13579         * sound.c:
13580         [6].
13581
13582         * strftime.c:
13583         * strftime.c (zone_name):
13584         [1]. [5].
13585
13586         * symsinit.h (init_sunpro):
13587         [1].
13588
13589         * syscommctrl.h:
13590         commctrl.h not in Cygwin b20.1.
13591
13592         * sysdep.c:
13593         * sysdep.c (endif):
13594         * sysdep.c (sys_subshell):
13595         * sysdep.c (init_baud_rate):
13596         * sysdep.c (emacs_get_tty):
13597         * sysdep.c (emacs_set_tty):
13598         * sysdep.c (tty_init_sys_modes_on_device):
13599         * sysdep.c (init_system_name):
13600         * sysdep.c (sys_open):
13601         * sysdep.c (interruptible_open):
13602         * sysdep.c (sys_fopen):
13603         * sysdep.c (sys_mkdir):
13604         * sysdep.c (sys_rename):
13605         * sysdep.c (get_process_times_1):
13606         [1]. [6].
13607
13608         * sysdep.h:
13609         [1].
13610
13611         * sysdir.h:
13612         * sysdir.h (DIRENTRY_NONEMPTY):
13613         [1]. [6].
13614
13615         * sysdll.c (dll_init):
13616         * sysdll.h:
13617         [1].
13618
13619         * sysfile.h:
13620         [1]. [6]. [8].
13621         added text/binary defs.
13622
13623         * sysfloat.h:
13624         [1].
13625
13626         * sysproc.h:
13627         * sysproc.h (EDESTADDRREQ):
13628         * sysproc.h (poll_fds_for_input):
13629         [1]. [6].
13630
13631         * syspwd.h:
13632         [6].
13633
13634         * syssignal.h:
13635         [1].
13636
13637         * systime.h:
13638         [1]. [6].
13639
13640         * systty.h:
13641         [1].
13642
13643         * syswindows.h:
13644         [1].
13645         Always define WIN32_LEAN_AND_MEAN.
13646
13647         * unexcw.c (unexec):
13648         [5].
13649
13650         * unexec.c:
13651         * unexec.c (copy_text_and_data):
13652         * unexec.c (adjust_lnnoptrs):
13653         [1].
13654
13655         * unexnt.c:
13656         * unexnt.c (_start):
13657         [1].
13658
13659 2000-06-07  Ben Wing  <ben@xemacs.org>
13660
13661         * mule-mcpath.c, mule-mcpath.h: Removed.  Old, crufty code that
13662         was used only as a model.  We've long since extracted any useful
13663         logic or code out of this. (I just did an exhaustive search.)
13664
13665         * s\msdos.h: Removed.
13666
13667         * s\windows95.h: Removed.
13668
13669 2000-06-10  Ben Wing  <ben@xemacs.org>
13670
13671         * s\cygwin32.h:
13672         [1]. [5].
13673         Don't use extern with fun defs.
13674
13675         * s\mingw32.h:
13676         [1]. [7].
13677         Remove nt\inc include.
13678         Remove getdisk, getdefdir. (The former is unused, the latter
13679         expanded in fileio.h.)
13680
13681         * s\windowsnt.h:
13682         * s\windowsnt.h (WIN32_NATIVE):
13683         * s\windowsnt.h (HAVE_STRCASECMP):
13684         [1]. [7].
13685         Add long comment about preprocessor changes.
13686         Remove getdisk, getdefdir. (The former is unused, the latter
13687         expanded in fileio.h.)
13688
13689 2000-06-10  Ben Wing  <ben@xemacs.org>
13690
13691         * m\arm.h:
13692         * m\delta.h:
13693         * m\intel386.h:
13694         * m\sequent.h:
13695         * m\template.h:
13696         * m\windowsnt.h:
13697         [1].
13698         Remove bogus/unused NO_SOCK_SIGIO.
13699
13700 2000-06-08  Hrvoje Niksic  <hniksic@iskon.hr>
13701
13702         * lisp.h (set_string_char): Call set_string_byte with a Bufbyte,
13703         not an Emchar.
13704
13705 2000-06-04  Mike Sperber <mike@xemacs.org>
13706
13707         * casetab.c (set_case_table): For `set-standard-case-table',
13708         actually deposit the new case tables where the rest of XEmacs can
13709         see them.
13710
13711 2000-06-05  Yoshiki Hayashi <yoshiki@xemacs.org>
13712
13713         * data.c (Faset): Don't cast XCHAR() to unsigned char.
13714
13715 2000-06-05  Ben Wing  <ben@xemacs.org>
13716
13717         * callproc.c (child_setup): Don't do close_load_descs() under
13718         MS Windows.  Put in a comment explaining why.
13719
13720 2000-05-28  Adrian Aichner  <aichner@ecf.teradyne.com>
13721
13722         * process-nt.c: Reverting patch "Fixing nt_create_process for MKS
13723         Toolkit shell" which breaks `kill-compilation' on Windows NT
13724         native, retaining STDERR handling improvements.
13725
13726 2000-06-01  Andreas Jaeger  <aj@suse.de>
13727
13728         * s/s390.h: Support for S390, based on a patch by Martin
13729         Schwidefsky <schwidefsky@de.ibm.com>.
13730
13731 2000-05-30  Andy Piper  <andy@xemacs.org>
13732
13733         * window.c (allocate_window):
13734         (make_dummy_parent):
13735         (Fset_window_configuration): use new hashtable type.
13736
13737         * glyphs.h (IMAGE_UNSPECIFIED_GEOMETRY):
13738         (struct image_instantiator_methods):
13739         (struct Lisp_Image_Instance): make instance geometry signed.
13740
13741         * glyphs.c (instantiate_image_instantiator):
13742         (image_instance_query_geometry):
13743         (image_instance_layout):
13744         (image_instance_layout):
13745         (query_string_geometry):
13746         (text_query_geometry):
13747         (image_instantiate):
13748         (image_instantiate):
13749         (cache_subwindow_instance_in_frame_maybe):
13750         (subwindow_query_geometry): make instance geometry signed.
13751
13752         * glyphs-widget.c (widget_query_geometry):
13753         (widget_layout):
13754         (button_query_geometry):
13755         (tree_view_query_geometry):
13756         (tab_control_query_geometry):
13757         (layout_query_geometry):
13758         (layout_layout):
13759         (native_layout_layout): make instance geometry signed.
13760
13761 2000-05-29  Olivier Galibert  <galibert@pobox.com>
13762
13763         * lisp.h: Add Qfull_assoc symbol and WEAK_LIST_FULL_ASSOC
13764         constant.
13765
13766         * general.c (syms_of_general): Add Qfull_assoc symbol.
13767
13768         * data.c (finish_marking_weak_lists): Mark full-assoc lists
13769         correctly.
13770         (decode_weak_list_type): Decode full-assoc type.
13771         (encode_weak_list_type): Encode full-assoc type.
13772         (Fmake_weak_list): Update doc string.
13773
13774 2000-05-30  Andy Piper  <andy@xemacs.org>
13775
13776         * elhash.h (hash_table_weakness): new KEY_VALUE weak hashtable.
13777
13778         * elhash.c (print_hash_table): new KEY_VALUE weak hashtable.
13779         (decode_hash_table_weakness): ditto.
13780         (Fhash_table_weakness): ditto.
13781         (Fhash_table_type): ditto.
13782         (finish_marking_weak_hash_tables): ditto.
13783         (hash_table_weakness_validate): ditto.
13784         (syms_of_elhash): ditto.
13785
13786 2000-05-28  Martin Buchholz <martin@xemacs.org>
13787
13788         * XEmacs 21.2.34 is released.
13789
13790 2000-05-22  Jan Vroonhof  <vroonhof@math.ethz.ch>
13791
13792         * redisplay.c (VERTICAL_CLIP): No longer reset when updating line
13793         start cache.
13794         (updating_line_start_cache): Gone.
13795         (regenerate_window): Replace resetting of VERTICAL_CLIP by
13796         generic code to force a minimum of 1 line laid out in the
13797         CMOTION_DISP case.
13798
13799 2000-05-22  Jan Vroonhof  <vroonhof@math.ethz.ch>
13800
13801         * glyphs.c (instantiate_image_instantiator): Check for initialized
13802         height & width no longer special cases IMAGE_NOTHING.
13803         (nothing_instantiate): Set height and width of instance.
13804
13805 2000-05-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
13806
13807         * unexelf.c (unexec): Search for ".data" section.
13808         Initialize new_data2_offset from old_data_index.
13809         Remove redundant check for ElfW.
13810
13811 2000-05-23  Andy Piper  <andy@xemacs.org>
13812
13813         * glyphs.c (get_image_instantiator_governing_domain): allow more
13814         specific domains as the governing domain rather than expecting an
13815         exact match. This fixes problems with layouts.
13816
13817 2000-05-22  Andy Piper  <andy@xemacs.org>
13818
13819         * redisplay-output.c (compare_runes): check for non-images
13820
13821         * glyphs.c (set_glyph_dirty_p): ditto.
13822         (update_glyph_cachel_data): ditto.
13823
13824         * glyphs-widget.c (layout_post_instantiate): ditto.
13825         (layout_post_instantiate): ditto.
13826
13827         * event-msw.c (mswindows_wnd_proc): warning removal.
13828
13829 2000-05-12  Craig Lanning  <CraigL@DyCon.com>
13830
13831         * s\mingw32.h: Added #undef for CLASH_DETECTION.
13832
13833         * syswindows.h: Moved PBS_SMOOTH definition to syscommctrl.h.
13834
13835         * syscommctrl.h (PBS_SMOOTH): Moved from syswindows.h.
13836
13837         * nt.c (rva_to_section): mingw32 needs rva_to_section.
13838         (mswindows_executable_type): mingw32 now has enough headers for
13839         this to work.
13840
13841 2000-05-20  Andy Piper  <andy@xemacs.org>
13842
13843         * console-msw.c (mswindows_output_last_error): ; -> ,
13844
13845 2000-05-12  Andy Piper  <andy@xemacs.org>
13846
13847         * console-msw.c (FROB): compare ints with ints.
13848
13849 2000-05-11  Andy Piper  <andy@xemacs.org>
13850
13851         * glyphs-x.c (x_finalize_image_instance): make minimal build
13852         happy.
13853
13854 2000-05-20  Ben Wing  <ben@xemacs.org>
13855
13856         * event-Xt.c:
13857         * event-Xt.c (vars_of_event_Xt):
13858         move modifier-keys-are-sticky to event-stream.c.
13859
13860         * event-msw.c:
13861         * event-msw.c (mswindows_enqueue_mouse_button_event):
13862         * event-msw.c (key_needs_default_processing_p):
13863         * event-msw.c (XEMSW_LCONTROL):
13864         * event-msw.c (mswindows_handle_sticky_modifiers):
13865         * event-msw.c (FROB):
13866         * event-msw.c (clear_sticky_modifiers):
13867         * event-msw.c (output_modifier_keyboard_state):
13868         * event-msw.c (output_alt_keyboard_state):
13869         * event-msw.c (mswindows_wnd_proc):
13870         * event-msw.c (mswindows_modifier_state):
13871         * event-msw.c (emacs_mswindows_handle_magic_event):
13872         implement sticky modifiers.
13873
13874         * event-stream.c:
13875         * event-stream.c (vars_of_event_stream):
13876         move modifier-keys-are-sticky here.
13877
13878         * lisp.h:
13879         add CHECK_FUNCTION.
13880
13881         * rangetab.c:
13882         implement map-range-table.
13883
13884
13885 2000-05-17  Yoshiki Hayashi  <yoshiki@xemacs.org>
13886
13887         * redisplay-tty.c (reset_tty_modes):
13888         (tty_redisplay_shutdown): Adjust argument type to
13889         tty_frame_output_end.
13890
13891 2000-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
13892
13893         * eval.c (Fbacktrace): Don't output a line with only right
13894         parenthesis.
13895
13896 2000-05-17  Kenji Itoh  <keit@tpj.co.jp>
13897
13898         * postgresql.c (Fpq_connect_poll): Replace `PS' with `polling_status'.
13899         (Fpq_reset_poll): Ditto.
13900
13901 2000-05-16  Katsumi Yamaoka  <yamaoka@jpl.org>
13902
13903         * redisplay-tty.c: Replace tty_output_end with tty_frame_output_end.
13904
13905 2000-05-16  Ben Wing  <ben@xemacs.org>
13906
13907         * buffer.c:
13908         * buffer.c (dfc_convert_to/from_internal_format):
13909         * buffer.c (reinit_vars_of_buffer):
13910         Fix conversion functions to allow reentrancy.
13911
13912         * console-msw.c:
13913         * console-msw.c (mswindows_output_last_error):
13914         New fun, generally useful -- output a human-readable
13915         version of GetLastError() on the console.
13916
13917         * console-msw.h:
13918         * console-msw.h (struct mswindows_frame):
13919         Changes for DeferWindowPos.  Declare mswindows_output_last_error().
13920
13921         * console-stream.c (stream_output_begin):
13922         * console-stream.c (stream_output_end):
13923         * console-stream.c (stream_output_vertical_divider):
13924         * console-stream.c (stream_clear_region):
13925         * console-stream.c (stream_flash):
13926         * console-stream.c (console_type_create_stream):
13927         Delete blank stream methods, not needed.
13928
13929         * console.h (struct console_methods):
13930         Split begin/end methods into window and frame.
13931
13932         * event-msw.c:
13933         * event-msw.c (mswindows_handle_paint):
13934         * event-msw.c (output_alt_keyboard_state):
13935         * event-msw.c (mswindows_wnd_proc):
13936         * event-msw.c (vars_of_event_mswindows):
13937         Comment about problems with ignored-expose.
13938         Define mswindows-debug-events; not really implemented.
13939
13940         * frame-msw.c (mswindows_init_frame_1):
13941         random cleanups.
13942
13943         * glyphs-msw.c:
13944         * glyphs-msw.c (begin_defer_window_pos):
13945         * glyphs-msw.c (mswindows_unmap_subwindow):
13946         * glyphs-msw.c (mswindows_map_subwindow):
13947         * glyphs-msw.c (mswindows_resize_subwindow):
13948         Use DeferWindowPos to reduce flashing when mapping/unmapping.
13949
13950         * glyphs.c (make_image_instance_1):
13951         Fix crash.
13952
13953         * gutter.c (Fredisplay_gutter_area):
13954         Use new begin/end methods.
13955
13956         * lisp.h (Dynarr_new2):
13957         New creation fun.
13958
13959         * redisplay-msw.c:
13960         * redisplay-msw.c (mswindows_frame_output_begin):
13961         * redisplay-msw.c (mswindows_frame_output_end):
13962         * redisplay-msw.c (console_type_create_redisplay_mswindows):
13963         New begin/end methods -- handle DeferWindowPos.
13964
13965         * redisplay-output.c (redisplay_move_cursor):
13966         * redisplay-output.c (redraw_cursor_in_window):
13967         * redisplay-output.c (redisplay_update_line):
13968         * redisplay-output.c (redisplay_output_window):
13969         New begin/end methods.
13970
13971         * redisplay-tty.c:
13972         * redisplay-tty.c (tty_frame_output_begin):
13973         * redisplay-tty.c (tty_frame_output_end):
13974         * redisplay-tty.c (console_type_create_redisplay_tty):
13975         New begin/end methods.
13976
13977         * redisplay-x.c:
13978         * redisplay-x.c (x_window_output_begin):
13979         * redisplay-x.c (x_window_output_end):
13980         * redisplay-x.c (console_type_create_redisplay_x):
13981         New begin/end methods.
13982
13983         * redisplay.c (redisplay_frame):
13984         * redisplay.c (Fredisplay_echo_area):
13985         New begin/end methods.
13986         use MAYBE_DEVMETH for clear_frame; it may not exist.
13987
13988         * window.h (WINDOW_XFRAME):
13989         WINDOW_XFOO macros -- get locale and decode struct pointer.
13990
13991
13992 2000-05-12  Ben Wing  <ben@xemacs.org>
13993
13994         * emacs.c:
13995         * emacs.c (ensure_no_quitting_from_now_on):
13996         * emacs.c (fatal_error_signal):
13997         * emacs.c (mswindows_handle_hardware_exceptions):
13998         * emacs.c (main):
13999         * emacs.c (Fkill_emacs):
14000         * emacs.c (shut_down_emacs):
14001         * emacs.c (assert_failed):
14002         various improvements in fatal error handling.
14003
14004         * eval.c:
14005         move preparing_for_armageddon to emacs.c.
14006
14007         * lisp.h:
14008         declare fatal_error_in_progress.
14009
14010         * print.c:
14011         * print.c (std_handle_out_external):
14012         * print.c (std_handle_out_va):
14013         * print.c (stderr_out):
14014         * print.c (stdout_out):
14015         use console under mswin when no standard output.
14016         don't do code conversion during fatal error.
14017
14018         * scrollbar.c (Fscrollbar_page_up):
14019         * scrollbar.c (Fscrollbar_page_down):
14020         fix missing else.  reindent.
14021
14022 2000-05-11  Jan Vroonhof  <vroonhof@math.ethz.ch>
14023
14024         Emergency fix.
14025
14026         * glyphs.h (GLYPH_CACHEL_DESCENT):
14027         (GLYPH_CACHEL_DESCENT):
14028         (GLYPH_CACHEL_DESCENT):
14029         * glyphs.h (GLYPH_CACHEL_ASCENT): Match parameters to variables
14030         used in case these are inline functions.
14031         Use more absurd values to error check.
14032
14033         include window.h for error check functions.
14034
14035 2000-05-11  Ben Wing  <ben@xemacs.org>
14036
14037         * cmdloop.c (Freally_early_error_handler):
14038         Display message box under windows; otherwise, message will disappear
14039         before it can be viewed.
14040
14041         * console-msw.c:
14042         * console-msw.c (Fmswindows_message_box):
14043         * console-msw.c (FROB):
14044         * console-msw.c (syms_of_console_mswindows):
14045         Define new fun `mswindows-message-box'.
14046         #### I will merge this into `popup-dialog-box'; just give me
14047         a bit of time.
14048
14049         * general.c:
14050         * general.c (syms_of_general):
14051         Some new symbols used in `mswindows-message-box'.
14052
14053         * glyphs.c:
14054         * glyphs.c (Fset_image_instance_property):
14055         put warning in this fun.
14056
14057         * glyphs.h:
14058         * glyphs.h (GLYPH_CACHEL_WIDTH):
14059         * glyphs.h (GLYPH_CACHEL_ASCENT):
14060         * glyphs.h (GLYPH_CACHEL):
14061         * glyphs.h (GLYPH_CACHEL_GLYPH):
14062         define error-checking versions to try to catch a bug i've seen --
14063         redisplay gets in an infinite loop because the glyph width of the
14064         continuation glyph is 65535.
14065
14066         * lisp.h:
14067         Extern message-box stuff.
14068
14069         * window.c (allocate_window):
14070         * window.c (make_dummy_parent):
14071         * window.c (Fset_window_configuration):
14072         Use EQUAL not EQ for subwindow caches to make them work a bit
14073         better. (Something is still very broken.)
14074
14075
14076 2000-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
14077
14078         * glyphs.c (image_instantiate): Suppress gcc warnings.
14079         (Fmake_image_instance): Fix doc string.
14080         * specifier.c (Fmake_specifier): Ditto.
14081
14082 2000-05-02  Yoshiki Hayashi  <yoshiki@xemacs.org>
14083
14084         * paths.h.in (PATH_LOCK): Removed.
14085         * config.h.in (LOCKDIR_USER_DEFINED): Removed.
14086         * emacs.c (complex_vars_of_emacs): Remove configure-lock-directory.
14087
14088 2000-05-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
14089
14090         * fns.c (Ffeaturep): Update e-mail address in doc-string.
14091         Document (featurep '(and xemacs 21.02)).
14092
14093 2000-05-09  Ben Wing  <ben@xemacs.org>
14094
14095         * buffer.c (complex_vars_of_buffer):
14096         update modeline-format doc.
14097
14098         * device.h:
14099         comment about how DFW_DEVICE should be merged with DOMAIN_DEVICE.
14100
14101         * emacs.c:
14102         timeline of all released versions of Emacs, for use in creating
14103         authorship comments and in synching up.
14104
14105         * glyphs-widget.c (image_instantiator_buttons):
14106         * glyphs-widget.c (image_instantiator_edit_fields):
14107         * glyphs-widget.c (image_instantiator_combo_box):
14108         * glyphs-widget.c (image_instantiator_scrollbar):
14109         * glyphs-widget.c (image_instantiator_progress_guage):
14110         * glyphs-widget.c (image_instantiator_tree_view):
14111         * glyphs-widget.c (image_instantiator_tab_control):
14112         * glyphs-widget.c (image_instantiator_labels):
14113         * glyphs-widget.c (image_instantiator_layout):
14114         * glyphs-widget.c (image_instantiator_native_layout):
14115         rename decode_domain method to governing_domain.
14116
14117         * glyphs.c:
14118         * glyphs.c (Fvalid_image_instantiator_format_p): doc update.
14119         * glyphs.c (add_entry_to_device_ii_format_list):
14120         make sure we don't put an entry more than once into the list.
14121         * glyphs.c (check_instance_cache_mapper):
14122         *************************************************************
14123         allow for nil.  THIS SHOULD FIX A REAL CRASH THAT MANY PEOPLE
14124         HAVE BEEN GETTING.
14125         *************************************************************
14126         * glyphs.c (get_image_instantiator_governing_domain):
14127         clean up, expand on new concept of governing domain.
14128         * glyphs.c (instantiate_image_instantiator):
14129         * glyphs.c (allocate_image_instance):
14130         use governing_domain instead of cache_domain in naming.
14131         * glyphs.c (Fvalid_image_instance_type_p): fix docs.
14132         * glyphs.c (make_image_instance_1):
14133         * glyphs.c (Fmake_image_instance):
14134         allow for any domain (not just device), and process the
14135         governing domain correctly.  very big doc fix.
14136         * glyphs.c (Fimage_instance_domain):
14137         new primitive, to retrieve the governing domain of an image instance.
14138         * glyphs.c (image_instantiate):
14139         use new governing_domain stuff.  this fixes a crash you could get
14140         by instantiating certain widget glyphs in frame locales. (should
14141         signal an error instead of crashing.)
14142         * glyphs.c (Fimage_specifier_p): move doc to make-image-specifier.
14143         * glyphs.c (Fglyphp): clean up doc.
14144         * glyphs.c (subwindow_governing_domain): renamed from *_decode_domain.
14145         * glyphs.c (syms_of_glyphs):
14146         declare Fimage_instance_domain, remove unused Qlayout_image_instance_p.
14147         * glyphs.c (image_instantiator_format_create): add some comments about
14148         bogus code.
14149         * glyphs.c (specifier_vars_of_glyphs): totally rewrite the doc string
14150         for current-display-table. (Apparently Hrjove implemented in 1998 a
14151         design I wrote up in 1996, but didn't update the doc string.)
14152
14153         * glyphs.h: clean up a doc string.
14154         * glyphs.h (governing_domain):
14155         * glyphs.h (struct image_instantiator_methods):
14156         changes for governing_domain stuff.
14157
14158         * gutter.c:
14159         * gutter.c (Fgutter_specifier_p):
14160         * gutter.c (Fgutter_size_specifier_p):
14161         * gutter.c (Fgutter_visible_specifier_p):
14162         * objects.c:
14163         * objects.c (Fcolor_specifier_p):
14164         * objects.c (Ffont_specifier_p):
14165         * objects.c (Fface_boolean_specifier_p):
14166         doc strings moved to make-*-specifier.
14167
14168         * redisplay.c (add_disp_table_entry_runes_1):
14169         * redisplay.c (generate_fstring_runes):
14170         * redisplay.c (screen):
14171         add random comments and doc strings.
14172
14173         * specifier.c:
14174         * specifier.c (Fmake_specifier):
14175         major overhaul of this doc string.
14176
14177         * specifier.c (Fvalid_specifier_domain_p):
14178         comment about the bogosity of image instances being domains.
14179         * specifier.c (decode_domain):
14180         now non-static, used in glyphs.c.
14181         * specifier.c (specifier_instance):
14182         comment about the bogosity of image instances being domains.
14183         * specifier.c (Fgeneric_specifier_p):
14184         move doc string to make-generic-specifier.
14185         * specifier.c (VALID_SINGLE_DISPTABLE_INSTANTIATOR_P):
14186         rebackslashify.
14187
14188         * specifier.h:
14189         * specifier.h (DOMAIN_FRAME):
14190         * specifier.h (DOMAIN_LIVE_P):
14191         * specifier.h (DOMAIN_XDEVICE):
14192         rebackslashify.
14193         add comments about problems with these macros.
14194         prototype for decode_domain.
14195
14196         * toolbar.c:
14197         * toolbar.c (Ftoolbar_specifier_p):
14198         move doc string to `make-toolbar-specifier'.
14199
14200         * window.c (window_unmap_subwindows_cache_mapper):
14201         *************************************************************
14202         allow for nil.  THIS SHOULD FIX A REAL CRASH THAT MANY PEOPLE
14203         HAVE BEEN GETTING.
14204         *************************************************************
14205
14206 2000-05-09  Andy Piper  <andy@xemacs.org>
14207
14208         * glyphs.h: declare reset_frame_subwindow_instance_cache.
14209
14210         * window.c (Fset_window_configuration): reset the frame subwindow
14211         cache and re-initialize the window subwindow caches.
14212
14213         * glyphs.c (reset_frame_subwindow_instance_cache): new function.
14214
14215 2000-05-09  Ben Wing  <ben@xemacs.org>
14216
14217         * ntheap.c (recreate_heap): Changed unknown (VC6 only?) SIZE_T to
14218         DWORD.
14219
14220 2000-04-26  Mike Woolley  <mike@bulsara.com>
14221
14222         * ntheap.c: Changed recreate_heap to limit the amount reserved
14223         for the heap to that which is actually available. Also now
14224         displays a message box (with some dignostics) in the event that
14225         it still can't start.
14226
14227 2000-05-07  Jan Vroonhof  <vroonhof@math.ethz.ch>
14228
14229         * callproc.c (Fold_call_process_internal): GCPRO path
14230
14231 2000-05-08  Jan Vroonhof  <jan@xemacs.org>
14232
14233         Patch by Bill Perry.
14234
14235         * scrollbar.c (Fscrollbar_page_up): Conditionalize on type of call
14236         back data instead of #ifdef.
14237         (Fscrollbar_page_down): ditto.
14238
14239 2000-05-07  Ben Wing  <ben@xemacs.org>
14240
14241         * buffer.h:
14242         Kludge for defining Qmswindows_tstr.
14243
14244         * nt.c:
14245         * nt.c (open_input_file):
14246         * nt.c (open_output_file):
14247         * nt.c (rva_to_section):
14248         * nt.c (mswindows_executable_type):
14249         Move all memory-mapped-file routines here (some were in unexnt.c,
14250         which is bad because they are used by process-nt.c, and unexnt
14251         won't be around when portable dumping).  Synched the above routines
14252         with FSF 20.6.
14253
14254         * nt.h:
14255         Removed ifdef'd out bogus code.
14256         Fixed some prototypes.
14257
14258         * nt.h (file_data):
14259         * nt.h (OFFSET_TO_RVA):
14260         * nt.h (RVA_TO_OFFSET):
14261         * nt.h (RVA_TO_PTR):
14262         Moved the memory-mapped-file structures, macros and prototypes
14263         here, to parallel nt.c.  ntheap.h should really be removed
14264         entirely, and it's a non-portable-dumper specific file.
14265
14266         * ntheap.h (round_to_next):
14267         Moved the memory-mapped-file structures, macros and prototypes
14268         to nt.h.
14269
14270         * ntproc.c (compare_env):
14271         Moved rva_to_section and mswindows_executable_type to nt.c.
14272         Moved compare_env to process-nt.c.
14273         ntproc.c will die, one day.
14274
14275         * ntproc.c (sys_spawnve):
14276         Account for win32_ -> mswindows_.
14277
14278         * process-nt.c:
14279         * process-nt.c (struct nt_process_data):
14280         * process-nt.c (ensure_console_window_exists):
14281         * process-nt.c (compare_env):
14282         * process-nt.c (nt_create_process):
14283         * process-nt.c (nt_kill_process_by_pid):
14284         * process-nt.c (syms_of_process_nt):
14285         * process-nt.c (vars_of_process_nt):
14286         Introduce variable `mswindows-quote-process-args', from FSF 20.6.
14287         Copy argument quoting code from FSF 20.6 (with appropriate Mule-ization
14288         changes).  Eliminate our old `nt-quote-process-args' mechanism.
14289         Synch up nt_create_process with FSF 20.6 sys_spawnve.
14290         Move compare_env here from ntproc.c.
14291
14292         * process.c (Fprocess_send_region):
14293         Takes an optional fourth argument, BUFFER, which should fix some
14294         problems with call-process.
14295
14296         * syscommctrl.h:
14297         Move ICC_BAR_CLASSES here from syswindows.h, to avoid a warning.
14298
14299         * syswindows.h:
14300         Move ICC_BAR_CLASSES to syscommctrl.h.
14301         Add preliminary macros for MSWindows/Mule.  More to come.
14302
14303         * unexnt.c:
14304         * unexnt.c (unexec):
14305         open_output_file moved to nt.c.
14306
14307
14308 2000-05-05  Andy Piper  <andy@xemacs.org>
14309
14310         * window.c (window_unmap_subwindows_cache_mapper): remove the dead
14311         instance from the frame cache also since GC may catch up too late
14312         to make frame deletion sane.
14313
14314 2000-05-04  Andy Piper  <andy@xemacs.org>
14315
14316         * glyphs-x.c (x_widget_instantiate): gcpro widget callbacks.
14317         (x_finalize_image_instance): ungcpro on deletion.
14318
14319         * glyphs.c (image_instantiator_format_create): give pointers a
14320         query geometry method so that the geometry is at least set.
14321
14322         * glyphs-x.c (image_instantiator_format_create_glyphs_x): only
14323         initialize layouts if using widgets.
14324
14325 2000-05-03  Andy Piper  <andy@xemacs.org>
14326
14327         * nt.c: remove bogus reference to sysmmsystem.h
14328
14329         * gui-x.c (popup_selection_callback): fix no selection abort.
14330
14331 2000-05-02  Andy Piper  <andy@xemacs.org>
14332
14333         * glyphs-msw.c (mswindows_update_widget): cope with nil text.
14334         (mswindows_widget_instantiate): ditto.
14335
14336         * glyphs-widget.c (initialize_widget_image_instance): initialize
14337         children correctly.
14338         (widget_instantiate): cope with children and items in the same
14339         instance.
14340
14341         * glyphs.c (mark_image_instance): cope with children as a first
14342         class member.
14343         (image_instance_equal): ditto.
14344         (image_instance_hash): ditto.
14345         (image_instance_changed): ditto.
14346
14347 2000-04-30  Andy Piper  <andy@xemacs.org>
14348
14349         * glyphs.c (subwindow_query_geometry): new function. Return some
14350         defaults.
14351         (subwindow_instantiate): don't assign dimensions if none have been
14352         given.
14353         (image_instantiator_format_create): add subwindow_query_geometry.
14354         (print_image_instance): cope with layouts as widgets.
14355
14356 2000-04-29  Andy Piper  <andy@xemacs.org>
14357
14358         * frame.c (delete_frame_internal): call
14359         free_frame_subwindow_instance_cache so that all subwindows are
14360         finalized before their parent.
14361         (mark_frame): remove subwindow_cachels.
14362         (Fmake_frame): remove subwindow_cachel manipulation.
14363         (allocate_frame_core): subwindow_instance_cache is a weak list.
14364         (delete_frame_internal): set subwindow_instance_cache to nil.
14365
14366         * glyphs-msw.c (mswindows_finalize_image_instance): make double
14367         finalization safe.
14368         (mswindows_finalize_image_instance): use the device
14369         not the domain as the domain may have died already.
14370
14371         * glyphs-x.c (x_finalize_image_instance): ditto.
14372         (x_subwindow_instantiate): remove SUBWINDOW_WIDTH &
14373         HEIGHT.
14374
14375         * redisplay-output.c (redisplay_unmap_subwindows): update for
14376         subwindow instance cache as a weak list.
14377         (redisplay_unmap_subwindows_maybe): ditto.
14378         (redisplay_unmap_subwindows_except_us): ditto.
14379
14380         * glyphs.c (unmap_subwindow): error checking will check the domain
14381         so don't deal with it here. Don't use cachels anymore.
14382         (map_subwindow): ditto.
14383         (update_subwindow_cachel_data): remove old accessor names.
14384         (subwindow_instantiate): remove SUBWINDOW_WIDTH & HEIGHT.
14385         (Fresize_subwindow): don't update cachel.
14386         (mark_subwindow_cachels):
14387         (update_subwindow_cachel_data):
14388         (add_subwindow_cachel):
14389         (get_subwindow_cachel_index):
14390         (update_subwindow_cachel):
14391         (reset_subwindow_cachels):
14392         (mark_subwindow_cachels_as_not_updated): deleted.
14393         (cache_subwindow_instance_in_frame_maybe): new function. Add a
14394         subwindow instance to the frame cache.
14395         (find_matching_subwindow): update for subwindow instance cache as
14396         a weak list.
14397         (update_widget_instances): ditto.
14398         (image_instance_type_to_mask):inlined.
14399         (free_frame_subwindow_instance_cache): new function. finalize all
14400         subwindows that are instantiated.
14401
14402         * glyphs.h (struct Lisp_Image_Instance): add display_data instead
14403         of cachel information.
14404         (IMAGE_INSTANCE_DISPLAY_X):
14405         (IMAGE_INSTANCE_DISPLAY_Y):
14406         (IMAGE_INSTANCE_DISPLAY_WIDTH):
14407         (IMAGE_INSTANCE_DISPLAY_HEIGHT):
14408         (XIMAGE_INSTANCE_DISPLAY_X):
14409         (XIMAGE_INSTANCE_DISPLAY_Y):
14410         (XIMAGE_INSTANCE_DISPLAY_WIDTH):
14411         (XIMAGE_INSTANCE_DISPLAY_HEIGHT): new accessors.
14412         remove subwindow_cachel structure and function references.
14413         (image_instance_type_to_mask): inline from glyphs.c
14414
14415         * redisplay.c (redisplay_frame): remove subwindow_cachel
14416         references.
14417
14418         * frame.h (struct frame): remove subwindow_cachels.
14419         (FRAME_SUBWINDOW_CACHE): access subwindow_instance_cache.
14420
14421         * frameslots.h: add subwindow_instance_cache.
14422
14423         * window.c (replace_window): check subwindow cache of replacement.
14424         (window_unmap_subwindows_cache_mapper):
14425         (window_unmap_subwindows): new functions. Unmap all subwindows
14426         cached on this window.
14427         (mark_window_as_deleted): unmap all subwindows.
14428
14429 2000-04-27  Andy Piper  <andy@xemacs.org>
14430
14431         * glyphs.h (IIFORMAT_METH_OR_GIVEN): cope with null meths.
14432
14433         * glyphs-widget.c (widget_layout): return something.
14434         (layout_layout): return something. Fail if not initialized.
14435         (layout_query_geometry): ditto.
14436         (image_instantiator_native_layout): new function. Initialized the
14437         native layout type.
14438         (widget_instantiate): don't do layout stuff here.
14439
14440         * glyphs.c (instantiate_image_instantiator): reorded calling or
14441         instantiate and post_instantiate with layout in between.
14442         (image_instance_layout): be more selective about deciding whether
14443         the layout has been done or not.
14444
14445         * glyphs.h (struct image_instantiator_methods): return a value
14446         from layout_method.
14447
14448 2000-04-26  Andy Piper  <andy@xemacs.org>
14449
14450         * glyphs.c (allocate_image_instance): make initial width and
14451         height unspecified. Set initialized to 0.
14452
14453         * syscommctrl.h new file. Encapsulates commctrl.h.
14454
14455         * syswindows.h new file. Encapsulates windows.h.
14456
14457         * ntplay.c: use new syswindows.h and syscommctrl.h header.
14458         * nt.c: ditto.
14459         * console-msw.h: ditto.
14460
14461         * redisplay-tty.c (tty_output_display_block): remove layout references.
14462
14463         * glyphs-msw.c (mswindows_widget_instantiate): use the domain
14464         window handle rather than just the frame.
14465
14466         * glyphs.c (mark_image_instance): remove layout references.
14467         (print_image_instance): ditto.
14468         (image_instance_equal): ditto.
14469         (image_instance_hash): ditto.
14470         (decode_image_instance_type): ditto.
14471         (encode_image_instance_type): ditto.
14472         (image_instantiate): ditto.
14473         (allocate_glyph): ditto.
14474         (Fimage_instance_height): ditto.
14475         (Fimage_instance_width): ditto.
14476         (update_subwindow): ditto.
14477
14478         * redisplay-x.c (x_output_display_block): recode for layouts as
14479         widgets.
14480
14481         * redisplay-output.c (redisplay_output_layout): recode for layouts
14482         as widgets.
14483         (compare_runes): remove layout references.
14484
14485         * redisplay-msw.c (mswindows_output_display_block): recode for
14486         layouts as widgets.
14487
14488         * glyphs-widget.c (image_instantiator_layout): remove
14489         layout_possible_dest_types.
14490         (layout_possible_dest_types): deleted.
14491
14492         * glyphs.h (image_instance_type): remove layout references.
14493         (struct Lisp_Image_Instance): ditto. Add initialized flag.
14494         (IMAGE_INSTANCE_INITIALIZED): new accessor.
14495         (XIMAGE_INSTANCE_INITIALIZED): ditto.
14496
14497 2000-04-25  Andy Piper  <andy@xemacs.org>
14498
14499         * glyphs-widget.c (image_instantiator_buttons):
14500         (image_instantiator_edit_fields):
14501         (image_instantiator_combo_box):
14502         (image_instantiator_scrollbar):
14503         (image_instantiator_progress_guage):
14504         (image_instantiator_tree_view):
14505         (image_instantiator_tab_control):
14506         (image_instantiator_labels):
14507         (image_instantiator_layout): call default post_instantiate method.
14508         (widget_post_instantiate): new function. Simply lays out the
14509         widgets.
14510
14511         * glyphs.h (struct image_instantiator_methods): add
14512         post_instantiate method.
14513
14514         * glyphs.c (instantiate_image_instantiator): add post_instantiate
14515         method calls.
14516
14517 2000-04-23  Andy Piper  <andy@xemacs.org>
14518
14519         * glyphs.h (struct image_instantiator_methods): add
14520         decode_domain_method.
14521         (struct Lisp_Image_Instance): remove subwindow frame - it can be
14522         derived from the domain.
14523         (IMAGE_INSTANCE_FRAME): new accessor.
14524         (XIMAGE_INSTANCE_FRAME): ditto.
14525
14526         * glyphs.c (print_image_instance): use IMAGE_INSTANCE_FRAME
14527         instead of _SUBWINDOW_FRAME.
14528         (finalize_image_instance): ditto.
14529         (Fimage_instance_foreground): ditto.
14530         (Fimage_instance_background): ditto.
14531         (image_instantiate): ditto.
14532         (update_subwindow_cachel): ditto.
14533         (update_subwindow): ditto.
14534         (unmap_subwindow): ditto.
14535         (map_subwindow): ditto
14536         (subwindow_instantiate): ditto.
14537         * glyphs-msw.c (mswindows_update_widget): ditto.
14538         (mswindows_progress_gauge_instantiate): ditto.
14539         (mswindows_tab_control_update): ditto.
14540         * glyphs-x.c (x_update_widget): ditto.
14541         (x_widget_instantiate): ditto.
14542         (x_tab_control_instantiate): ditto.
14543         (x_tab_control_update): ditto.
14544         * event-msw.c (mswindows_wnd_proc): ditto
14545
14546         * glyphs-widget.c (image_instantiator_layout): use
14547         subwindow_decode_domain.
14548         (image_instantiator_buttons): ditto.
14549         (image_instantiator_edit_fields): ditto.
14550         (image_instantiator_combo_box): ditto.
14551         (image_instantiator_scrollbar): ditto.
14552         (image_instantiator_progress_guage): ditto.
14553         (image_instantiator_tree_view): ditto.
14554         (image_instantiator_tab_control): ditto.
14555         (image_instantiator_labels): ditto.
14556         (image_instantiator_layout): ditto.
14557
14558         * glyphs.c: add instance error checking to many functions.
14559         (instantiate_image_instantiator): decode device from cache_domain.
14560         (image_instantiate): partially rewrite by using
14561         decode_image_instantiator_domain to determine what domain the
14562         instance needs to be cached in.
14563         (decode_image_instantiator_domain): new function. Determine what
14564         domain the image needs to be cached in.
14565         (check_window_subwindow_cache): new error checking function.
14566         (check_instance_cache_mapper): ditto.
14567         (check_image_instance_structure): ditto.
14568         (subwindow_decode_domain): new function. Encodes a window as a
14569         subwindow's cache domain.
14570         (image_instantiator_format_create): use it for text and
14571         subwindows.
14572
14573 2000-04-21  Andy Piper  <andy@xemacs.org>
14574
14575         * glyphs.c (image_instance_device): new function.
14576         (image_instance_frame): new function.
14577         (image_instance_window): new function.
14578         (image_instance_live_p): new function.
14579
14580         * window.c (mark_window_as_deleted): reset the subwindow_instance_
14581         cache to nil.
14582
14583         * glyphs.h (struct Lisp_Image_Instance): device->domain.
14584         (IMAGE_INSTANCE_DOMAIN): new accessor.
14585         (XIMAGE_INSTANCE_DOMAIN): ditto.
14586
14587         * glyphs-x.c (x_finalize_image_instance): device->domain.
14588
14589         * glyphs-msw.c (init_image_instance_geometry): device->domain.
14590         (mswindows_finalize_image_instance): ditto.
14591
14592         * glyphs-eimage.c (jpeg_instantiate): device->domain.
14593         (gif_instantiate): ditto.
14594         (png_instantiate): ditto.
14595         (tiff_instantiate): ditto.
14596
14597         * glyphs.c (instantiate_image_instantiator): use domain rather
14598         than device.
14599         (mark_image_instance): device -> domain.
14600         (print_image_instance): ditto.
14601         (finalize_image_instance): ditto.
14602         (image_instance_equal): ditto.
14603         (allocate_image_instance): ditto.
14604         (Fcolorize_image_instance): ditto.
14605         (query_string_geometry): ditto.
14606         (image_instantiate): ditto
14607         (query_string_font): ditto.
14608         (image_instantiate): ditto.
14609         (update_subwindow): ditto.
14610         (unmap_subwindow): ditto.
14611         (map_subwindow): ditto.
14612         (subwindow_instantiate): ditto.
14613
14614         * specifier.h (DOMAIN_DEVICE): new, semantically correct, decoder.
14615         (DOMAIN_FRAME): ditto.
14616         (DOMAIN_WINDOW): ditto.
14617         (DOMAIN_LIVE_P): ditto.
14618         (XDOMAIN_DEVICE): ditto.
14619         (XDOMAIN_FRAME): ditto.
14620         (XDOMAIN_WINDOW): ditto.
14621
14622         * specifier.c (Fvalid_specifier_domain_p): add image instances as
14623         a valid specifier domain.
14624
14625 2000-04-19  Andy Piper  <andy@xemacs.org>
14626
14627         * glyphs-widget.c (syms_of_glyphs_widget): remove
14628         widget-callback-current-channel.
14629         (vars_of_glyphs_widget): ditto.
14630         * glyphs.h: ditto
14631
14632         * gui.c (get_gui_callback): revert to previous behaviour.
14633
14634 2000-04-18  Andy Piper  <andy@xemacs.org>
14635
14636         * glyphs.h (struct Lisp_Image_Instance): add margin_width.
14637         (IMAGE_INSTANCE_MARGIN_WIDTH): new.
14638         (XIMAGE_INSTANCE_MARGIN_WIDTH): new.
14639
14640         * glyphs.c (image_instance_equal): add margin_width.
14641         (image_instance_hash): ditto.
14642
14643         * glyphs-widget.c (widget_instantiate): deal with margin-width.
14644         (layout_query_geometry): ditto.
14645         (layout_layout): ditto.
14646         (syms_of_glyphs_widget): add margin-width.
14647         (image_instantiator_layout): allow margin-width.
14648
14649         * glyphs.c (update_widget_instances): make a normal function.
14650         (syms_of_glyphs): remove Qupdate_widget_instances.
14651         * glyphs.h: ditto.
14652
14653         * gui-x.c (popup_selection_callback): use enqueue_magic_eval_event
14654         so that we don't corrupt ideas about the last event or
14655         command. Remove widget-callback-current-channel fiddling.
14656         * gui-msw.c (mswindows_handle_gui_wm_command): ditto.
14657
14658 2000-05-01  Martin Buchholz <martin@xemacs.org>
14659
14660         * XEmacs 21.2.33 is released.
14661
14662 2000-05-01  Yoshiki Hayashi  <yoshiki@xemacs.org>
14663
14664         * make-src-depend: Allow dots in header file name.
14665
14666 2000-05-01  Yoshiki Hayashi  <yoshiki@xmacs.org>
14667
14668         * mule-charset.h (struct charset_lookup): Add
14669         next_allocated_1_byte_leading_byte and
14670         next_allocated_2_byte_leading_byte.
14671         * mule-charset.c: Move above two variables so that those values
14672         will be dumped.
14673
14674 2000-04-26  Yoshiki Hayashi  <yoshiki@xemacs.org>
14675
14676         * insdel.c (find_charsets_in_bufbyte_string): Add Vcharset_ascii
14677         when string length is zero.
14678         (find_charsets_in_emchar_string): Ditto.
14679
14680 2000-04-29  Bjrn Torkelsson  <torkel@hpc2n.umu.se>
14681
14682         * lisp.h: extern Qdialog and Qmenubar.
14683
14684         * gui-x.c: added events.h.
14685                 also fixed typo which made the file uncompilable.
14686
14687         * general.c: Added Qmenubar and Qdialog
14688
14689 2000-04-28  Ben Wing  <ben@xemacs.org>
14690
14691         * frame-msw.c (mswindows_init_frame_1):
14692         * frame-msw.c (mswindows_mark_frame):
14693         * event-msw.c (mswindows_enqueue_dispatch_event):
14694         * console-msw.h:
14695         * console-msw.h (struct mswindows_frame):
14696         * console-msw.h (FRAME_MSWINDOWS_WIDGET_HASH_TABLE1):
14697         there are now three hash tables for callbacks.
14698         mswindows_enqueue_dispatch_event is no longer static.
14699
14700         * dialog-x.c (maybe_run_dbox_text_callback):
14701         * dialog-x.c (dbox_descriptor_to_widget_value):
14702         switch to new cons3 form for callbacks.
14703
14704         * glyphs-msw.c (mswindows_register_gui_item):
14705         * glyphs-msw.c (mswindows_widget_instantiate):
14706         * glyphs-msw.c (add_tree_item):
14707         * glyphs-msw.c (add_tab_item):
14708         new image instance parameter, so it can be passed to callback-ex.
14709         respect :callback-ex as well as :callback.
14710
14711         * glyphs-widget.c (VALID_GUI_KEYWORDS):
14712         add :callback-ex.
14713
14714         * glyphs.c (print_image_instance):
14715         prettify, e.g. now prints widget type.
14716
14717         * gui-x.h:
14718         certain funs have new image instance parameter.
14719
14720         * gui.c:
14721         * gui.c (get_gui_callback):
14722         * gui.c (gui_item_add_keyval_pair):
14723         * gui.c (gui_item_init):
14724         * gui.c (gui_add_item_keywords_to_plist):
14725         * gui.c (mark_gui_item):
14726         * gui.c (gui_item_hash):
14727         * gui.c (gui_item_equal):
14728         * gui.c (copy_gui_item):
14729         * gui.c (syms_of_gui):
14730         recognize callback-ex in a number of places.
14731         also, fix the annoying "can't get out of yes-no dialog" bug.
14732
14733         * gui.h:
14734         * gui.h (struct Lisp_Gui_Item):
14735         recognize callback-ex in a number of places.
14736
14737         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
14738         new parameter in button_item_to_widget_value.
14739
14740         * glyphs-x.c (x_update_widget):
14741         * glyphs-x.c (x_button_instantiate):
14742         * glyphs-x.c (x_button_update):
14743         * glyphs-x.c (x_progress_gauge_instantiate):
14744         * glyphs-x.c (x_edit_field_instantiate):
14745         * glyphs-x.c (x_combo_box_instantiate):
14746         * glyphs-x.c (x_tab_control_instantiate):
14747         * glyphs-x.c (x_label_instantiate):
14748         new image instance parameter in various places.
14749
14750         * event-Xt.c:
14751         * event-Xt.c (enqueue_Xt_dispatch_event):
14752         this fun gets exported.
14753
14754         * gui-msw.c:
14755         * gui-msw.c (mswindows_handle_gui_wm_command):
14756         handle both :callback and :callback-ex, and generate our own
14757         event because it's one of the callback-ex arguments.
14758
14759         * gui-x.c:
14760         * gui-x.c (popup_selection_callback):
14761         handle both :callback and :callback-ex, and generate our own
14762         event because it's one of the callback-ex arguments.
14763         * gui-x.c (button_item_to_widget_value):
14764         * gui-x.c (gui_items_to_widget_values_1):
14765         * gui-x.c (gui_item_children_to_widget_values):
14766         * gui-x.c (gui_items_to_widget_values):
14767         new image instance parameter in various places.
14768
14769         * fns.c (Freplace_list):
14770         fix small typo in doc string.
14771
14772         * lisp.h:
14773         declare enqueue_Xt_dispatch_event.
14774
14775 2000-04-28  Ben Wing  <ben@xemacs.org>
14776
14777         * buffer.c:
14778         * buffer.c (Frecord_buffer):
14779         * buffer.c (syms_of_buffer):
14780         delete record-buffer-hook.
14781
14782         * fns.c:
14783         * fns.c (Freplace_list):
14784         * fns.c (syms_of_fns):
14785         new primitive replace-list.
14786
14787         * frameslots.h:
14788         slot for old buffer-alist.
14789
14790         * lisp.h:
14791         exfun replace-list.
14792
14793         * redisplay.c:
14794         * redisplay.c (redisplay_frame):
14795         * redisplay.c (syms_of_redisplay):
14796         * redisplay.c (vars_of_redisplay):
14797         new hook buffer-list-changed-hook.
14798         call it.
14799
14800 2000-04-27  Ben Wing  <ben@xemacs.org>
14801
14802         * extents.h: extern in_modeline_generation.
14803
14804         * redisplay.c (generate_formatted_string_db): set
14805         in_modeline_generation.
14806
14807         * extents.c (extent_changed_for_redisplay): don't mark redisplay
14808         flags if in modeline generation.  otherwise frame-modified-tick
14809         is ticked far too often.
14810         Declare in_modeline_generation.
14811
14812 2000-04-26  Ben Wing  <ben@xemacs.org>
14813
14814         * emacs.c (vars_of_emacs): document quick-build "error-checking"
14815         option.
14816         (vars_of_emacs): add quick-build as an error-checking option.
14817         A bit kludgy, but there doesn't seem much point in creating
14818         a real var for this.
14819
14820         * config.h.in: put in an entry for QUICK_BUILD; remove NO_DOC_FILE.
14821
14822 2000-04-14  IKEYAMA Tomonori  <tomonori@suiyokai.org>
14823
14824         * redisplay.h (struct display_line): Add a new variable,
14825         line_continuation.
14826
14827         * redisplay.c (create_text_block): Set dl->line_continuation if
14828         the line continues.
14829         (create_string_text_block): Ditto.
14830         (regenerate_window_incrementally): Use line_continuation instead
14831         of searching continuation glyph.
14832         (add_margin_runes): Call add_glyph_rune.
14833         (add_glyph_rune): Handle margin glyph.
14834
14835 2000-04-20  Martin Buchholz  <martin@xemacs.org>
14836
14837         * filelock.c (fill_in_lock_file_name):
14838         ANSIfy.
14839         Check for IS_ANY_SEP instead of '/'.
14840         (lock_file_1):
14841         Avoid generating gratuitous garbage.  Call user_login_name() directly.
14842         Never check errno without first seeing that system call failed.
14843         (unlock_file): Add GCPRO.
14844         (Flock_buffer): Fix docstring.
14845         (Ffile_locked_p): Fix docstring.  Add GCPRO.
14846
14847 2000-04-19  Martin Buchholz  <martin@xemacs.org>
14848
14849         * sysdep.c (get_pty_max_bytes):
14850         Fix hangs on DEC OSF 4.0 when (process-send-string) sends
14851         strings longer than 252 bytes.
14852
14853         * md5.c: Unconditionally include ANSI header <limits.h>
14854
14855         * glyphs-x.c (convert_EImage_to_XImage):
14856         * lisp-union.h (union Lisp_Object):
14857         Use consistently the syntax #ifdef FEATURE, not #if FEATURE.
14858
14859 2000-04-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
14860
14861         * filelock.c (current_lock_owner): Remove unused variable o, p.
14862
14863 2000-04-17  Norbert Koch  <n.koch@eai-delta.de>
14864
14865         * callint.c: Remove multiply defined symbol Qlet
14866         (syms_of_callint): ditto.
14867
14868 2000-04-14  Andy Piper  <andy@xemacs.org>
14869
14870         * general.c (syms_of_general): add last-command, this-command, let
14871         and funcall.
14872
14873         * lisp.h: declare various symbols.
14874
14875         * glyphs.h: declare Qwidget_callback_current_channel;
14876
14877         * glyphs-widget.c (syms_of_glyphs_widget): add
14878         Qgui_callback_current_channel.
14879         (vars_of_glyphs_widget): add Vgui_callback_current_channel.
14880
14881         * gui-msw.c (mswindows_handle_gui_wm_command): bind
14882         widget-callback-current-channel when invoking the interactive
14883         arg. Also bind last-command and next-command when invoking the
14884         widget updates.
14885         * gui-x.c (popup_selection_callback): ditto.
14886
14887         * gui.c (get_gui_callback): massage args so that we are always
14888         calling eval. This allows us to add our own variable bindings
14889         outside.
14890
14891         * glyphs-x.c (x_button_instantiate): use
14892         gui_items_to_widget_values since this is GC safe.
14893         (x_progress_gauge_instantiate): ditto.
14894         (x_edit_field_instantiate): ditto.
14895         (x_label_instantiate): ditto.
14896
14897         * event-Xt.c (emacs_Xt_handle_magic_event): remove old printfs.
14898         (emacs_Xt_event_widget_focus_out): new function
14899         (emacs_Xt_event_widget_focus_in): new function. Set the keyboard
14900         focus.
14901         (emacs_Xt_event_add_widget_actions): new function. add focus
14902         functions as actions.
14903         (init_event_Xt_late): use it.
14904
14905 2000-04-14  Hrvoje Niksic  <hniksic@iskon.hr>
14906
14907         * event-stream.c (Fdispatch_event): Doc fix.
14908
14909 2000-03-29  SL Baur  <steve@musashimaru.m17n.org>
14910
14911         * postgresql.c: Remove all references to PQsetenv*.
14912
14913         * postgresql.h: Remove references to PGsetenvHandler object.
14914         * lrecord.h (lrecord_type): Ditto.
14915
14916 2000-04-11  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14917
14918         * glyphs-msw.h (struct mswindows_image_instance_data): Added
14919         real_heigh and real_width members, and accessor macros for these.
14920
14921         * glyphs-msw.c (init_image_instance_geometry): New function.
14922         (init_image_instance_from_dibitmap): Use it.
14923         (mswindows_resource_instantiate): Use it.
14924         (init_image_instance_from_xbm_inline): Use it.
14925         (mswindows_initialize_image_instance_mask): Use real bitmap
14926         geometry.
14927         (mswindows_create_resized_bitmap): Ditto.
14928         (mswindows_create_resized_mask): Ditto.
14929
14930         * redisplay-msw.c (mswindows_output_dibitmap): Stretch real mask
14931         and bitmap to their surface size.
14932
14933 2000-04-11  Jan Vroonhof  <jan@xemacs.org>
14934
14935         * process-unix.c (unix_send_process): Guard against process MIA
14936         after Faccept_process_output.
14937
14938 2000-04-11  Ben Wing  <ben@xemacs.org>
14939
14940         * eval.c (unbind_to_hairy): fix brokenness introduced by
14941         nanosecond speed improvements.
14942
14943 2000-04-07  Raymond Toy  <toy@rtp.ericsson.se>
14944
14945         * sunplay.c (init_device): To play sounds correctly, the device
14946         apparently needs to be initialized at least once by XEmacs.  Make
14947         it so.
14948
14949 2000-04-10  IKEYAMA Tomonori  <tomonori@suiyokai.org>
14950
14951         * redisplay.c (add_margin_runes): Add text image glyph
14952           handling.
14953
14954 2000-04-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
14955
14956         * lisp.h (DOESNT_RETURN): Don't declare as volatile when
14957         gcc is newer than 2.5.
14958
14959 2000-04-06  Colin Rafferty  <colin@xemacs.org>
14960
14961         * lisp.h (FLEXIBLE_ARRAY_STRUCT_SIZEOF): Created.
14962
14963         * fns.c (size_bit_vector):
14964         * alloc.c (size_vector):
14965         (make_vector_internal):
14966         (make_bit_vector_internal):
14967         (sweep_bit_vectors_1):
14968         Replace calls to offsetof with FLEXIBLE_ARRAY_STRUCT_SIZEOF macro.
14969
14970 2000-04-06  Andy Piper  <andy@xemacs.org>
14971
14972         * gmalloc.c (malloc): undo previous change.
14973         (malloc): ditto.
14974         (free): ditto.
14975         (realloc): ditto.
14976
14977 2000-04-06  IKEYAMA Tomonori <tomonori@suiyokai.org>
14978
14979         * line-number.c (buffer_line_number): Revert to former version.
14980
14981 2000-04-06  Andy Piper  <andy@xemacs.org>
14982
14983         * gmalloc.c (malloc): add error checking.
14984         (malloc): ditto.
14985         (free): ditto.
14986         (realloc): ditto.
14987
14988         * dialog-x.c (dbox_descriptor_to_widget_value): add extra
14989         button_item_to_widget_value arg.
14990
14991         * glyphs-x.c (x_button_instantiate): add extra
14992         button_item_to_widget_value arg.
14993         (x_progress_gauge_instantiate): ditto.
14994         (x_edit_field_instantiate): ditto.
14995         (x_label_instantiate): ditto.
14996
14997         * gui-x.c (gui_items_to_widget_values_1): add extra
14998         button_item_to_widget_value arg.
14999         (button_item_to_widget_value): add extra menu_item_p arg.
15000
15001         * gui-x.h: change signature of button_item_to_widget_value.
15002
15003         * menubar-x.c (menu_item_descriptor_to_widget_value_1): add extra
15004         button_item_to_widget_value arg.
15005
15006 2000-04-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
15007
15008         * buffer.h (struct buffer): auto_save_modified should be long.
15009
15010 2000-04-05  Andy Piper  <andy@xemacs.org>
15011
15012         * glyphs-widget.c (widget_instantiate): pixwidth != pixheight
15013         type.
15014         (button_query_geometry): give a little more room so that athena
15015         buttons fit.
15016
15017 2000-04-05  Andy Piper  <andy@xemacs.org>
15018
15019         * faces.c (complex_vars_of_faces): The widget face should inherit
15020         the font of the gui-element face.
15021
15022 2000-04-04  Andy Piper  <andy@xemacs.org>
15023
15024         * glyphs-x.c (x_button_update): new function. unconditionally
15025         update a button's state when the instance is dirty.
15026         (image_instantiator_format_create_glyphs_x): add x_button_update.
15027         (x_widget_instantiate): remove old resize cruft.
15028
15029 2000-04-02  Andy Piper  <andy@xemacs.org>
15030
15031         * frame.c (change_frame_size_1): The introduction of gutters means
15032         that we need to allow 0 as a potential frame dimension.
15033
15034 2000-04-02  IKEYAMA Tomonori  <tomonori@suiyokai.org>
15035
15036         * redisplay.c (add_glyph_rune): Don't set 0 to bufpos for text
15037         image glyph if allow_cursor.
15038         (add_hscroll_rune): Don't allow cursor to border glyph.
15039         (create_text_block): Ditto.
15040
15041         * redisplay-output.c (redisplay_move_cursor): Do nothing even if
15042         text not in buffer.
15043         (redisplay_output_layout): Call ensure_face_cachel_complete for
15044         text image glyph.
15045
15046
15047 2000-03-16  IKEYAMA Tomonori  <tomonori@suiyokai.org>
15048
15049         * redisplay.c (add_glyph_rune): Adding text image as text runes.
15050
15051         * redisplay-output.c (redisplay_move_cursor): NO_CURSOR if text
15052         not in buffer
15053
15054         * redisplay-tty.c (tty_output_display_block): Delete the routine
15055         for text image glyph
15056         * redisplay-x.c (x_output_display_block): ditto
15057         * redisplay-msw.c (mswindows_output_display_block): ditto
15058
15059 2000-02-02  Mike Alexander  <mta@arbortext.com>
15060
15061         Note: Some of these were committed by accident as part of other
15062         patches.
15063
15064         * regex.c (regex_compile): Avoid compiler warnings.
15065
15066         * ntproc.c (sys_spawnve): Avoid compiler warnings.
15067
15068         * nt.h: Declare term_ntproc correctly.
15069
15070         * nt.c: Remove incorrect declaration of get_home_directory which
15071         is declared correctly in lisp.h.
15072
15073         * keymap.c (get_keyelt): Avoid compiler warnings.
15074         (raw_lookup_key_mapper): Avoid compiler warnings.
15075
15076         * gutter.c (gutter_was_visible): Add return statement to avoid warning.
15077
15078         * glyphs-eimage.c (png_instantiate): Avoid compiler warnings.
15079
15080         * filemode.c (mode_string): Avoid compiler warnings.
15081
15082         * file-coding.c (Fcoding_system_aliasee): Add return statement to
15083         avoid warning.
15084
15085         * events-mod.h: Undef some things that winuser.h defines differently.
15086
15087         * data.c (Faset): Avoid compiler warnings.
15088
15089         * alloc.c (Fmake_byte_code): Avoid compiler warnings.
15090
15091 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
15092
15093         * sound.c (Fplay_sound_file): Wrap ESD in start/stop_interrupts.
15094         Fall through to simple beep on error.
15095         Replace "extern" by real header file.
15096
15097         * linuxplay.c: Use nativesound.h
15098         (play_sound_data): Return error code. Be less verbose on error.
15099
15100         * sunplay.c: Use nativesound.h
15101         (play_sound_data): Return error code. Be less verbose on error.
15102
15103         * ntplay.c: Use nativesound.h
15104         (play_sound_data): Return fake error code
15105
15106         * sgiplay.c: Use nativesound.h
15107         (play_sound_data): Return error code
15108
15109         * hpplay.c: Use nativesound.h, partially implement
15110         new error code. Break compilation until finished.
15111         (play_sound_data): error code.
15112
15113         * nativesound.h (play_sound_file):
15114           (play_sound_data): Prototype in new header.
15115
15116 2000-03-31  Andy Piper  <andy@xemacs.org>
15117
15118         * glyphs-widget.c: (button_query_geometry): new function. Adjust
15119         for toggle and radio buttons.
15120         (image_instantiator_buttons): use it.
15121
15122 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
15123
15124         * scrollbar-x.c (x_update_vertical_scrollbar_callback):
15125         (x_update_horizontal_scrollbar_callback): Return if no mirror was
15126         found. Scrollbar event probably belonged to some old config.
15127
15128 2000-03-31  Andy Piper  <andy@xemacs.org>
15129
15130         * glyphs-widget.c (widget_instantiate): use LAYOUT_VERTICAL rather
15131         than 1.
15132         (initialize_widget_image_instance): default layout to
15133         LAYOUT_HORIZONTAL rather than 0.
15134         (widget_instantiate): reverse the item list at the end rather than
15135         every iteration.
15136         (layout_layout): re-code for the border text at the front of the
15137         item list rather than at the end.
15138         (layout_query_geometry): ditto. Pick up fixed and dynamic sizes
15139         provided by the user.
15140         (widget_query_geometry): comment.
15141
15142 2000-03-30  Andy Piper  <andy@xemacs.org>
15143
15144         * glyphs-widget.c (image_instantiator_layout): allow standard
15145         widget keywords in layouts.
15146
15147         * gutter.c (output_gutter): cope with nil gutter contents.
15148
15149         * frame.c (Fset_frame_properties): add gutter docs.
15150
15151 2000-03-29  Andy Piper  <andy@xemacs.org>
15152
15153         * toolbar-msw.c (TBSTYLE_FLAT): add.
15154         (mswindows_output_toolbar): minor fiddling.
15155
15156 2000-03-29  Andy Piper  <andy@xemacs.org>
15157
15158         * gutter.c (output_gutter): force gutter size recalculation if
15159         what we are trying to display won't fit.
15160         (update_gutter_geometry): new function. A per-gutter version of
15161         update_frame_gutter_geometry.
15162         (update_frame_gutter_geometry): use it.
15163         (redraw_exposed_gutter): add extra debugging output.
15164
15165 2000-03-28  Mike Alexander  <mta@arbortext.com>
15166
15167         * dumper.c: Declare pdump_hFile and pdump_hMap (Windows only)
15168         (pdump_file_unmap): Implement it on Windows
15169         (pdump_file_get): Save alocated handles for pdump_file_unmap
15170
15171 2000-03-28  Andy Piper  <andy@xemacs.org>
15172
15173         * gui.c (get_gui_callback): treat Quit specially.
15174
15175 2000-03-27  Andy Piper  <andy@xemacs.org>
15176
15177         * glyphs.c (image_instantiate): be careful to check in the same
15178         way we assigned.
15179
15180 2000-03-27  Didier Verna  <didier@xemacs.org>
15181
15182         * config.h.in: define the proper SMART_INCLUDE macro.
15183         handle renaming of `foo_h_path' to `foo_h_file'.
15184
15185         * database.c: ditto.
15186
15187         * emacs.c: ditto.
15188
15189         * linuxplay.c: ditto.
15190
15191         * terminfo.c: ditto.
15192
15193         * tooltalk.h: ditto.
15194
15195 2000-03-27  Andy Piper  <andy@xemacs.org>
15196
15197         * glyphs-msw.c (mswindows_update_widget): make sure the widget
15198         gets updated whenever the face might have changed.
15199
15200 2000-03-26  Mike Alexander  <mta@arbortext.com>
15201
15202         * dumper.c (pdump_resource_free): Fix the comment.
15203
15204 2000-03-21  Olivier Galibert  <galibert@pobox.com>
15205
15206         * input-method-xlib.c (XIM_init_frame): Remove painful warning.
15207
15208 2000-03-22  Mike Alexander  <mta@arbortext.com>
15209
15210         * dumper.c: Include Windows headers on Windows
15211         (pdump_resource_free): Add a body to the function
15212         (pdump_load): exe_name -> exe_path and add some comments.
15213
15214 2000-03-25  Mike Alexander  <mta@arbortext.com>
15215
15216         * gui.c (copy_gui_item_tree): Return a value in all cases
15217
15218 2000-03-21  Didier Verna  <didier@xemacs.org>
15219
15220         * config.h.in: move INCLUDE_GLUE_1 and INCLUDE_GLUE_2 here from
15221         lwlib/config.h.in.
15222         (SMART_INCLUDE): new macro.
15223         (POSTGRES_INCLUDE): new macro to include postgresql headers from
15224         the proper location.
15225
15226         * postgresql.c: use it.
15227
15228         * inline.c: ditto.
15229
15230 2000-03-24  Andy Piper  <andy@xemacs.org>
15231
15232         * gutter.c (redraw_exposed_gutters): must be "in display" when we
15233         do this.
15234
15235 2000-03-24  Andy Piper  <andy@xemacs.org>
15236
15237         * redisplay-output.c (compare_runes): use image_instance_changed
15238         to detect changes. Do not depend on glyphs_changed, only depend on
15239         dirtiness.
15240          (redisplay_output_layout): add debug messages.
15241         (compare_runes): ditto.
15242
15243         * glyphs.h: declare new functions.
15244         (struct Lisp_Image_Instance): remove percent and associated
15245         accessors.
15246
15247         * gui.h: declare new copying functions.
15248
15249         * gui.c (copy_gui_item_tree): new function.
15250         (copy_gui_item): new function.
15251         (gui_item_id_hash): revert to standard hash.
15252         (gui_item_hash): ditto.
15253         (gui_item_hash_internal): deleted.
15254         (mark_gui_item): mark value.
15255         (gui_item_add_keyval_pair): add value.
15256         (gui_item_init): ditto.
15257         (gui_add_item_keywords_to_plist): ditto.
15258         (gui_item_equal): ditto.
15259         (syms_of_gui): add Q_value.
15260
15261         * glyphs-x.c (x_progress_gauge_update): use pending items and
15262         value for setting the state.
15263         (x_update_widget): don't set items from pending here.
15264
15265         * glyphs-widget.c (update_widget): update items here.
15266         (progress_gauge_set_property): use items for storing value. Put
15267         new value in pending items.
15268
15269         * glyphs-msw.c (mswindows_progress_gauge_update): use pending
15270         items for new value. Convert percent -> value.
15271         (mswindows_tab_control_update): don't update items here.
15272
15273         * glyphs.c (Fupdate_widget_instances): use image_instance_changed.
15274         (update_subwindow): ditto.
15275         (image_instance_changed): new function. Compare hash values and
15276         past and present widget items.
15277         (image_instantiate): We more careful about where we instantiate
15278         things.
15279         (image_instantiate): add error checking.
15280
15281         * gutter.c (syms_of_gutter): use -hook.
15282
15283 2000-03-20  Yoshiki Hayashi  <yoshiki@xemacs.org>
15284
15285         * console-tty.c (Fset_console_tty_input_coding_system): Use
15286         Qkeyboard.
15287         (Fset_console_tty_output_coding_system): Use Qterminal.
15288         (tty_init_console): Use Qkeyboard and Qterminal.
15289
15290 2000-03-21  Ben Wing  <ben@xemacs.org>
15291
15292         * ntproc.c (create_child): remove bogus HAVE_NTGUI's.
15293         From Mike Alexander <mta@arbortext.com>.
15294
15295 2000-03-21  Ben Wing  <ben@xemacs.org>
15296
15297         * event-msw.c (mswindows_need_event): Horrible kludge to fix
15298         process brokenness.  Proper implementation to come.
15299         * callproc.c:
15300         Rename call-process-internal to old-call-process-internal.
15301         New impl. in process.el.
15302
15303 2000-03-21  Martin Buchholz  <martin@xemacs.org>
15304
15305         * Makefile.in.in: Coalesce HAVE_NATIVE_SOUND code fragments.
15306
15307 2000-03-20  Andy Piper  <andy@xemacs.org>
15308
15309         * glyphs.c (full_list_hash): make hashes of the same elements in
15310         different orders return different values.
15311
15312 2000-03-20  Martin Buchholz <martin@xemacs.org>
15313
15314         * XEmacs 21.2.32 is released.
15315
15316 2000-03-20  Martin Buchholz  <martin@xemacs.org>
15317
15318         * buffer.h (DFC_ALLOCA_USE_CONVERTED_DATA):
15319         (DFC_MALLOC_USE_CONVERTED_DATA):
15320         Add aliasing-safe casts to allow use with char* or unsigned char*
15321         lvalues.
15322
15323         * eldap.c (Fldap_open):
15324         (Fldap_search_basic):
15325         (Fldap_add):
15326         (Fldap_modify):
15327         Make C++-compilable.
15328         Make sure GCPRO'ed variables are initialized.
15329         Use temp variables to avoid repeated calls to Flength.
15330
15331 2000-03-16  Martin Buchholz  <martin@xemacs.org>
15332
15333         * sysfile.h:
15334         Make sure PATH_MAX is always defined.
15335         Include limits.h for PATH_MAX.
15336         Deprecate use of MAXPATHLEN.
15337
15338 2000-03-10  Martin Buchholz  <martin@xemacs.org>
15339
15340         * emacs.c: Add reinit_vars_of_fileio.
15341         * symsinit.h: Add reinit_vars_of_fileio.
15342         * fileio.c (reinit_vars_of_fileio): New.
15343         * fileio.c (Fmake_temp_name):
15344         Initialize temp_name random number from microseconds to make
15345         collisions even less likely.  Initialize always at process startup
15346         time.  (make-temp-name) used to return the same file name twice in
15347         a row when PDUMP.
15348         Random stylistic fiddling.
15349         Comment fixes.
15350
15351 2000-03-20  Andy Piper  <andy@xemacs.org>
15352
15353         * glyphs.c (image_instantiate): allow text glyphs to be
15354         instantiated in the minibuffer window.
15355
15356 2000-03-19  Andy Piper  <andy@xemacs.org>
15357
15358         * glyphs.c (image_instance_hash): be careful about which items we
15359         hash on.
15360
15361         * glyphs-widget.c (tab_control_set_property): record into pending
15362         items rather than the actual items.
15363
15364         * glyphs-x.c (x_update_widget): use pending items to update with.
15365
15366         * glyphs-msw.c (mswindows_tab_control_update): use pending items
15367         to update with.
15368
15369         * glyphs.c (mark_image_instance): mark pending items.
15370
15371         * window.c (Fset_window_configuration): record the buffer.
15372         (Fselect_window): totally revert previous change which breaks many
15373         things.
15374
15375 2000-03-18  Andy Piper  <andy@xemacs.org>
15376
15377         * glyphs-msw.c (mswindows_tab_control_update): force selected
15378         item.
15379
15380         * glyphs.c (image_instantiate): don't allow the minibuffer as a
15381         window domain cache, otherwise we get inconsistencies at
15382         startup. There is something fishy at startup which can lead to the
15383         minibuffer being the selected window when the gutter content is
15384         instantiated.
15385
15386         * gui.c (parse_gui_item_tree_list): add probably unnecessary
15387         gcpros.
15388         (parse_gui_item_tree_children): ditto.
15389         (parse_gui_item_tree_item): ditto.
15390
15391         * glyphs.c (Fupdate_widget_instances): return something.
15392
15393 2000-03-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
15394
15395         * window.c (Fselect_window): Undo 2000-03-17 change.
15396
15397 2000-03-17  SL Baur  <steve@musashimaru.m17n.org>
15398
15399         * postgresql.c (Fpq_setenv): Remove this turkey when linking
15400         against v7.0 libraries.  Insta-coredump city until the postgres
15401         folks fix it.
15402
15403 2000-03-17  Andy Piper  <andy@xemacs.org>
15404
15405         * faces.c (complex_vars_of_faces): don't give the widget face an
15406         inherited background pixmap.
15407
15408         * glyphs-msw.c (mswindows_tab_control_instantiate): select the
15409         selected item.
15410
15411         * event-stream.c (Fdispatch_non_command_events): return something.
15412
15413         * gutter.c (output_gutter): use widget face.
15414         (clear_gutter): ditto.
15415
15416         * NEWS: adjust again.
15417
15418         * window.c (Fselect_window): make sure this runs to completion to
15419         avoid oddities with Fset_window_configuration.
15420         (Fcurrent_window_configuration): in general do not save the
15421         minibuffer as the selected window.
15422
15423         * glyphs.h (IMAGE_INSTANCE_HASH_DEPTH): increase.
15424
15425 2000-03-16  Olivier Galibert  <galibert@pobox.com>
15426
15427         * emacs.c (Frunning_temacs_p): Revert previous patch.
15428         (main_1): Reinitialize running_temacs_argc if pdump_load succeeds.
15429
15430 2000-03-16  Andy Piper  <andy@xemacs.org>
15431
15432         * glyphs-x.c (x_tab_control_update): if no widget values then
15433         return.
15434
15435         * NEWS: update for new features.
15436
15437         * event-Xt.c (emacs_Xt_force_event_pending): new function. Post a
15438         synthetic event to the native system.
15439         (reinit_vars_of_event_Xt): set force_event_pending to
15440         emacs_Xt_force_event_pending.
15441
15442         * events.h (struct event_stream): add force_event_pending.
15443
15444         * specifier.c (recompute_one_cached_specifier_in_window): add
15445         comment.
15446
15447         * redisplay.c (redisplay_frame): don't call
15448         update_frame_subwindows. Reset subwindow cachels when
15449         subwindows_changed, removing this was an optimization too far.
15450
15451         * redisplay-output.c (compare_runes): reorganize so that we catch
15452         glyph changes when we want them. Set optimize_output when this
15453         would help layouts.
15454         (redisplay_output_layout): remove frame_really_changed, use
15455         optimize_output instead.
15456
15457         * redisplay-msw.c (mswindows_output_display_block): reset
15458         optimize_output after outputting a glyph.
15459         * redisplay-x.c (x_output_display_block): ditto.
15460         * redisplay-tty.c (tty_output_display_block): ditto.
15461
15462         * gutter.c: (specifier_vars_of_gutter): use new spec changed
15463         functions.
15464         (gutter_specs_changed): do specific gutter positions.
15465         (top_gutter_specs_changed): new function. Only update the
15466         specified gutter specs.
15467         (bottom_gutter_specs_changed): ditto.
15468         (left_gutter_specs_changed): ditto.
15469         (right_gutter_specs_changed): ditto.
15470
15471         * gui.c (gui_item_hash_internal): new function, does a real hash.
15472         (gui_item_id_hash): use it.
15473         (gui_item_hash): hash the eval'ed gui_item.
15474
15475         * gui-x.c (popup_selection_callback): send an eval event to call
15476         Fupdate_widget_instances.
15477
15478         * gui-msw.c (mswindows_handle_gui_wm_command): send an eval event
15479         to call Fupdate_widget_instances.
15480
15481         * glyphs.h (struct Lisp_Image_Instance): add optimize_output flag.
15482         (IMAGE_INSTANCE_OPTIMIZE_OUTPUT): access it.
15483
15484         * glyphs.c: (update_frame_subwindows): deleted.
15485         (Fupdate_widget_instances): new function for updating the dirty
15486         state of widgets that might have changed.
15487         (syms_of_glyphs): add Qupdate_widget_instances.
15488         (full_list_hash): hash a list completely.
15489         (image_instance_hash): use it for items and properties.
15490
15491         * frame-msw.c (mswindows_size_frame_internal): remove unused
15492         variable.
15493
15494         * faces.h (struct face_cachel): fix comment.
15495
15496         * event-stream.c (Fdispatch_non_command_events): new
15497         function. Process non-command events, forcing an event cycle
15498         beforehand.
15499         (syms_of_event_stream): declare.
15500         (event_stream_force_event_pending): new function. Force an event
15501         on the native event queue so that an event cycle will occur next
15502         time we check.
15503
15504         * event-msw.c:
15505         (struct ntpipe_shove_stream):
15506         (mswindows_enqueue_dispatch_event):
15507         (mswindows_dequeue_dispatch_event):
15508         (mswindows_cancel_dispatch_event):
15509         (mswindows_pump_outstanding_events):
15510         (mswindows_drain_windows_queue):
15511         (mswindows_handle_paint):
15512         (mswindows_wnd_proc):
15513         (mswindows_key_to_emacs_keysym):
15514         (get_process_input_waitable):
15515         (emacs_mswindows_delete_stream_pair): re-indent file.
15516         (mswindows_need_event): do not process further fds if the windows
15517         fd is set, otherwise you get endless XM_BUMPQUEUE cycles. This
15518         fixes the 100% cpu problem.
15519         (reinit_vars_of_event_mswindows): set force_event_pending to 0.
15520
15521 2000-03-15  Olivier Galibert  <galibert@pobox.com>
15522
15523         * alloc.h: New.
15524         * dumper.h: New.
15525         * dumper.c: New.
15526
15527         * emacs.c: Moved dump file searching to dumper.c.
15528         (Frunning_temacs_p): Fixed.
15529
15530         * alloc.c: Moved everything pdump-related to dumper.c.  Removed
15531         last_lrecord_type_index_assigned.
15532
15533 2000-02-20  Olivier Galibert  <galibert@pobox.com>
15534
15535         * symsinit.h: Added reinit parameter to init_console_stream
15536         declaration.
15537
15538         * lisp.h: Added file parameter to pdump_load declaration.
15539
15540         * emacs.c (main_1): Added -nd/--nodump-file and -sd/--show-dump-id
15541         support.  Added dump file searching.
15542
15543         * config.h.in: Added EMACS_PROGNAME.
15544
15545         * console-stream.c (init_console_stream): Fix reinitialisation
15546         when running from temacs.
15547
15548         * alloc.c (pdump): Add id support.
15549         (pdump_load): Add file parameter and signature/id support.
15550
15551         * Makefile.in.in: Add full pdump support.
15552
15553 2000-03-15  SL Baur  <steve@musashimaru.m17n.org>
15554
15555         * postgresql.c: Update documentation to reflect latest code
15556         status.
15557         (print_result): Show tuple counts in printed representation when
15558         appropriate.
15559         (Fpq_put_nbytes): MULE-ize.
15560         (Fpq_get_line_async): Ditto.
15561
15562 2000-03-14  SL Baur  <steve@musashimaru.m17n.org>
15563
15564         * postgresql.c (Fpq_lo_import): Fix return value.
15565         Suggested by: Kenji Itoh <keit@tpj.co.jp>.
15566
15567 2000-03-13  Ben Wing  <ben@xemacs.org>
15568
15569         * alloc.c (pdump_load):
15570         Fix compile warning under mswin.
15571
15572 2000-03-14  SL Baur  <steve@musashimaru.m17n.org>
15573
15574         * postgresql.c: Mule-ization, bug fixes.
15575         Use PG_CODING to encapsulate coding system name changes.
15576         Backport a version of TO_EXTERNAL format for 21.1/InfoDock.
15577         (pg-coding-system): Create.
15578
15579         (Fpq_conn_defaults): Mule-ize.
15580         (Fpq_connectdb): Mule-ize & bug fix.
15581         (Fpq_connect_start): Mule-ize.
15582         (Fpq_set_client_encoding): Mule-ize.
15583         (Fpq_finish): Document `DEAD' connection status.
15584         (Fpq_clear): Ditto.
15585         (Fpq_pgconn): Mule-ize.
15586         (Fpq_exec): Mule-ize & bug fix.
15587         (Fpq_send_query): Ditto.
15588         (Fpq_get_result): Ditto.
15589         (Fpq_res_status): Mule-ize.
15590         (Fpq_result_error_message): Mule-ize.
15591         (Fpq_ntuples): fix comments.
15592         (Fpq_fname): Mule-ize.
15593         (Fpq_fnumber): Mule-ize.
15594         (Fpq_ftype): fix comments.
15595         (Fpq_get_value): Mule-ize.
15596         (Fpq_cmd_status): Ditto.
15597         (Fpq_cmd_tuples): Ditto.
15598         (Fpq_oid_value): Ditto.
15599         (Fpq_notifies): Ditto.
15600         (Fpq_lo_import): Ditto.
15601         (Fpq_lo_export): Ditto.
15602         (Fpq_get_line): Ditto.
15603         (Fpq_put_line): Mule-ize and bug fix.
15604         (syms_of_postgresql): Fix ifdef'ing, add pg-coding-system.
15605
15606 2000-03-10  SL Baur  <steve@musashimaru.m17n.org>
15607
15608         * postgresql.c (vars_of_postgresql): Mule-ize.
15609         (Fpq_conn_defaults): Ditto.
15610
15611 2000-03-12  Ben Wing  <ben@xemacs.org>
15612
15613         * alloc.c (Fmake_byte_code):
15614         * alloc.c (debug_string_purity_print):
15615         * alloc.c (pdump_backtrace):
15616         * alloc.c (pdump_get_indirect_count):
15617         * alloc.c (pdump_register_sub):
15618         * alloc.c (pdump_register_object):
15619         * alloc.c (pdump_register_struct):
15620         * alloc.c (pdump_dump_data):
15621         * alloc.c (pdump_reloc_one):
15622         Minor cleanups.
15623
15624         * console-msw.c:
15625         * console-msw.c (GetConsoleHwnd):
15626         * console-msw.c (msw_hide_console):
15627         * console-msw.c (msw_show_console):
15628         * console-msw.c (msw_ensure_console_buffered):
15629         * console-msw.c (msw_output_console_string):
15630         * console-msw.c (console_type_create_mswindows):
15631
15632         a) Added functions to manipulate the console window for use with
15633         shell support.
15634
15635         b) Added support for writing text to the console, which is now
15636         used under Windows when xemacs is not being run non-interactively,
15637         to write text that would otherwise be destined for stdout because
15638         under these circumstances, text written to stdout tends to
15639         disappear and not be seen.
15640
15641         * console-msw.h:
15642         * event-Xt.c:
15643         * event-Xt.c (x_event_to_emacs_event):
15644         * event-Xt.c (describe_event_window):
15645         * events-mod.h (XEMACS_MOD_CONTROL):
15646         * events.c:
15647         * events.c (Fmake_event):
15648         * events.c (character_to_event):
15649         * events.c (event_to_character):
15650         * events.c (format_event_object):
15651         * events.c (Fevent_modifiers):
15652         * events.h:
15653         * events.h (struct key_data):
15654         * events.h (struct button_data):
15655         * events.h (struct misc_user_data):
15656         * frame-x.c (Fcde_start_drag_internal):
15657         * frame-x.c (Foffix_start_drag_internal):
15658         * gpmevent.c (Freceive_gpm_event):
15659         * keymap.c:
15660         * keymap.c (bucky_sym_to_bucky_bit):
15661         * keymap.c (control_meta_superify):
15662         * keymap.c (make_key_description):
15663         * keymap.c (keymap_lookup_directly):
15664         * keymap.c (create_bucky_submap):
15665         * keymap.c (keymap_store):
15666         * keymap.c (define_key_check_and_coerce_keysym):
15667         * keymap.c (define_key_parser):
15668         * keymap.c (define_key_alternate_name):
15669         * keymap.c (Fdefine_key):
15670         * keymap.c (raw_lookup_key_mapper):
15671         * keymap.c (struct map_keymap_unsorted_closure):
15672         * keymap.c (map_keymap_unsorted_mapper):
15673         * keymap.c (map_keymap_sort_predicate):
15674         * keymap.c (map_keymap_sorted):
15675         * keymap.c (accessible_keymaps_mapper_1):
15676         * keymap.c (where_is_recursive_mapper):
15677         * keymap.c (describe_map_mapper):
15678         * keymap.c (describe_map_sort_predicate):
15679         * keymap.c (describe_map):
15680         * keymap.c (complex_vars_of_keymap):
15681         And a number of other files, the key modifier preprocessor
15682         constants that xemacs uses have names that conflict with constants
15683         defined under MS Windows for other purposes, so they were renamed
15684         to begin with the prefix XEMACS_. The variables that hold such
15685         modifiers were changed to consistently be of type int to fix
15686         various compile warnings.
15687
15688         * console.c (complex_vars_of_console):
15689         * device.c:
15690         * device-msw.c:
15691         * device-msw.c (mswindows_finish_init_device):
15692         * device-msw.c (msw_get_workspace_coords):
15693         * device-msw.c (mswindows_device_system_metrics):
15694         and various other files, added support for a new
15695         device property called offset-workspace which returns the position
15696         of the upper left corner of the workspace area and goes along with
15697         the existing size-workspace property.
15698
15699         * dialog-msw.c:
15700         * dialog-msw.c (push_bufbyte_string_as_unicode):
15701         * dialog-msw.c (mswindows_popup_dialog_box):
15702         Added support for XEmacs-style accelerator specifications in
15703         button text.  Note: I didn't add support for this under X Windows,
15704         and somebody needs to do this.
15705
15706         * dialog.c:
15707         * dialog.c (Fpopup_dialog_box):
15708         Documented the support for accelerators that was just mentioned.
15709
15710         editfns.c (get_home_directory): Changed behavior under Windows
15711         when HOME not defined; former behavior was irretrievably broken.
15712
15713         * emacs.c:
15714         * emacs.c (main_1):
15715         * emacs.c (main):
15716         * minibuf.c (clear_echo_area_internal):
15717         * minibuf.c (echo_area_append):
15718         * print.c:
15719         * print.c (std_handle_out_external):
15720         * print.c (std_handle_out_va):
15721         * print.c (fatal):
15722         * print.c (write_string_to_stdio_stream):
15723         * print.c (output_string):
15724         * print.c (debug_print):
15725         * print.c (debug_backtrace):
15726         * print.c (debug_short_backtrace):
15727         Cleaned up the code that prints text to stdout so that this can be
15728         changed to output into a console window instead under MS Windows,
15729         as described above.
15730
15731         * eval.c:
15732         * eval.c (DEFEND_AGAINST_THROW_RECURSION):
15733         * eval.c (internal_catch):
15734         * eval.c (unwind_to_catch):
15735         * eval.c (throw_or_bomb_out):
15736         * eval.c (condition_case_1):
15737         * eval.c (signal_1):
15738         * eval.c (check_error_state_sanity):
15739         * eval.c (call_with_suspended_errors_1):
15740         * eval.c (call_with_suspended_errors):
15741         * eval.c (reinit_vars_of_eval):
15742         Added code to catch throw loops and check for a pesky bug that may
15743         be gone now.
15744
15745         * event-msw.c:
15746         * event-msw.c (key_needs_default_processing_p):
15747         * event-msw.c (mswindows_wnd_proc):
15748         * event-msw.c (mswindows_modifier_state):
15749         * event-msw.c (emacs_mswindows_quit_p):
15750         * event-msw.c (vars_of_event_mswindows):
15751         a) Added support for using the alt key to select menu items as is
15752         standard under MS Windows.  This is controlled using the variable
15753         menu-accelerator-enabled, just like under X Windows.  There is an
15754         option on the options menu to turn this support on.  I really
15755         think that it should be on by default under Windows, but I'm not
15756         going to make this change yet.
15757
15758         b)  Added support for dynamic display size changes under Windows.
15759
15760         * event-stream.c:
15761         * event-stream.c (maybe_echo_keys):
15762         * event-stream.c (Fnext_event):
15763         * event-stream.c (command_builder_find_leaf):
15764         * event-stream.c (lookup_command_event):
15765         * event-stream.c (execute_command_event):
15766         * event-stream.c (pre_command_hook):
15767         * event-stream.c (post_command_hook):
15768         * event-stream.c (syms_of_event_stream):
15769         * event-stream.c (vars_of_event_stream):
15770         * event-stream.c (complex_vars_of_event_stream):
15771         * events.h (struct command_builder):
15772
15773         a) Tried to clean up a little bit the horribly written x-specific
15774         accelerator code that crept into this file.  I moved this code
15775         into menubar-x.c where it belongs. I also needed to move the
15776         command builder structure into the file events.h because it is
15777         accessed directly by this accelerator code.  What I didn't do, but
15778         which should be done at some point, is to properly abstract this
15779         code using device methods instead of the kludgy way that it
15780         currently hooks into the event code.
15781
15782         b) Added the lisp variables this-command-properties and
15783         last-command- properties, which should be used to synchronize two
15784         adjacent commands in preference to playing games with the variable
15785         this-command, which is typically what happens.
15786
15787         c) Added some slightly nasty code to hook into the lisp support
15788         for shifted- motion-key selection.  This is actually necessary for
15789         somewhat complicated reasons, which are described in
15790         simple.el. (NB: I think the proper thing would be to have the code
15791         that calls the pre and post command hooks also call out to generic
15792         lisp functions in simple.el, where all built-in stuff could be
15793         added.  I will think about this more.)
15794
15795         * event-unixoid.c (poll_fds_for_input):
15796         * lread.c (readchar):
15797         * redisplay-tty.c (tty_clear_frame):
15798         * redisplay-x.c (x_get_gc):
15799         * signal.c (interrupt_signal):
15800         And a whole bunch of other files: fixed up places that printed
15801         directly to stderr to instead call the function stderr_out so that
15802         the changes I made under Windows work correctly.
15803
15804         * filemode.c (mode_string):
15805         Warning fixes.
15806
15807         * frame-msw.c:
15808         * frame-msw.c (mswindows_size_frame_internal):
15809         Fixed the computation of frame size and position to keep the frame
15810         within the workspace area, rather than within the physical
15811         dimensions of the screen, so that the frame doesn't overlap window
15812         manager decorations, such as the start menu and toolbar, typically
15813         at the bottom of the screen.
15814
15815         * frame.c (vars_of_frame):
15816         Changed the default frame title format under MS Windows to consist
15817         of buffername-XEmacs, which is standard under MS Windows.  I think
15818         it might be a good idea to change this everywhere because I think
15819         it is superior to the current frame title format, but this is the
15820         kind of change that is likely to cause some people to get annoyed,
15821         so I'm not making it.
15822
15823         * glyphs-eimage.c (png_instantiate): Fixed some compile warnings.
15824
15825         * gui-msw.c (mswindows_handle_gui_wm_command):
15826         Fixed compile warnings.
15827
15828         * gui-x.c:
15829         * gui-x.c (strdup_and_add_accel):
15830         * gui-x.c (button_item_to_widget_value):
15831         * gui-x.h:
15832         Added code to automatically put an accelerator onto the beginning
15833         of menu items that don't have one as is now the standard, and is
15834         described more later.  Also fixed things so that the menu item
15835         name can be an evaluated expression, again a new standard.
15836
15837         * gui.c:
15838         * gui.c (gui_item_add_keyval_pair):
15839         * gui.c (make_gui_item_from_keywords_internal):
15840         * gui.c (gui_add_item_keywords_to_plist):
15841         * gui.c (gui_item_accelerator):
15842         * gui.c (gui_name_accelerator):
15843         * gui.c (gui_item_included_p):
15844         * gui.c (gui_item_display_flush_left):
15845         * gui.c (gui_item_display_flush_right):
15846         * gui.c (parse_gui_item_tree_item):
15847         * gui.c (parse_gui_item_tree_children):
15848         * gui.c (parse_gui_item_tree_list):
15849         Mule-ized.  Cleanup.  GCPRO addition.
15850
15851         * line-number.c (buffer_line_number):
15852         * lisp.h:
15853         * lisp.h (EMACS_INT_MAX):
15854         Added the manifest constant EMACS_INT_MIN corresponding to the
15855         existing constant EMACS_INT_MAX.  This is partially to fix compile
15856         warnings under Windows, and partly for cleanliness.
15857
15858         * menubar-msw.c:
15859         * menubar-msw.c (REPLACE_ME_WITH_GLOBAL_VARIABLE_WHICH_CONTROLS_RIGHT_FLUSH):
15860         * menubar-msw.c (msw_translate_menu_or_dialog_item):
15861         * menubar-msw.c (displayable_menu_item):
15862         * menubar-msw.c (populate_menu_add_item):
15863         * menubar-msw.c (populate_or_checksum_helper):
15864         * menubar-msw.c (populate_menu):
15865         * menubar-msw.c (update_frame_menubar_maybe):
15866         * menubar-msw.c (prune_menubar):
15867         * menubar-msw.c (msw_char_is_accelerator):
15868         * menubar-msw.c (unsafe_handle_wm_initmenu_1):
15869         * menubar-msw.c (mswindows_handle_wm_command):
15870         * menubar-msw.c (mswindows_handle_wm_initmenupopup):
15871         * menubar-msw.c (mswindows_handle_wm_initmenu):
15872         * menubar-msw.c (mswindows_update_frame_menubars):
15873         * menubar-msw.c (mswindows_free_frame_menubars):
15874         * menubar-msw.c (mswindows_popup_menu):
15875         Fixed a bug in handling accelerators where an extra character
15876         would be displayed in the menu item.  Also generalized the
15877         function displayable_menu_item because it is now used by the
15878         dialog box code as well.  And finally, added code in the functions
15879         that create the menubar to extract a list of accelerators for the
15880         top level menubar, which is used in the event code to determine
15881         whether a particular alt-key combination should be used to invoke
15882         a menu item, or should be passed through to access the standard
15883         XEmacs keymap binding for this key combination.
15884
15885         Much needed GCPROing.
15886
15887         * menubar-x.c:
15888         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
15889         * menubar-x.c (menu_item_descriptor_to_widget_value):
15890         * menubar-x.c (restore_in_menu_callback):
15891         * menubar-x.c (x_popup_menu):
15892         * menubar-x.c (menu_move_up):
15893         * menubar-x.c (menu_move_down):
15894         * menubar-x.c (menu_move_left):
15895         * menubar-x.c (menu_move_right):
15896         * menubar-x.c (menu_select_item):
15897         * menubar-x.c (command_builder_operate_menu_accelerator):
15898         * menubar-x.c (menu_accelerator_junk_on_error):
15899         * menubar-x.c (command_builder_find_menu_accelerator):
15900         * menubar-x.c (Faccelerate_menu):
15901         * menubar.h:
15902         Moved a whole bunch of code here that was previously in
15903         event-stream.c as described above.  There is also code connected
15904         to the new standard of adding an accelerator to the beginning of
15905         menu items that don't have one as described above and below.
15906
15907         * menubar.c:
15908         * menubar.c (menu_parse_submenu_keywords):
15909         * menubar.c (Fmenu_find_real_submenu):
15910         * menubar.c (Fnormalize_menu_item_name):
15911         * menubar.c (syms_of_menubar):
15912         * menubar.c (vars_of_menubar):
15913         * menubar.c (complex_vars_of_menubar):
15914
15915         a) Cleaned up a bunch of documentation and improved it.
15916
15917         b) XEmacs now automatically adds an accelerator onto the beginning
15918         of any menu items that don't have one.  I did this because there
15919         will inevitably be some menu items on the main menubar that don't
15920         have accelerators on them because the package that adds that
15921         particular menu item hasn't yet been fixed up to have accelerators
15922         in them and it looked rather strange to have some items with and
15923         some items without accelerators, especially since even in items
15924         without accelerators, you can, at least under windows, still
15925         access the item through an accelerator corresponding to the first
15926         character in the item's name.  If people don't like this behavior,
15927         I can add a variable to turn it off optionally, but I'm not sure
15928         this is a good idea because we really do need to have accelerators
15929         on all of the menu items, and if a package doesn't like the
15930         accelerators being put on the first character, then it should put
15931         the accelerators where they belong.
15932
15933         c) I made a behavior change, which is that the descriptor that
15934         specifies the text of the menu item, which formerly was just a
15935         string, can now also be an evaluated expression.  This makes this
15936         descriptor parallel with all of the others, which could also be
15937         evaluated expressions.  This also obviates the need for the
15938         keyword :label, which was previously listed in the documentation
15939         as unimplemented, and which was for the same purpose.
15940
15941         d) GCPROing.
15942
15943         * ntproc.c:
15944         * ntproc.c (new_child):
15945         * ntproc.c (sys_spawnve):
15946         * ntproc.c (find_child_console):
15947         * ntproc.c (sys_kill):
15948         Fixed compile warnings.  By the way, this file should really go
15949         away entirely, and this will happen as soon as Kirill makes his
15950         final round of process cleanups, which affect the function
15951         call-process.
15952
15953         * process-nt.c:
15954         * process-nt.c (struct nt_process_data):
15955         * process-nt.c (find_process_from_pid):
15956         * process-nt.c (send_signal_the_nt_way):
15957         * process-nt.c (enable_child_signals):
15958         * process-nt.c (find_child_console):
15959         * process-nt.c (send_signal_the_95_way):
15960         * process-nt.c (nt_finalize_process_data):
15961         * process-nt.c (ensure_console_window_exists):
15962         * process-nt.c (nt_create_process):
15963         * process-nt.c (nt_kill_child_process):
15964         * process-nt.c (nt_kill_process_by_pid):
15965         * process-nt.c (nt_open_network_stream):
15966         * process-nt.c (vars_of_process_nt):
15967         Copied over code from Emacs 20.5 to correctly send signals to sub-
15968         processes under Windows 95.  Also added code to automatically
15969         create and hide console window when a sub-process is created under
15970         Windows 95, which obviates the need for the separate runemacs.exe
15971         executable, and finally implemented some variables that were
15972         implemented in Emacs 20.5, but previously not in XEmacs.  These
15973         include mswindows- start-process-share-console and
15974         mswindows-start-process-inherit-error-mode. (Both of these only
15975         apply to Windows 95.)
15976
15977         * regex.c (regex_compile): Fixed a compile warning.
15978
15979         * select-msw.c:
15980         * select-msw.c (mswindows_own_selection):
15981         * select-msw.c (mswindows_get_foreign_selection):
15982         * select-msw.c (mswindows_disown_selection):
15983         * select-msw.c (console_type_create_select_mswindows):
15984         * select-msw.c (syms_of_select_mswindows):
15985         Cleaned up the file and implemented the device method
15986         selection_exists_p, which had accidentally been left out.  Also
15987         removed four lisp functions that were remnants from before the
15988         time when the selection code was properly device abstracted.
15989         These functions are no longer needed because there are generic
15990         equivalents, and because they were added recently and don't exist
15991         in FSF Emacs, I don't think there's any problem with just deleting
15992         them.
15993
15994         * sysdep.c:
15995         * sysdep.c (sys_subshell):
15996         Fixed a compile warning, although in this case there's probably
15997         something wrong with this code, and it ought to be looked into
15998         more thoroughly by somebody who understands it.
15999
16000         * window.c:
16001         * window.c (Fwindow_text_area_height):
16002         * window.c (Fwindow_width):
16003         * window.c (Fwindow_full_width):
16004         * window.c (Fwindow_pixel_width):
16005         * window.c (debug_print_window):
16006         * window.c (syms_of_window):
16007         Added functions window-text-area-height and window-full-width,
16008         which are functions for returning various width and height
16009         characteristics of a window. (One of these functions is necessary
16010         for making the file dialog box work correctly, and the other one
16011         was added for completeness.)  Also added a table to the
16012         documentation for window-height which describes the entire scheme
16013         for accessing width and height characteristics of a window.
16014
16015 2000-03-12  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16016
16017         * nt.c (fstat): Added a comment for another problem with
16018         non-encapsulated [f]stat(), reported by Adrian Aichner
16019         <aichner@ecf.teradyne.com>.
16020
16021 2000-03-11  Andy Piper  <andy@xemacs.org>
16022
16023         * window.c (make_dummy_parent): initialize subwindow instance
16024         cache.
16025         (Fset_window_configuration): zero extent_modiff.
16026
16027 2000-03-10  Andy Piper  <andy@xemacs.org>
16028
16029         * redisplay.c (Fredraw_frame): reset the changed_set flags so that
16030         more changes can be triggered.
16031         (Fredisplay_frame): ditto.
16032         (Fredraw_device): ditto.
16033         (Fredisplay_device): ditto.
16034         (redisplay_frame): make non-static.
16035         (redisplay_frame): call update_frame_gutter_geometry outside of
16036         display proper.
16037
16038         * gutter.h: declare update_frame_gutter_geometry.
16039
16040         * redisplay.h: declare redisplay_frame.
16041
16042         * gutter.c (update_frame_gutter_geometry): move geometry changes
16043         in update_frame_gutters here. Geometry changes can only occur
16044         outside of redisplay.
16045         (update_frame_gutters): remove geometry change code.
16046         (Fredisplay_gutter_area): make sure that we are in display when we
16047         update and that we have flushed any size changes.
16048
16049 2000-03-11  Andy Piper  <andy@xemacs.org>
16050
16051         * alloc.c (pdump_dump_data): remove i & count shadows.
16052
16053 2000-02-27  Mike Alexander  <mta@arbortext.com>
16054
16055         * sysdep.h: Declare pdump_read_file
16056
16057         * sysdep.c (pdump_read_file): New function
16058
16059         * alloc.c (pdump_load): Call pdump_read_file to get the portable
16060         dump data
16061
16062 2000-03-10  SL Baur  <steve@musashimaru.m17n.org>
16063
16064         * lrecord.h: add `lrecord_type_pgsetenv'.
16065
16066 2000-03-08  SL Baur  <steve@musashimaru.m17n.org>
16067
16068         * symsinit.h: declare (vars|syms)_of* functions.
16069         * lrecord.h: add `lrecord_type_pgconn' and 'lrecord_type_pgresult'.
16070
16071 2000-03-06  SL Baur  <steve@musashimaru.m17n.org>
16072
16073         * config.h.in: Add symbols HAVE_POSTGRESQL and HAVE_POSTGRESQLV7
16074
16075         * inline.c: Include postgresql.h lrecord stuffs to placate buggy
16076         GCCs.
16077
16078         * emacs.c (main_1): Call postgres initialization code.
16079
16080         * postgresql.h: New file.  PostgreSQL RDBMS support.
16081         * postgresql.c: New file.
16082
16083 2000-03-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
16084
16085         * redisplay-output.c (redisplay_output_display_block): Disable
16086         redundant code.
16087
16088 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
16089
16090         * mule-canna.c (Fcanna_henkan_region): Translate doc-string.
16091         (Fcanna_henkan_next): Ditto.
16092         (Fcanna_bunsetu_henkou): Ditto.
16093         (Fcanna_henkan_kakutei): Ditto.
16094         (Fcanna_henkan_end): Ditto.
16095         (Fcanna_henkan_quit): Ditto.
16096         (Fcanna_henkan_next): Set retun value correctly.
16097         (c2mu): Use unsigned char instead of signed char.
16098
16099 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
16100
16101         * emacs.c (main_1): Always call syms_of_gui.
16102         * inline.c: include gui.h
16103
16104 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
16105
16106         * redisplay.c (Vvisible_bell): Renamed from visible_bell and
16107         converted to Lisp_Object.
16108         (Qtop_bottom): New variable.
16109         (syms_of_redisplay): Initialize it.
16110         * redisplay.h (Vvisible_bell): Ditto.
16111         * sound.c (ding): Ditto and check if Vvisible_bell is nil.
16112         * redisplay-x.c (x_flash): When Vvisible_bell is top-bottom,
16113         only flash top and bottom.
16114
16115 2000-03-08  Andy Piper  <andy@xemacs.org>
16116
16117         * buffer.c (Frename_buffer): record new buffer name the right way.
16118
16119 2000-03-08  Andy Piper  <andy@xemacs.org>
16120
16121         * glyphs.c (update_subwindow): increase hash depth so that widget
16122         items get picked up properly.
16123
16124         * redisplay-output.c (compare_runes): increase hash depth so that
16125         widget items get picked up properly.
16126
16127 2000-03-08  Andy Piper  <andy@xemacs.org>
16128
16129         * gutter.c (output_gutter): add some debug.
16130
16131         * glyphs.h (struct Lisp_Image_Instance): add display_hash.
16132         (IMAGE_INSTANCE_DISPLAY_HASH): new macro.
16133         (XIMAGE_INSTANCE_DISPLAY_HASH): ditto.
16134
16135         * redisplay-output.c (compare_runes): use display_hash to
16136         determine if glyphs really are not the same.
16137
16138         * glyphs.c (update_subwindow): check display_hash to see if
16139         anything really needs to be updated. If not then do
16140         nothing. Record the display_hash after updating.
16141         (image_instance_equal): compare the image_instance face also.
16142
16143 2000-03-07  Yoshiki Hayashi  <yoshiki@xemacs.org>
16144
16145         * redisplay.h: Fix comment style.
16146
16147 2000-03-08  Jonathan Harris  <jhar@tardis.ed.ac.uk>
16148
16149         * consle-msw.h (struct mswindows_frame):
16150         Added new member paint_pending to indicate whether a WM_PAINT
16151         magic event has been queued for this frame.
16152
16153         * event-msw.c (mswindows_drain_windows_queue):
16154         Don't queue a WM_PAINT magic event if one is already queued.
16155         (emacs_mswindows_handle_magic_event): clear paint_pending flag.
16156
16157         * frame-msw.c (mswindows_init_frame_1): initialise paint_pending flag.
16158
16159 2000-03-07  Didier Verna  <didier@xemacs.org>
16160
16161         * dired.c: #include `regex.h' after `sysfile.h'.
16162
16163 2000-03-06  Martin Buchholz  <martin@xemacs.org>
16164
16165         * sound.c (init_nas_sound): Fix compiler warning.
16166
16167         * alloc.c (ALIASING_VOIDPP_DEREFERENCE): New.
16168         (FREE_STRUCT_P):
16169         (MARK_STRUCT_AS_FREE):
16170         (MARK_STRUCT_AS_NOT_FREE):
16171         Make `gcc -fstrict-aliasing' work properly.
16172
16173 2000-03-07  Jonathan Harris  <jhar@tardis.ed.ac.uk>
16174
16175         * device-msw.c (mswindows_finish_init_device): Call CoInitialize().
16176         (mswindows_delete_device): Call CoUnnitialize().
16177
16178         * event-msw.c (mswindows_wnd_proc): WM_DROPFILES: Decode Shortcuts.
16179
16180 2000-02-25    <CraigL@DyCon.com>
16181
16182         * process-nt.c: MinGW now has <shellapi.h>, but still needs
16183         <errno.h>.
16184
16185         * sysdep.c: This extern declaration for environ prevents MinGW
16186         from finding the variable in CRTDLL.DLL.
16187
16188         * s\mingw32.h (PBS_SMOOTH): Removed, now defined in cygwin's
16189         windows headers.
16190         (SHGFI_EXETYPE): ..
16191         (WM_MOUSEWHEEL): ..
16192         (_WIN32_IE): Added, needed to get the TCS_BOTTOM and TCS_VERTICAL
16193         definitions.
16194         (MMRESULT): Removed, now defined in cygwin's windows headers.
16195         (TIMECAPS): ..
16196         (uid_t,gid_t,pid_t,ssize_t): ..
16197         (_timeb): Removed, MinGW defines both _timeb and timeb.
16198         (HAVE_H_ERRNO): Added.
16199         (HAVE_TZNAME): Added, configure is not detecting this.
16200
16201 2000-02-03  IKEYAMA Tomonori <tomonori@suiyokai.org>
16202
16203         * chartab.h (XCHAR_TABLE_VALUE_UNSAFE): New macro.
16204         * syntax.c (syntax_match): Use it.
16205
16206         * cmds.c: Import auto-fill-chars from FSF Emacs.
16207         (Vauto_fill_chars): New variables.
16208         (internal_self_insert): Check Vauto_fill_chars.
16209         (vars_of_cmds):
16210         Declare auto-fill-chars as a Lisp variable and initialize it.
16211
16212 2000-03-05  Jonathan Harris  <jhar@tardis.ed.ac.uk>
16213
16214         * fileio.c (Fmake_symbolic_link):
16215         (Ffile_symlink_p):
16216         Run handlers even if local machine doesn't have symlinks.
16217
16218 2000-03-05  Jonathan Harris  <jhar@tardis.ed.ac.uk>
16219
16220         * event-msw.c (mswindows_drain_windows_queue):
16221         Don't generate paint magic events for non-XEmacs frames.
16222
16223 2000-03-05  Andy Piper  <andy@xemacs.org>
16224
16225         * redisplay.c (redisplay_frame): generate_displayable_area and
16226         friends assumes that we are not in GC, we therefore have to make
16227         sure that this doesn't happen.
16228
16229         * gutter.c (calculate_gutter_size): generate_displayable_area
16230         assumes that we are not in GC, we therefore have to make sure that
16231         this doesn't happen.
16232
16233 2000-03-05  Martin Buchholz  <martin@xemacs.org>
16234
16235         * opaque.c (DEFINE_LRECORD_IMPLEMENTATION): opaque_ptr ==> opaque-ptr
16236
16237 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
16238
16239         * redisplay.c (regenerate_window): Make sure we set a sane value
16240         for end_pos even if we jump out of the loop.
16241         (regenerate_window): Answer Ben's question :-).
16242         (start_end_of_last_line): Add may_error argument.
16243         (start_of_last_line):
16244         (end_of_last_line): Pass may_error = 0.
16245         (end_of_last_line_may_error): New function.
16246         (pixel_to_glyph_translation): Use it, so we don't crash in
16247         event_to_glyph.
16248
16249 2000-03-04  Andy Piper  <andy@xemacs.org>
16250
16251         * window.h (struct window): add gutter_extent_modiff.
16252
16253         * window.c (allocate_window): zero out gutter_extent_modiff.
16254
16255         * redisplay.h: declare sync_display_line_structs.
16256
16257         * redisplay.c (add_glyph_rune): add a better comment.
16258
16259         * redisplay-output.c (sync_display_line_structs): made non-static.
16260         (compare_runes): remove unneccesary glyph cachel access.
16261
16262         * gutter.h: declare gutter_extent_signal_changed_region_maybe.
16263
16264         * gutter.c (output_gutter): don't output the gutter if extent
16265         changes only involve extents in buffers. use 4 sets of display
16266         lines.
16267         (gutter_extent_signal_changed_region_maybe): new function. Mark
16268         extents in gutters as changed.
16269         (update_frame_gutters): use 4 sets of display lines.
16270         (reset_gutter_display_lines): ditto.
16271         (free_frame_gutters): ditto.
16272         (redraw_exposed_gutter): force output of gutters.
16273
16274         * frame.h (struct frame): add 4 sets of gutter display lines.
16275
16276         * extents.c: (extent_changed_for_redisplay): signal changes to
16277         extents in strings in the gutter as well as extents in buffers.
16278
16279 2000-03-02  Andy Piper  <andy@xemacs.org>
16280
16281         * gutter.c (specifier_vars_of_gutter): cosmetic changes.
16282
16283         * frame.c (Fmake_frame): make sure the gutters get initialized
16284         after the frame is visible.
16285         (set_frame_selected_window): re-arrange compilation macros a
16286         little.
16287         (change_frame_size_1): mark gutters changed.
16288
16289         * device.c (Fset_device_class): mark gutters changed.
16290
16291 2000-03-01  Andy Piper  <andy@xemacs.org>
16292
16293         * window.c (window_top_frame_gutter_height): deleted.
16294         (window_bottom_frame_gutter_height): ditto.
16295         (window_left_frame_gutter_height): ditto.
16296         (window_right_frame_gutter_height): ditto.
16297         (window_top_gutter_height): don't use them.
16298         (window_bottom_gutter_height): ditto.
16299         (window_left_gutter_width): ditto.
16300         (window_right_gutter_width): ditto.
16301         (Fsplit_window): ditto.
16302         (Fwindow_pixel_edges): don't use border dimensions here.
16303
16304         * scrollbar.c (update_scrollbar_instance): don't take gutters into account.
16305         (update_scrollbar_instance): ditto.
16306
16307         * redisplay.c (generate_modeline): don't take gutters into account.
16308         (generate_modeline): ditto.
16309         (redisplay_frame): small gutter display optimization.
16310
16311         * redisplay-x.c (x_output_vertical_divider): don't take gutters into account.
16312
16313         * redisplay-msw.c (mswindows_output_vertical_divider): don't take
16314         gutters into account.
16315
16316         * gutter.h (WINDOW_REAL_*_GUTTER_BOUNDS): remove bogus checks
16317         for window position and type.
16318
16319         * gutter.c (get_gutter_coords): fix for frame gutters.
16320         (update_frame_gutters): update frame geometry if the gutters have
16321         changed.
16322         (init_frame_gutters): record current gutter geometries.
16323
16324         * glyphs-msw.c (mswindows_subwindow_instantiate): remove unused
16325         var.
16326         (mswindows_widget_instantiate): ditto.
16327
16328         * frame.h (struct frame): add current_gutter_bounds.
16329
16330         * frame.c (change_frame_size_1): position window and minibuffer
16331         appropriately taking into account the frame gutters.
16332
16333         * frame-x.c: (x_initialize_frame_size): take into account the
16334         frame gutters.
16335
16336 2000-02-29  Stephen J. Turnbull  <stephen@xemacs.org>
16337
16338         * emacs.c (data-directory):  Xref `locate-data-file' in docstring.
16339
16340 2000-02-29  Stephen J. Turnbull  <stephen@xemacs.org>
16341
16342         * alloc.c (dumpopaquevec): Increase dimension for --with-canna.
16343
16344 1999-12-30  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
16345
16346         * file-coding.c (reset_decoding_stream): Clear previous
16347         detection state when autodetect.
16348
16349 2000-02-29  Didier Verna  <didier@xemacs.org>
16350
16351         * extents.c (set_extent_glyph_1): don't require extents to be
16352         attached.
16353
16354 2000-02-27  Andy Piper  <andy@xemacs.org>
16355
16356         * gutter.c (Fset_default_gutter_position): don't default left and
16357         right gutter visibility to t.
16358         (Fset_default_gutter_position): run
16359         default-gutter-position-changed-hook.
16360         (syms_of_gutter): add default-gutter-position-changed-hook.
16361
16362 2000-02-26  Andy Piper  <andy@xemacs.org>
16363
16364         * specifier.c (Fmake_specifier): add gutter references.
16365
16366         * gutter.h (RAW_WINDOW_GUTTER): new macro.
16367
16368         * lisp.h: declare Fvalid_plist_p.
16369
16370         * gutter.c (gutter_geometry_changed_in_window): mark the modeline
16371         as changed.
16372         (default_gutter_visible_p_changed_in_window): invalidate gutter as
16373         well as its visibility so that it gets reconstructed.
16374         (construct_window_gutter_spec): new function. Construct a string
16375         to be displayed in the gutter from a plist of strings. Take care
16376         to only use elements that are declared as visible.
16377         (calculate_gutter_size): use RAW_WINDOW_GUTTER instead of
16378         WINDOW_GUTTER.
16379         (gutter_validate): allow plists of strings in the specifier.
16380         (gutter_specs_changed): construct the real_gutter from the gutter
16381         specs using construct_window_gutter_spec.
16382         (gutter_visible_validate): gutter-visible is a new specifier type.
16383         (Fgutter_visible_specifier_p): new function for the new specifier.
16384         (syms_of_gutter): declare gutter-visible and
16385         Fgutter_visible_specifier_p.
16386         (specifier_type_create_gutter): intitalize new gutter-visible
16387         specifier.
16388         (reinit_specifier_type_create_gutter): ditto.
16389         (specifier_vars_of_gutter): use new specifier type for gutter
16390         visibility.
16391         (init_frame_gutters): construct real_gutter correctly.
16392         (Fgutter_specifier_p): beef up documentation.
16393         (Fgutter_size_specifier_p): ditto.
16394
16395         * winslots.h: add real_gutter slots.
16396
16397 2000-02-25  Andy Piper  <andy@xemacs.org>
16398
16399         * device-msw.c: Be kind to older cygwin versions. From Raymond
16400         Toy <toy@rtp.ericsson.se>.
16401
16402         * gui-msw.c (Fmswindows_shell_execute): Remove things unknown to
16403         earlier cygwins. From Raymond Toy <toy@rtp.ericsson.se>.
16404
16405 2000-02-25  Martin Buchholz  <martin@xemacs.org>
16406
16407         * elhash.c (MARK_OBJ): Practice macro hygiene.
16408
16409 2000-02-24  Martin Buchholz  <martin@xemacs.org>
16410
16411         * miscplay.c: s/__inline__/inline/g;
16412         * glyphs-msw.c (set_mono_pixel): INLINE ==> static inline
16413         (get_device_compdc): INLINE ==> static inline
16414         * *.[ch]: Change INLINE to INLINE_HEADER globally.
16415         find -name '*.h' | \
16416         xargs global-replace \
16417         's/(^|(?<=[^A-Za-z0-9_]))INLINE((?=[^A-Za-z0-9_])|$)/INLINE_HEADER/g'
16418
16419 2000-02-25  Andy Piper  <andy@xemacs.org>
16420
16421         * window.c (window_top_frame_gutter_height): new function.
16422         (window_top_window_gutter_height): ditto.
16423         (window_top_gutter_height): use them.
16424         (window_bottom_frame_gutter_height): new function.
16425         (window_bottom_window_gutter_height): ditto.
16426         (window_bottom_gutter_height): use them.
16427         (window_left_window_gutter_width): new function.
16428         (window_left_frame_gutter_width): ditto.
16429         (window_left_gutter_width): use them.
16430         (window_right_window_gutter_width): new function.
16431         (window_right_frame_gutter_width): ditto.
16432         (window_right_gutter_width): use them.
16433         (window_pixel_height): new function. calulate window pixel height
16434         with frame gutter involvement.
16435         (Fsplit_window): calculate new sizes taking frame gutters into
16436         account.
16437         (window_char_height_to_pixel_height): don't include frame gutters.
16438         (window_char_height): use window_pixel_height.
16439         (window_pixheight): rename from window_pixel_height.
16440         (change_window_height): use it.
16441         (window_pixel_height_to_char_height): don't include frame gutters.
16442         (window_char_width_to_pixel_width): ditto.
16443
16444 2000-02-25  Andy Piper  <andy@xemacs.org>
16445
16446         * glyphs.h (IMAGE_INSTANCE_FACE): glyph might be nil, don't crash
16447         if it is.
16448
16449 2000-02-24  Martin Buchholz  <martin@xemacs.org>
16450
16451         * alloc.c (staticpro):
16452         (staticpro_nodump):
16453         (dumpstruct):
16454         (dumpopaque):
16455         (pdump_wire):
16456         (pdump_wire_list):
16457         (compact_string_chars):
16458         (pdump_dump_wired):
16459         Convert:  if (foo) abort();  ==>  assert (! foo);
16460
16461         * eldap.c (Fldap_search_basic):
16462         (Fldap_add):
16463         (Fldap_modify):
16464         (Fldap_delete):
16465         Fix compiler warnings, and possible crashes if (random) return
16466         value were to be used.
16467
16468 2000-02-21  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16469
16470         * device-msw.c: Workaround ResetDC failure.
16471
16472         * frame-msw.c (msprinter_init_frame_3): Added an assertion before
16473         applying a devmode.
16474
16475         * redisplay-msw.c (get_frame_dc): Added start_page_p.
16476         (mswindows_text_width): Do not start printer page.
16477
16478         * console-msw.h (CHECK_MSGDI_DEVICE): Added this and friends.
16479
16480         * glyphs-msw.c: Added image methods to msprinter console and
16481         msprinter-specific image instantiation.
16482
16483 2000-02-20  Mike Alexander  <mta@arbortext.com>
16484
16485         * select-msw.c (Fmswindows_set_clipboard): GC protect more things
16486         to avoid crashes when selection-sets-clipboard is on
16487         (mswindows_own_selection): ditto
16488
16489 2000-02-19  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16490
16491         * glyphs-msw.c:
16492         * redisplay-msw.c (get_frame_dc):
16493         (get_frame_compdc):
16494         * console-msw.h:
16495         * device-msw.c (mswindows_init_device):
16496         (mswindows_delete_device):
16497         (msprinter_init_device):
16498         (msprinter_delete_device):
16499         * frame-msw.c (mswindows_init_frame_1):
16500         (mswindows_delete_frame):
16501         (msprinter_init_frame_3):
16502         (msprinter_delete_frame): Move compatible DC to device object from
16503         frame object, for both mswindows and msprinter. Only one at a time
16504         is needed, it is a real waste to have one per frame!
16505
16506 2000-02-23  Andy Piper  <andy@xemacs.org>
16507
16508         * glyphs.c: add dynamic width and height elements.
16509         (image_instance_equal): ditto.
16510
16511         * glyphs-widget.c (widget_query_geometry): calculate width and
16512         height dynamically if required.
16513         (initialize_widget_image_instance): initialize dynamic dimensions.
16514         (widget_instantiate): pick-up dynamic dimensions.
16515
16516         * glyphs.h (struct Lisp_Image_Instance): add width and height for
16517         dynamic determination. Add appropriate macros.
16518
16519         * gutter.h (WINDOW_GUTTER_BORDER_WIDTH): make non-integer
16520         dimensions safe.
16521         (WINDOW_GUTTER_SIZE): ditto.
16522         (WINDOW_GUTTER_SIZE_INTERNAL): ditto.
16523
16524         * redisplay-msw.c (get_frame_compdc): gcc can't cope with this
16525         inline.
16526         (get_frame_dc): ditto.
16527
16528         * redisplay.h (GLOBAL_RESET_CHANGED_FLAGS): don't reset faces
16529         here.
16530
16531 2000-02-23  Martin Buchholz <martin@xemacs.org>
16532
16533         * XEmacs 21.2.31 is released.
16534
16535 2000-02-22  Ben Wing <ben@xemacs.org>
16536
16537         * ntheap.c (allocate_heap): Make sure `ptr' is initialized.
16538
16539 2000-02-22  Andy Piper  <andy@xemacs.org>
16540
16541         * glyphs-x.c (x_widget_instantiate): don't explicitly resize here.
16542
16543 2000-02-21  Mike Sperber <mike@xemacs.org>
16544
16545         * .dbxrc:
16546         * .gdbinit:
16547         * Makefile.in.in: Remove obsolete EMACSBOOTSTRAP... environment
16548         variables.
16549
16550 2000-02-21  Mike Sperber <mike@xemacs.org>
16551
16552         * s/aix4.h: Declare getaddrinfo broken for AIX 4, which it is.
16553
16554 2000-02-21  Martin Buchholz <martin@xemacs.org>
16555
16556         * XEmacs 21.2.30 is released.
16557
16558 2000-02-20  Martin Buchholz  <martin@xemacs.org>
16559
16560         Performance hacking.
16561         * *.c (syms_of_*):
16562         Add INIT_LRECORD_IMPLEMENTATION macros, paired with
16563         DEFINE_LRECORD_IMPLEMENTATION macros in the same file.
16564         * emacs.c (main_1):
16565         * lisp.h (DEFUN):
16566         * console.c (DEFVAR_CONSOLE_LOCAL_1):
16567         * buffer.c (DEFVAR_BUFFER_LOCAL_1):
16568         * symeval.h (DEFVAR_SYMVAL_FWD):
16569         * symbols.c (guts_of_unbound_marker):
16570         Make all c_readonly objects also lisp_readonly and marked for life.
16571         * lrecord.h (struct lrecord_implementation):
16572         Document flags better.
16573         * lrecord.h (DEFINE_LRECORD_SEQUENCE_IMPLEMENTATION_WITH_PROPS):
16574         * lrecord.h (DECLARE_LRECORD):
16575         * lrecord.h (XSETRECORD):
16576         * lrecord.h (RECORDP):
16577         * lrecord.h (RECORD_TYPEP):
16578         * lrecord.h (RECORD_MARKER): New.
16579         * lrecord.h (error_check_*):
16580         * lrecord.h (CONCHECK_NONRECORD):
16581         * lrecord.h (MAKE_LRECORD_IMPLEMENTATION):
16582         * lrecord.h (INIT_LRECORD_IMPLEMENTATION): New.
16583         * lrecord.h (set_lheader_implementation):
16584         * lrecord.h (enum lrecord_type): New.
16585         * symeval.h (SYMBOL_VALUE_MAGIC_P):
16586         * alloc.c (disksave_object_finalization_1):
16587         * alloc.c (mark_object):
16588         * alloc.c (lrecord_type_index):
16589         * alloc.c (tick_lcrecord_stats):
16590         * alloc.c (Fgarbage_collect):
16591         * alloc.c (init_alloc_once_early):
16592         * alloc.c (pdump_load):
16593         * alloc.c (GC_CHECK_LHEADER_INVARIANTS): New.
16594         * alloc.c (lrecord_type_index): Delete.
16595         Make lisp object type indexes be constant.
16596           Makes (byte-compile) 5% faster.
16597         Put all marker functions into their own array.
16598           Makes (garbage-collect) 5% faster.
16599         Optimize SYMBOL_VALUE_MAGIC_P.
16600           Makes (byte-compile) 2-3% faster.
16601         * config.h.in (gc_checking_assert): New.
16602         * alloc.c: Use gc_checking_assert().
16603         * .dbxrc: Make compatible with new object type implementation.
16604         * .gdbinit: Make compatible with new object type implementation.
16605         * alloc.c: Delete all symbols defined only for debugging, such as
16606         Lisp_Type_Vector and lrecord_charset.
16607
16608 2000-02-21  Andy Piper  <andy@xemacs.org>
16609
16610         * gui-msw.c (Fmswindows_shell_execute): fix file location
16611         problems.
16612
16613         * buffer.c (Fkill_buffer): remove buffer from alist buffer
16614         unshowing so that set_window_buffer doesn't undo
16615         kill_buffer_hook's hard work.
16616
16617         * glyphs-widget.c (tab_control_query_geometry): don't count the
16618         first item when calculating geometry.
16619
16620         * glyphs.c (map_subwindow): remove redundant code.
16621         (update_frame_subwindows): be more circumspect about when to
16622         update subwindows.
16623
16624         * glyphs-x.c (x_update_widget): Properly fix sizing bug. Fix bug
16625         when items haven't changed. Update faces if faces have changed as
16626         well as just the widget face.
16627         (x_tab_control_update): Update faces if faces have changed as well
16628         as just the widget face.
16629
16630 2000-02-21  Jonathan Harris  <jhar@tardis.ed.ac.uk>
16631
16632         * device-msw.c: (mswindows_delete_device): Remove redundant DDE
16633         registration.
16634         (build_syscolor_string): Use mswindows_color_to_string to try to
16635         get a named color.
16636         (mswindows_device_system_metrics): Reverse the foreground and
16637         background colors so that they match the documentation.
16638
16639         * objects-msw.c: (mswindows_X_color_map): tweak some values so
16640         they match the default Windows palette.
16641         (mswindows_color_to_string): New function.
16642
16643 2000-02-21  Jonathan Harris  <jhar@tardis.ed.ac.uk>
16644
16645         * s/windowsnt.h: Only use __declspec(noreturn) with MSVC>=6.
16646
16647 2000-02-18  Olivier Galibert  <galibert@pobox.com>
16648
16649         * m/*, s/*: Removed obsolete DATA_SEG_BITS, PURE_SEG_BITS,
16650         WORD_MACHINE, SIGN_EXTEND_CHAR and EXPLICIT_SIGN_EXTEND.
16651
16652         * symbols.c (init_symbols_once_early): Removed obsolete
16653         DATA_SEG_BITS related kludge.
16654         (defvar_magic): Ditto.
16655
16656         * malloc.c: Removed obsolete DATA_SEG_BITS
16657         * ralloc.c: Ditto.
16658         * mem-limits.h: Ditto.
16659
16660         * Makefile.in.in: Removed obsolete HAVE_SHM
16661         * emacs.c: Ditto.
16662
16663 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
16664
16665         *  device-msw.c (mswindows_delete_device): Free DDE string
16666         handles.
16667
16668 2000-02-16  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16669
16670         * keymap.c (get_keyelt):
16671         * unexnt.c (unexec):
16672         * vm-limit.c (memory_warnings):
16673         * ntheap.c (recreate_heap):
16674         * ntheap.h (UNINIT_PTR):
16675         * select-msw.c (Fmswindows_get_clipboard):
16676         (Fmswindows_set_clipboard):
16677         * objects-msw.h (MSWINDOWS_BAD_HFONT):
16678         * objects-msw.c:
16679         * menubar-msw.c (displayable_menu_item):
16680         * glyphs-msw.c:
16681         * glyphs-msw.h (IMAGE_INSTANCE_MSWINDOWS_MASK):
16682         * sysdep.c (sys_subshell):
16683         * process-nt.c (nt_create_process):
16684         * nt.c (normalize_filename):
16685         (dostounix_filename):
16686         (unixtodos_filename):
16687         * ntproc.c (win32_executable_type):
16688         * ntplay.c (play_sound_data_1):
16689         (play_sound_file):
16690         * editfns.c (get_home_directory):
16691         * event-msw.c (struct winsock_stream):
16692         (mswindows_dde_callback):
16693         * device-msw.c (msprinter_init_device):
16694         (msprinter_get_devmode_copy): Frobbed syntax frivolities.
16695
16696         * toolbar-msw.c (mswindows_free_frame_toolbars): Paramters to
16697         mswindows_clear_toolbar were swapped!
16698
16699         * objects-msw.c:(colormap_t):
16700         (fontmap_t):
16701         * emacs.c (struct standard_args): Fixed const jumble.
16702
16703         * glyphs-widget.c (update_widget): Fixed comparison notation.
16704
16705         * event-msw.c (mswindows_dde_callback): Removed extraneous ';'.
16706
16707         * s\windowsnt.h (DOESNT_RETURN): Defined to support the MSVC
16708         __declspec(noreturn) syntax.
16709
16710 2000-02-19  Martin Buchholz  <martin@xemacs.org>
16711
16712         * eldap.c (Fldap_open):
16713         (Fldap_search_basic):
16714         (Fldap_add):
16715         (Fldap_modify):
16716         Use new coding system conversion macros.
16717
16718 2000-01-06  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
16719
16720         * console-tty.c (tty_init_console): Change MULE to FILE_CODING.
16721
16722 1999-11-27  Oscar Figueiredo  <Oscar.Figueiredo@di.epfl.ch>
16723
16724         * eldap.h (Fldap_search) Renamed from Fldap_search_internal:
16725         (Fldap_add, Fldap_modify, Fldap_delete): New functions
16726
16727         * eldap.c (Qadd, Qreplace): New constant symbols
16728         (Fldap_open): Use the LDAP_OPT_RESTART option to avoid
16729         interruptions by XEmacs signals
16730         Remove unnecessary calls to slow_down_interrupts and
16731         speed_up_interrupts
16732         (Fldap_search_basic): Renamed from Fldap_search_internal
16733         Added new optional parameter VERBOSE that triggers the
16734         display of progress messages
16735         Remove unnecessary calls to slow_down_interrupts and
16736         speed_up_interrupts
16737         LDAP result code analysis rewritten
16738         (Fldap_add, Fldap_modify, Fldap_delete): New functions
16739         (syms_of_eldap): Define the new symbols and functions
16740
16741
16742 2000-02-17  Martin Buchholz  <martin@xemacs.org>
16743
16744         * realpath.c: Determine PATH_MAX maximally portably.
16745
16746         * insdel.c (bytecount_to_charcount): Optimize.
16747         The function used to be optimized for entirely ASCII sequences.
16748         Now it is optimized for successive characters from the same
16749         charset.  This also wins big for _mostly_ ASCII sequences.
16750
16751         * fileio.c (Ffile_truename): convert return from realpath() using
16752         Qfile_name, not Qbinary.  Fixes obvious bug with non-ASCII symlinks.
16753         - Rewrite GCPROing slightly.
16754
16755         * sysdep.c (sys_open): Do filename conversion, like all other
16756         sys_* functions.  Fixes bug:
16757         (let ((file-name-coding-system 'iso-8859-2))
16758            (write-region x y latin2-name))
16759         ==> writes filename using internal encoding.
16760
16761 2000-02-18  Martin Buchholz  <martin@xemacs.org>
16762
16763         * buffer.c (DEFVAR_BUFFER_LOCAL_1): Turn on c_readonly. Always const.
16764         * console.c (DEFVAR_CONSOLE_LOCAL_1): Turn on c_readonly. Always const.
16765         * symeval.h (DEFVAR_SYMVAL_FWD): Turn on c_readonly. Always const.
16766         * eval.c (lrecord_subr): Remove this_one_is_unmarkable.
16767         * symbols.c (lrecord_symbol_value_forward): Remove this_one_is_unmarkable.
16768         * symbols.c (guts_of_unbound_marker): Turn on c_readonly.
16769         * lrecord.h (UNMARKABLE_LRECORD_HEADER_P): Delete.
16770         (CONST_IF_NOT_DEBUG): Delete.
16771         * alloc.c (this_one_is_unmarkable): Delete.
16772         (mark_object): Don't check for this_one_is_unmarkable. Use the
16773         c_readonly flag instead.
16774         * lisp.h (DEFUN): Define a Lisp_Subr as c_readonly.
16775
16776 2000-02-18  Jonathan Harris  <jhar@tardis.ed.ac.uk>
16777
16778         * event-msw.c (mswindows_drain_windows_queue):
16779         (emacs_mswindows_handle_magic_event): Remove attempt to optimise
16780         away redundant repaint events.
16781
16782 2000-02-17  Andy Piper  <andy@xemacs.org>
16783
16784         * redisplay.h: declare mark_redisplay_structs.
16785
16786         * redisplay.c (redisplay_window):
16787         (redisplay_frame): don't check subwindows_state_changed.
16788         (mark_redisplay): mark gutters here.
16789
16790         * glyphs.c: (instantiate_image_instantiator): always layout if we
16791         haven't done so already.
16792         (allocate_image_instance): don't mark as dirty.
16793         (update_subwindow): bind inhibit_quit.
16794
16795         * gutter.c (mark_gutters): new function.
16796
16797         * glyphs-x.c (x_update_widget): Always resize to get round a
16798         widget bug.
16799
16800         * glyphs-msw.c (mswindows_tab_control_update): remove `;' that was
16801         breaking absolutely everything.
16802
16803         * gutter.h: declare mark_gutters.
16804
16805 2000-02-16  Martin Buchholz <martin@xemacs.org>
16806
16807         * XEmacs 21.2.29 is released.
16808
16809 2000-02-15  Olivier Galibert  <galibert@pobox.com>
16810
16811         * fns.c (size_bit_vector): Fix computation of the size.
16812
16813 2000-02-15  Martin Buchholz  <martin@xemacs.org>
16814
16815         * *.[ch]: Change CONST to const globally.
16816         find -name '*.[ch]' | \
16817         xargs global-replace \
16818         's/(^|(?<=[^A-Za-z0-9_]))CONST((?=[^A-Za-z0-9_])|$)/const/g'
16819         - Remove vestigial references to CONST_IS_LOSING
16820
16821 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
16822
16823         * event-msw.c (mswindows_drain_windows_queue): Remove hack to
16824         bailout early on quit. Enqueue WM_PAINT events as XEmacs magic
16825         events instead of dispatching them directly.
16826         (mswindows_handle_paint): New function to do repainting.
16827         (mswindows_wnd_proc):
16828         (emacs_mswindows_handle_magic_event): Call above function.
16829
16830 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
16831
16832         * objects-msw.c (mswindows_create_font_variant): Return the new
16833         font handle.
16834         (initialize_font_instance): Get font metrics from the underlined
16835         variant of the font to cope with the case where the underlined
16836         font has a bigger descent.
16837
16838 2000-02-08   Daiki Ueno  <ueno@ueda.info.waseda.ac.jp>
16839
16840         * gui.c (gui_item_accelerator): Return the first underlined
16841         character in item name.
16842
16843 2000-02-11  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16844
16845         * lisp.h: Added Qprinter.
16846
16847         * general.c (syms_of_general): Initialized it.
16848
16849         * redisplay-msw.c (get_frame_dc): Conditionally start a new page.
16850         (get_frame_dc):
16851         (get_frame_compdc): Made inline.
16852
16853         * console.h (struct console_methods): Added eject_page method.
16854
16855         * frame.h: Added FRAME_DISPLAY_P and friends.
16856         Aligned backslahes in many macros in more readable fashion.
16857         Added page_number to struct frame, and an accessor macro
16858         for it.
16859
16860         * defice.h: Added DEVICE_DISPLAY_P and friends.
16861
16862         * device.c (Fdevice_printer_p): Used these.
16863
16864         * frame.c (allocate_frame_core): Initialize page number.
16865         (Fprint_job_page_number):
16866         (Fprint_job_eject_page): Implemented.
16867
16868         * frame-msw.c (msprinter_eject_page): Added method.
16869         (msprinter_start_page): Added.
16870
16871         * window.c (Fwindow_truncated_p): Fixed docstring.
16872         (Fwindow_last_line_visible_height): Implemented.
16873
16874 2000-02-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
16875
16876         * frame.c (change_frame_size_1): Undo 2000-02-03 change.
16877
16878 1999-12-20  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
16879
16880         * syntax.c (scan_words): Always advance at least one character.
16881
16882 2000-02-13  Andy Piper  <andy@xemacs.org>
16883
16884         * redisplay.c (add_glyph_rune): call get_glyph_cachel_index here
16885         to make sure the glyph is in the cachels.
16886
16887         * glyphs.h (struct Lisp_Image_Instance): make layout_changed a
16888         global image instance flag.
16889         (IMAGE_INSTANCE_NEEDS_LAYOUT): new macro.
16890         (XIMAGE_INSTANCE_NEEDS_LAYOUT): ditto.
16891
16892         * glyphs.c (allocate_image_instance): set dirty bits correctly.
16893         (Fset_image_instance_property): mark layout as changed.
16894         (invalidate_glyph_geometry_maybe): mark layout as changed.
16895         (glyph_width): use new NEEDS_LAYOUT macro.
16896         (glyph_ascent): ditto.
16897         (glyph_descent): ditto.
16898         (glyph_height): ditto.
16899         (image_instance_layout): mark layout as clean after laying out.
16900         (update_subwindow): don't mark layout as clean here.
16901
16902         * glyphs-x.h (IMAGE_INSTANCE_X_WIDGET_ID): undo C++ changes, they
16903         should no longer be needed.
16904
16905         * glyphs-x.c (x_update_widget): sanitize asserts.
16906         (x_finalize_image_instance): sanitize assignment to widgets.
16907
16908         * glyphs-widget.c (widget_instantiate): don't need to clear the
16909         layout flag here.
16910
16911 2000-02-13  Martin Buchholz  <martin@xemacs.org>
16912
16913         * sysdep.c (getcwd): Use standard prototype.
16914         * sysdep.h (getcwd): Use standard prototype.
16915
16916         * fns.c (Fsubseq): Change parameters to more natural ANSI Lisp
16917         (sequence, start, end).
16918         Remove redundant type checking.
16919         (Fmapconcat): Remove useless GCPRO, a wrong-headed attempt (in
16920         view of `caller-protects') to avoid a crash where the real fix was
16921         found elsewhere.
16922
16923 2000-02-12  Martin Buchholz  <martin@xemacs.org>
16924
16925         * glyphs-x.c (x_finalize_image_instance): Compile error fixes.
16926
16927         * s/sol2.h: Remove feature macro initialization.
16928
16929         * alloc.c (alloc_lcrecord): Add more type checking assertions.
16930         (vector_hash): New.  Code from internal_hash.
16931         * lrecord.h:
16932         Fix up allocation subsystem comments.
16933
16934         * config.h.in: Add __EXTENSIONS__ for Solaris.
16935
16936         * systime.h (EMACS_GETTIMEOFDAY): New.
16937         (EMACS_GET_TIME): Use EMACS_GETTIMEOFDAY.
16938         Remove Solaris-specific code.
16939         Use void* for the (ignored) second arg for gettimeofday().
16940
16941         * elhash.c (hash_table_hash): Implement it, finally.
16942         * elhash.c:  Use hashcode_t.
16943
16944         * linuxplay.c (sighandler): Fix prototypes to use SIGTYPE.
16945         * sunplay.c (sighandler): Fix prototype to use SIGTYPE.
16946
16947         * lisp.h (STRETCHY_STRUCT_SIZEOF): Delete.
16948         * fns.c (size_bit_vector):
16949         * alloc.c (size_vector):
16950         (make_vector_internal):
16951         (make_bit_vector_internal):
16952         (sweep_bit_vectors_1):
16953         Replace calls to STRETCHY_STRUCT_SIZEOF with offsetof expression.
16954
16955 2000-02-10  Martin Buchholz  <martin@xemacs.org>
16956
16957         * s/aix4.h: #define MAP_FAILED if sys/mman.h didn't.
16958         Include strings.h to avoid warnings for bzero and strcasecmp.
16959
16960 2000-02-10  Olivier Galibert  <galibert@pobox.com>
16961
16962         * alloc.c: Move STRETCHY_STRUCT_SIZEOF from here...
16963         * lisp.h (STRETCHY_STRUCT_SIZEOF): ...to here
16964
16965         * fns.c (size_bit_vector): New.  Declare bit vectors as a
16966         sequence.
16967
16968 2000-02-10  Olivier Galibert  <galibert@pobox.com>
16969
16970         * symeval.h (struct symbol_value_magic): Remove "next" kludge and
16971         use a value field instead.
16972         (symbol_value_forward_forward): Use value field.
16973         (DEFVAR_SYMVAL_FWD): Use value field.
16974         (DEFVAR_SYMVAL_FWD_INT): Added.  Dumps the int with dumpopaque.
16975         (DEFVAR_INT): Use DEFVAR_SYMVAL_FWD_INT.
16976         (DEFVAR_CONST_INT): Ditto.
16977         (DEFVAR_BOOL): Ditto.
16978         (DEFVAR_CONST_BOOL): Ditto.
16979         (DEFVAR_INT_MAGIC): Ditto.
16980         (DEFVAR_BOOL_MAGIC): Ditto.
16981
16982         * symbols.c (guts_of_unbound_marker): Use value field.
16983         * console.c (DEFVAR_CONSOLE_LOCAL_1): Ditto.
16984         * buffer.c (DEFVAR_BUFFER_LOCAL_1): Ditto.
16985
16986         * lisp.h: Declare dumpopaque and noninteractive1.
16987
16988         * alloc.c (dumpopaque): Added.
16989         (pdump_dump_opaquevec): Added.
16990         (pdump): Call pdump_dump_opaquevec to dump opaque data.
16991         (pdump_load): Reload opaque data.  Sync noninteractive1 with
16992         noninteractive.
16993
16994 2000-02-10  Andy Piper  <andy@xemacs.org>
16995
16996         * glyphs.c (image_instance_layout): if the size changes, mark it
16997         as such.
16998
16999         * redisplay-output.c (redisplay_output_layout): Update the
17000         subwindow here.
17001         (redisplay_output_subwindow): ditto.
17002
17003         * glyphs.c (update_subwindow): make sure we reset flags for
17004         layouts as well as everything else.
17005
17006         * glyphs-widget.c (layout_layout): don't need to set the instances
17007         dimensions here.
17008
17009 2000-02-09  Martin Buchholz  <martin@xemacs.org>
17010
17011         * device-x.c (x_init_device): Wrap calls to dll_*  in HAVE_SHLIB,
17012         not HAVE_DLOPEN, which is a lower-level thing.
17013
17014         * .cvsignore: Ignore gmon.out
17015
17016 2000-02-09  Hamish Macdonald <hamishm@lucent.com>
17017
17018         * .cvsignore: Ignore portable dumper xemacs.dmp file
17019
17020 2000-02-09  Andy Piper  <andy@xemacs.org>
17021
17022         * redisplay-output.c (redisplay_output_layout): be more clever
17023         about when we output based on the changed flags.
17024
17025         * glyphs.h (struct image_instantiator_methods): add update_method.
17026         (struct Lisp_Image_Instance): add changed flags. Declare new
17027         macros for manipulating them.
17028
17029         * glyphs.c (allocate_image_instance): renamed glyph -> parent.
17030         (image_instance_parent_glyph): find an image_instance's parent
17031         glyph or image_instance.
17032         (image_instance_layout): mark the size as changed.
17033         (set_image_instance_dirty_p): new function. mark an image
17034         instance, plus all of its parents, as dirty.
17035         (Fset_image_instance_property): use it.
17036         (Fglyph_animated_timeout_handler): use it.
17037         (update_subwindow): call update_widget and device methods for
17038         update_subwindow. Mark all changed flags as clean.
17039         (Fresize_subwindow): mark size as changed.
17040
17041         * glyphs-x.c (x_finalize_image_instance): try and detect gc
17042         failures.
17043         (x_update_subwindow): only resize subwindows here.
17044         (x_update_widget): new function. Update all changed properties of
17045         a widget.
17046         (x_resize_subwindow): deleted.
17047         (x_widget_set_property): deleted.
17048         (x_progress_gauge_set_property): deleted.
17049         (x_progress_gauge_update): new function. Implement recorded
17050         changes.
17051         (x_tab_control_update): ditto.
17052         (x_tab_control_set_property): deleted.
17053         (console_type_create_glyphs_x): declare new functions.
17054         (image_instantiator_format_create_glyphs_x): ditto.
17055
17056         * glyphs-widget.c (widget_set_property): mark text changed.
17057         (update_widget): new function. Update properties of a widget.
17058         (widget_instantiate): for layouts make sure we set their
17059         children's parent correctly.
17060         (tab_control_set_property): new function. Record changes that will
17061         take place under redisplay's control.
17062         (progress_gauge_set_property): ditto.
17063         (image_instantiator_progress_guage): declare new functions.
17064         (image_instantiator_tab_control): ditto.
17065
17066         * glyphs-msw.c (mswindows_update_subwindow): just do resizing here
17067         now.
17068         (mswindows_update_widget): new function. Update all properties on
17069         a widget that have changed.
17070         (mswindows_button_update): new function. Update a button's set
17071         state.
17072         (mswindows_tab_control_update): new function. Update the items in
17073         a tab.
17074         (mswindows_tab_control_set_property): deleted.
17075         (mswindows_progress_gauge_update): new function. Update the
17076         progress gauge's progress.
17077         (mswindows_widget_set_property): deleted. This is all done
17078         asynchronously now.
17079         (mswindows_progress_gauge_set_property): ditto.
17080         (console_type_create_glyphs_mswindows): declare new methods.
17081         (image_instantiator_format_create_glyphs_mswindows): ditto.
17082
17083         * frame-msw.c (msprinter_init_frame_1): Remove unused variables.
17084         (msprinter_set_frame_properties): ditto.
17085
17086         * console.h (struct console_methods): Add update_widget_method.
17087
17088 2000-02-09  Andy Piper  <andy@xemacs.org>
17089
17090         * gui-msw.c (Fmswindows_shell_execute): Make
17091         mswindows-shell-execute industrial strength.
17092
17093 2000-02-08  Martin Buchholz  <martin@xemacs.org>
17094
17095         * lrecord.h: Make macro argument `props' match member function `plist'.
17096         * fns.c (Fget):
17097         * fns.c (Fput):
17098         * fns.c (Fremprop):
17099         * fns.c (Fobject_plist):
17100         * alloc.c:
17101         * symbols.c:
17102         Object property list frobbing cleanup.
17103         - Allow any lisp object (compared with `eq'), not just symbols, as
17104           keys in object plists.
17105         - Move symbol plist frobbing into symbols.c, where it belongs.
17106         - Move string plist frobbing into alloc.c, where it belongs.
17107         - Everything's an lrecord now, so no need to test for symbolp, etc.
17108         - Fix up doc strings to refer to PROPERTY, not PROPNAME.
17109
17110         * extents.c: Reorder code to remove declarations.
17111
17112         * frame.h (store_in_alist): Remove useless declaration.
17113
17114 2000-02-07  Martin Buchholz  <martin@xemacs.org>
17115
17116         * event-Xt.c (x_has_keysym): Use XConvertCase only if available.
17117         * config.h.in: Add HAVE_XCONVERTCASE.
17118
17119 2000-02-07  Andy Piper  <andy@xemacs.org>
17120
17121         * glyphs.c (image_instance_layout): undo 2000-01-29 change since
17122         it breaks many things.
17123
17124 2000-02-07  Jan Vroonhof  <vroonhof@math.ethz.ch>
17125
17126         * src/syntax.h (SYNTAX_START_P): Check whether the two chars
17127         actually can start a common comment type.
17128         * src/syntax.h (SYNTAX_END_P): ditto for end.
17129
17130 2000-02-07  Martin Buchholz <martin@xemacs.org>
17131
17132         * XEmacs 21.2.28 is released.
17133
17134 2000-02-06  Martin Buchholz  <martin@xemacs.org>
17135
17136         * event-Xt.c (x_keysym_to_character): New.
17137         (maybe_define_x_key_as_self_inserting_character): New.
17138         (x_has_keysym): New.
17139         Auto-define all keys on the keyboard as self-insert-key.
17140
17141 2000-02-02  Martin Buchholz  <martin@xemacs.org>
17142
17143         * menubar.c (vars_of_menubar): A small code simplification.
17144
17145         * minibuf.c (echo_area_append): Workaround egcs-20000131 c++ compiler bug
17146
17147         * ExternalShell.c:
17148         * ExternalClient.c:
17149         * EmacsShell-sub.c:
17150         * EmacsManager.c:
17151         * EmacsFrame.c:
17152         Use consistent style for specifying X resources.
17153
17154         * symbols.c (Fset): Further implement SYMVAL_LISP_MAGIC.
17155         This makes (dontusethis-set-symbol-value-handler) actually usable.
17156
17157         * lrecord.h (lrecord_decription_type):
17158         * alloc.c (pdump_register_sub):
17159         (pdump_dump_data):
17160         (pdump_reloc_one):
17161         Add XD_LISP_OBJECT_ARRAY to describe multiple Lisp_Objects.
17162         Comply with XEmacs coding style.
17163         All lrecord descriptions updated to use XD_LISP_OBJECT with 2
17164         args, and XD_LISP_OBJECT_ARRAY with 3 args.
17165
17166         * keymap.c (Faccessible_keymaps):
17167         Make (accessible-keymaps map "\C-h") do the Right Thing.
17168         Make (accessible-keymaps map []) do the Right Thing.
17169         Make (accessible-keymaps map "") do the Right Thing.
17170         (check_keymap_definition_loop): New function.
17171         (keymap_store_internal): Keep luser from shooting self in foot,
17172           via (define-key ctl-x-4-map "p" global-map).
17173         Remove fullness slot from struct Lisp_Keymap, since hash tables
17174         are now reliable.
17175         (print_keymap): Remove 'Yuck' factor by simply printing "size %d".
17176
17177 2000-01-30  Martin Buchholz  <martin@xemacs.org>
17178
17179         * redisplay.c (init_redisplay): Fix small memory leak.
17180         * elhash.h:
17181         * elhash.c (pdump_reorganize_hash_table):
17182         Rename from reorganize_hash_table. Change prototype.
17183         Reuse the original memory for hentries.  Save 100k.
17184         * alloc.c (PDUMP_READ): new macro.
17185         * alloc.c (pdump_load): Replace LISP_TO_VOID with higher-level macros.
17186         * alloc.c: No need to #ifndef before #undef.
17187
17188         * print.c: Allow debug_print() to print readably by modifying
17189         debug_print_readably.  Use consistent variable names.
17190
17191         * .dbxrc: Try to get things to work even if stopped in a function
17192         without source available by explicitly specifying source files.
17193 2000-02-03  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17194
17195         * unexnt.c (_start): Removed bogus code which caused loading heap
17196         from differrent executable file.
17197         Removed bogus assignment to _fmode, which caused inconsistencies.
17198
17199 2000-02-03  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17200
17201         * s\windowsnt.h: Removed lots of #if 0 blocks of Emacs heritage.
17202         Have spawnve encapsulation regard DONT_ENCAPSULATE.
17203         Do not preliminary `#define signal sigset'.
17204
17205         * systime.h: Do not prototype environ on windows nt and cygwin,
17206         this conflicts with system header.
17207
17208         * syssignal.h: Use correct define for WINDOWSNT
17209
17210         * sysdep.h: Do not prototype environ on windows nt, this conflicts
17211         with system header.
17212
17213         * sysdep.c (near start of file): Fixed commentary and rearranged
17214         ifdefs in readable order.
17215         (NEED_STARTS): Do not force NEED_STARTS when PDUMPing.
17216         (start_of_text):
17217         (end_of_text):
17218         (end_of_data): Do not compile in if using PDUMP.
17219
17220         * symsinit.h: Prototyped vars_of_nt().
17221
17222         * ntproc.c (windows9x_p): Added, instead of os_subtype.
17223         (find_child_console): Use it.
17224         (sys_kill): Use it.
17225
17226         * ntheap.h: Do not extern os_subtype.
17227
17228         * ntheap.c (cache_system_info): Do not cache unneeded:
17229         nt_major_version, nt_minor_version and os_subtype.
17230         (recreate_heap): Do not compile in when PDUMPing.
17231
17232         * nt.c (geteuid and friends): Use the new varibale
17233         nt_fake_unix_uid, instead of hashing fake uid out of NT RID.
17234         (init_user_info): Removed the above mentioned hackery.
17235         (fstat, stat): Do not compile in if using MSVC 5.0 and above -
17236         stat has been fixed in the C runtime.
17237         (vars_of_nt): Added, defined the nt_fake_unix_uid variable there.
17238
17239         * file-coding.c (struct file_coding_dump): Do not define
17240         ucs_to_mule_table in the struct if not MULE.
17241         (struct struct lrecord_description fcd_description_1): Do not dump
17242         the above.
17243
17244         * emacs.c (main_1): Call vars_of_nt().
17245         (right before Fdump_emacs_data): Don't need lastfile if using both
17246         portabe dumper and system malloc.
17247
17248         * alloc.c (Fmemory_limit): Conditionalized out.
17249         (pdump): Use OPEN_BINARY for the portable dump file.
17250         (pdump_load): Ditto.
17251
17252 2000-02-02  Mike Alexander  <mta@arbortext.com>
17253
17254         * nt.c (convert_time): Set tm_isdst before calling mktime and
17255         avoid calling it at all if the compiler supports 64 bit integers.
17256         Also initialize utc_base_ft before using it.
17257
17258 2000-02-03   Daiki Ueno  <ueno@ueda.info.waseda.ac.jp>
17259
17260         * frame.c (change_frame_size_1): Take f->internal_border_width
17261         into consideration when calculating the width of the frame.
17262
17263 2000-02-01  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17264
17265         * window.c (frame_min_height):
17266         (frame_size_valid_p):
17267         (frame_pixsize_valid_p): Added.
17268         (check_frame_size): Generalized.
17269
17270         * window.h: Prototyped the above.
17271
17272         * lisp.h:
17273         * general.c: Added Qbottom_margin, Qduplex, Qlandscape,
17274         Qleft_margin, Qorientation, Qportrait, Qright_margin, Qtop_margin.
17275         Deleted Vwin32_* and Vbinary_process_* unused variables.
17276
17277         * device-msw.c (msprinter_init_device): Do not get printer font
17278         list; Added DEVMODE functions.
17279
17280         * frame-msw.c: Added lots of printer code.
17281
17282         * faces.c: Moved 'left-margin and 'right-margin defsymbols to
17283         general.c.
17284
17285         * console-msw.h: Added more msprinter device private slots.
17286
17287 2000-02-01  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17288
17289         * event-msw.c (key_needs_default_processing_p): Added.
17290         (mswindows_wnd_proc, WM_KEYUP, KEYDOWN): Call it.
17291
17292 2000-01-29  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17293
17294         * glyphs.c (image_instance_layout): Mark image instance as clean
17295         after layout.
17296         (glyph_dirty_p): Removed redundant function.
17297         (invalidate_glyph_geometry_maybe): Added.
17298         (update_glyph_cachel_data): Call it.
17299
17300         * glyphs.h: Prototyped it.
17301
17302         * redisplay.c (add_glyph_rune): Call it.
17303         (redisplay_window): Reset glyphs cachels when frame faces have
17304         changed, thus forcing recomputation of built-in border glyphs.
17305
17306 2000-01-30  Martin Buchholz  <martin@xemacs.org>
17307
17308         * Makefile.in.in: Make portable dumper and purify play well together.
17309         Add imperfect, but better than nothing, support for pdump.
17310         Remove xemacs.dmp when temacs is re-generated.
17311         Don't ignore errors when dumping xemacs.
17312
17313         * symbols.c (maybe_call_magic_handler): Remove one magic number.
17314
17315 2000-01-28  Andy Piper  <andy@xemacs.org>
17316
17317         * frame.c (allocate_frame_core): Use new Fset_window_buffer signature.
17318         (setup_normal_frame): ditto.
17319         (setup_frame_without_minibuffer): ditto.
17320         (setup_minibuffer_frame): ditto.
17321         (delete_frame_internal): ditto.
17322         (Fmake_frame_invisible): ditto.
17323         (Ficonify_frame): ditto.
17324
17325         * window.h: change Fset_window_buffer signature.
17326
17327         * window.c (Fsplit_window): Use new Fset_window_buffer signature.
17328         (Fset_window_buffer): allow recording of buffer if the window is
17329         the selected window.
17330         (window_loop): Use new Fset_window signature.
17331
17332 2000-01-23  Daniel Pittman  <daniel@danann.net>
17333
17334         * config.h.in: Added template for `HAVE_ATHENA_3D'
17335
17336 2000-01-29  Andy Piper  <andy@xemacs.org>
17337
17338         * glyphs-x.c (x_resize_subwindow): Try and catch bogus resizes.
17339
17340         * gutter.c (output_gutter): Don't output if the window isn't live.
17341
17342 2000-01-28  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17343
17344         * glyphs-msw.c (mswindows_unmap_subwindow): Fix of corrupted patch
17345         of 01/12/00: Moved SetFocus back here where it belongs.
17346
17347 2000-01-23  Andy Piper  <andy@xemacs.org>
17348
17349         * s/cygwin32.h: declare printer things.
17350
17351 2000-01-26  Andy Piper  <andy@xemacs.org>
17352
17353         * select.c (Fown_selection_internal): GCPRO bug fix from Mike
17354         Alexander.
17355
17356 2000-01-24  Andy Piper  <andy@xemacs.org>
17357
17358         * glyphs-msw.c (mswindows_locate_pixmap_file): Expand filename.
17359         (mswindows_button_instantiate): Make sure glyph is a pixmap.
17360
17361         * glyphs-widget.c (widget_instantiate): Avoid shadows.
17362
17363         * frame-msw.c (msprinter_init_frame_3): Nuke warning.
17364
17365         * glyphs-msw.c: (mswindows_string_to_color): remove declaration.
17366
17367         * redisplay-msw.c (mswindows_output_cursor): Avoid shadows.
17368         (mswindows_output_display_block): Avoid local shadows.
17369
17370         * event-msw.c (mswindows_enqueue_magic_event): Avoid shadows.
17371         (mswindows_enqueue_mouse_button_event): ditto.
17372         (mswindows_handle_gui_wm_command): remove declaration.
17373
17374         * console-msw.c (mswindows_canonicalize_console_connection): Avoid
17375         warnings.
17376
17377         * console-msw.h: Avoid shadows.
17378         (mswindows_get_toolbar_button_text):
17379         (emacs_mswindows_create_stream_pair):
17380         (emacs_mswindows_delete_stream_pair):
17381         (mswindows_handle_toolbar_wm_command): declare.
17382
17383         * device-msw.c (build_syscolor_string): Avoid shadows.
17384
17385 2000-01-23  Andy Piper  <andy@xemacs.org>
17386
17387         * glyphs-widget.c (widget_instantiate): reverse the items for
17388         layouts so that children are in the expected order.
17389
17390 2000-01-28  Martin Buchholz  <martin@xemacs.org>
17391
17392         * ralloc.c: safe_bcopy ==> memmove
17393         * gmalloc.c: Remove MEMMOVE_MISSING conditional code.
17394         * s/msdos.h: Remove BCOPY macros.
17395         * insdel.c (gap_right): Remove BCOPY conditional code.
17396         * insdel.c (gap_left): Remove BCOPY conditional code.
17397         XEmacs demands a working ANSI C compiler - hence memmove.
17398
17399         * regex.c (regex_compile): Remove accidental use of trigraphs.
17400
17401 2000-01-27  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17402
17403         * event-msw.c (mswindows_enqueue_misc_user_event): Initialize
17404         event timestamp.
17405
17406 2000-01-26  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17407
17408         * event-msw.c (mswindows_drain_windows_queue): Added the
17409         parameter.
17410         (mswindows_need_event): Commented the call to
17411         mswindows_drain_windows_queue().
17412         (emacs_mswindows_quit_p): Lookup the windows for keyboard messages
17413         only.
17414
17415         * console-msw.h: Moved a few function prototypes here from
17416         event-msw.c.
17417
17418         * gui-msw.c (mswindows_handle_gui_wm_command): Changed the ID
17419         parameter from unsigned short to unsigned long.
17420         (Fmswindows_shell_execute): Added return value.
17421
17422 2000-01-27  URA Hiroshi <ura@hiru.aoba.yokohama.jp>
17423
17424         * sysdep.c (init_system_name):
17425           process-unix.c (unix_canonicalized_host_name):
17426         Don't call freeaddrinfo() if getaddrinfo() fails.
17427
17428         * process-unix.c (unix_open_unix_network_stream):
17429         Moved the code to get a port # into address loop.
17430
17431 2000-01-27  Martin Buchholz  <martin@xemacs.org>
17432
17433         * buffer.c (reinit_vars_of_buffer):
17434         The right place to initialize conversion_in_dynarr and
17435         conversion_out_dynarr.
17436
17437         * alloc.c (pdump): Use the real open() till sys_open() is functional.
17438
17439         * process-unix.c (unix_canonicalize_host_name): Muleize.
17440         (unix_open_network_stream): Muleize.
17441
17442         * buffer.h: Fix up prototypes for ralloc.c functions.
17443
17444 2000-01-27  URA Hiroshi <ura@hiru.aoba.yokohama.jp>
17445         * config.h.in: added HAVE_GETADDRINFO and HAVE_GETNAMEINFO
17446         * sysdep.c: In init_system_name(), add code to use getaddrinfo()
17447                 instead of gethostbyname()
17448         * process-unix.c: In unix_canonicalize_host_name() and
17449                 unix_open_network_stream(), add code to use getaddrinfo()
17450                 instead of gethostbyname().
17451
17452 2000-01-27  Daniel Pittman <daniel@danann.net>
17453
17454         * device-x.c (x_init_device): Warn at run-time if using Athena 3d
17455         libs when built with flat Athena.
17456
17457 2000-01-27  Martin Buchholz  <martin@xemacs.org>
17458
17459         * ralloc.c: Replace SIZE (conflicts with Windows headers) with size_t.
17460         Use coding standards for function prototypes.
17461
17462 2000-01-25  Martin Buchholz  <martin@xemacs.org>
17463
17464         * dialog-msw.c (push_lisp_string_as_unicode):
17465         * doc.c (unparesseuxify_doc_string):
17466         * dired.c (Fuser_name_completion_1):
17467         * dired.c (Fuser_name_all_completions):
17468         * dired.c (free_user_cache):
17469         * dired.c (user_name_completion):
17470         * console-x.c (get_display_arg_connection):
17471         * minibuf.c (clear_echo_area_internal):
17472         * minibuf.c (echo_area_append):
17473         * eldap.c (Fldap_open):
17474         * eldap.c (Fldap_search_internal):
17475         * frame-x.c (x_set_frame_text_value):
17476         * frame-x.c (x_set_frame_properties):
17477         * frame-x.c (x_create_widgets):
17478         * redisplay-tty.c (term_get_fkeys_1):
17479         * objects-x.c (x_parse_nearest_color):
17480         * objects-x.c (x_valid_color_name_p):
17481         * objects-x.c (x_initialize_font_instance):
17482         * objects-x.c (x_list_fonts):
17483         * objects-x.c (x_find_charset_font):
17484         * tooltalk.c (Fadd_tooltalk_message_arg):
17485         * tooltalk.c (Fadd_tooltalk_pattern_attribute):
17486         * tooltalk.c (Fadd_tooltalk_pattern_arg):
17487         * process-unix.c (unix_create_process):
17488         * ntproc.c (sys_spawnve):
17489         * sound.c (Fplay_sound_file):
17490         * sound.c (Fplay_sound):
17491         * buffer.c (init_initial_directory):
17492         * buffer.c (init_buffer):
17493         * editfns.c (init_editfns):
17494         * editfns.c (Ftemp_directory):
17495         * editfns.c (Fuser_full_name):
17496         * editfns.c (uncache_home_directory):
17497         * editfns.c (get_home_directory):
17498         * editfns.c (Fuser_home_directory):
17499         * editfns.c (Fformat_time_string):
17500         * editfns.c (Fcurrent_time_string):
17501         * gui-x.c (button_item_to_widget_value):
17502         * database.c (Fopen_database):
17503         * event-Xt.c (x_to_emacs_keysym):
17504         * event-Xt.c (x_event_to_emacs_event):
17505         * event-Xt.c (describe_event_window):
17506         * event-msw.c (mswindows_wnd_proc):
17507         * glyphs-eimage.c (jpeg_instantiate):
17508         * glyphs-eimage.c (gif_instantiate):
17509         * glyphs-eimage.c (png_instantiate):
17510         * glyphs-eimage.c (tiff_instantiate):
17511         * glyphs-x.c (xbm_instantiate_1):
17512         * glyphs-x.c (x_xbm_instantiate):
17513         * glyphs-x.c (x_xface_instantiate):
17514         * glyphs-x.c (autodetect_instantiate):
17515         * glyphs-x.c (cursor_font_instantiate):
17516         * glyphs-x.c (x_widget_instantiate):
17517         * glyphs-x.c (x_widget_set_property):
17518         * glyphs-x.c (x_widget_property):
17519         * glyphs-x.c (BUILD_GLYPH_INST):
17520         * print.c (write_string_to_stdio_stream):
17521         * print.c (output_string):
17522         * print.c (Falternate_debugging_output):
17523         * print.c (Fexternal_debugging_output):
17524         * glyphs-msw.c (extract_xpm_color_names):
17525         * glyphs-msw.c (mswindows_xpm_instantiate):
17526         * glyphs-msw.c (bmp_instantiate):
17527         * glyphs-msw.c (resource_name_to_resource):
17528         * glyphs-msw.c (mswindows_resource_instantiate):
17529         * glyphs-msw.c (xbm_instantiate_1):
17530         * glyphs-msw.c (mswindows_xbm_instantiate):
17531         * glyphs-msw.c (mswindows_xface_instantiate):
17532         * glyphs-msw.c (mswindows_widget_instantiate):
17533         * glyphs-msw.c (add_tree_item):
17534         * glyphs-msw.c (add_tab_item):
17535         * glyphs-msw.c (mswindows_combo_box_instantiate):
17536         * glyphs-msw.c (mswindows_widget_property):
17537         * glyphs-msw.c (mswindows_combo_box_property):
17538         * glyphs-msw.c (mswindows_widget_set_property):
17539         * console.c (stuff_buffered_input):
17540         * objects-msw.c (mswindows_initialize_color_instance):
17541         * objects-msw.c (mswindows_valid_color_name_p):
17542         * objects-msw.c (mswindows_list_fonts):
17543         * objects-msw.c (mswindows_font_instance_truename):
17544         * bytecode.c (optimize_compiled_function):
17545         * select-x.c (symbol_to_x_atom):
17546         * select-x.c (x_atom_to_symbol):
17547         * select-x.c (hack_motif_clipboard_selection):
17548         * select-x.c (selection_data_to_lisp_data):
17549         * select-x.c (lisp_data_to_selection_data):
17550         * select-x.c (Fx_get_cutbuffer_internal):
17551         * select-x.c (Fx_store_cutbuffer_internal):
17552         * buffer.h (TO_EXTERNAL_FORMAT): New function.
17553         * buffer.h (TO_INTERNAL_FORMAT): New function.
17554         * emacs.c (make_arg_list_1):
17555         * emacs.c (make_argc_argv):
17556         * emacs.c (main_1):
17557         * emacs.c (Fdump_emacs):
17558         * emacs.c (split_string_by_emchar_1):
17559         * file-coding.h:
17560         * lisp.h:
17561         * lstream.h:
17562         * symsinit.h:
17563         * device-x.c (x_init_device):
17564         * device-x.c (Fx_valid_keysym_name_p):
17565         * device-x.c (Fx_get_font_path):
17566         * device-x.c (Fx_set_font_path):
17567         * glyphs.c (bitmap_to_lisp_data):
17568         * glyphs.c (pixmap_to_lisp_data):
17569         * alloc.c (make_ext_string): Use coding system arguments.  Update
17570         all callers.
17571         * alloc.c (build_string):
17572         * callproc.c (child_setup):
17573         * callproc.c (init_callproc):
17574         * fileio.c (lisp_strerror):
17575         * fileio.c (directory_file_name):
17576         * fileio.c (Fexpand_file_name):
17577         * fileio.c (Ffile_truename):
17578         * fileio.c (Fsysnetunam):
17579         * fileio.c (Fdo_auto_save):
17580         * sysdep.c (sys_readdir):
17581         * tests.c: New file.  Allow adding C tests.
17582         Replace GET_* macros with a more comprehensible and flexible
17583         interface, TO_INTERNAL_FORMAT() and TO_EXTERNAL_FORMAT().
17584         Modify all calls.
17585         Any coding system can be used to do format conversion.
17586         Eliminate enum external_data_format.
17587         Eliminate convert_to_external_format.
17588         Eliminate convert_to_internal_format.
17589         Make sure file-name, keyboard, terminal, and ctext are always
17590         defined as coding systems or aliases.  Make
17591         file-name-coding-system, terminal-coding-system, and
17592         keyboard-coding-system magical variables that are equivalent to
17593         defining the corresponding coding system aliases.
17594
17595         * file-coding.c (Fcoding_system_canonical_name_p): New function.
17596         * file-coding.c (Fcoding_system_alias_p): New function.
17597         * file-coding.c (Fcoding_system_aliasee): New function.
17598         * file-coding.c (append_suffix_to_symbol): New function.
17599         * file-coding.c (dangling_coding_system_alias_p): New function.
17600         * file-coding.c (Ffind_coding_system):
17601         * file-coding.c (Fcopy_coding_system):
17602         * file-coding.c (encode_coding_no_conversion):
17603         * file-coding.c (syms_of_file_coding):
17604         * file-coding.c (vars_of_file_coding):
17605         Rewrite coding system alias code.
17606         Allow nested aliases, like symbolic links.
17607         Allow redefinition of coding system aliases.
17608         Prevent existence of dangling coding system aliases.
17609
17610         * dired.c (Fuser_name_completion_1):
17611         * dired.c (Fuser_name_all_completions):
17612         A crash would happen if user did QUIT in the middle of building
17613         user_name_cache.  Remove redundant code in mainline and unwind_protect.
17614
17615         * lisp.h:
17616         * dynarr.c (Dynarr_min_size): Make static.  Increase value to 8.
17617
17618         * lstream.c (make_fixed_buffer_input_stream): Take a void *, not
17619         an unsigned char *.  Update all callers.
17620
17621 2000-01-26  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17622
17623         * callproc.c (Fcall_process_internal): Ignore Vbinary-process_output.
17624
17625 2000-01-25  Martin Buchholz  <martin@xemacs.org>
17626
17627         * elhash.c (hentry_description): Use more portable definition.
17628         (resize_hash_table): Initialize new hentries using
17629         xnew_array_and_zero, thereby simplifying the code.
17630
17631         * mule-charset.c (make_charset): Make sure entire object is
17632         initialized, to avoid Purify warnings.
17633
17634         * alloc.c (resize_string): Fix unlikely crash with big strings.
17635
17636 2000-01-24  Martin Buchholz  <martin@xemacs.org>
17637
17638         * realpath.c (xrealpath):
17639         Don't call getwd().
17640
17641 2000-01-25  Martin Buchholz  <martin@xemacs.org>
17642
17643         * lread.c (read_bit_vector): Fix memory leak reading literal bit vectors.
17644
17645 1999-12-28  Max Matveev  <max@melbourne.sgi.com>
17646
17647         * unexelfsgi.c (unexec): Change the way we decide which segment
17648         should be extended.
17649
17650         Assumption that .bss section should be outside the PT_LOADable
17651         segment. On IRIX with version 6.2 and above, .bss (or .sbss, if
17652         it's present) is inside the 'data' segment. This would fail the
17653         test which was used to find a segment to grow and cover new
17654         heap. Instead of this assumption, I created another one - on IRIX
17655         the segment to grow should start below .bss and it's address
17656         should extent above the end of .bss. Once this segment is
17657         identified, it's grown to accommodate the new heap and new
17658         zero-length .bss section is added at the end of .data2.
17659
17660 2000-01-25  Martin Buchholz  <martin@xemacs.org>
17661
17662         * eval.c (Feval): Wrong number of arguments should use original
17663         function, not the indirect_function version of it.
17664
17665 2000-01-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
17666
17667         * glyphs-x.c (x_button_instantiate): Don't add image if
17668         it is not a pixmap.
17669         (x_locate_pixmap_file): Call Fexpand_file_name when file name
17670         is relative.
17671
17672 2000-01-21  Yoshiki Hayashi  <yoshiki@xemacs.org>
17673
17674         * symeval.h (DEFVAR_LISP_MAGIC): Remove semicolon after macro
17675         declaration.
17676         (DEFVAR_INT_MAGIC): Ditto.
17677         (DEFVAR_BOOL_MAGIC): Ditto.
17678         * glyphs.h: Reindent backslash.
17679
17680 2000-01-24  Martin Buchholz  <martin@xemacs.org>
17681
17682         * glyphs-widget.c (layout_query_geometry):
17683         (layout_layout): Use correct types for gheight, gwidth.
17684
17685 2000-01-24  Martin Buchholz  <martin@xemacs.org>
17686
17687         * EmacsManager.c (QueryGeometry): Purified.
17688
17689 2000-01-23  Martin Buchholz  <martin@xemacs.org>
17690
17691         * alloc.c (make_float): Make sure entire object is initialized, to
17692         avoid Purify warnings.
17693         (pdump_register_sub): Remove useless assignment.
17694         (pdump): Use xmalloc, not malloc.
17695         (pdump_load): Use xmalloc, not malloc.
17696
17697 2000-01-23  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17698
17699         * callproc.c:
17700         * dired-msw.c:
17701         * fileio.c:
17702         * process-nt.c:
17703         * redisplay-msw.c:
17704         * sysdep.c: Removed redundant #include <windows.h>
17705
17706 2000-01-22  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17707
17708         * frame.c (delete_frame_internal): Do not delete device when its
17709         implementation so declares.
17710         (delete_frame_internal): Set device selected frame to nil when
17711         last frame goes away.
17712
17713         * device-msw.c (msprinter_device_system_metrics): Implemented.
17714         (mswindows_device_system_metrics): Added 'device-dpi property.
17715
17716         * device.c: (Fdevice_printer_p): Added.
17717         Added 'offset-workspace device metric.
17718
17719         * console.h (device_metrics): Declared DM_offset_workspace.
17720
17721 2000-01-23  Martin Buchholz  <martin@xemacs.org>
17722
17723         * fileio.c (Ffile_truename): Remove pointless and confusing
17724         initialization of elen.
17725
17726         * glyphs-widget.c: Compiler warning fixes.
17727
17728 2000-01-23  Gunnar Evermann  <ge204@eng.cam.ac.uk>
17729
17730         * process.h (PROCESS_LIVE_P): Modify to take a Lisp_Process
17731         instead of a Lisp_Object as argument to make it consistent with
17732         the other LIVE_P macros.
17733         (CHECK_LIVE_PROCESS): New macro.
17734
17735         * process.c: Declare Qprocess_live_p.
17736         (Fprocess_live_p): New function.
17737         (create_process): Use PROCESS_LIVE_P.
17738         (read_process_output): Ditto.
17739         (set_process_filter): Ditto.
17740         (Fdelete_process): Ditto.
17741         (kill_buffer_processes): Ditto
17742         (process_send_signal): Use CHECK_LIVE_PROCESS.
17743         (Fprocess_input_coding_system): Check whether process is still
17744         alive (fix PR#1061).
17745         (Fprocess_output_coding_system): Ditto.
17746         (Fprocess_coding_system): Ditto.
17747         (Fset_process_input_coding_system): Ditto.
17748         (Fset_process_output_coding_system): Ditto.
17749
17750 2000-01-23  Andy Piper  <andy@xemacs.org>
17751
17752         * glyphs.h (struct Lisp_Image_Instance): change format by unifying
17753         layout and widget.
17754
17755         * glyphs.c (mark_image_instance): take into account changed
17756         image_instance format.
17757         (image_instance_equal): ditto.
17758         (image_instance_hash): ditto.
17759
17760         * glyphs-widget.c (widget_instantiate): Incorporate layout
17761         instantiation here. Delay layout of the layout until later.
17762         (layout_instantiate): deleted.
17763         (layout_query_geometry): new function. get the geometry of a
17764         layout.
17765         (layout_layout): layout a layout dynamically.
17766         (image_instantiator_widget): New function - splitting up
17767         image_instantiator_format_create_glyphs_widget for netwinder
17768         compilation.
17769         (image_instantiator_buttons):
17770         (image_instantiator_edit_fields):
17771         (image_instantiator_combo_box):
17772         (image_instantiator_scrollbar):
17773         (image_instantiator_progress_guage):
17774         (image_instantiator_tree_view):
17775         (image_instantiator_tab_control):
17776         (image_instantiator_labels):
17777         (image_instantiator_layout): ditto.
17778         (image_instantiator_format_create_glyphs_widget): Call preceding
17779         functions.
17780
17781 2000-01-22  Martin Buchholz  <martin@xemacs.org>
17782
17783         * process.c (Fset_process_coding_system):
17784         * device-x.c (Fx_keysym_hash_table):
17785         Docstring fixes.
17786
17787         * lstream.c (Lstream_write): Return documented value, not 0.
17788
17789         * fileio.c (directory_file_name):
17790         (Fsubstitute_in_file_name):
17791         (Fsubstitute_insert_file_contents_internal):
17792         (Fwrite_region_internal):
17793         * emacs.c:
17794         * sysdep.c:
17795         * getloadavg.c:
17796         * systty.h:
17797         Remove vestigial APOLLO-conditional code.
17798
17799 2000-01-21  Martin Buchholz  <martin@xemacs.org>
17800
17801         * getpagesize.h: Add guard macros.
17802         * libsst.h: Add guard macros.
17803         * libst.h: Add guard macros.
17804         * line-number.h: Add guard macros.
17805         * ndir.h: Add guard macros.
17806         * sysfloat.h: Add guard macros.
17807         * sysfile.h: Add guard macros.
17808         * sysproc.h: Add guard macros.
17809         * syswait.h: Add guard macros.
17810         * xintrinsic.h: Add guard macros.
17811         * xintrinsicp.h: Add guard macros.
17812         * xmmanager.h: Add guard macros.
17813         * xmmanagerp.h: Add guard macros.
17814         * xmprimitive.h: Add guard macros.
17815         * xmu.h: Add guard macros.
17816         * gpmevent.h: Add copyright statement. Add guard macros.
17817         * miscplay.h: Add guard macros.
17818         * *.h: Use consistent C-standards-approved guard macro names.
17819
17820         * opaque.c (make_opaque): Switch parameter order.
17821         * opaque.h (make_opaque): Switch parameter order.
17822         Update all callers.
17823         * buffer.h (MAKE_MIRROR_TRT_TABLE): Use symbolic constant OPAQUE_CLEAR.
17824
17825         * config.h.in (type_checking_assert): Added.
17826         (bufpos_checking_assert): Added.
17827
17828 2000-01-21  Martin Buchholz  <martin@xemacs.org>
17829
17830         * alloc.c: Harmless pdump changes.
17831         - Use countof().
17832         - spell alignment correctly.
17833         * sysdep.c: Use countof()
17834
17835 2000-01-20  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17836
17837         * console.c (create_console): Use CONMETH_OR_GIVEN when calling
17838         initially_selected_for_input() console method, default to 0.
17839         (semi_canonicalize_console_connection): Try to delegate to
17840         canonicalize_console_connection if no such console method.
17841         (canonicalize_console_connection): Vice versa.
17842         (print_console): Do not print nil connection.
17843
17844         * console.h (XDEVIMPF_IS_A_PRINTER): Added.
17845         (XDEVIMPF_NO_AUTO_REDISPLAY): Added.
17846         (XDEVIMPF_FRAMELESS_OK): Added.
17847         (CONSOLE_INHERITS_METHOD): Added.
17848
17849         * console-msw.c (mswindows_canonicalize_console_connection):
17850         Added.
17851         (mswindows_canonicalize_device_connection): Added.
17852
17853         * console-msw.h (struct msprinter_device): Added this struct and
17854         accessor macros.
17855         (mswindows_device): Made fontlist a lisp object.
17856
17857         * device.c (semi_canonicalize_device_connection):  Try to delegate
17858         to canonicalize_device_connection if no such console method.
17859         (canonicalize_device_connection): Vice versa.
17860         (print_device): Do not print nil connection.
17861
17862         * device-msw.c (mswindows_init_device): Call InitCommonControls
17863         when have widgets.
17864         (mswindows_delete_device): Removed fontlist deallocation.
17865         (mswindows_mark_device): Added.
17866
17867         * events.c (event_equal): Added abort() at unreached code.
17868         (event_hash): Ditto.
17869
17870         * faces.c (complex_vars_of_faces): Added Qmsprinter to the list of
17871         fallback tags of Windows devices.
17872
17873         * general.c (syms_of_general): Initialized Qmsprinter.
17874
17875         * gutter.c (complex_vars_of_gutters): Added Qmsprinter to the list
17876         of fallback tags of Windows devices.
17877
17878         * lisp.h: Declared Qmsprinter.
17879
17880         * objects-msw.c (font_enum_callback_2): Rewrote to build lisp list
17881         of strings.
17882         (mswindows_list_fonts): Ditto.
17883         (mswindows_enumerate_fonts): Removed dependency on XDEVICE, so
17884         that it can be used by both mswindows and msprinter devices.
17885         (initialize_font_instance): Added.
17886         (mswindows_initialize_font_instance): Use it.
17887         (msprinter_initialize_font_instance): Added.
17888
17889         * redisplay.c (redisplay_device): Added the parameter AUTOMATIC
17890         and implementation flags check.
17891         (redisplay_without_hooks): Changed the call to the above.
17892         (Fredraw_device): Ditto.
17893         (Fredisplay_device): Ditto.
17894
17895         * redisplay-msw.c (get_frame_dc): Implemented.
17896         (get_frame_compdc): Implemented.
17897         (many functions): Use the two functions above to get device
17898         contexts, ether for a window or a printer.
17899
17900 2000-01-21  Olivier Galibert  <galibert@pobox.com>
17901
17902         * symbols.c (reinit_symbols_once_early): Put Qzero/Qnull_pointer
17903         initialization here.
17904         (init_symbols_once_early): Call it.
17905         * emacs.c (main_1): Call it.
17906         * symsinit.h: Declare it.
17907
17908 2000-01-19  Olivier Galibert  <galibert@pobox.com>
17909
17910         * alloc.c: Use a lrecord_header * in the backtrace instead of a
17911         Lisp_Object.
17912         (pdump_backtrace): Ditto.
17913         (pdump_register_object): Ditto.  Cleanup use of the pointers.
17914         (pdump_get_entry): Abort if trying to register a null pointer.
17915         (pdump_dump_data): Cleanup types when relocating.
17916         (pdump_dump_staticvec): Cleanup types w.r.t the reloc table.
17917         (pdump_dump_rtables): Remove bad casts.
17918         (pdump_load): Cleanup relocation w.r.t union type.  Use a
17919         Lisp_Object instead of a EMACS_INT for the hashtable
17920         reorganization.
17921
17922 2000-01-20  Martin Buchholz  <martin@xemacs.org>
17923
17924         * emacs.c (main_1): Rearrange morass of #ifdef's for correctness.
17925
17926         * callproc.c (call_process_cleanup): Isolate WINDOWSNT code for clarity.
17927
17928         * EmacsManager.c (GeometryManager): Avoid use of CPP for clarity.
17929
17930         * *.[ch]: global-replace 's/_of_xselect/_of_select_x/g' *.[ch]
17931
17932 2000-01-17  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17933
17934         * faces.h (FACE_STRIKETHRU_P): Added.
17935
17936         * glyphs-msw.c (mswindows_widget_hfont): Implemented, to take care
17937         of font variants.
17938
17939         * redisplay-msw.c (mswindows_apply_face_effects): Deleted.
17940         (mswindows_set_dc_font): New function, aware of font variants,
17941         separated from mswindows_update_dc.
17942
17943         * objects-msw.h (struct mswindows_font_instance_data): Added
17944         definition.
17945
17946         * objects-msw.c (mswindows_finalize_font_instance): Delete all
17947         cached fonts and the data structure.
17948         (mswindows_initialize_font_instance): Added creation of font data
17949         structure.
17950         (mswindows_print_font_instance): Print at least something.
17951         (mswindows_create_font_variant): Implemented.
17952         (mswindows_get_hfont): Implemented.
17953
17954 2000-01-13  Fabrice Popineau  <Fabrice.Popineau@supelec.fr>
17955
17956         * dired-msw.c: permute "sysdir.h" with "sysfile.h" because of
17957         prototyping problem with msvc.
17958
17959         * emacs.c (main_1): added syms_of_gui_mswindows() call
17960
17961         * gui-msw.c: added "mswindows-shell-execute" lisp subr and
17962         syms_of_gui_mswindows() function
17963
17964         * symsinit.h: added the prototype for syms_of_gui_mswindows()
17965
17966 2000-01-18  Martin Buchholz <martin@xemacs.org>
17967
17968         * XEmacs 21.2.27 is released.
17969
17970 2000-01-18  Martin Buchholz  <martin@xemacs.org>
17971
17972         * glyphs-eimage.c (struct tiff_error_struct):
17973         (tiff_error_func):
17974         (tiff_warning_func):
17975         #if HAVE_VSNPRINTF ==> #ifdef HAVE_VSNPRINTF
17976
17977         * unexmips.c:
17978         * unexhp9k3.c:
17979         * unexfreebsd.c:
17980         * unexec.c: Remove vestigial Lucid C code.
17981         * unexalpha.c:
17982         * unexaix.c:
17983         * termcap.c:
17984         * libsst.c: Ansify.
17985         Remove declarations of errno and strerror().
17986
17987         * eval.c (Fbacktrace): Small Purify-cation.  Fix docstring.
17988
17989         * .dbxrc (run-temacs): Use the horrible ${1+"$@"} instead of "$@".
17990
17991 2000-01-16  Martin Buchholz  <martin@xemacs.org>
17992
17993         * mule-charset.c (Fchar_octet): Resurrect from earlier in 1999.
17994         Optimize.
17995
17996 2000-01-14  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
17997
17998         * md5.c:
17999         * file-coding.c:
18000         * file-coding.h:
18001         Change enum eol_type to eol_type_t.
18002
18003 2000-01-17  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
18004
18005         * gui.c (get_gui_callback): Check cons before accessing car.
18006
18007 2000-01-17  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
18008
18009         * specifier.h (XSPECIFIER_TYPE): Add error checking version.
18010         (XSETSPECIFIER_TYPE): Ditto.
18011
18012 2000-01-17  Didier Verna  <didier@xemacs.org>
18013
18014         * redisplay.c (generate_fstring_runes): compute string size in
18015         characters, not bytes.
18016
18017 2000-01-09  Hrvoje Niksic  <hniksic@iskon.hr>
18018
18019         * window.c (Fwindow_minibuffer_p): Make WINDOW optional.
18020
18021 2000-01-14  Hrvoje Niksic  <hniksic@iskon.hr>
18022
18023         * print.c (print_error_message): Call print_prepare().
18024
18025 2000-01-14  Martin Buchholz  <martin@xemacs.org>
18026
18027         * .dbxrc: Renamed from dbxrc.
18028
18029         * events.c (event_to_character):
18030         Use `assert (foo)' instead of `if (!foo) abort()'
18031
18032         * .gdbinit (xtype): Add documentation.
18033         * .gdbinit (check-temacs): New function.
18034         * .gdbinit (check-xemacs): New function.
18035         * dbxrc (check-xemacs): New function.
18036         * dbxrc (check-xemacs): New function.
18037
18038 2000-01-14  Andy Piper  <andy@xemacs.org>
18039
18040         * glyphs-widget.c (widget_query_geometry): Make sure that we
18041         calculate default dimensions correctly.
18042
18043 2000-01-13  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
18044
18045         * symsinit.h: Added prototype for reinit_vars_of_frame_mswindows.
18046
18047         * event-msw.c (vars_of_event_mswindows): Fixed a mistyped
18048         pdump_wire'd variable.
18049
18050         * emacs.c: (main_1): Conditionalized calls to
18051         reinit_vars_of_scrollbar_x and reinit_vars_of_module.
18052
18053 2000-01-13  Martin Buchholz  <martin@xemacs.org>
18054
18055         * window.c (Fset_window_configuration):
18056         * sysdep.c (_start):
18057         * input-method-motif.c (res):
18058         * event-Xt.c (Xt_process_to_emacs_event):
18059         Simple compiler warning fixes.
18060
18061         * bytecode.c (funcall_compiled_function): Use the original
18062         function symbol on the backtrace list in preference to the
18063         compiled_function object in error messages.
18064
18065 2000-01-13  Andy Piper  <andy@xemacs.org>
18066
18067         * glyphs-x.c (update_widget_face): Make sure we update the widget
18068         background as well as foreground.
18069
18070 2000-01-13  Andy Piper  <andy@xemacs.org>
18071
18072         * glyphs.h (struct Lisp_Image_Instance): Move justify and orient
18073         fields to subwindow.
18074         (IMAGE_INSTANCE_SUBWINDOW_JUSTIFY): new macro.
18075         (XIMAGE_INSTANCE_SUBWINDOW_JUSTIFY): ditto.
18076         (IMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
18077         (XIMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
18078
18079         * glyphs-widget.c (check_valid_tab_orientation): new function.
18080         (initialize_widget_image_instance): zero orientation and
18081         justification.
18082         (widget_instantiate): pick up orientation.
18083         (tab_control_query_geometry): return appropriate values for
18084         vertical tabs.
18085
18086         * glyphs-msw.c: (mswindows_tab_control_instantiate): assign
18087         appropriate creation flags for left, right and bottom tabs.
18088
18089         * s/cygwin32.h: add tab definitions.
18090
18091 2000-01-12  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
18092
18093         * glyphs-msw.c (mswindows_unmap_subwindow): Set focus back to the
18094         frame upon hiding a subwindow.
18095         (mswindows_button_instantiate): Changed the push button style to
18096         BS_PUSHBUTTON.
18097         (mswindows_button_instantiate): Removed button BS_NOTIFY
18098         style.
18099         (mswindows_button_instantiate): Removed redundant check for
18100         a disabled gui item.
18101         (mswindows_button_instantiate): Made use of WS_TABSTOP
18102         consistent: "operable" controls (edit, button, tree, scroll) have
18103         this style, "display-only" ones (static, progress gauge) do
18104         not. This style is currently ignored by XEmacs though. Also,
18105         removed the WS_EX_CONTROLPARENT style - it is not for children,
18106         it is for their parents!
18107         (mswindows_edit_field_instantiate): Ditto.
18108         (mswindows_progress_gauge_instantiate): Ditto.
18109         (mswindows_tree_view_instantiate): Ditto.
18110         (mswindows_tab_control_instantiate): Ditto.
18111         (mswindows_scrollbar_instantiate): Ditto.
18112         (mswindows_combo_box_instantiate): Ditto.
18113         (mswindows_widget_instantiate): Added the WS_EX_CONTROLPARENT
18114         style to the "clip" window.
18115         (mswindows_button_instantiate): Removed compilation warning by
18116         equally typing terms of the ?: operator.
18117
18118 2000-01-12  Didier Verna  <didier@xemacs.org>
18119
18120         * redisplay.c (generate_fstring_runes): new parameter holding the
18121         last modeline-format extent.
18122         (add_glyph_to_fstring_db_runes): new parameter holding the glyph
18123         extent, fill the glyph block with it.
18124         (generate_fstring_runes): handle these parameters.
18125         (generate_formatted_string_db): ditto.
18126
18127         * keymap.c (get_relevant_keymaps): retreive the keymaps from the
18128         glyphs'extents in the modeline.
18129
18130 1999-01-11  Mike Woolley  <mike@bulsara.com>
18131
18132         * ntheap.c: Reduced the reserved heap space from 1Gb down to
18133         256Mb, as a workaround for the non-starting problem many people
18134         have experienced.
18135
18136 2000-01-06  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
18137
18138         * console-tty.c (Fset_console_tty_output_coding_system):
18139         Force redrawing tty frame.
18140
18141 2000-01-10  Didier Verna  <didier@xemacs.org>
18142
18143         * redisplay.c (generate_fstring_runes): fix size computation bug.
18144
18145 2000-01-09  William M. Perry <wmperry@aventail.com>
18146
18147         * gpmevent.c: (gpm_next_event_cb): Don't return value from void function.
18148
18149 2000-01-09  Andy Piper  <andy@xemacs.org>
18150
18151         * glyphs-msw.c: index -> i to avoid shadows.
18152         (xbm_create_bitmap_from_data): make static.
18153         (check_valid_string_or_int): deleted.
18154         (mswindows_control_wnd_proc): message -> msg to avoid shadows.
18155
18156         * glyphs-x.c (x_update_subwindow): remove unused args.
18157
18158         * glyphs.c (glyph_image_instance): return the thing. Don't set the
18159         back pointer - this is done in allocate_image_instance.
18160         (query_string_font): return Qnil to make the compiler happy.
18161         (unmap_subwindow): set to ~0 to make the compiler happy.
18162         (glyph_query_geometry): comment out until used.
18163         (glyph_layout): ditto.
18164
18165 2000-01-09  Hrvoje Niksic  <hniksic@iskon.hr>
18166
18167         * insdel.c (signal_after_change): Remove extraneous unbind_to().