update.
[chise/xemacs-chise.git.1] / src / ChangeLog
1 2011-02-09  MORIOKA Tomohiko  <tomo@zinbun.kyoto-u.ac.jp>
2
3         * text-coding.c (Qrep_decomposition): New extern.
4         (char_encode_utf8): Try to encode as combing sequence (or IVS).
5
6 2011-01-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
7
8         * concord.c (Fconcord_genre_ds): Add "#ifdef HAVE_LIBCHISE" ...
9         "#endif" for code to refer Vchise_system_db_directory.
10
11 2010-12-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
12
13         * concord.c (Fconcord_object_put): Use `member' instead of `memq'.
14         (Fconcord_object_adjoin): New function.
15         (Fconcord_object_adjoinX): New function.
16         (syms_of_concord): Defsubred `Fconcord_object_adjoin' and
17         `Fconcord_object_adjoinX'.
18
19 2010-12-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
20
21         * concord.c:
22         - Include "elconcord.h".
23         - Move EXFUNs for `Fconcord_decode_object', `Fconcord_object_put'
24           and `Fconcord_object_get' to elconcord.h.
25         (Lisp_CONCORD_DS): Moved to elconcord.h.
26         (struct Lisp_CONCORD_DS): Ditto.
27         (XCONCORD_DS): Ditto.
28         (XSET_CONCORD_DS): Ditto.
29         (CONCORD_DS_P): Ditto.
30         (CHECK_CONCORD_DS): Ditto.
31         (CONCHECK_CONCORD_DS): Ditto.
32         (Lisp_CONCORD_Object): Ditto.
33         (struct Lisp_CONCORD_Object): Ditto.
34         (XCONCORD_OBJECT): Ditto.
35         (XSET_CONCORD_OBJECT): Ditto.
36         (CONCORD_OBJECT_P): Ditto.
37         (CHECK_CONCORD_OBJECT): Ditto.
38         (CONCHECK_CONCORD_OBJECT): Ditto.
39         (CONCORD_OBJECT_GENRE): Ditto.
40         (CONCORD_OBJECT_ID): Ditto.
41         (XCONCORD_OBJECT_ID): Ditto.
42         (XCONCORD_OBJECT_GENRE): Ditto.
43         (concord_object_equal): New function.
44         (LRECORD_IMPLEMENTATION of "concord_object"): Use
45         `concord_object_equal'.
46
47         * elconcord.h: New file.
48
49 2010-12-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
50
51         * concord.c (print_concord_object): Use readable form even if
52         `print-readably' is nil.
53
54 2010-11-19  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
55
56         * concord.c (print_concord_object): Don't display location of
57         data-source when `print-readably' is nil.
58
59 2010-11-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
60
61         * concord.c (Fconcord_genre_ds): Use Vchise_system_db_directory as
62         the default location of data-source.
63         (complex_vars_of_concord): Use Vchise_system_db_directory to
64         assign genre `character' and `feature'.
65
66         * chartab.h (Vchise_system_db_directory): New extern when
67         HAVE_CONCORD is defined.
68
69 2010-09-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
70
71         * concord.c: Include <chise.h> if HAVE_LIBCHISE is defined.
72         (Qcharacter): New variable when HAVE_LIBCHISE is defined.
73         (Qfeature): Ditto.
74         (Fconcord_object_genre): New function.
75         (syms_of_concord):
76         - Add new builtin symbols `character' and `feature' when
77           HAVE_LIBCHISE is defined.
78         - Add Add new builtin function `concord-object-genre'.  
79         (complex_vars_of_concord): New function; assign genres `character'
80         and `feature' when HAVE_LIBCHISE is defined.
81
82 2010-09-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
83
84         * emacs.c (main_1): Call `complex_vars_of_concord' when
85         HAVE_CONCORD is defined.
86
87         * symsinit.h (complex_vars_of_concord): New prototype.
88
89 2010-07-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
90
91         * chartab.c (allocate_character): Add `static'.
92
93 2010-07-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
94
95         * chartab.c (allocate_character): New function.
96         (Fdefine_char): Use allocate_character().
97
98 2010-06-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
99
100         * mule.c (vars_of_mule): Update `xemacs-chise-version' to 0.25
101         (Ōkawara).
102
103 2010-03-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
104
105         * chartab.c (save_uint8_byte_table): Fixed problem when a property
106         is unloaded.
107         (save_uint16_byte_table): Likewise.
108
109 2010-02-21  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
110
111         * chartab.c (Fchar_feature_property): New function when LIBCHISE
112         is enabled.
113         (Fput_char_feature_property): Likewise.
114         (syms_of_chartab): Add new builtin functions
115         `char-feature-property' and `put-char-feature-property' when
116         LIBCHISE is enabled.
117
118 2009-04-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
119
120         * mule-charset.c (Fmake_charset): Add DOC-string of 'iso-ir and
121         '=>iso-ir.
122         (Fcharset_property): Regard '=>iso-ir as same as `iso_ir.
123
124 2009-04-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
125
126         * mule-charset.c (Qto_iso_ir): New variable for XEmacs CHISE.
127         (make_charset): Add new argument `iso_ir'.
128         (Fmake_charset): Add new property `=>iso-ir' in XEmacs CHISE.
129         (Fmake_reverse_direction_charset): Copy CHARSET_ISO_IR(cs) in
130         XEmacs CHISE.
131         (Fcharset_property): Support `iso-ir' in XEmacs CHISE.
132         (syms_of_mule_charset): Add new builtin symbol `=>iso-ir' in
133         XEmacs CHISE.
134         (complex_vars_of_mule_charset): Specify argument `iso_ir' of
135         function `make_charset'.
136
137         * char-ucs.h (LEADING_BYTE_*): Enclose negative value with ( ).
138         (struct Lisp_Charset): Add new member `iso_ir'.
139         (CHARSET_ISO_IR): New macro.
140
141 2009-03-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
142
143         * mule-charset.c (Fdecode_char): Fix problem when decoding GR
144         code-point by GL charset.
145
146 2008-10-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
147
148         * concord.c (concord_id_validate): New function.
149         (structure_type_create_concord): Use `concord_id_validate' instead
150         of `concord_name_validate' to accept integer and character as =id.
151
152 2008-09-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
153
154         * concord.c (func_for_each_object): Fix bug about GC-protection.
155
156 2008-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
157
158         * concord.c (Fconcord_object_put): Check argument FEATURE is a
159         symbol.
160
161 2008-09-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
162
163         * text-coding.c (struct decoding_stream): Add new member
164         `bom_flag' in XEmacs CHISE.
165         (reset_decoding_stream): Ignore U+FEFF in the beginning of stream
166         in XEmacs CHISE.
167
168 2008-09-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
169
170         * mule-charset.c: Move definition of `=jis-x0208@1978' to
171         lisp/mule/mule-conf.el.
172
173 2008-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
174
175         * mule-charset.c (Qpartial): New variable in XEmacs CHISE.
176         (make_charset): Add new argument `partial'.
177         (Fmake_charset): Add new property 'partial in XEmacs CHISE.
178         (Fmake_reverse_direction_charset): Modify for `make_charset'.
179         (syms_of_mule_charset): Add new builtin symbol `partial' in XEmacs
180         CHISE.
181         (complex_vars_of_mule_charset): Modify for `make_charset'; specify
182         `=jis-x0208' as a partial coded-charset.
183
184 2008-08-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
185
186         * text-coding.c (decode_add_er_char): Fix problem when a character
187         represented by an entity-reference is not defined.
188
189 2008-06-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
190
191         * char-ucs.h, chartab.c, fns.c, mule-charset.c: Rename Qmap_* to
192         Qrep_*.
193
194 2007-09-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
195
196         * mule.c (vars_of_mule): Update `xemacs-chise-version' to 0.24
197         (Kasagi).
198
199 2006-06-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
200
201         * concord.c (Fconcord_object_put): Add reversed links when FEATURE
202         is a relation feature.
203
204 2006-06-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
205
206         * chartab.c (syms_of_chartab): Define
207         `{<-|->}{subsumptive|denotational}' when HAVE_CONCORD is defined.
208
209         * chartab.h (Q_denotational): New extern when UTF2000 or
210         HAVE_CONCORD is defined.
211         (Q_denotational_from): Likewise.
212         (Q_subsumptive): Likewise.
213         (Q_subsumptive_from): Likewise.
214
215 2006-06-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
216
217         * concord.c (concord_object_put): New function.
218         (Fconcord_object_put): Use `concord_object_put'.
219
220 2006-06-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
221
222         * concord.c (Fconcord_define_object): New function.
223         (syms_of_concord): Add new builtin function
224         `concord-define-object'.
225
226 2006-05-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
227
228         * mule.c (vars_of_mule): Update `xemacs-chise-version' to 0.23
229         (Kamo).
230
231 2006-04-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
232
233         * concord.c: Add EXFUN for Fconcord_object_get.
234         (Vconcord_genre_object_hash_table): New variable.
235         (concord_genre_cache_get_object): New function.
236         (concord_genre_cache_put_object): New function.
237         (Fconcord_make_object): Use object cache; put object-ID into `=id'
238         feature.
239         (Fconcord_object_put): Call `concord_index_sync' after
240         `concord_index_strid_put_obj'.
241         (vars_of_concord): Setup Vconcord_genre_object_hash_table.
242
243 2006-04-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
244
245         * concord.c (Fconcord_decode_object): Do GCPRO for
246         Fconcord_make_object.
247         (func_for_each_object): Likewise; do GCPRO for
248         for_each_object_closure->function.
249         (Fconcord_foreach_object_in_feature): Use GCPRO4 for
250         for_each_object_closure->function, for_each_object_closure->genre,
251         for_each_object_closure->ds and for_each_object_closure->ret.
252         (concord_object_validate): Do GCPRO for Fconcord_make_object.
253
254 2006-04-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
255
256         * concord.c: Add EXFUNs for Fconcord_decode_object and
257         Fconcord_object_put.
258         (Fconcord_make_object): Change order of arguments.
259         (Fconcord_decode_object): Modify for Fconcord_make_object.
260         (func_for_each_object): Likewise.
261         (concord_object_validate): Likewise.
262         (concord_object_instantiate): Use GCPRO2 for `data' and `retval'.
263
264 2006-04-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
265
266         * concord.c (Fconcord_object_put): Setup index for `=FOO' feature.
267
268 2006-04-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
269
270         * concord.c (Fconcord_decode_object): Try to use readable print
271         form as a key of Concord-index.
272         (Fconcord_object_get): Try to use readable print form as an ID of
273         Concord-object.
274         (Fconcord_object_put): Try to use readable print form as an ID of
275         Concord-object and a feature value.
276         (Fconcord_object_spec): Try to use readable print form as an ID of
277         Concord-object.
278
279 2006-04-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
280
281         * concord.c (print_concord_object): Support readable form.
282
283 2006-04-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
284
285         * emacs.c (main_1): Call `structure_type_create_concord' when
286         HAVE_CONCORD is defined.
287
288         * symsinit.h (structure_type_create_concord): New prototype.
289
290         * concord.c (Qconcord_object): New variable.
291         (Qgenre): Likewise.
292         (Q_id): Likewise.
293         (Fconcord_ds_directory): Use <char*> instead of <unsigned char*>
294         for directory.
295         (add_feature_to_list_mapper): Use <char*> instead of <unsigned
296         char*> for genre-name.
297         (Fconcord_feature_list): Likewise.
298         (Fconcord_make_object): Likewise.
299         (Fconcord_decode_object): Likewise; use <char*> instead of
300         <unsigned char*> for feature_name and strid.
301         (Fconcord_object_get): Use <char*> instead of <unsigned char*> for
302         c_obj and feature_name.
303         (Fconcord_object_put): Likewise; use <char*> instead of <unsigned
304         char*> for c_value.
305         (struct closure_for_object_spec): Use <char*> instead of <unsigned
306         char*> for member `object_id'.
307         (add_feature_to_spec_mapper): Use <char*> instead of <unsigned
308         char*> for feature-name.
309         (Fconcord_object_spec): Use <char*> instead of <unsigned char*>
310         for c_obj.
311         (func_for_each_object): Cast to avoid warnings.
312         (Fconcord_foreach_object_in_feature): Use <char*> instead of
313         <unsigned char*> for genre_name and feature_name.
314         (concord_name_validate): New function.
315         (concord_object_validate): Likewise.
316         (concord_object_instantiate): Likewise.
317         (syms_of_concord): Add new builtin symbols `concord-object',
318         `genre' and `=id'.
319         (structure_type_create_concord): New function.
320
321 2006-04-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
322
323         * concord.c (Vconcord_ds_hash_table): New variable.
324         (Vconcord_genre_hash_table): New variable.
325         (Fconcord_open_ds): Use Vconcord_ds_hash_table.
326         (Fconcord_ds_directory): New function.
327         (Fconcord_assign_genre): New function.
328         (Fconcord_genre_directory): New function.
329         (Fconcord_genre_ds): New function.
330         (Fconcord_feature_list): Allow to omit `ds'.
331         (Fconcord_make_object): Likewise.
332         (Fconcord_decode_object): Likewise.
333         (Fconcord_foreach_object_in_feature): Likewise.
334         (syms_of_concord): Add new builtin function Fconcord_ds_directory,
335         Fconcord_assign_genre, Fconcord_genre_directory and
336         Fconcord_genre_ds.
337         (vars_of_concord): Setup Vconcord_ds_hash_table and
338         Vconcord_genre_hash_table.
339
340 2006-02-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
341
342         * concord.c (struct closure_for_each_object): Add new member
343         `ret'.
344         (func_for_each_object): Setup the return value to
345         `for_each_object_closure->ret'.
346         (Fconcord_foreach_object_in_feature): If FUNCTION returns non-nil,
347         returns the value instead of Qt.
348
349 2005-12-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
350
351         * concord.c: New file.
352
353 2005-12-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
354
355         * lrecord.h (enum lrecord_type): Add `lrecord_type_concord_ds' and
356         `lrecord_type_concord_object'.
357
358 2005-09-21  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
359
360         * symsinit.h (syms_of_concord): New prototype.
361         (vars_of_concord): New prototype.
362
363         * emacs.c (main_1): Setup symbols and variable about concord if
364         HAVE_CONCORD is defined.
365
366         * config.h.in (HAVE_CONCORD): New macro.
367
368 2005-09-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
369
370         * chartab.c (Fput_char_attribute): For each character relation
371         feature `{<-|->}FOO', set up the reversed link `{->|<-}FOO'.
372
373 2005-08-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
374
375         * chartab.c (Fput_char_attribute): Use
376         `Fchar_refs_simplify_char_specs' for `=>decomposition' before
377         calling `put_char_composition'.
378
379 2005-08-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
380
381         * chartab.c (Q_halfwidth_of): New variable.
382         (put_char_composition): Return `<-halfwidth' instead of
383         `=decomposition' for compatibility mapping to single character
384         tagged `narrow'.
385         (Fput_char_attribute): Convert char-specs in value of
386         `{<-|->}halfwidth[^*]*' to characters and put reverse links.
387         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
388         for `<-halfwidth'.
389         (syms_of_chartab): Add new symbol `<-halfwidth'.
390
391 2005-08-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
392
393         * chartab.c (put_char_composition): Return
394         `<-formed@{isolated|initial|medial|final}' for compatibility
395         mapping to single character tagged
396         `{isolated|initial|medial|final}'.
397
398 2005-08-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
399
400         * chartab.c (Q_compat_of): Deleted.
401         (put_char_composition): Return `<-FOO' for compatibility mapping
402         to single character tagged `FOO'; use `Fsymbol_name (...)' instead
403         of `symbol_name (XSYMBOL(...))'.
404         (Fput_char_attribute): Convert char-specs in value of
405         `{<-|->}font[^*]*' to characters and put reverse links.
406         (Fsave_char_attribute_table): Don't refer Q_compat_of.
407         (syms_of_chartab): Delete builtin symbol `<-compat'.
408
409 2005-08-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
410
411         * chartab.c (Q_circled_of): New variable.
412         (put_char_composition): Return `<-circled' instead of
413         `=decomposition' for compatibility mapping to single character
414         tagged `circle'.
415         (Fput_char_attribute): Convert char-specs in value of
416         `{<-|->}circled[^*]*' to characters and put reverse links.
417         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
418         for `<-circled'.
419         (syms_of_chartab): Add new symbol `<-circled'.
420
421 2005-08-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
422
423         * chartab.c (Qto_decomposition_at_circled): New variable.
424         (put_char_composition): Return `=>decomposition@circled' instead
425         of `=decomposition' for compatibility decomposition mapping tagged
426         `circle'.
427         (syms_of_chartab): Add new symbol `=>decomposition@circled'.
428
429 2005-08-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
430
431         * chartab.c (Q_subscript_of): New variable.
432         (put_char_composition): Return `<-subscript' instead of
433         `=decomposition' for compatibility mapping to single character
434         tagged `sub'.
435         (Fput_char_attribute): Convert char-specs in value of
436         `{<-|->}subscript[^*]*' to characters and put reverse links.
437         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
438         for `<-subscript'.
439         (syms_of_chartab): Add new symbol `<-subscript'.
440
441 2005-08-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
442
443         * chartab.c (Q_superscript_of): New variable.
444         (put_char_composition): Return `<-superscript' instead of
445         `=decomposition' for compatibility mapping to single character
446         tagged `super'.
447         (Fput_char_attribute): Convert char-specs in value of
448         `{<-|->}superscript[^*]*' to characters and put reverse links.
449         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
450         for `<-superscript'.
451         (syms_of_chartab): Add new symbol `<-superscript'.
452
453 2005-08-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
454
455         * chartab.c (Qto_decomposition_at_compat): Deleted.
456         (Qto_decomposition_at_superscript): New variable.
457         (put_char_composition): Use `=>decomposition@superscript' instead
458         of `=decomposition' for compatibility decomposition mapping tagged
459         `super'.
460         (Fput_char_attribute): Fix condition about `put_char_composition'.
461         (syms_of_chartab): Delete builtin symbol `=>decomposition@compat';
462         add news symbol `=>decomposition@superscript'.
463
464 2005-07-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
465
466         * chartab.c (put_char_composition): Return `=>decomposition@FOO'
467         for compatibility decomposition mapping tagged FOO.
468         (Fput_char_attribute): Modify for `put_char_composition'.
469
470 2005-07-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
471
472         * chartab.c (Qto_decomposition_at_compat): New variable.
473         (Q_compat_of): Renamed from `Q_compatibility_of'.
474         (put_char_composition): Rename `Q_compatibility_of' to
475         `Q_compat_of'; return `=>decomposition@compat' for compatibility
476         decomposition mapping.
477         (Fsave_char_attribute_table): Rename `Q_compatibility_of' to
478         `Q_compat_of'.
479         (syms_of_chartab): Add new symbol `=>decomposition@compat'; rename
480         `<-compatibility' to `<-compat'.
481
482 2005-07-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
483
484         * chartab.c (Q_compatibility_of): New variable.
485         (put_char_composition): Use XCAR/XCDR instead of Fcar/Fcdr if an
486         object is proved to be a cons cell; return `<-compatibility' if
487         the first element of argument `value' is `compat'.
488         (Fput_char_attribute): Eliminate the first value if
489         `put_char_composition' returns `<-compatibility'.
490         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
491         for `<-compatibility'.
492         (syms_of_chartab): Add new symbol `<-compatibility'.
493
494 2005-07-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
495
496         * chartab.c (Q_canonical): New variable.
497         (put_char_composition): Return a feature name: return
498         `->canonical' if argument `value' specifies single character.
499         (Fput_char_attribute): Use `put_char_composition' to determine
500         feature name for `=decomposition' or `->denotational'.
501         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
502         for `->canonical'.
503         (syms_of_chartab): Add new symbol `->canonical'.
504
505 2005-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
506
507         * chartab.c (Qmap_decomposition): New variable.
508         (Fput_char_attribute): Convert `->decomposition' to
509         `=decomposition'.
510         (syms_of_chartab): Add new symbol `=decomposition'.
511
512 2005-07-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
513
514         * chartab.c (Fget_range_char_table): Fix serious problem when
515         `range' is nil.
516
517 2005-06-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
518
519         * chartab.c (char_table_get_db): Use `read_from_c_string'.
520
521 2005-06-19  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
522
523         * lread.c (read_from_c_string): New function.
524
525         * lisp.h (read_from_c_string): New prototype.
526
527 2005-05-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
528
529         * chartab.c (Fput_char_attribute): Convert char-specs in value of
530         `{<-|->}Oracle-Bones[^*]*' to characters and put reverse links.
531         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
532         for `{<-|->}Oracle-Bones[^*]*'.
533
534 2005-05-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
535
536         * mule.c (vars_of_mule): Update `xemacs-chise-version' to 0.22
537         (Kizu).
538
539 2005-02-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
540
541         * text-coding.c (Qccs_priority_list): New variable in XEmacs
542         CHISE.
543         (Fmake_coding_system): Support new property `ccs-priority-list' in
544         XEmacs CHISE.
545         (Fcoding_system_property): Likewise.
546         (char_encode_iso2022): Prefer CODING_SYSTEM_CCS_PRIORITY_LIST than
547         Vdefault_coded_charset_priority_list in XEmacs CHISE.
548         (syms_of_file_coding): Add builtin symbol `ccs-priority-list' in
549         XEmacs CHISE.
550         (complex_vars_of_file_coding): Define new coding-system-property
551         `ccs-priority-list' in XEmacs CHISE.
552
553         * file-coding.h (XCODING_SYSTEM_CCS_PRIORITY_LIST): New macro.
554
555 2004-12-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
556
557         * char-ucs.h (decoding_table_put_char): Moved to mule-charset.c;
558         changed to normal function.
559         (encode_char_2): Likewise.
560
561         * mule-charset.c (decoding_table_put_char): Copied from
562         char-ucs.h; changed to normal function.
563         (encode_char_2): Likewise.
564
565 2004-12-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
566
567         * char-ucs.h (Vdisplay_coded_charset_priority_use_inheritance):
568         New extern.
569         (Vdisplay_coded_charset_priority_use_hierarchy_order): Likewise.
570         (encode_char_2_search_children): New inline function.
571         (encode_char_2): Refer
572         `Vdisplay_coded_charset_priority_use_{inheritance|hierarchy_order}'
573         and use `encode_char_2_search_children'.
574
575 2004-12-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
576
577         * mule-charset.c
578         (Vdisplay_coded_charset_priority_use_inheritance): New variable.
579         (Vdisplay_coded_charset_priority_use_hierarchy_order): Likewise.
580         (vars_of_mule_charset): Add new variable
581         `display-coded-charset-priority-use-inheritance' and
582         `display-coded-charset-priority-use-hierarchy-order'.
583
584 2004-11-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
585
586         * char-ucs.h (Q_subsumptive): New extern.
587         (Q_denotational): Likewise.
588         (encode_char_2): Search children specified by `->subsumptive' and
589         `->denotational'.
590
591 2004-11-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
592
593         * mule-charset.c (complex_vars_of_mule_charset): Modify the
594         X-registry of `ucs-bmp'.
595
596 2004-10-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
597
598         * chartab.c (char-variants): Refer `->subsumptive',
599         `->denotational' and `->identical' as same as `->ucs-unified'.
600
601 2004-10-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
602
603         * chartab.c (Fput_char_attribute): Convert char-specs in value of
604         `{<-|->}{fullwidth|halfwidth}[^*]*' to characters and put reverse
605         links.
606
607 2004-09-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
608
609         * text-coding.c: Add EXFUN for `Fregexp_quote'.
610         (decode_add_er_char): Fix problem about infinite loop when a CCS
611         specified in `coded-charset-entity-reference-alist' is not
612         existed.
613
614 2004-09-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
615
616         * mule-charset.c (syms_of_mule_charset): Rename
617         `=jis-x0208-{1978|1983|1990}' to `=jis-x0208@{1978|1983|1990}'.
618
619 2004-08-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
620
621         * fns.c (simplify_char_spec): Don't allocate new character-object
622         if specified char_spec does not have any CCS-features.
623
624         * chartab.h: Add EXFUN for Fdefine_char.
625
626         * chartab.c: Delete EXFUN for Fdefine_char.
627
628 2004-08-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
629
630         * fns.c (simplify_char_spec): Use Fdefine_char instead of
631         Ffind_char for char-spec.
632
633 2004-07-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
634
635         * lisp-disunion.h (XCHARVAL): Fix condition about
636         SIZEOF_EMACS_INT.
637
638 2004-07-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
639
640         * mule-charset.c (decode_builtin_char): Use <EMACS_INT> instead of
641         <int> for `code'.
642         (Fdecode_builtin_char): Use <EMACS_INT> instead of <int> for code
643         point; use <Emchar> instead of <int> for character-id.
644
645 2004-07-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
646
647         * lisp-disunion.h (make_int): Cast the argument into <EMACS_INT>.
648         (make_char): Likewise.
649         (XCHARVAL): Don't use the inline function for UTF-2000 in 64 bit
650         environment.
651         (XCHARVAL[for UTF-2000 in 32 bit environment]): Use <Emchar>
652         instead of <int> as the type of return value; use <Lisp_Object>
653         instead of <Emchar> as the type of argument.
654         (XCHARVAL[macro version]): Cast the result into <Emchar>.
655
656         * syntax.h (SYNTAX_CODE_UNSAFE): Use <Lisp_Object> and <enum
657         syntaxcode> instead of <int>.
658
659 2004-07-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
660
661         * chartab.c (put_char_composition): Use DECODE_CHAR to get
662         character corresponding with UCS code point.
663         (Fput_char_attribute): Likewise.
664
665         * mule-charset.c (put_char_ccs_code_point): Don't omit a UCS
666         character in the UCS decoding-table if the char-id is not equal to
667         the UCS code point.
668
669 2004-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
670
671         * mule-charset.c (Fsave_charset_properties): Use `true-name' only
672         for aliases; write `description'; write
673         `mother-code-{min|max|offset|conversion}' if CHARSET_MAX_CODE is
674         not 0.
675
676 2004-07-21  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
677
678         * chartab.c (Fsave_char_attribute_table): Don't use
679         `save_charset_properties'.
680
681         * mule-charset.c (Fsave_charset_properties): Renamed from
682         `save_charset_properties' and changed to Lisp function again;
683         write property `type' as `CCS'; write properties `final-byte' and
684         `mother' if they exists.
685         (syms_of_mule_charset): Revive builtin function
686         `save-charset-properties' when HAVE_LIBCHISE is defined.
687
688 2004-07-21  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
689
690         * chartab.c (open_chise_data_source_maybe): Use Vdata_directory
691         instead of Vexec_directory.
692         (char_attribute_system_db_file): Likewise.
693
694 2004-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
695
696         * chartab.c (Fsave_char_attribute_table): Use
697         `save_charset_properties' for CCS features when HAVE_LIBCHISE is
698         defined.
699
700         * mule-charset.c (save_charset_properties): Renamed from
701         `Fsave_charset_properties'; changed to non-Lisp function.
702         (syms_of_mule_charset): Abolish builtin function
703         `save-charset-properties'.
704
705 2004-07-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
706
707         * mule-charset.c (Fsave_charset_properties): New function when
708         HAVE_LIBCHISE is defined.
709         (syms_of_mule_charset): Add new builtin function
710         `save-charset-properties' when HAVE_LIBCHISE is defined.
711
712 2004-06-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
713
714         * chartab.c (Fput_char_attribute): Convert char-specs in value of
715         `{<-|->}ancient[^*]*' to characters and put reverse links.
716         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
717         for `{<-|->}ancient[^*]*'.
718
719 2004-06-19  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
720
721         * chartab.c (Fput_char_attribute): Convert char-specs in value of
722         `{<-|->}original[^*]*' to characters and put reverse links.
723         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
724         for `{<-|->}original[^*]*'.
725
726 2004-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
727
728         * mule-canna.c (m2c): Fix problem with XEmacs CHISE.
729
730 2004-06-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
731
732         * mule-charset.c (Qsystem_char_id): New variable.
733
734         * chartab.c (Qsystem_char_id): Deleted even if HAVE_CHISE is
735         defined and HAVE_LIBCHISE_LIBCHISE is not defined.
736
737 2004-05-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
738
739         * chartab.c (Fput_char_attribute): When processing a reference of
740         a character, put into the end of the reversed reference of each
741         target character.
742
743 2004-05-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
744
745         * chartab.c (Q_same): Deleted.
746         (Q_same_of): Deleted.
747         (Fput_char_attribute): Use Fstring_match to find `{<-|->}same'.
748         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
749         for `{<-|->}same'.
750         (syms_of_chartab): Delete builtin symbol `{<-|->}same'.
751
752 2004-05-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
753
754         * chartab.c (Q_vulgar): Deleted.
755         (Q_vulgar_of): Deleted.
756         (Fput_char_attribute): Use Fstring_match to find `{<-|->}vulgar'.
757         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
758         for `{<-|->}vulgar'.
759         (syms_of_chartab): Don't define `{<-|->}vulgar'.
760
761 2004-04-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
762
763         * chartab.c (Fput_char_attribute): Convert char-specs in value of
764         `{<-|->}wrong[^*]*' to characters and put reverse links.
765         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
766         for `{<-|->}wrong[^*]*'.
767
768 2004-04-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
769
770         * chartab.c (Q_vulgar): New variable.
771         (Q_vulgar_of): New variable.
772         (Fput_char_attribute): Convert char-specs in value of
773         `{->|<-}vulgar' to characters and put reverse links.
774         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
775         for `{->|<-}vulgar'.
776         (syms_of_chartab): Add new symbols `{->|<-}vulgar'.
777
778 2004-04-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
779
780         * text-coding.c (decode_add_er_char): Must to quote prefix string
781         as regexp.
782
783 2004-04-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
784
785         * mule-charset.c (put_char_ccs_code_point): Store characters of
786         =ucs whose code_points >= 0xF0000.
787
788 2004-04-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
789
790         * mule-charset.c (Vcharset_system_char_id): New variable in XEmacs
791         CHISE.
792         (syms_of_mule_charset): Add new symbol `system-char-id' in XEmacs
793         CHISE.
794         (complex_vars_of_mule_charset): Add new coded-charset
795         `system-char-id' in XEmacs CHISE; modify `=ucs' to eliminate
796         builtin characters over 0xEFFFF.
797
798         * chartab.c (syms_of_chartab): Don't define symbol
799         `system-char-id' in every case.
800
801         * char-ucs.h (Qsystem_char_id): New extern variable.
802         (LEADING_BYTE_SYSTEM_CHAR_ID): New macro.
803
804 2004-04-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
805
806         * text-coding.c (char_encode_utf8): Try to use entity-references
807         for U-000F0000 ...  U-0010FFFF.
808
809 2004-04-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
810
811         * text-coding.c (ER_BUF_SIZE): New macro.
812         (struct decoding_stream): Use `ER_BUF_SIZE' to specify size of
813         `er_buf'.
814         (decode_add_er_char): Use `ER_BUF_SIZE' instead of 16.
815         (char_encode_as_entity_reference): Use `ER_BUF_SIZE'.
816
817 2004-03-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
818
819         * chartab.c (find_char_feature_in_family): New function.
820         (Fchar_feature): Use `find_char_feature_in_family' with
821         `->identical', `<-subsumptive' and `<-denotational'.
822
823 2004-03-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
824
825         * text-coding.c (char_encode_as_entity_reference): Allow prefix
826         within 8 characters; fix infinite loop.
827
828 2004-03-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
829
830         * chartab.c (Q_same): New variable.
831         (Q_same_of): New variable.
832         (Fput_char_attribute): Convert char-specs in value of
833         `{->|<-}same' to characters and put reverse links.
834         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
835         for `{->|<-}same'.
836         (syms_of_chartab): Add new symbols `{->|<-}same'.
837
838 2004-03-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
839
840         * chartab.c (Q_component): New variable.
841         (Q_component_of): Likewise.
842         (Fput_char_attribute): Convert char-specs in value of
843         `{->|<-}ideographic-component-forms' to characters and put reverse
844         links.
845         (syms_of_chartab): Add new symbols
846         `{->|<-}ideographic-component-forms'.
847
848 2004-02-24  MORIOKA Tomohiko  <tomo@m17n.org>
849
850         * chartab.c (Q_identical): New variable.
851         (Q_identical_from): New variable.
852         (Fchar_feature): Regard `->identical' as a feature to find
853         ancestors.
854         (Fput_char_attribute): Add reversed link for `{->|<-}identical'.
855         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
856         for `{->|<-}identical'.
857         (syms_of_chartab): Add new symbols `{->|<-}identical'.
858
859 2004-02-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
860
861         * char-ucs.h (encode_char_2): New inline function.
862         (CHAR_TO_CHARC): Use `encode_char_2' instead of `encode_char_1'.
863
864 2004-02-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
865
866         * chartab.c (Fput_char_attribute): Convert char-specs to
867         characters in value of `ideographic-structure'.
868         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
869         for `{<-|->}simplified(@...)'.
870         (Fdefine_char): Try to use predefined character's id.
871
872 2004-02-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
873
874         * fns.c (simplify_char_spec): Try to convert builtin chars to
875         defined chars.
876
877 2004-02-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
878
879         * chartab.c (Fput_char_attribute): Convert char-specs in value of
880         `<-simplified[^*]*' to characters and put reverse links.
881
882 2004-02-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
883
884         * chartab.c (Q_subsumptive): Renamed from Q_unified.
885         (Q_subsumptive_from): Renamed from Q_unified_from.
886         (Fchar_feature): Use `Q_subsumptive_from' instead of
887         `Q_unified_from'.
888         (Fput_char_attribute): Likewise; Use `Q_subsumptive' instead of
889         `Q_unified'.
890         (syms_of_chartab): Rename `->unified' to `->subsumptive' and
891         `<-unified' to `<-subsumptive'.
892
893 2004-02-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
894
895         * chartab.c (Fchar_feature): Check `<-denotational' to avoid
896         inheritance itself; fix typo; stop recursive search if cyclic
897         inheritance is found.
898
899 2004-02-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
900
901         * chartab.c (Q_denotational): New variable.
902         (Q_denotational_from): New variable.
903         (Fchar_feature): Refer `<-denotational' as same as `<-unified'.
904         (put_char_attribute): New function.
905         (Fput_char_attribute): Use `put_char_attribute'; regard
906         `->denotational' and `<-denotational' as same as `->unified' and
907         `<-unified'.
908         (syms_of_chartab): Add new symbols `->denotational' and
909         `<-denotational'.
910
911 2004-02-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
912
913         * chartab.c (Fget_composite_char): Use `Fchar_feature' instead of
914         `Fget_char_attribute'.
915         (Fchar_variants): Likewise.
916         (get_char_table): Likewise.
917         (Fchar_feature): New function.
918         (put_char_composition): Use `Fchar_feature' instead of
919         `Fget_char_attribute'.
920         (Fput_char_attribute): Likewise; don't put the target character
921         into its `->unified' value.
922         (syms_of_chartab): Add new builtin function `char-feature'.
923
924 2004-01-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
925
926         * text-coding.c (COMPOSE_ADD_CHAR): Use `Fchar_feature' instead of
927         `Fget_char_attribute'.
928         (char_encode_utf8): Likewise.
929
930         * chartab.h: Add an EXFUN for `Fchar_feature'.
931
932 2004-01-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
933
934         * chartab.c (Vnext_defined_char_id): New variable.
935         (Fput_char_attribute): Accept characters in `->unified'.
936         (Fdefine_char): Refer and update Vnext_defined_char_id to allocate
937         new characters which are not related with builtin char-id ranges.
938         (vars_of_chartab): Add new variable `next-defined-char-id'.
939
940 2004-01-19  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
941
942         * chartab.c (Q_unified): New variable.
943         (Q_unified_from): New variable.
944         (Fput_char_attribute): Add code for `->unified'.
945         (syms_of_chartab): Add new symbols `->unified' and `<-unified' in
946         XEmacs CHISE.
947
948 2003-11-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
949
950         * mule-charset.c (decode_ccs_conversion): New function.
951         (decode_defined_char): Use `decode_ccs_conversion'.
952         (decode_builtin_char): Likewise.
953
954 2003-11-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
955
956         * char-ucs.h: Change some charset-ids of private coded-charsets.
957
958 2003-11-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
959
960         * text-coding.c (decode_add_er_char): Modify for `DECODE_CHAR'.
961         (char_encode_as_entity_reference): Likewise.
962         (decode_coding_big5): Modify for `decode_defined_char' and
963         `DECODE_CHAR'.
964         (decode_coding_utf8): Modify for `decode_defined_char'; modify to
965         avoid compiler warning.
966         (decode_coding_iso2022): Modify for `DECODE_CHAR'.
967
968         * mule-charset.c (decode_defined_char): Add new argument
969         `without_inheritance'.
970         (Fdecode_char): Add new optional argument `without_inheritance'.
971         (Fdecode_builtin_char): Modify for `Fdecode_char'.
972
973         * fns.c (ids_format_unit): Modify for `Fdecode_char'.
974         (simplify_char_spec): Likewise.
975
976         * chartab.h (Fdecode_char): Modify number of arguments of EXFUN
977         setting.
978
979         * chartab.c (put_char_table): Modify for `DECODE_CHAR'.
980         (map_char_table): Likewise.
981         (Fdefine_char): Use `Fdecode_char' without inheritance.
982         (Ffind_char): Modify for `Fdecode_char'.
983
984         * character.h (CHARC_TO_CHAR): Modify for `DECODE_CHAR'.
985
986         * char-ucs.h (decode_defined_char): Add new argument
987         `without_inheritance'.
988         (DECODE_CHAR): Likewise.
989         (MAKE_CHAR): Modify for `DECODE_CHAR'.
990
991 2003-10-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
992
993         * chartab.c (Vchise_system_db_directory): New variable.
994         (vars_of_chartab): Add new variable `chise-system-db-directory'.
995
996 2003-10-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
997
998         * chartab.c: EXFUN `Fmount_char_attribute_table'.
999         (print_chartab_range): Don't define when `UTF2000' is defined.
1000         (open_chise_data_source_maybe): Specify 0 instead of DB_HASH for
1001         `CHISE_DS_open'.
1002
1003 2003-10-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1004
1005         * chartab.c (Fchar_attribute_list): When HAVE_LIBCHISE is defined
1006         and optional argument `rehash' is specified, call
1007         `open_chise_data_source_maybe' before
1008         `chise_ds_foreach_char_feature_name' is called.
1009
1010 2003-10-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1011
1012         * chartab.c (char_attribute_list_reset_map_func): New function
1013         when HAVE_LIBCHISE is defined.
1014         (Fchar_attribute_list): Add new optional argument `rehash' when
1015         HAVE_LIBCHISE is defined.
1016         (open_chise_data_source_maybe): Use "chise-db" instead of
1017         "char-db".
1018         (char_attribute_system_db_file): Likewise.
1019         (Fload_char_attribute_table): Use
1020         `chise_feature_foreach_char_with_value' instead of
1021         `chise_char_feature_value_iterate'.
1022
1023 2003-10-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1024
1025         * chartab.c (Vchise_db_directory): New variable.
1026         (vars_of_chartab): Add new built-in variable `chise-db-directory'.
1027
1028 2003-10-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1029
1030         * mule-charset.c (Freset_charset_mapping_table): Use HAVE_LIBCHISE
1031         instead of HAVE_CHISE to specify using with libchise.
1032
1033         * config.h.in (HAVE_CHISE_CLIENT): Deleted.
1034
1035         * chartab.h: Don't use HAVE_CHISE_CLIENT.
1036
1037         * chartab.c (Qsystem_char_id): Don't define when HAVE_CHISE is not
1038         defined or HAVE_LIBCHISE_LIBCHISE is defined.
1039         (char_attribute_system_db_file): Don't define when HAVE_LIBCHISE
1040         is defined.
1041         (Freset_char_attribute_table): Use HAVE_LIBCHISE instead of
1042         HAVE_CHISE to specify using with libchise.
1043         (syms_of_chartab): Don't define symbol `system-char-id' when
1044         HAVE_CHISE is not defined or HAVE_LIBCHISE_LIBCHISE is defined.
1045
1046 2003-10-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1047
1048         * mule-charset.c: Use HAVE_CHISE instead of HAVE_CHISE_CLIENT to
1049         specify CHISE DB support.
1050         (Freset_charset_mapping_table): Use `chise_ccs_setup_db' instead
1051         of `char_attribute_system_db_file' to check feature DB file.
1052
1053         * chartab.h, casetab.c, char-ucs.h: Use HAVE_CHISE instead of
1054         HAVE_CHISE_CLIENT to specify CHISE DB support.
1055
1056         * chartab.c: Use HAVE_CHISE instead of HAVE_CHISE_CLIENT to
1057         specify CHISE DB support.
1058         (open_chise_data_source_maybe): Don't define when HAVE_LIBCHISE is
1059         not defined.
1060         (Freset_char_attribute_table): Use `chise_feature_setup_db'
1061         instead of `char_attribute_system_db_file' to check feature DB
1062         file.
1063
1064 2003-10-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1065
1066         * mule.c (vars_of_mule): Use `HAVE_CHISE' instead of `CHISE' and
1067         `HAVE_CHISE_CLIENT'.
1068
1069 2003-10-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1070
1071         * mule-charset.c: Use HAVE_LIBCHISE instead of CHISE.
1072         (Fsave_charset_mapping_table): Don't use
1073         `char_attribute_system_db_file' when HAVE_LIBCHISE is defined.
1074
1075         * config.h.in (HAVE_CHISE): Renamed from `CHISE'.
1076         (HAVE_LIBCHISE): New macro.
1077
1078         * chartab.h: Use HAVE_LIBCHISE instead of CHISE.
1079
1080         * chartab.c: Use HAVE_LIBCHISE instead of CHISE.
1081         (Fsave_char_attribute_table): Don't use
1082         `char_attribute_system_db_file' when HAVE_LIBCHISE is defined.
1083
1084 2003-10-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1085
1086         * chartab.c (save_uint8_byte_table): Use libchise when CHISE is
1087         defined.
1088         (save_uint16_byte_table): Likewise.
1089         (save_byte_table): Likewise.
1090         (char_table_get_db): Use `chise_ds_load_char_feature_value'
1091         instead of `chise_char_load_feature_value'.
1092         (Fsave_char_attribute_table): Use libchise when CHISE is defined.
1093
1094 2003-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1095
1096         * chartab.h (struct Lisp_Char_Table): Delete member
1097         `feature_table' if CHISE is defined.
1098
1099         * chartab.c (Fmake_char_table): Don't refer `ct->feature_table'.
1100         (Fcopy_char_table): Likewise.
1101         (char_table_open_db_maybe): Likewise.
1102         (char_table_close_db_maybe): Likewise.
1103         (char_table_get_db): Likewise.
1104         (Fmount_char_attribute_table): Likewise.
1105         (Fload_char_attribute_table): Likewise.
1106
1107 2003-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1108
1109         * mule-charset.c (load_char_decoding_entry_maybe): Use
1110         `chise_ds_decode_char' instead of `chise_ds_get_ccs' and
1111         `chise_ccs_decode'.
1112
1113 2003-10-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1114
1115         * chartab.c (open_chise_data_source_maybe): Use `CHISE_DS_open'
1116         instead of `chise_open_data_source'.
1117         (Fclose_char_data_source): Use `CHISE_DS_close' instead of
1118         `chise_ds_close'.
1119
1120 2003-10-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1121
1122         * chartab.c (char_table_open_db_maybe): Use `chise_ds_get_feature'
1123         instead of `chise_ds_open_feature_table'.
1124         (char_table_close_db_maybe): Don't use `chise_ft_close'.
1125
1126 2003-10-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1127
1128         * mule-charset.c (Fsave_charset_mapping_table): Use
1129         `chise_ds_get_ccs' instead of `chise_ds_open_ccs_table'; use
1130         `chise_ccs_set_decoded_char' instead of `chise_ccst_put_char'; use
1131         `chise_ccs_sync' instead of `chise_ccst_close'.
1132         (load_char_decoding_entry_maybe): Modify for `chise_ds_get_ccs'.
1133
1134         * chartab.c (open_chise_data_source_maybe): Modify for
1135         `chise_open_data_source'.
1136         (char_table_open_db_maybe): Modify for
1137         `chise_ds_open_feature_table'.
1138
1139 2003-08-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1140
1141         * mule-charset.c (load_char_decoding_entry_maybe): Use
1142         `chise_ds_get_ccs' instead of `chise_ds_open_ccs_table'; don't use
1143         `chise_ccst_close'.
1144
1145 2003-08-25  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1146
1147         * mule-charset.c (Fsave_charset_mapping_table): Use
1148         `chise_ds_open_ccs_table', `chise_ccst_put_char' and
1149         `chise_ccst_close' instead of `chise_ds_open_decoding_table',
1150         `chise_dt_put_char' and `chise_dt_close'.
1151         (load_char_decoding_entry_maybe): Use `chise_ds_open_ccs_table',
1152         `chise_ccs_decode' and `chise_ccst_close' instead of
1153         `chise_ds_open_decoding_table', `chise_dt_get_char' and
1154         `chise_dt_close'.
1155
1156         * chartab.c (char_table_get_db): Use
1157         `chise_char_load_feature_value' instead of `chise_ft_get_value'.
1158         (load_char_attribute_table_map_func): Modify for
1159         `chise_char_feature_value_iterate'.
1160         (Fload_char_attribute_table): Use
1161         `chise_char_feature_value_iterate' instead of `chise_ft_iterate'.
1162
1163 2003-10-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1164
1165         * text-coding.c (COMPOSE_ADD_CHAR): Fixed.
1166
1167 2003-08-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1168
1169         * chartab.c (put_char_table): Modify for inherited coded-charsets
1170         in XEmacs CHISE.
1171
1172 2003-08-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1173
1174         * chartab.c (Fput_char_table_map_function): Fixed.
1175         (word_boundary_p): Don't check charset in XEmacs CHISE.
1176
1177 2003-08-17  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1178
1179         * mule-charset.c (Fsave_charset_mapping_table): Use
1180         `open_chise_data_source_maybe'; use `chise_ds_open_decoding_table'
1181         instead of `chise_open_decoding_table'; refer
1182         `default_chise_data_source'; use `chise_dt_close' instead of
1183         `chise_close_decoding_table'.
1184         (load_char_decoding_entry_maybe): Likewise.
1185
1186         * chartab.c (default_chise_data_source): New variable when `CHISE'
1187         is defined.
1188         (Fcopy_char_table): `ct->ds' is deleted.
1189         (open_chise_data_source_maybe): New function.
1190         (Fclose_char_data_source): New function.
1191         (char_table_open_db_maybe): Use `open_chise_data_source_maybe';
1192         use `chise_ds_open_feature_table' instead of
1193         `chise_open_feature_table'.
1194         (char_table_close_db_maybe): Use `chise_ft_close' instead of
1195         `chise_close_feature_table'; `cit->ds' is deleted.
1196         (syms_of_chartab): Add new builtin function
1197         `close-char-data-source' when `HAVE_CHISE_CLIENT' is defined.
1198
1199         * chartab.h (default_chise_data_source): New extern variable.
1200         (open_chise_data_source_maybe): New prototype.
1201         (struct Lisp_Char_Table): Delete `ds'.
1202
1203 2003-08-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1204
1205         * mule-charset.c (Fsave_charset_mapping_table): Use libchise when
1206         `CHISE' is defined.
1207
1208 2003-08-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1209
1210         * chartab.c (char_table_open_db_maybe): Defined even if `CHISE' is
1211         not defined; add code for non-libchise setting.
1212         (char_table_close_db_maybe): Likewise.
1213         (char_table_get_db): New function when `HAVE_CHISE_CLIENT' is
1214         defined.
1215         (Fclose_char_attribute_table): Use `char_table_close_db_maybe'
1216         even if `CHISE' is not defined.
1217         (Freset_char_attribute_table): Likewise.
1218         (load_char_attribute_maybe): Use `char_table_open_db_maybe' and
1219         `char_table_close_db_maybe' even if `CHISE' is not defined; use
1220         `char_table_get_db'.
1221         (Fload_char_attribute_table): Use `char_table_open_db_maybe' and
1222         `char_table_close_db_maybe' even if `CHISE' is not defined.
1223
1224 2003-08-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1225
1226         * chartab.c (char_table_open_db_maybe): New function.
1227         (char_table_close_db_maybe): New function.
1228         (Fclose_char_attribute_table): Use `char_table_close_db_maybe'.
1229         (Freset_char_attribute_table): Likewise.
1230         (load_char_attribute_maybe): Use `char_table_open_db_maybe' and
1231         `char_table_close_db_maybe'.
1232         (Fload_char_attribute_table): Likewise.
1233
1234 2003-08-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1235
1236         * chartab.c: Don't include <chise.h> because it is included in
1237         chartab.h.
1238         (Fmake_char_table): Initialize `ct->feature_table' when `CHISE' is
1239         defined.
1240         (Fcopy_char_table): Copy `ct->ds' and `ct->feature_table' when
1241         `CHISE' is defined.
1242         (Fmount_char_attribute_table): Initialize `ct->feature_table' when
1243         `CHISE' is defined.
1244         (Fclose_char_attribute_table): Close `ct->feature_table' and
1245         `ct->ds' when `CHISE' is defined.
1246         (Freset_char_attribute_table): Likewise.
1247         (load_char_attribute_maybe): Use `cit->ds' and
1248         `cit->feature_table' when `CHISE' is defined.
1249         (Fload_char_attribute_table): Likewise.
1250
1251         * chartab.h: Include <chise.h> when `CHISE' is defined.
1252         (struct Lisp_Char_Table): Add new member `ds' and `feature_table'
1253         when `CHISE' is defined.
1254
1255 2003-08-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1256
1257         * chartab.c (mark_char_table): Member `db' is deleted when `CHISE'
1258         is defined.
1259         (char_table_description): Likewise.
1260         (Fmake_char_table): Likewise.
1261         (Fcopy_char_table): Likewise.
1262         (Fmount_char_attribute_table): Likewise.
1263         (Fclose_char_attribute_table): Likewise.
1264         (Freset_char_attribute_table): Likewise.
1265         (load_char_attribute_maybe): Likewise.
1266         (Fload_char_attribute_table): Likewise.
1267
1268         * chartab.h (struct Lisp_Char_Table): Delete `db' when `CHISE' is
1269         defined.
1270
1271 2003-08-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1272
1273         * chartab.c (load_char_attribute_table_map_func): New function
1274         when CHISE is defined.
1275         (Qload_char_attribute_table_map_function): Don't define when CHISE
1276         is defined.
1277         (Fload_char_attribute_table_map_function): Likewise.
1278         (Fload_char_attribute_table): Use libchise when `CHISE' is
1279         defined.
1280         (syms_of_chartab): Don't define
1281         `load-char-attribute-table-map-function' when CHISE is defined.
1282
1283 2003-08-06  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1284
1285         * chartab.c: Include <chise.h> when `CHISE' is defined.
1286         (load_char_attribute_maybe): Use libchise when `CHISE' is defined.
1287
1288 2003-07-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1289
1290         * mule-charset.c (charset_code_point): Fix problem when searching
1291         in mother CCS fails with `defined_only' mode.
1292
1293 2003-06-29  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1294
1295         * chartab.c (Q_ucs_unified): Renamed from `Q_ucs_variants'.
1296         (Fchar_variants): Rename `Q_ucs_variants' to `Q_ucs_unified'.
1297         (put_char_composition): Likewise.
1298         (Fput_char_attribute): Likewise.
1299         (syms_of_chartab): Rename `->ucs-variants' to `->ucs-unified'.
1300
1301 2003-06-29  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1302
1303         * chartab.c (Q_ucs): Deleted.
1304         (Fput_char_attribute): Don't refer `->ucs'.
1305         (Fdefine_char): Likewise.
1306         (Ffind_char): Likewise.
1307         (syms_of_chartab): Delete `->ucs'.
1308
1309 2003-04-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1310
1311         * mule-charset.c (Qmap_cns11643_2): Renamed from
1312         `Qchinese_cns11643_2'.
1313         (syms_of_mule_charset): Add new symbol `=cns11643-2' instead of
1314         `chinese-cns11643-2'.
1315         (complex_vars_of_mule_charset): Rename `chinese-cns11643-2' to
1316         `=cns11643-2'.
1317
1318 2003-04-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1319
1320         * mule-charset.c (Qmap_cns11643_1): Renamed from
1321         `Qchinese_cns11643_1'.
1322         (syms_of_mule_charset): Add new symbol `=cns11643-1' instead of
1323         `chinese-cns11643-1'.
1324         (complex_vars_of_mule_charset): Rename `chinese-cns11643-1' to
1325         `=cns11643-1'.
1326
1327 2003-04-24  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1328
1329         * mule-charset.c (Qmap_gb12345): Renamed from `Qchinese_gb12345'.
1330         (syms_of_mule_charset): Add new symbol `=gb12345' instead of
1331         `chinese-gb12345'.
1332         (complex_vars_of_mule_charset): Rename `chinese-gb12345' to
1333         `=gb12345'.
1334
1335 2003-04-21  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1336
1337         * mule-charset.c (Qmap_gb2312): Renamed from `Qchinese_gb2312'.
1338         (syms_of_mule_charset): Add new symbol `=gb2312' instead of
1339         `chinese-gb2312'.
1340         (complex_vars_of_mule_charset): Rename `chinese-gb2312' to
1341         `=gb2312'.
1342
1343 2003-04-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1344
1345         * mule-charset.c (Qmap_big5): Renamed from `Qchinese_big5'.
1346         (syms_of_mule_charset): Add new symbol `=big5' instead of
1347         `chinese-big5'.
1348         (complex_vars_of_mule_charset): Rename `chinese-big5' to `=big5'.
1349
1350 2003-04-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1351
1352         * mule-charset.c (Qmap_ks_x1001): Renamed from `Qkorean_ksc5601'.
1353         (syms_of_mule_charset): Add new symbol `=ks-x1001' instead of
1354         `korean-ksc5601'.
1355         (complex_vars_of_mule_charset): Rename `korean-ksc5601' to
1356         `=ks-x1001'.
1357
1358 2003-04-15  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1359
1360         * mule-charset.c (Qmap_jis_x0212): Renamed from
1361         `Qjapanese_jisx0212'.
1362         (syms_of_mule_charset): Add new symbol `=jis-x0212' instead of
1363         `japanese-jisx0212'.
1364         (complex_vars_of_mule_charset): Rename `japanese-jisx0212' to
1365         `=jis-x0212'.
1366
1367 2003-04-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1368
1369         * mule-charset.c (Qmap_jis_x0208_1983): Renamed from
1370         `Qjapanese_jisx0208'.
1371         (syms_of_mule_charset): Add new symbol `=jis-x0208-1983' instead
1372         of `japanese-jisx0208'.
1373         (complex_vars_of_mule_charset): Rename `japanese-jisx0208' to
1374         `=jis-x0208-1983'.
1375
1376 2003-04-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1377
1378         * mule-charset.c (Qmap_jis_x0208_1978): Renamed from
1379         `Qjapanese_jisx0208_1978'.
1380         (syms_of_mule_charset): Add new symbol `=jis-x0208-1978' instead
1381         of `japanese-jisx0208-1978'.
1382         (complex_vars_of_mule_charset): Rename `japanese-jisx0208-1978' to
1383         `=jis-x0208-1978'.
1384
1385 2003-04-04  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1386
1387         * chartab.c (decode_char_table_range): CHARTAB_RANGE_DEFAULT is
1388         only for XEmacs CHISE.
1389
1390 2003-04-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1391
1392         * char-ucs.h: Compact non-ISO-IR charset-ids.
1393         (LEADING_BYTE_UCS): Changed to -177.
1394         (LEADING_BYTE_CONTROL_1): Changed to -77.
1395         (LEADING_BYTE_UCS_BMP): Changed to -176.
1396         (LEADING_BYTE_JAPANESE_JISX0208_1990): Changed to -168.
1397
1398 2003-04-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1399
1400         * mule-charset.c (Qiso_ir): New variable.
1401         (Fmake_charset): Recognise new property `iso-ir'.
1402         (syms_of_mule_charset): Add new symbol `iso-ir'.
1403
1404 2003-04-02  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1405
1406         * char-ucs.h: Change charset-id of ISO-IR sets from ISO-IR-number
1407         n to -n; charset-id of non ISO-IR sets are changed to positive
1408         numbers.
1409
1410 2003-03-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1411
1412         * text-coding.c (decode_add_er_char): Use XUINT instead of XINT
1413         for &MCS-XXXXXXXX; values.
1414
1415 2003-03-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1416
1417         * mule.c (Vxemacs_chise_version): Renamed from
1418         `Vutf_2000_version'.
1419         (vars_of_mule): Add new variable `xemacs-chise-version'; define
1420         `utf-2000-version' as an alias for `xemacs-chise-version'.
1421
1422 2003-03-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1423
1424         * mule-charset.c: Include <chise.h> when `CHISE' is defined.
1425         (load_char_decoding_entry_maybe): Use libchise when `CHISE' is
1426         defined.
1427
1428         * config.h.in (CHISE): New macro.
1429
1430 2003-03-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1431
1432         * mule-charset.c (put_char_ccs_code_point): Refer `=ucs' instead
1433         of `ucs'.
1434         (Qmap_ucs): New variable.
1435         (syms_of_mule_charset): Add new symbol `=ucs'.
1436         (complex_vars_of_mule_charset): Rename `ucs' to `=ucs'.
1437
1438         * fns.c (ids_format_unit): Refer `=ucs' instead of `ucs'.
1439         (simplify_char_spec): Likewise.
1440
1441         * chartab.c (Fdefine_char): Refer `=ucs' as same as `ucs'.
1442
1443         * char-ucs.h (Qmap_ucs): New extern variable.
1444
1445 2003-03-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1446
1447         * mule-charset.c (Qmap_jis_x0208): Renamed from `Qjis_x0208'.
1448         (Qmap_jis_x0208_1990): Renamed from `Qjapanese_jisx0208_1990';
1449         don't define it when UTF2000 is not defined.
1450         (syms_of_mule_charset): Modify for `Qmap_jis_x0208'; rename
1451         `japanese-jisx0208-1990' to `=jis-x0208-1990'; don't define it
1452         when UTF2000 is not defined.
1453         (complex_vars_of_mule_charset): Modify for `Qmap_jis_x0208';
1454         rename `japanese-jisx0208-1990' to `=jis-x0208-1990'.
1455
1456 2003-03-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1457
1458         * char-ucs.h (LEADING_BYTE_UCS_GB): Deleted.
1459
1460         * mule-charset.c (Vcharset_ucs_gb): Deleted.
1461         (Qucs_gb): Deleted.
1462         (syms_of_mule_charset): Delete `ucs-gb'.
1463         (complex_vars_of_mule_charset): Likewise.
1464
1465 2003-03-04  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1466
1467         * char-ucs.h (LEADING_BYTE_UCS_CNS): Deleted.
1468
1469         * mule-charset.c (Vcharset_ucs_cns): Deleted.
1470         (Qucs_cns): Deleted.
1471         (syms_of_mule_charset): Delete `ucs-cns'.
1472         (complex_vars_of_mule_charset): Likewise.
1473
1474 2003-03-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1475
1476         * char-ucs.h (LEADING_BYTE_UCS_JIS): Deleted.
1477
1478         * mule-charset.c (Vcharset_ucs_jis): Deleted.
1479         (Qucs_jis): Deleted.
1480         (syms_of_mule_charset): Delete `ucs-jis'.
1481         (complex_vars_of_mule_charset): Likewise.
1482
1483 2003-03-02  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1484
1485         * char-ucs.h (LEADING_BYTE_UCS_KS): Deleted.
1486
1487         * mule-charset.c (Vcharset_ucs_ks): Deleted.
1488         (Qucs_ks): Deleted.
1489         (syms_of_mule_charset): Delete `ucs-ks'.
1490         (complex_vars_of_mule_charset): Likewise.
1491
1492 2003-03-01  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1493
1494         * mule-charset.c (Vcharset_ideograph_daikanwa_2): Deleted.
1495         (Qideograph_daikanwa_2): Deleted.
1496         (syms_of_mule_charset): Delete `ideograph-daikanwa-2'.
1497         (complex_vars_of_mule_charset): Likewise.
1498
1499         * char-ucs.h (LEADING_BYTE_DAIKANWA_0): Deleted.
1500         (LEADING_BYTE_DAIKANWA_1): Deleted.
1501         (LEADING_BYTE_DAIKANWA_2): Deleted.
1502         (MIN_CHAR_DAIKANWA): Deleted.
1503         (MAX_CHAR_DAIKANWA): Deleted.
1504
1505 2003-02-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1506
1507         * char-ucs.h (LEADING_BYTE_DAIKANWA_3): Deleted.
1508         (LEADING_BYTE_HANZIKU_{1..12}): Deleted.
1509         ({MIN|MAX}_CHAR_HANZIKU_{1..12}): Deleted.
1510
1511         * mule-charset.c (Vcharset_ideograph_hanziku_{1..12}): Deleted.
1512         (Vcharset_ideograph_daikanwa): Deleted.
1513         (Qideograph_hanziku_{1..12}): Deleted.
1514         (Qideograph_daikanwa): Deleted.
1515         (encode_builtin_char_1): Don't use {MIN|MAX}_CHAR_DAIKANWA and
1516         Vcharset_ideograph_daikanwa.
1517         (syms_of_mule_charset): Delete `ideograph-daikanwa' and
1518         `ideograph-hanziku-{1..12}'.
1519         (complex_vars_of_mule_charset): Likewise.
1520
1521 2003-02-26  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1522
1523         * char-ucs.h (LEADING_BYTE_GT_PJ_{1..11}): Deleted.
1524
1525         * mule-charset.c (Vcharset_ideograph_gt_pj_{1..11}): Deleted.
1526         (Qideograph_gt_pj_{1..11}): Deleted.
1527         (syms_of_mule_charset): Delete `ideograph-gt-pj-{1..11}'.
1528         (complex_vars_of_mule_charset): Likewise.
1529
1530 2003-02-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1531
1532         * mule-charset.c (Vcharset_ucs_big5): Deleted.
1533         (Vcharset_ideograph_gt): Deleted.
1534         (Qucs_big5): Deleted.
1535         (Qideograph_gt): Deleted.
1536         (syms_of_mule_charset): Delete symbol `ucs-big5' and
1537         `ideograph-gt'.
1538         (complex_vars_of_mule_charset): Delete coded-charset `ucs-big5'
1539         and `ideograph-gt'.
1540
1541         * char-ucs.h (LEADING_BYTE_UCS_BIG5): Deleted.
1542         (LEADING_BYTE_GT): Deleted.
1543         (MIN_CHAR_GT): Deleted.
1544         (MAX_CHAR_GT): Deleted.
1545
1546 2003-02-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1547
1548         * chartab.c (Fput_char_attribute): Canonicalise charset-aliases.
1549
1550 2003-01-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1551
1552         * chartab.c (save_uint8_byte_table): Add new argument `filter'.
1553         (save_uint16_byte_table): Likewise.
1554         (save_byte_table): Likewise; convert values by it.
1555         (Fput_char_attribute): Don't use `char-refs-simplify-char-specs'
1556         for `ideographic-structure'.
1557         (Fsave_char_attribute_table): Use `char-refs-simplify-char-specs'
1558         as the filter for `ideographic-structure'.
1559
1560 2003-01-07  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1561
1562         * chartab.c (put_char_composition): New function.
1563         (Fput_char_attribute): Use `put_char_composition'; use
1564         `Fchar_refs_simplify_char_specs' for `ideographic-structure'.
1565
1566         * fns.c (simplify_char_spec): New function.
1567         (char_ref_simplify_spec): New function.
1568         (Fchar_refs_simplify_char_specs): New function.
1569         (syms_of_fns): Add new builtin function
1570         `char-refs-simplify-char-specs'.
1571
1572 2003-01-05  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1573
1574         * mule-charset.c (Vcharset_ideograph_cbeta): Deleted.
1575         (Qideograph_cbeta): Deleted.
1576         (syms_of_mule_charset): Don't define `ideograph-cbeta'.
1577         (complex_vars_of_mule_charset): Likewise.
1578
1579         * char-ucs.h (LEADING_BYTE_CBETA): Deleted.
1580         (MIN_CHAR_CBETA): Comment out.
1581         (MAX_CHAR_CBETA): Likewise.
1582
1583 2002-12-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1584
1585         * mule-charset.c, chartab.h, casetab.c, char-ucs.h, chartab.c: Use
1586         `HAVE_CHISE_CLIENT' instead of `HAVE_DATABASE' to indicate the
1587         CHISE client feature.
1588
1589 2002-12-25  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1590
1591         * mule.c (vars_of_mule): Update `utf-2000-version' to 0.20.
1592
1593 2002-12-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1594
1595         * mule-charset.c (charset_lookup_description_1): Use
1596         `NUM_LEADING_BYTES' in UTF-2000.
1597
1598 2002-12-18  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1599
1600         * char-ucs.h (GC_CHARSETP): Deleted.
1601
1602 2002-12-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1603
1604         * char-ucs.h (MAX_CHAR_GT): Updated.
1605
1606 2002-12-15  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1607
1608         * text-coding.c: Sync with XEmacs 21.4.10.
1609
1610 2002-11-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1611
1612         * mule-charset.c (Vcharset_china3_jef): Deleted.
1613         (Qchina3_jef): Deleted.
1614         (syms_of_mule_charset): Don't define `china3-jef'.
1615         (complex_vars_of_mule_charset): Likewise.
1616
1617         * char-ucs.h (LEADING_BYTE_CHINA3_JEF): Deleted.
1618         (MIN_CHAR_CHINA3_JEF): Comment out.
1619         (MAX_CHAR_CHINA3_JEF): Comment out.
1620
1621 2002-11-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1622
1623         * mule-charset.c (Vcharset_ucs_gb): New variable.
1624         (Qucs_gb): New variable.
1625         (syms_of_mule_charset): Add new symbol `ucs-gb'.
1626         (complex_vars_of_mule_charset): Add new coded-charset `ucs-gb'.
1627
1628         * char-ucs.h (LEADING_BYTE_UCS_GB): New macro.
1629
1630 2002-11-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1631
1632         * mule-charset.c (charset_code_point): if a coded-charset has a
1633         final-byte, don't inherit the builtin range of the mother CCS.
1634
1635 2002-11-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1636
1637         * mule-charset.c (charset_code_point): Fix problem about
1638         inheritance.
1639
1640 2002-11-14  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1641
1642         * mule-charset.c (decode_builtin_char): Reorganized.
1643
1644 2002-10-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1645
1646         * text-coding.c (char_encode_as_entity_reference): Modify for
1647         `charset_code_point'.
1648         (char_encode_shift_jis): Likewise.
1649         (char_encode_big5): Likewise.
1650         (char_encode_utf8): Likewise.
1651         (char_encode_iso2022): Likewise.
1652
1653         * mule-charset.c (charset_code_point): Add new argument
1654         `defined_only'.
1655         (Fencode_char): Add new optional argument `defined_only'.
1656
1657         * chartab.c (put_char_table): Modify for `charset_code_point'.
1658
1659         * char-ucs.h (charset_code_point): Add new argument
1660         `defined_only'.
1661         (encode_char_1): Modify for `charset_code_point'.
1662
1663 2002-10-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1664
1665         * mule-charset.c (complex_vars_of_mule_charset): Don't specify
1666         `MIN_CHAR_THAI' and `MAX_CHAR_THAI' for `thai-tis620'.
1667
1668 2002-10-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1669
1670         * mule-charset.c (Vcharset_jis_x0208): New variable in UTF-2000.
1671         (Qjis_x0208): Likewise.
1672         (decode_builtin_char): Prefer XCHARSET_MAX_CODE(charset) than
1673         XCHARSET_FINAL(charset).
1674         (charset_code_point): Modify condition for final-byte based
1675         builtin-chars.
1676         (syms_of_mule_charset): Add new symbol `=jis-x0208' in UTF-2000.
1677         (complex_vars_of_mule_charset): Add new coded-charset `=jis-x0208'
1678         in UTF-2000; specify `=jis-x0208' as the mother of
1679         `japanese-jisx0208-1978', `japanese-jisx0208' and
1680         `japanese-jisx0208-1990' in UTF-2000.
1681
1682 2002-10-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1683
1684         * char-ucs.h (LEADING_BYTE_JIS_X0208): New macro.
1685
1686 2002-10-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1687
1688         * text-coding.c (decode_coding_utf16): Support UTF-16.
1689         (char_encode_utf16): Fixed.
1690
1691 2002-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1692
1693         * text-coding.c (Qutf16): New variable in MULE.
1694         (Fmake_coding_system): Accept `utf-16' as `type' in MULE.
1695         (Fcoding_system_type): Add `utf-16' in MULE.
1696         (struct detection_state): Add a structure for utf16 in MULE.
1697         (detect_coding_type): Setup st->utf16.mask in MULE.
1698         (mule_decode): Use `decode_coding_utf16' for `CODESYS_UTF16' in
1699         MULE.
1700         (reset_encoding_stream): Use `char_encode_utf16' and
1701         `char_finish_utf16' for `CODESYS_UTF16' in MULE.
1702         (detect_coding_utf16): New function [incomplete].
1703         (decode_coding_utf16): New function [support only UCS-2].
1704         (char_encode_utf16): New function.
1705         (char_finish_utf16): New function.
1706         (syms_of_file_coding): Add new symbol `utf-16'; setup
1707         `coding_category_symbol[CODING_CATEGORY_UTF16]'.
1708
1709         * file-coding.h (enum coding_system_type): Add `CODESYS_UTF16' in
1710         UTF-2000.
1711         (enum coding_category_type): Add `CODING_CATEGORY_UTF16' in MULE.
1712         (CODING_CATEGORY_UTF16_MASK): New macro in MULE.
1713
1714 2002-10-08  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1715
1716         * chartab.c (put_char_table): When a charset is specified as a
1717         range in UTF-2000, don't support builtin characters.
1718
1719 2002-09-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1720
1721         * mule-charset.c (decode_defined_char): Don't refer external
1722         database if Qunbound or Qnil are found.
1723         (Fsave_charset_mapping_table): Don't define it if
1724         HAVE_CHISE_CLIENT is not defined.
1725         (Freset_charset_mapping_table): New function.
1726         (load_char_decoding_entry_maybe): Store Qnil if a character is not
1727         found in external database.
1728         (syms_of_mule_charset): Don't define `save-charset-mapping-table'
1729         if HAVE_CHISE_CLIENT is not defined; add new builtin function
1730         `reset-charset-mapping-table' if HAVE_CHISE_CLIENT is defined.
1731
1732 2002-09-18  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1733
1734         * text-coding.c (decode_coding_utf8): Check CCS is specified or
1735         not.
1736
1737 2002-08-26  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1738
1739         * chartab.h: Add extern declarations for Qdowncase, Qflippedcase,
1740         Q_lowercase, Q_uppercase in UTF-2000.
1741
1742         * chartab.c (get_char_table): Add special code for the standard
1743         case table to use character attribute `->downcase' and
1744         `->uppercase' for case operations in UTF-2000.
1745
1746         * casetab.c (Qflippedcase): New variable in UTF-2000.
1747         (Q_lowercase): Likewise.
1748         (Q_uppercase): Likewise.
1749         (syms_of_casetab): Add new symbols `flippedcase', `->lowercase'
1750         and `->uppercase' in UTF-2000.
1751         (complex_vars_of_casetab): Assign attribute name `downcase' to
1752         downcase and CANON table of Vstandard_case_table in UTF-2000;
1753         assign attribute name `flippedcase' to upcase and EQV table of
1754         Vstandard_case_table in UTF-2000.
1755
1756 2002-08-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1757
1758         * text-coding.c (decode_add_er_char): Support isolated-chars.
1759         (char_encode_as_entity_reference): Likewise.
1760
1761 2002-08-13  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1762
1763         * emacs.c (Vutf_2000_lisp_directory): New variable.
1764         (Vconfigure_utf_2000_lisp_directory): Likewise.
1765         (complex_vars_of_emacs): Add new variable
1766         `utf-2000-lisp-directory' and `configure-utf-2000-lisp-directory'.
1767
1768 2002-08-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1769
1770         * char-ucs.h (DECODE_CHAR): Delete special code for
1771         `chinese-big5-1' and `chinese-big5-2'.
1772
1773         * mule-charset.c (Qbig5_1): New variable in UTF-2000.
1774         (Qbig5_2): Likewise.
1775         (decode_defined_char): Support CONVERSION_BIG5_1 and
1776         CONVERSION_BIG5_2.
1777         (decode_builtin_char): Likewise.
1778         (charset_code_point): Likewise.
1779         (Fmake_charset): Accept `big5-1' and `big5-2' as a value of
1780         'conversion in UTF-2000.
1781         (syms_of_mule_charset): Add new symbol `big5-1' and `big5-2'.
1782         (complex_vars_of_mule_charset): Define `chinese-big5-1' and
1783         `chinese-big5-2' as children of `chinese-big5'.
1784
1785         * char-ucs.h (CONVERSION_BIG5_1): New macro.
1786         (CONVERSION_BIG5_2): New macro.
1787
1788 2002-08-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1789
1790         * text-coding.c (char_encode_big5): Support entity-reference.
1791
1792 2002-08-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1793
1794         * text-coding.c (char_encode_as_entity_reference): New function.
1795         (char_encode_utf8): Use `char_encode_as_entity_reference'.
1796
1797 2002-08-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1798
1799         * text-coding.c (decode_coding_big5): Support entity-reference
1800         decoding feature.
1801
1802 2002-08-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1803
1804         * text-coding.c (allocate_coding_system): Initialize initial
1805         charsets for CODESYS_UTF8.
1806         (Fmake_coding_system): Accept charset-g0, charset-g1 and
1807         charset-g2 for CODESYS_UTF8.
1808         (decode_coding_utf8): Use charset-g0.
1809         (char_encode_utf8): Use charset-g0; use charset-g1 and charset-g2
1810         to force variants to map to UCS.
1811
1812 2002-07-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1813
1814         * text-coding.c (Qutf_8_mcs): New variable.
1815         (syms_of_file_coding): Add new symbol `utf-8-mcs' in UTF-2000.
1816         (complex_vars_of_file_coding): Define coding-system `utf-8-mcs'
1817         instead of `utf-8' in UTF-2000.
1818
1819 2002-07-22  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1820
1821         * mule-charset.c (charset_code_point): If CHARSET_CONVERSION is
1822         CONVERSION_IDENTICAL, identical conversion is used even if a CCS
1823         is ISO-2022 style; instead of it, CONVERSION_94, CONVERSION_96,
1824         CONVERSION_94x94, CONVERSION_96x96, CONVERSION_94x94x94,
1825         CONVERSION_96x96x96, CONVERSION_94x94x94x94 and
1826         CONVERSION_96x96x96x96 are introduced.
1827         (complex_vars_of_mule_charset): Specify CONVERSION_96 instead of
1828         CONVERSION_IDENTICAL for thai-tis620; Specify CONVERSION_94x94
1829         instead of CONVERSION_IDENTICAL for japanese-jisx0208-1990.
1830
1831         * char-ucs.h (CONVERSION_94): New macro.
1832         (CONVERSION_96): New macro.
1833         (CONVERSION_94x94): New macro.
1834         (CONVERSION_96x96): New macro.
1835         (CONVERSION_94x94x94): New macro.
1836         (CONVERSION_96x96x96): New macro.
1837         (CONVERSION_94x94x94x60): New macro.
1838         (CONVERSION_94x94x94x94): New macro.
1839         (CONVERSION_96x96x96x96): New macro.
1840
1841 2002-07-17  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1842
1843         * chartab.c (Vcharacter_variant_table): Deleted.
1844         (Fchar_variants): Use character-attribute `->ucs-variants' instead
1845         of `Vcharacter_variant_table'.
1846         (Fput_char_attribute): Likewise.
1847         (vars_of_chartab): Don't setup `Vcharacter_variant_table'.
1848         (complex_vars_of_chartab): Likewise.
1849
1850 2002-07-17  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1851
1852         * lisp.h: Add an EXFUN for `Fchar_ref_p'.
1853
1854         * fns.c (Qideographic_structure): New variable.
1855         (Qkeyword_char): New variable.
1856         (ids_format_unit): New function.
1857         (Fideographic_structure_to_ids): New function.
1858         (syms_of_fns): Add new symbols `ideographic-structure' and
1859         `:char'; add new builtin function `ideographic-structure-to-ids'.
1860
1861         * data.c (Fchar_ref_p): New function.
1862         (syms_of_data): Add new builtin function `char-ref-p'.
1863
1864         * chartab.h: Add an EXFUN for `Ffind_char'.
1865
1866 2002-07-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1867
1868         * text-coding.c (Vcharacter_composition_table): Deleted.
1869         (COMPOSE_ADD_CHAR): Use the implementation for external-DB support
1870         in every UTF-2000.
1871
1872         * chartab.c: Add EXFUN for `Fmap_char_attribute' in every
1873         UTF-2000.
1874         (Vcharacter_composition_table): Deleted.
1875         (Fget_composite_char): Use the implementation for external-DB
1876         support in every UTF-2000.
1877         (Fput_char_attribute): Likewise.
1878         (char_attribute_system_db_file): Don't define if external-DB
1879         feature is not available.
1880         (Fsave_char_attribute_table): Likewise.
1881         (Fmount_char_attribute_table): Likewise.
1882         (Fclose_char_attribute_table): Likewise.
1883         (Freset_char_attribute_table): Likewise.
1884         (Fload_char_attribute_table): Likewise.
1885         (syms_of_chartab): Don't define `save-char-attribute-table',
1886         `mount-char-attribute-table', `reset-char-attribute-table',
1887         `close-char-attribute-table' and `load-char-attribute-table' if
1888         external-DB feature is not available.
1889         (vars_of_chartab): Don't setup `Vcharacter_composition_table'.
1890
1891 2002-07-15  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1892
1893         * text-coding.c (Qcomposition): Add extern if external-DB feature
1894         is supported.
1895         (Vcharacter_composition_table): Don't add extern if external-DB
1896         feature is supported.
1897         (COMPOSE_ADD_CHAR): Modify for new data-representation of
1898         character composition rule if external-DB feature is supported.
1899
1900         * chartab.c (Vcharacter_composition_table): Don't define if
1901         external-DB feature is supported.
1902         (Qcomposition): New variable.
1903         (Fget_composite_char): New implementation for external-DB support.
1904         (Fput_char_attribute): Use `composition' property of each
1905         character instead of `Vcharacter_composition_table' to store
1906         character-composition rules if external-DB feature is supported.
1907         (syms_of_chartab): Add new symbol `composition'.
1908         (vars_of_chartab): Don't setup `Vcharacter_composition_table' if
1909         external-DB feature is supported.
1910
1911 2002-07-14  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1912
1913         * chartab.c (Vchar_db_stingy_mode): New variable.
1914         (load_char_attribute_maybe): Close database if
1915         Vchar_db_stingy_mode is not NIL.
1916         (Fload_char_attribute_table_map_function): Use
1917         `get_char_id_table_0' instead of `get_char_id_table'.
1918         (vars_of_chartab): Add new variable `char-db-stingy-mode'.
1919
1920         * chartab.h (get_char_id_table_0): New inline function.
1921         (get_char_id_table): Use `get_char_id_table_0'.
1922
1923 2002-07-07  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1924
1925         * text-coding.c (decode_coding_utf8): Use `COMPOSE_FLUSH_CHARS'
1926         and `COMPOSE_ADD_CHAR'.
1927         (decode_coding_iso2022): Use `decode_flush_er_chars'.
1928
1929 2002-07-07  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1930
1931         * text-coding.c (COMPOSE_FLUSH_CHARS): Use `decode_add_er_char'
1932         instead of `DECODE_ADD_UCS_CHAR'.
1933         (COMPOSE_ADD_CHAR): Likewise.
1934
1935 2002-07-06  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1936
1937         * text-coding.c (decode_flush_er_chars): New inline function.
1938         (decode_add_er_char): New function.
1939         (decode_coding_utf8): Use `decode_flush_er_chars' and
1940         `decode_add_er_char'.
1941
1942 2002-07-06  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1943
1944         * text-coding.c (decode_coding_utf8): Flush for er_buf must be
1945         done before `decode_output_utf8_partial_char'.
1946
1947         * mule-charset.c (complex_vars_of_mule_charset): Specify
1948         `Vcharset_ucs' as the mother of `Vcharset_ucs_cns',
1949         `Vcharset_ucs_ks' and `Vcharset_ucs_big5'.
1950
1951 2002-07-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1952
1953         * mule-charset.c (decode_defined_char): New function; search
1954         mother.
1955         (decode_builtin_char): Don't search mother if
1956         XCHARSET_MAX_CODE(charset) == 0.
1957         (charset_code_point): Search mother if XCHARSET_MAX_CODE(charset)
1958         == 0 even if code >= XCHARSET_MAX_CODE(charset).
1959         (Fdecode_char): Use `decode_defined_char' instead of
1960         `DECODE_DEFINED_CHAR'.
1961         (complex_vars_of_mule_charset): Specify `Vcharset_ucs' as the
1962         mother of `Vcharset_ucs_jis'.
1963
1964         * text-coding.c (decode_coding_big5): Use `decode_defined_char'
1965         instead of `DECODE_DEFINED_CHAR'.
1966
1967         * char-ucs.h (decode_defined_char): Renamed from
1968         `DECODE_DEFINED_CHAR'; changed to normal function.
1969         (DECODE_CHAR): Use `decode_defined_char' instead of
1970         `DECODE_DEFINED_CHAR'.
1971
1972         * lisp.h: Add `EXFUN' for `Fstring_to_number'.
1973
1974 2002-07-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1975
1976         * char-ucs.h: Add `extern' for `Vcharset_ucs'.
1977
1978         * text-coding.c (Vcoded_charset_entity_reference_alist): New
1979         variable.
1980         (Quse_entity_reference): New variable.
1981         (Qd): New variable.
1982         (Qx): New variable.
1983         (QX): New variable.
1984         (coding_system_description): Add description for
1985         `ccs_priority_list'.
1986         (mark_coding_system): Mark `ccs_priority_list' in UTF-2000.
1987         (allocate_coding_system): Initialize `ccs_priority_list' in
1988         UTF-2000.
1989         (Fmake_coding_system): Add description about
1990         'use-entity-reference; setup CODING_SYSTEM_USE_ENTITY_REFERENCE
1991         (codesys).
1992         (Fcoding_system_property): Accept `disable-composition' and
1993         `use-entity-reference' in UTF-2000.
1994         (struct decoding_stream): Add new member `er_counter' and `er_buf'
1995         in UTF-2000.
1996         (reset_decoding_stream): Initialize `str->er_counter' in UTF-2000.
1997         (decode_coding_utf8): Decode entity-reference if
1998         CODING_SYSTEM_USE_ENTITY_REFERENCE (str->codesys).
1999         (char_encode_utf8): Encode non-Unicode characters as
2000         entity-references if CODING_SYSTEM_USE_ENTITY_REFERENCE
2001         (str->codesys).
2002         (syms_of_file_coding): Add new symbols `use-entity-reference',
2003         `d', `x', `X'.
2004         (vars_of_file_coding): Add new variable
2005         `coded-charset-entity-reference-alist'.
2006         (complex_vars_of_file_coding): Declare `disable-composition' and
2007         `use-entity-reference' to be coding-system-properties in UTF-2000.
2008
2009         * file-coding.h (struct Lisp_Coding_System): Add new member
2010         `use_entity_reference' and `ccs_priority_list'.
2011         (CODING_SYSTEM_USE_ENTITY_REFERENCE): New macro.
2012         (CODING_SYSTEM_CCS_PRIORITY_LIST): New macro.
2013         (XCODING_SYSTEM_USE_ENTITY_REFERENCE): New macro.
2014
2015 2002-07-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2016
2017         * chartab.c (save_uint8_byte_table): Don't clear the table.
2018         (save_uint16_byte_table): Likewise.
2019         (save_byte_table): Likewise.
2020         (Fmount_char_attribute_table): New function.
2021         (syms_of_chartab): Add new builtin function
2022         `mount-char-attribute-table'.
2023
2024 2002-07-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2025
2026         * mule-charset.c (Fsave_charset_mapping_table): Open database as
2027         "w+" mode.
2028         (load_char_decoding_entry_maybe): Open database as read-only mode.
2029
2030         * chartab.c (Fsave_char_attribute_table): Don't share `ct->db';
2031         open database as "w+" mode.
2032         (load_char_attribute_maybe): Open database as read-only mode.
2033         (Fload_char_attribute_table): Likewise.
2034
2035 2002-07-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2036
2037         * chartab.c (mark_char_table): Don't refer `ct->db_file'.
2038         (char_table_description): Delete member `db_file'.
2039         (Fmake_char_table): Don't refer `ct->db_file'.
2040         (Fcopy_char_table): Likewise.
2041         (Fsave_char_attribute_table): Likewise.
2042         (Fclose_char_attribute_table): Likewise.
2043         (Freset_char_attribute_table): Likewise.
2044         (load_char_attribute_maybe): Likewise.
2045         (Fload_char_attribute_table): Likewise.
2046
2047         * chartab.h (struct Lisp_Char_Table): Delete member `db_file'.
2048
2049 2002-07-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2050
2051         * chartab.c: Add an EXFUN for `Fmap_char_attribute'.
2052         (Fsave_char_attribute_table): Don't check `ct->db_file' if
2053         `ct->db' is living.
2054         (load_char_attribute_maybe): Likewise.
2055         (Fload_char_attribute_table): Likewise.
2056
2057 2002-07-01  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2058
2059         * chartab.c (Fclose_char_attribute_table): Set Qnil on
2060         `ct->db_file' unconditionally.
2061
2062 2002-07-01  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2063
2064         * chartab.c (mark_char_table): Mark `ct->db_file' and `ct->db' in
2065         UTF-2000.
2066         (char_table_description): Add description for `db_file' and `db'
2067         in UTF-2000.
2068         (Fmake_char_table): Initialize `ct->db_file' and `ct->db' in
2069         UTF-2000.
2070         (Fcopy_char_table): Copy `ct->db_file' and `ct->db' in UTF-2000.
2071         (Fsave_char_attribute_table): Use `ct->db_file' and `ct->db'.
2072         (Fclose_char_attribute_table): New function.
2073         (Freset_char_attribute_table): Reset `ct->db_file' and `ct->db'.
2074         (load_char_attribute_maybe): Change interface; use `cit->db_file'
2075         and `cit->db'.
2076         (Fload_char_attribute_table): Use `ct->db_file' and `ct->db'.
2077         (syms_of_chartab): Add new builtin function
2078         `Fclose_char_attribute_table'.
2079
2080 2002-06-28  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2081
2082         * chartab.h (struct Lisp_Char_Table): Add new member `db_file' and
2083         `db' in UTF-2000.
2084         (load_char_attribute_maybe): Change interface.
2085         (get_char_id_table): Modify for `load_char_attribute_maybe'.
2086
2087 2002-06-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2088
2089         * database.h: Add an EXFUN for `Fdatabase_live_p'.
2090
2091 2002-04-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2092
2093         * mule-charset.c (decode_builtin_char): Use `decode_builtin_char'
2094         instead of `DECODE_CHAR' for mother; don't use special code for
2095         chinese-big5 to use code space of chinese-big5-1 and
2096         chinese-big5-2.
2097         (complex_vars_of_mule_charset): Use `MIN_CHAR_BIG5_CDP' and
2098         `MAX_CHAR_BIG5_CDP' for chinese-big5.
2099
2100         * char-ucs.h (MIN_CHAR_BIG5_CDP): Revival.
2101         (MAX_CHAR_BIG5_CDP): Revival.
2102
2103 2002-04-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2104
2105         * mule-charset.c (complex_vars_of_mule_charset): Use "big5-0" as
2106         the XLFD registry-encoding name of `chinese-big5'.
2107
2108 2002-04-08  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2109
2110         * mule-charset.c (Vcharset_chinese_big5_cdp): Deleted.
2111         (Qchinese_big5_cdp): Deleted.
2112         (syms_of_mule_charset): Delete symbol `chinese-big5-cdp'.
2113         (complex_vars_of_mule_charset): Delete coded-charset
2114         `chinese-big5-cdp'.
2115
2116         * char-ucs.h (CHARSET_ID_OFFSET): Deleted.
2117         (LEADING_BYTE_*): Use `MIN_LEADING_BYTE + n' instead of
2118         `CHARSET_ID_OFFSET - n' for private CCS.
2119         (LEADING_BYTE_CHINESE_BIG5_CDP): Deleted.
2120         (MIN_LEADING_BYTE_PRIVATE): Use `(MIN_LEADING_BYTE + 97)' instead
2121         of `MIN_LEADING_BYTE'.
2122         (MAX_LEADING_BYTE_PRIVATE): Use `-1' instead of
2123         `(CHARSET_ID_OFFSET - 97)'.
2124         (MIN_CHAR_BIG5_CDP): Deleted.
2125         (MAX_CHAR_BIG5_CDP): Deleted.
2126
2127 2002-03-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2128
2129         * mule.c (vars_of_mule): Update `utf-2000-version' to 0.19.
2130
2131 2002-03-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2132
2133         * mule.c (Vutf_2000_version): New variable [moved from chartab.c].
2134         (vars_of_mule): Add new variable `utf-2000-version' [moved from
2135         chartab.c].
2136
2137         * chartab.c (Vutf_2000_version): Moved to mule.c.
2138         (vars_of_chartab): Move code about `utf-2000-version' into mule.c.
2139
2140 2002-03-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2141
2142         * mule-charset.c (load_char_decoding_entry_maybe): Don't define it
2143         when HAVE_CHISE_CLIENT is not defined.
2144
2145         * mule.c (vars_of_mule): Provide feature `chise' when
2146         HAVE_CHISE_CLIENT is defined.
2147
2148 2002-03-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2149
2150         * config.h.in (UTF2000): Add comment.
2151         (HAVE_CHISE_CLIENT): New macro.
2152
2153 2002-02-25  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2154
2155         * chartab.c (Fchar_variants): Check Vcharacter_variant_table is
2156         CONSP.
2157         (Fput_char_attribute): Likewise.
2158         (char_attribute_system_db_file): Encode file-name of attribute.
2159         (vars_of_chartab): Set Qunbound into Vcharacter_variant_table as
2160         the initial value.
2161
2162 2002-02-13  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2163
2164         * mule-charset.c (put_char_ccs_code_point): Delete unused codes.
2165         (Fsave_charset_mapping_table): Use
2166         `char_attribute_system_db_file'.
2167         (load_char_decoding_entry_maybe): Likewise.
2168
2169         * chartab.h (Qsystem_char_id): New external variable.
2170         (char_attribute_system_db_file): New prototype.
2171
2172         * chartab.c (Qsystem_char_id): New variable in UTF-2000.
2173         (char_attribute_system_db_file): New function.
2174         (Fsave_char_attribute_table): Use `char_attribute_system_db_file'.
2175         (Freset_char_attribute_table): Likewise.
2176         (load_char_attribute_maybe): Likewise.
2177         (Fload_char_attribute_table): Likewise.
2178         (syms_of_chartab): Add new symbol `system-char-id'.
2179
2180 2002-02-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2181
2182         * char-ucs.h (DECODE_DEFINED_CHAR): Don't check
2183         `XCHARSET_GRAPHIC(ccs)'.
2184
2185 2002-02-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2186
2187         * mule-charset.c (Fsave_charset_mapping_table): Fixed.
2188
2189 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2190
2191         * chartab.c (Q_ucs_variants): New variable.
2192         (syms_of_chartab): Add new symbol `->ucs-variants'.
2193         (complex_vars_of_chartab): Set `Vcharacter_variant_table' on
2194         `Vchar_attribute_hash_table' as the value of `->ucs-variants'; set
2195         `->ucs-variants' on `XCHAR_TABLE_NAME (Vcharacter_variant_table)'.
2196
2197         * mule-charset.c (load_char_decoding_entry_maybe): New function.
2198
2199         * char-ucs.h (load_char_decoding_entry_maybe): New prototype when
2200         `HAVE_DATABASE' is defined.
2201         (DECODE_DEFINED_CHAR): Use `load_char_decoding_entry_maybe' when
2202         `HAVE_DATABASE' is defined.
2203
2204 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2205
2206         * chartab.c (Fsave_char_attribute_table): Don't clear internal
2207         attribute-table.
2208         (Freset_char_attribute_table): New function.
2209         (syms_of_chartab): Add new builtin function
2210         `reset-char-attribute-table'.
2211
2212 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2213
2214         * chartab.c (load_char_attribute_maybe): Don't make directories.
2215
2216 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2217
2218         * char-ucs.h: Add EXFUN for `Fmake_directory_internal'.
2219
2220         * mule-charset.c (put_char_ccs_code_point): Don't prepare a vector
2221         for decoding-table.
2222
2223 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2224
2225         * mule-charset.c (Fsave_charset_mapping_table): Use
2226         `XCHARSET_BYTE_SIZE' instead of `XCHARSET_CHARS'.
2227
2228         * char-ucs.h (put_ccs_octet_table): Use `XCHARSET_BYTE_SIZE'
2229         instead of `XCHARSET_CHARS'.
2230
2231 2002-02-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2232
2233         * mule-charset.c (CHARSET_BYTE_SIZE): Moved to char-ucs.h.
2234         (XCHARSET_BYTE_SIZE): Likewise.
2235
2236         * char-ucs.h (CHARSET_BYTE_SIZE): New inline function [moved from
2237         mule-charset.c].
2238         (XCHARSET_BYTE_SIZE): Likewise.
2239
2240 2002-02-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2241
2242         * chartab.c (Fput_char_attribute): Use exec-directory instead of
2243         data-directory to store database.
2244         (Fsave_char_attribute_table): Likewise.
2245         (load_char_attribute_maybe): Likewise.
2246         (Fload_char_attribute_table): Likewise.
2247
2248 2002-02-08  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2249
2250         * mule-charset.c (Fsave_charset_mapping_table): New function.
2251         (syms_of_mule_charset): Add new builtin function
2252         `save-charset-mapping-table'.
2253
2254 2002-02-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2255
2256         * char-ucs.h (decoding_table_check_elements): Delete prototype.
2257         (get_ccs_octet_table): New inline function.
2258         (put_ccs_octet_table): Likewise.
2259         (decoding_table_put_char): Use `get_ccs_octet_table' and
2260         `put_ccs_octet_table'.
2261         (decoding_table_remove_char): Use `decoding_table_put_char'.
2262         (DECODE_DEFINED_CHAR): Use `get_ccs_octet_table'.
2263
2264         * mule-charset.c (remove_char_ccs): Store Qunbound instead of Qnil
2265         into encoding_table.
2266         (make_charset): Use Qunbound instead Qnil as initial value of
2267         decoding_table.
2268
2269 2002-02-04  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2270
2271         * chartab.c (map_over_uint8_byte_table): Set Qunbound if an
2272         element is Qunloaded.
2273         (map_over_uint16_byte_table): Likewise.
2274         (map_over_byte_table): Likewise.
2275         (map_char_table): Likewise for CHARTAB_RANGE_ALL in UTF-2000; when
2276         CHARTAB_RANGE_CHARSET is specified in UTF-2000 with external
2277         database support, load encoding-table of the specified
2278         coded-charset if it is not loaded yet.
2279         (save_uint8_byte_table): New function of UTF-2000 with external
2280         database support.
2281         (save_uint16_byte_table): Likewise.
2282         (save_byte_table): Likewise.
2283         (Fput_char_attribute): Don't store value into external database
2284         even if the external database feature is supported in UTF-2000;
2285         set `attribute' as name of char-table if the external database
2286         feature is supported.
2287         (Fsave_char_attribute_table): New function in UTF-2000.
2288         (syms_of_chartab): Add new builtin function
2289         `save-char-attribute-table' in UTF-2000.
2290
2291 2002-02-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2292
2293         * chartab.c (char_attribute_table_to_put): New variable in
2294         UTF-2000.
2295         (Qput_char_table_map_function): Likewise.
2296         (value_to_put): Likewise.
2297         (Fput_char_table_map_function): New function in UTF-2000.
2298         (put_char_table): Use `Fmap_char_attribute' for
2299         CHARTAB_RANGE_CHARSET in UTF-2000.
2300         (Fput_char_attribute): Store symbol instead of string in
2301         `XCHAR_TABLE_NAME (table)'.
2302         (load_char_attribute_maybe): Likewise.
2303         (syms_of_chartab): Add new symbol/function
2304         `put-char-table-map-function'.
2305
2306 2002-01-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2307
2308         * database.h: Add new EXFUN for `Fmap_database'.
2309
2310         * database.c (Fmap_database): Renamed from `Fmapdatabase'.
2311         (syms_of_database): Likewise.
2312
2313         * chartab.h (struct Lisp_Char_Table): Add new member `unloaded' in
2314         UTF-2000.
2315         (CHAR_TABLE_UNLOADED): New macro of UTF-2000.
2316         (XCHAR_TABLE_UNLOADED): Likewise.
2317
2318         * chartab.c (fill_char_table): Initialize `ct->unloaded'.
2319         (Fput_char_attribute): Set XCHAR_TABLE_UNLOADED(table) if
2320         HAVE_DATABASE is defined.
2321         (char_attribute_table_to_load): New variable of UTF-2000 with
2322         external database support.
2323         (Qload_char_attribute_table_map_function): Likewise.
2324         (Fload_char_attribute_table_map_function): New function of
2325         UTF-2000 with external database support.
2326         (Fload_char_attribute_table): New function of UTF-2000.
2327         (Fmap_char_attribute): Call Fload_char_attribute_table if
2328         CHAR_TABLE_UNLOADED(ct) is set when HAVE_DATABASE is defined.
2329         (syms_of_chartab): Add new symbol and function
2330         `load-char-attribute-table-map-function' in UTF-2000 with external
2331         database support; add new function `load-char-attribute-table' in
2332         UTF-2000.
2333
2334 2002-01-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2335
2336         * chartab.h (load_char_attribute_maybe): New prototype for
2337         UTF-2000 with DATABASE support.
2338         (get_char_id_table): Use `load_char_attribute_maybe' if
2339         HAVE_DATABASE is defined.
2340
2341         * chartab.c (load_char_attribute_maybe): New function in UTF-2000
2342         with DATABASE support.
2343
2344 2002-01-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2345
2346         * chartab.c (Fput_char_attribute): Use S-expression as key of
2347         external database.
2348
2349         * chartab.h (get_char_id_table): Use S-expression as key of
2350         external database.
2351
2352 2002-01-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2353
2354         * chartab.c (map_over_uint8_byte_table): Add new argument `root';
2355         if an element is not loaded, load the corresponding attributes
2356         from an external database.
2357         (map_over_uint16_byte_table): Likewise.
2358         (map_over_byte_table): Likewise.
2359         (map_char_table): Modify for `map_over_uint8_byte_table',
2360         `map_over_uint16_byte_table' and `map_over_byte_table'; if an
2361         element is not loaded, load the corresponding attributes from an
2362         external database.
2363         (Fput_char_attribute): Change initial values to Qunloaded.
2364
2365         * chartab.h (get_char_id_table): If a character attribute is not
2366         loaded and the attribute value is not found in an external
2367         database, store Qunbound as the attribute value.
2368
2369 2002-01-22  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2370
2371         * chartab.c (BT_UINT8_unloaded): New macro.
2372         (UINT8_VALUE_P): Accept Qunloaded.
2373         (UINT8_ENCODE): Likewise.
2374         (UINT8_DECODE): Likewise.
2375         (BT_UINT16_unloaded): New macro.
2376         (UINT16_VALUE_P): Accept Qunloaded.
2377         (UINT16_ENCODE): Likewise.
2378         (UINT16_DECODE): Likewise.
2379         (UINT8_TO_UINT16): Convert BT_UINT8_unloaded into
2380         BT_UINT16_unloaded.
2381         (mark_char_table): Mark `ct->name' in UTF-2000.
2382         (char_table_description): Add `name' in UTF-2000.
2383         (Fmake_char_table): Initialize `ct->name'.
2384         (Fcopy_char_table): Copy `ct->name'.
2385         (Fput_char_attribute): Store value into an external database if
2386         HAVE_DATABASE is defined.
2387
2388         * chartab.h (struct Lisp_Char_Table): Add new member `name' in
2389         UTF-2000.
2390         (CHAR_TABLE_NAME): New macro in UTF-2000.
2391         (XCHAR_TABLE_NAME): New macro in UTF-2000.
2392         (get_char_id_table): Try to read an external database if Qunloaded
2393         is stored in a table.
2394
2395         * symbols.c (init_symbols_once_early): Assign '#<unloaded> into
2396         Qunloaded.
2397
2398 2002-01-21  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2399
2400         * database.h: Add EXFUN definitions for Fopen_database,
2401         Fput_database, Fget_database and Fclose_database.
2402
2403         * data.c (Qunloaded): New variable in UTF-2000.
2404
2405         * lisp.h (Qunloaded): New variable in UTF-2000.
2406
2407 2002-01-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2408
2409         * mule-charset.c (put_char_ccs_code_point): Modify for
2410         `decoding_table_remove_char' and `decoding_table_put_char'.
2411         (remove_char_ccs): Modify for `decoding_table_remove_char'.
2412
2413         * char-ucs.h (decoding_table_remove_char): Change arguments to
2414         hide decoding_table vector.
2415         (decoding_table_put_char): Likewise.
2416
2417 2002-01-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2418
2419         * mule-charset.c (decoding_table_remove_char): Moved to
2420         char-ucs.h.
2421         (decoding_table_put_char): Likewise.
2422
2423         * char-ucs.h (decoding_table_check_elements): New prototype [moved
2424         from mule-charset.c].
2425         (decoding_table_remove_char): New inline function [moved from
2426         mule-charset.c].
2427         (decoding_table_put_char): Likewise.
2428
2429 2002-01-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2430
2431         * mule-charset.c (Fmake_charset): Modify DOC-string for UTF-2000
2432         extension.
2433
2434 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2435
2436         * mule-charset.c (decode_builtin_char): Support mother charsets.
2437
2438 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2439
2440         * mule-charset.c (Q94x94x60): New variable.
2441         (charset_code_point): Support conversion `94x94x60'.
2442         (Fmake_charset): Likewise.
2443         (syms_of_mule_charset): Add new symbol `94x94x60'.
2444
2445         * char-ucs.h (CONVERSION_94x94x60): New macro.
2446
2447 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2448
2449         * mule-charset.c (charset_code_point): Unify code about
2450         `code-offset'.
2451
2452 2001-12-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2453
2454         * mule-charset.c (charset_code_point): Merge code about builtin
2455         characters into code about mother charsets; don't use
2456         `range_charset_code_point'.
2457         (range_charset_code_point): Deleted.
2458
2459 2001-12-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2460
2461         * mule-charset.c (Qcode_offset): New variable.
2462         (Fmake_charset): Use `XUINT' to get value of `min-code' and
2463         `max-code'; accept new property `code-offset'.
2464         (syms_of_mule_charset): Add new symbol `code-offset'.
2465
2466 2001-12-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2467
2468         * mule-charset.c (range_charset_code_point): Fixed.
2469
2470 2001-12-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2471
2472         * mule-charset.c (decode_builtin_char): Change semantics of
2473         code-offset of coded-charset.
2474         (charset_code_point): Likewise.
2475         (range_charset_code_point): Likewise.
2476         (complex_vars_of_mule_charset): Modify for the change.
2477
2478 2001-12-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2479
2480         * mule-charset.c (Fencode_char): Reverse arguments.
2481
2482         * mule-charset.c (charset_code_point): Fixed.
2483
2484 2001-12-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2485
2486         * mule-charset.c (Vcharset_mojikyo): Deleted.
2487         (Vcharset_mojikyo_2022_1): Deleted.
2488         (Vcharset_mojikyo_pj_{1..21}): Deleted.
2489         (Qmin_code): New variable in UTF-2000.
2490         (Qmax_code): Likewise.
2491         (Qmother): Likewise.
2492         (Qconversion): Likewise.
2493         (Q94x60): Likewise.
2494         (Qmojikyo): Deleted.
2495         (Qmojikyo_2022_1): Deleted.
2496         (Qmojikyo_pj_{1..22}): Deleted.
2497         (mark_charset): Mark `cs->mother'.
2498         (charset_description): Add description for `mother'.
2499         (make_charset): Rename `ucs_{min|max}' to `{min|max}_code'; add
2500         new arguments `mother' and `conversion'; use
2501         `CHARSET_{MIN|MAX}_CODE' instead of `CHARSET_UCS_{MIN|MAX}'.
2502         (charset_code_point): Moved from char-ucs.h; support `mother'
2503         charset feature.
2504         (range_charset_code_point): use `CHARSET_{MIN|MAX}_CODE' instead
2505         of `CHARSET_UCS_{MIN|MAX}'; delete hard code for `mojikyo-2022-1'.
2506         (Fmake_charset): Allow 3 and 4 as the value of `dimension' in
2507         UTF-2000; allow 128 and 256 as the value of `chars' in UTF-2000;
2508         allow 2 as the value of `graphic' in UTF-2000; add new properties
2509         `min-code', `max-code', `mother', `conversion' in UTF-2000; don't
2510         require `final' in UTF-2000; modify for `make_charset'.
2511         (Fmake_reverse_direction_charset): use `CHARSET_{MIN|MAX}_CODE'
2512         instead of `CHARSET_UCS_{MIN|MAX}'; modify for `make_charset'.
2513         (Fcharset_property): Support `mother', `min-code' and `max-code'.
2514         (Fencode_char): New function.
2515         (syms_of_mule_charset): Add new builtin function `encode-char' in
2516         UTF-2000; add new symbols `min-code', `max-code', `mother',
2517         `conversion' and `94x60'; delete symbols `mojikyo',
2518         `mojikyo-2022-1' and `mojikyo-pj-{1..21}'.
2519         (complex_vars_of_mule_charset): Modify for `make_charset' change;
2520         delete coded-charsets `mojikyo', `mojikyo-2022-1' and
2521         `mojikyo-pj-{1..21}'; delete `DEF_MOJIKYO_PJ'.
2522
2523         * chartab.c (Fdefine_char): Use `XCHARSET_MAX_CODE' instead of
2524         `XCHARSET_UCS_MAX'; regard `chinese-big5' as a base CCS.
2525
2526         * char-ucs.h (Vcharset_mojikyo): Deleted.
2527         (Vcharset_mojikyo_2022_1): Deleted.
2528         (LEADING_BYTE_MOJIKYO): Deleted.
2529         (LEADING_BYTE_MOJIKYO_2022_1): Deleted.
2530         (LEADING_BYTE_MOJIKYO_2022_2): Deleted.
2531         (LEADING_BYTE_MOJIKYO_PJ_{1 .. 21}): Deleted.
2532         (struct Lisp_Charset): Rename `ucs_{min|max}' to `{min|max}_code';
2533         add new member `mother'; add new member `conversion'.
2534         (CHARSET_MIN_CODE): Renamed from `CHARSET_UCS_MIN'.
2535         (CHARSET_MAX_CODE): Renamed from `CHARSET_UCS_MAX'.
2536         (CHARSET_MOTHER): New macro.
2537         (CHARSET_CONVERSION): New macro.
2538         (CONVERSION_IDENTICAL): New macro.
2539         (CONVERSION_94x60): New macro.
2540         (XCHARSET_MIN_CODE): Renamed from `CHARSET_MIN_CODE'.
2541         (XCHARSET_MAX_CODE): Renamed from `CHARSET_MAX_CODE'.
2542         (XCHARSET_MOTHER): New macro.
2543         (XCHARSET_CONVERSION): New macro.
2544         (MIN_CHAR_MOJIKYO): Deleted.
2545         (MAX_CHAR_MOJIKYO): Deleted.
2546         (DECODE_MOJIKYO_2022): Deleted.
2547         (DECODE_CHAR): Delete hard code for builtin Mojikyo characters.
2548         (charset_code_point): Changed to non-inline function.
2549         (encode_char_1): Use `charset_code_point'.
2550         (CHAR_TO_CHARC): Delete hard code for Mojikyo characters.
2551
2552 2001-12-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2553
2554         * lread.c (read_compiled_function): Fix prototype.
2555         (read_vector): Likewise.
2556
2557 2001-12-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2558
2559         * lrecord.h (struct lrecord_header): Delete `older'.
2560         (set_lheader_implementation): Delete code for `older'.
2561         (set_lheader_older_implementation): Deleted.
2562         (enum lrecord_type): Delete `lrecord_type_char_id_table'.
2563         (OLDER_RECORD_P): Deleted.
2564         (OLDER_RECORD_HEADER_P): Deleted.
2565         (alloc_older_lcrecord): Deleted.
2566         (alloc_older_lcrecord_type): Deleted.
2567
2568         * alloc.c (all_older_lcrecords): Deleted.
2569         (alloc_older_lcrecord): Deleted.
2570         (disksave_object_finalization_1): Delete code for older objects.
2571         (mark_object): Don't use `OLDER_RECORD_HEADER_P'.
2572         (reinit_alloc_once_early): Don't initialize `all_older_lcrecords'.
2573
2574 2001-12-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2575
2576         * mule-charset.c (decoding_table_put_char): Use `make_vector'
2577         instead of `make_older_vector'.
2578         (put_char_ccs_code_point): Likewise.
2579         (mark_charset): Mark `cs->decoding_table'.
2580         (Fset_charset_mapping_table): Don't use `make_vector_newer'.
2581
2582         * lisp.h (make_older_vector): Deleted.
2583         (make_vector_newer): Deleted.
2584
2585         * config.h.in (HAVE_GGC): Deleted.
2586
2587         * alloc.c (make_older_vector): Deleted.
2588         (make_vector_newer_1): Deleted.
2589         (make_vector_newer): Deleted.
2590
2591 2001-12-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2592
2593         * mule-charset.c (Vcharset_ideograph_daikanwa_2): New variable.
2594         (Qideograph_daikanwa_2): New variable.
2595         (syms_of_mule_charset): Add new symbol `ideograph-daikanwa-2'.
2596         (complex_vars_of_mule_charset): Add new coded-charset
2597         `ideograph-daikanwa-2'; use `LEADING_BYTE_DAIKANWA_3' instead of
2598         `LEADING_BYTE_DAIKANWA'.
2599
2600         * char-ucs.h (LEADING_BYTE_DAIKANWA_0): New macro.
2601         (LEADING_BYTE_DAIKANWA_1): New macro.
2602         (LEADING_BYTE_DAIKANWA_2): New macro.
2603         (LEADING_BYTE_DAIKANWA_3): Renamed from `LEADING_BYTE_DAIKANWA'.
2604
2605 2001-12-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2606
2607         * mule-charset.c (complex_vars_of_mule_charset): Change
2608         DOC-strings and registry of `ideograph-daikanwa'; now it indicates
2609         the second revised version.
2610
2611 2001-12-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2612
2613         * mule-charset.c (Vcharset_ucs_smp): New variable.
2614         (Vcharset_ucs_sip): New variable.
2615         (Qucs_smp): New variable.
2616         (Qucs_sip): New variable.
2617         (encode_builtin_char_1): Treat MIN_CHAR_{SMP|SIP} to
2618         MAX_CHAR_{SMP|SIP} as `ucs-{smp|sip}'.
2619         (syms_of_mule_charset): Add new symbols `ucs-smp' and `ucs-sip'.
2620         (complex_vars_of_mule_charset): Modify middle-DOC and registry of
2621         `ucs-bmp'; add new coded-charset `ucs-smp' and `ucs-sip'; change
2622         charset width of `ucs-cns', `ucs-jis', `ucs-ks' and `ucs-big5'.
2623
2624         * char-ucs.h (LEADING_BYTE_UCS_SMP): New macro.
2625         (LEADING_BYTE_UCS_SIP): New macro.
2626         (MIN_CHAR_SMP): New macro.
2627         (MAX_CHAR_SMP): New macro.
2628         (MIN_CHAR_SIP): New macro.
2629         (MAX_CHAR_SIP): New macro.
2630
2631 2001-11-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
2632
2633         * dumper.c (PDUMP_HASH_SIZE): Increase the size of hash table when
2634         utf-2000.
2635
2636 2001-11-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2637
2638         * mule-charset.c (put_char_ccs_code_point): Return canonicalized
2639         value; don't store value into `encoding_table' of `Lisp_Charset'.
2640         (mark_charset): `encoding_table' was deleted.
2641         (charset_description): Likewise.
2642         (make_charset): Likewise.
2643         (Fset_charset_mapping_table): Use `Fput_char_attribute' instead of
2644         `put_char_ccs_code_point'.
2645
2646         * chartab.h (Fput_char_attribute): New EXFUN.
2647
2648         * chartab.c (Fchar_attribute_alist): Name space of CCS-attributes
2649         is unified with normal symbol space.
2650         (Fget_char_attribute): Likewise.
2651         (Fput_char_attribute): Likewise; behavior of
2652         `put_char_ccs_code_point' is changed.
2653
2654         * char-ucs.h: Include "elhash.h".
2655         (Vchar_attribute_hash_table): New external variable.
2656         (struct Lisp_Charset): Delete `encoding_table'.
2657         (CHARSET_ENCODING_TABLE): New implementation; refer
2658         `Vchar_attribute_hash_table' instead of `encoding_table' of struct
2659         `Lisp_Charset'.
2660
2661 2001-11-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2662
2663         * mule-charset.c (Fcharset_property): Return Qnil if CHARSET_FINAL
2664         (cs) == 0.
2665
2666 2001-11-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2667
2668         * text-coding.c (char_encode_big5): Prefer charset-g1 than
2669         `chinese-big5'.
2670
2671 2001-11-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2672
2673         * chartab.c (uint8_byte_table_description): New constant.
2674         (uint8-byte-table): Use `uint8_byte_table_description'.
2675         (uint16_byte_table_description): New constant.
2676         (uint16-byte-table): Use `uint16_byte_table_description'.
2677
2678 2001-10-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2679
2680         * mule-charset.c (complex_vars_of_mule_charset): Don't use builtin
2681         range MIN_CHAR_BIG5_CDP .. MAX_CHAR_BIG5_CDP.
2682
2683 2001-10-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2684
2685         * mule-charset.c (Vcharset_ucs_ks): New variable.
2686         (Qucs_ks): New variable.
2687         (syms_of_mule_charset): Add new symbol `ucs-ks'.
2688         (complex_vars_of_mule_charset): Add new coded-charset `ucs-ks'.
2689
2690         * char-ucs.h (LEADING_BYTE_UCS_KS): New macro.
2691
2692 2001-10-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2693
2694         * chartab.h (Fmake_char): New EXFUN; moved from chartab.c.
2695         (Fdecode_char): Likewise.
2696
2697         * chartab.c: Move EXFUN for Fmake_char and Fdecode_char into
2698         chartab.h.
2699         (Fdefine_char): Modify for Fdecode_char.
2700         (Ffind_char): Likewise.
2701
2702         * mule-charset.c (Fdecode_char): Add new optional argument
2703         `defined-only'.
2704         (Fdecode_builtin_char): Modify for `Fdecode_char'.
2705
2706 2001-10-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2707
2708         * text-coding.c (mark_coding_system): Mark initial-charset-g0 and
2709         -g1 of CODESYS_BIG5 in XEmacs UTF-2000.
2710         (allocate_coding_system): Initialize initial-charsets of
2711         CODESYS_BIG5 in XEmacs UTF-2000.
2712         (Fmake_coding_system): Accept `charset-g0' and `charset-g1' for
2713         CODESYS_BIG5 in XEmacs UTF-2000.
2714         (decode_coding_big5): Use initial-charset-g0 and -g1 of
2715         CODESYS_BIG5 in XEmacs UTF-2000; use `DECODE_DEFINED_CHAR'.
2716
2717         * mule-charset.c (Vcharset_ideograph_hanziku_{1 .. 12}): New
2718         variables.
2719         (Qideograph_hanziku_{1 .. 12}): Likewise.
2720         (syms_of_mule_charset): Add new symbols `ideograph-hanziku-{1
2721         .. 12}'.
2722         (complex_vars_of_mule_charset): Use `MIN_CHAR_BIG5_CDP' to
2723         `MAX_CHAR_BIG5_CDP' for `chinese-big5'; add news coded-charsets
2724         `ideograph-hanziku-{1 .. 12}'.
2725
2726         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x200.
2727         (LEADING_BYTE_HANZIKU_{1 .. 12}): New macros.
2728         ({MIN|MAX}_CHAR_BIG5_CDP): New macros.
2729         ({MIN|MAX}_CHAR_HANZIKU_{1 .. 12}): New macros.
2730         (DECODE_DEFINED_CHAR): New inline function.
2731         (DECODE_CHAR): Use `DECODE_DEFINED_CHAR'.
2732
2733 2001-10-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2734
2735         * mule-charset.c (Vcharset_china3_jef): Renamed from
2736         `Vcharset_japanese_jef_china3'.
2737         (Qchina3_jef): Renamed from `Qjapanese_jef_china3'.
2738         (encode_builtin_char_1): Rename `{MIN|MAX}_CHAR_CHINA3_JEF' from
2739         `{MIN|MAX}_CHAR_JEF_CHINA3'..
2740         (syms_of_mule_charset): Rename `china3-jef' from
2741         `japanese-jef-china3'.
2742         (complex_vars_of_mule_charset): Likewise; rename
2743         `LEADING_BYTE_CHINA3_JEF' from `LEADING_BYTE_JEF_CHINA3'.
2744
2745         * char-ucs.h (LEADING_BYTE_CHINA3_JEF): Renamed from
2746         `LEADING_BYTE_JEF_CHINA3'.
2747         (MIN_CHAR_CHINA3_JEF): Renamed from `MIN_CHAR_JEF_CHINA3'.
2748         (MAX_CHAR_CHINA3_JEF): Renamed from `MAX_CHAR_JEF_CHINA3'.
2749
2750 2001-10-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2751
2752         * mule-charset.c (encode_builtin_char_1): Comment out special code
2753         for MIN_CHAR_MOJIKYO_0 ... MAX_CHAR_MOJIKYO_0.
2754
2755         * char-ucs.h (MIN_CHAR_MOJIKYO_0): Comment out.
2756         (MAX_CHAR_MOJIKYO_0): Comment out.
2757         (MIN_CHAR_CBETA): Changed to 0x00E20000.
2758         (MAX_CHAR_CBETA): Changed to 0x00E2FFFF.
2759         (MIN_CHAR_JEF_CHINA3): Changed to 0x00E80000.
2760         (MAX_CHAR_JEF_CHINA3): Changed to 0x00E8FFFF.
2761
2762 2001-10-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2763
2764         * mule-charset.c (Vcharset_ideograph_cbeta): New variable.
2765         (Qideograph_cbeta): New variable.
2766         (encode_builtin_char_1): Comment out special code for
2767         coded-charset `mojikyo' and `japanese-jef-china3'.
2768         (syms_of_mule_charset): Add new symbol `ideograph-cbeta'.
2769         (complex_vars_of_mule_charset): Add new coded-charset
2770         `ideograph-cbeta'.
2771
2772         * char-ucs.h (LEADING_BYTE_CBETA): New macro.
2773         (MIN_CHAR_CBETA): New macro.
2774         (MAX_CHAR_CBETA): New macro.
2775
2776 2001-10-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2777
2778         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x100.
2779         (LEADING_BYTE_JEF_CHINA3): New macro.
2780         (MIN_CHAR_JEF_CHINA3): New macro.
2781         (MAX_CHAR_JEF_CHINA3): Likewise.
2782         (DECODE_CHAR): Fixed.
2783
2784 2001-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2785
2786         * mule-charset.c (Vcharset_japanese_jef_china3): New variable.
2787         (Qjapanese_jef_china3): New variable.
2788         (encode_builtin_char_1): Support `japanese-jef-china3'.
2789         (syms_of_mule_charset): Add new symbol `japanese-jef-china3'.
2790         (complex_vars_of_mule_charset): Add new coded-charset
2791         `japanese-jef-china3'.
2792
2793 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2794
2795         * chartab.c (XCHARSET_CELL_RANGE): New inline function.
2796         (decode_char_table_range): Use `XCHARSET_CELL_RANGE'; accept 94^3,
2797         94^4, 96^3, 96^4, 128^n and 256^n set.
2798         (put_char_table): Use `XCHARSET_CELL_RANGE'.
2799         (map_char_table): Likewise.
2800
2801 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2802
2803         * chartab.c (get_char_table): Use `get_char_id_table' in XEmacs
2804         UTF-2000.
2805
2806 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2807
2808         * chartab.h (get_char_id_table): New inline function.
2809
2810         * chartab.c (get_char_id_table): Moved to chartab.h as an inline
2811         function.
2812
2813 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2814
2815         * chartab.h (decode_char_table_range): New prototype in XEmacs
2816         UTF-2000.
2817         (put_char_id_table): New inline function in XEmacs UTF-2000.
2818
2819         * chartab.c (put_char_id_table): Moved to chartab.h as an inline
2820         function.
2821         (decode_char_table_range): Delete static declaration in XEmacs
2822         UTF-2000.
2823
2824 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2825
2826         * chartab.c (put_char_id_table): Use `put_char_table'.
2827
2828 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2829
2830         * chartab.c (map_over_uint8_byte_table): Delete argument `ccs'.
2831         (map_over_uint16_byte_table): Likewise.
2832         (map_over_byte_table): Likewise.
2833         (map_char_table): Modify for `map_over_uint8_byte_table',
2834         `map_over_uint16_byte_table' and `map_over_byte_table' in XEmacs
2835         UTF-2000.
2836
2837 2001-09-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2838
2839         * chartab.c (struct map_char_table_for_charset_arg): New
2840         structure.
2841         (map_char_table_for_charset_fun): New function.
2842         (map_char_table): Use `map_char_table' for encoding_table of
2843         `range->charset'.
2844
2845 2001-09-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2846
2847         * chartab.c (map_char_table): Check a character is found in
2848         range->charset instead of non default value is defined in
2849         char-table when range is CHARTAB_RANGE_ROW.
2850
2851 2001-09-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2852
2853         * chartab.c (map_char_id_table): Deleted.
2854         (Fmap_char_attribute): Use `map_char_table' instead of
2855         `map_char_id_table'.
2856
2857 2001-09-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2858
2859         * syntax.h (SYNTAX_CODE_UNSAFE): New implementation in XEmacs
2860         UTF-2000.
2861         (update_syntax_table): Deleted in XEmacs UTF-2000.
2862
2863         * syntax.c (find_defun_start): Use `syntax_table' instead of
2864         `mirror_syntax_table' in XEmacs UTF-2000.
2865         (Fset_syntax_table): Don't use `mirror_syntax_table' in XEmacs
2866         UTF-2000.
2867         (Fchar_syntax): Use `syntax_table' instead of `mirror_table' in
2868         XEmacs UTF-2000.
2869         (Fmatching_paren): Likewise.
2870         (scan_words): Use `syntax_table' instead of `mirror_syntax_table'
2871         in XEmacs UTF-2000.
2872         (find_start_of_comment): Likewise.
2873         (find_end_of_comment): Likewise.
2874         (Fforward_comment): Likewise.
2875         (scan_lists): Likewise.
2876         (char_quoted): Likewise.
2877         (Fbackward_prefix_chars): Likewise.
2878         (scan_sexps_forward): Likewise.
2879         (update_just_this_syntax_table): Deleted in XEmacs UTF-2000.
2880         (update_syntax_table): Likewise.
2881
2882         * search.c (skip_chars): Use `syntax_table' instead of
2883         `mirror_syntax_table' in XEmacs UTF-2000.
2884         (wordify): Likewise.
2885         (Freplace_match): Likewise.
2886
2887         * regex.c (re_compile_fastmap): Use `syntax_table' instead of
2888         `mirror_syntax_table' in XEmacs UTF-2000.
2889         (WORDCHAR_P_UNSAFE): Likewise.
2890         (re_match_2_internal): Likewise.
2891
2892         * font-lock.c (find_context): Use `buf->syntax_table' instead of
2893         `buf->mirror_syntax_table' in XEmacs UTF-2000.
2894
2895         * cmds.c (internal_self_insert): Use `buf->syntax_table' instead
2896         of `buf->mirror_syntax_table' in XEmacs UTF-2000.
2897
2898         * chartab.h (struct Lisp_Char_Table): Delete `mirror_table' in
2899         XEmacs UTF-2000.
2900
2901         * chartab.c (mark_char_table): Don't mark `mirror_table' in XEmacs
2902         UTF-2000.
2903         (print_char_table): Print `default_value' in XEmacs UTF-2000.
2904         (char_table_description): Delete `mirror_table' in XEmacs
2905         UTF-2000.
2906         (fill_char_table): Don't call `update_syntax_table' in XEmacs
2907         UTF-2000.
2908         (Fmake_char_table): Don't use `mirror_table' in XEmacs UTF-2000.
2909         (Fcopy_char_table): Likewise.
2910         (put_char_table): Don't call `update_syntax_table' in XEmacs
2911         UTF-2000.
2912
2913         * casefiddle.c (casify_object): Use `buf->syntax_table' instead of
2914         `buf->mirror_syntax_table' in XEmacs UTF-2000.
2915         (casify_region_internal): Likewise.
2916
2917         * bufslots.h: Delete `mirror_syntax_table' in XEmacs UTF-2000.
2918
2919         * buffer.c (common_init_complex_vars_of_buffer): Don't use
2920         `mirror_syntax_table' in XEmacs UTF-2000.
2921
2922         * abbrev.c (abbrev_match): Use `buf->syntax_table' instead of
2923         `buf->mirror_syntax_table' in XEmacs UTF-2000.
2924         (Fexpand_abbrev): Likewise.
2925
2926 2001-09-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2927
2928         * chartab.c (vars_of_chartab): Update `utf-2000-version' to 0.18.
2929
2930 2001-09-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2931
2932         * chartab.c (map_over_uint8_byte_table): Cancel temporary hack.
2933         (map_over_uint16_byte_table): Likewise.
2934         (map_over_byte_table): Likewise.
2935         (get_char_id_table): Refer `cit->default_value'.
2936         (put_char_id_table): Support `CHARTAB_RANGE_DEFAULT'.
2937         (map_char_id_table): Use `1 << 30' instead of `1 << 24' as number
2938         of character-id ranges.
2939         (mark_char_table): Mark `ct->default_value'.
2940         (char_table_description): Add `default_value'.
2941         (fill_char_table): Use `default_value'.
2942         (decode_char_table_range): Decode `nil' as
2943         `CHARTAB_RANGE_DEFAULT'.
2944         (get_char_id_table): Refer `cit->default_value'.
2945         (put_char_id_table): Support `CHARTAB_RANGE_DEFAULT'.
2946         (map_char_table): Support `CHARTAB_RANGE_DEFAULT'; cancel
2947         temporary hack; check value of char-table is bound or not.
2948         (slow_map_char_table_fun): Support `CHARTAB_RANGE_DEFAULT'.
2949
2950         * chartab.h (struct Lisp_Char_Table): Add new member
2951         `default_value' in XEmacs UTF-2000.
2952         (CHAR_TABLE_VALUE_UNSAFE): Use `default_value'.
2953         (enum chartab_range_type): Add `CHARTAB_RANGE_DEFAULT' in XEmacs
2954         UTF-2000.
2955
2956 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2957
2958         * chartab.h (Lisp_Char_ID_Table): Deleted.
2959
2960         * chartab.c (char_table_description): Fix typo.
2961         (Fmap_char_attribute): Use `Lisp_Char_Table' instead of
2962         `Lisp_Char_ID_Table'.
2963
2964 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2965
2966         * text-coding.c (COMPOSE_ADD_CHAR): Use `CHAR_TABLEP' instead of
2967         `CHAR_ID_TABLE_P'.
2968
2969         * mule-charset.c (remove_char_ccs): Use `CHAR_TABLEP' instead of
2970         `CHAR_ID_TABLE_P'.
2971
2972         * chartab.h (XCHAR_ID_TABLE): Deleted.
2973         (XSETCHAR_ID_TABLE): Deleted.
2974         (CHAR_ID_TABLE_P): Deleted.
2975
2976         * chartab.c (put_char_id_table): Use `CHAR_TABLEP' instead of
2977         `CHAR_ID_TABLE_P'.
2978         (Fget_composite_char): Likewise.
2979         (put_char_table): Likewise.
2980         (add_char_attribute_alist_mapper): Fixed.
2981         (Fchar_attribute_alist): Use `CHAR_TABLEP' instead of
2982         `CHAR_ID_TABLE_P'.
2983         (Fget_char_attribute): Likewise.
2984         (Fget_char_attribute): Likewise.
2985         (Fmap_char_attribute): Likewise.
2986
2987         * char-ucs.h (charset_code_point): Use `CHAR_TABLEP' instead of
2988         `CHAR_ID_TABLE_P'.
2989         (encode_char_1): Likewise.
2990
2991 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2992
2993         * text-coding.c (COMPOSE_ADD_CHAR): Use `XCHAR_TABLE' instead of
2994         `XCHAR_ID_TABLE'.
2995
2996         * mule-charset.c (put_char_ccs_code_point): Use `XCHAR_TABLE'
2997         instead of `XCHAR_ID_TABLE'.
2998         (remove_char_ccs): Likewise.
2999
3000         * chartab.c (put_char_id_table): Use `XCHAR_TABLE' instead of
3001         `XCHAR_ID_TABLE'.
3002         (Fget_composite_char): Likewise.
3003         (Fchar_variants): Likewise.
3004         (put_char_table): Likewise.
3005         (add_char_attribute_alist_mapper): Likewise.
3006         (Fchar_attribute_alist): Likewise.
3007         (Fget_char_attribute): Likewise.
3008         (Fput_char_attribute): Likewise.
3009         (Fmap_char_attribute): Likewise.
3010         (Fmap_char_attribute): Likewise.
3011
3012         * char-ucs.h (charset_code_point): Use `XCHAR_TABLE' instead of
3013         `XCHAR_ID_TABLE'.
3014         (encode_char_1): Likewise.
3015
3016 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3017
3018         * chartab.c (map_char_id_table): Use `Lisp_Char_Table' instead of
3019         `Lisp_Char_ID_Table'.
3020         (mark_char_id_table): Deleted.
3021         (print_char_id_table): Likewise.
3022         (char_id_table_equal): Likewise.
3023         (char_id_table_hash): Likewise.
3024         (char_id_table_description): Likewise.
3025         (char_id_table): Likewise.
3026         (make_char_id_table): Use `Fmake_char_table' and
3027         `fill_char_table'.
3028         (get_char_id_table): Use `Lisp_Char_Table' instead of
3029         `Lisp_Char_ID_Table'.
3030         (put_char_id_table): Likewise.
3031         (Fput_char_attribute): Use `XCHAR_TABLE' instead of
3032         `XCHAR_ID_TABLE'.
3033         (Fremove_char_attribute): Likewise.
3034         (syms_of_chartab): Don't define type `char-id-table'.
3035
3036         * chartab.h (struct Lisp_Char_ID_Table): Deleted.
3037         (char_id_table): Likewise.
3038         (GC_CHAR_ID_TABLE_P): Likewise.
3039         (Lisp_Char_ID_Table): Use structure `Lisp_Char_Table'.
3040         (XCHAR_ID_TABLE): Use `XCHAR_TABLE'.
3041         (XSETCHAR_ID_TABLE): Use `XSETCHAR_TABLE'.
3042         (CHAR_ID_TABLE_P): Use `CHAR_TABLEP'.
3043         (get_char_id_table): Use `Lisp_Char_Table' instead of
3044         `Lisp_Char_ID_Table'.
3045         (put_char_id_table_0): Likewise.
3046         (put_char_id_table): Likewise.
3047
3048 2001-09-02  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
3049
3050         * chartab.h: Lisp_Byte_Table related codes are moved from
3051         chartab.h.
3052
3053         * char-ucs.h: Move Lisp_Byte_Table related codes to chartab.h.
3054
3055 2001-09-02  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
3056
3057         * chartab.h: Don't include "chartab.h".
3058         (struct Lisp_Char_ID_Table): Moved from char-ucs.h.
3059         (Lisp_Char_ID_Table): Likewise.
3060         (char_id_table): Likewise.
3061         (XCHAR_ID_TABLE): Likewise.
3062         (XSETCHAR_ID_TABLE): Likewise.
3063         (CHAR_ID_TABLE_P): Likewise.
3064         (GC_CHAR_ID_TABLE_P): Likewise.
3065         (get_char_id_table): Likewise.
3066
3067         * char-ucs.h: Include "chartab.h".
3068         (struct Lisp_Char_ID_Table): Moved to chartab.h.
3069         (Lisp_Char_ID_Table): Likewise.
3070         (char_id_table): Likewise.
3071         (XCHAR_ID_TABLE): Likewise.
3072         (XSETCHAR_ID_TABLE): Likewise.
3073         (CHAR_ID_TABLE_P): Likewise.
3074         (GC_CHAR_ID_TABLE_P): Likewise.
3075         (get_char_id_table): Likewise.
3076
3077 2001-09-01  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
3078
3079         * chartab.c (copy_uint8_byte_table): New function.
3080         (copy_uint16_byte_table): New function.
3081         (copy_byte_table): New function.
3082         (map_over_uint8_byte_table): Modify to avoid huge numbers of
3083         characters to call.
3084         (map_over_uint16_byte_table): Likewise.
3085         (map_over_byte_table): Likewise.
3086         (get_byte_table): Move prototype to chartab.h.
3087         (put_byte_table): Likewise.
3088         (put_char_id_table_0): Moved to chartab.h.
3089         (mark_char_table_entry): Don't define in XEmacs UTF-2000.
3090         (char_table_entry_equal): Likewise.
3091         (char_table_entry_hash): Likewise.
3092         (char_table_entry_description): Likewise.
3093         (char_table_entry): Likewise.
3094         (make_char_table_entry): Likewise.
3095         (copy_char_table_entry): Likewise.
3096         (get_non_ascii_char_table_value): Likewise.
3097         (map_over_charset_ascii): Likewise.
3098         (map_over_charset_control_1): Likewise.
3099         (map_over_charset_row): Likewise.
3100         (map_over_other_charset): Likewise.
3101         (mark_char_table): Modify for new structure in XEmacs UTF-2000.
3102         (print_char_table): Likewise.
3103         (char_table_equal): Likewise.
3104         (char_table_hash): Likewise.
3105         (char_table_description): Likewise.
3106         (fill_char_table): Likewise.
3107         (Fcopy_char_table): Likewise.
3108         (get_char_table): Likewise.
3109         (Fget_range_char_table): Likewise.
3110         (put_char_table): Likewise.
3111         (map_char_table): Likewise.
3112         (syms_of_chartab): Don't define `char_table_entry' in XEmacs
3113         UTF-2000.
3114
3115 2001-08-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3116
3117         * cmds.c (vars_of_cmds): Use `put_char_id_table_0' for
3118         `Vauto_fill_chars' in XEmacs UTF-2000.
3119
3120         * chartab.h (get_byte_table): New prototype [moved from
3121         chartab.c].
3122         (put_byte_table): Likewise [moved from chartab.c].
3123         (put_char_id_table_0): New inline function [moved from chartab.c].
3124         (struct Lisp_Char_Table_Entry): Don't define in XEmacs UTF-2000.
3125         (Lisp_Char_Table_Entry): Likewise.
3126         (char_table_entry): Likewise.
3127         (XCHAR_TABLE_ENTRY): Likewise.
3128         (XSETCHAR_TABLE_ENTRY): Likewise.
3129         (CHAR_TABLE_ENTRYP): Likewise.
3130         (CHECK_CHAR_TABLE_ENTRY): Likewise.
3131         (NUM_ASCII_CHARS): Likewise.
3132         (struct Lisp_Char_Table): New implementation in XEmacs UTF-2000.
3133         (CHAR_TABLE_VALUE_UNSAFE): Likewise.
3134
3135 2001-08-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3136
3137         * chartab.c (get_char_id_table): Change interface.
3138         (put_char_id_table_0): New function.
3139         (put_char_id_table): Change interface; new implementation.
3140         (Fget_composite_char): Modify for interface change of
3141         `get_char_id_table'.
3142         (Fchar_variants): Likewise.
3143         (add_char_attribute_alist_mapper): Likewise.
3144         (Fchar_attribute_alist): Likewise.
3145         (Fget_char_attribute): Likewise.
3146         (Fput_char_attribute): Allow coded-charset or [CODED-CHARSET ROW]
3147         as same as character as the first argument like `put-char-table';
3148         modify for interface change of `put_char_id_table'.
3149         (Fremove_char_attribute): Modify for interface change of
3150         `put_char_id_table'.
3151
3152 2001-08-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3153
3154         * text-coding.c: Sync up with XEmacs 21.2.41.
3155         (COMPOSE_ADD_CHAR): Modify for interface change of
3156         `get_char_id_table'.
3157
3158         * mule-charset.c (put_char_ccs_code_point): Modify for interface
3159         change of `put_char_id_table'.
3160         (remove_char_ccs): Likewise.
3161
3162         * chartab.h (put_char_id_table): Change interface.
3163
3164         * char-ucs.h (get_char_id_table): Change interface.
3165         (charset_code_point): Modify for interface change of
3166         `get_char_id_table'.
3167         (encode_char_1): Likewise.
3168
3169 2001-08-19  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3170
3171         * chartab.c (map_over_uint8_byte_table): Change arguments; add new
3172         argument `ccs'.
3173         (map_over_uint16_byte_table): Likewise.
3174         (map_over_byte_table): Likewise.
3175         (map_char_id_table): Add new argument `range' like
3176         `map_char_table'.
3177         (Fmap_char_attribute): Add new argument `range' like
3178         `Fmap_char_table'.
3179
3180 2001-08-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3181
3182         * chartab.c (map_over_uint8_byte_table): Change interface of
3183         mapping function to use struct chartab_range instead of Emchar.
3184         (map_over_uint16_byte_table): Likewise.
3185         (map_over_byte_table): Likewise.
3186         (map_char_id_table): Likewise.
3187         (struct slow_map_char_id_table_arg): Deleted.
3188         (slow_map_char_id_table_fun): Deleted.
3189         (Fmap_char_attribute): Use struct `slow_map_char_table_arg' and
3190         function `slow_map_char_table_fun' instead of struct
3191         `slow_map_char_id_table_arg' and function
3192         `slow_map_char_id_table_fun'.
3193
3194 2001-08-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3195
3196         * mule-charset.c: Move char-it-table related codes to chartab.c.
3197         (Vutf_2000_version): Moved to chartab.c.
3198         (Fdefine_char): Likewise.
3199         (Ffind_char): Likewise.
3200         (syms_of_mule_charset): Move types `uint8-byte-table',
3201         `uint16-byte-table', `byte-table' and `char-id-table' to
3202         chartab.c; move functions `char_attribute_list,
3203         `find_char_attribute_table, `char_attribute_alist,
3204         `get_char_attribute, `put_char_attribute, `remove_char_attribute,
3205         `map_char_attribute, `define_char, `find_char, `char_variants and
3206         `get_composite_char to chartab.c; move symbols `=>ucs',
3207         `->decomposition', `compat', `isolated', `initial', `medial',
3208         `final', `vertical', `noBreak', `fraction', `super', `sub',
3209         `circle', `square', `wide', `narrow', `small' and `font' to
3210         chartab.c.
3211         (vars_of_mule_charset): Move `utf-2000-version' to chartab.c; move
3212         setting codes for `Vcharacter_composition_table' and
3213         `Vcharacter_variant_table' to chartab.c.
3214         (complex_vars_of_mule_charset): Move setting code for
3215         `Vchar_attribute_hash_table' to chartab.c.
3216
3217         * chartab.h: Include "char-ucs.h" if --with-utf-2000 is specified.
3218         (make_char_id_table): New prototype.
3219         (put_char_id_table): Likewise.
3220         (Fget_char_attribute): Likewise.
3221
3222         * chartab.c: Move char-id-table related code from mule-charset.c.
3223         (Vutf_2000_version): Moved from mule-charset.c.
3224
3225         * char-ucs.h (Qucs): New external variable.
3226         (put_char_ccs_code_point): New prototype.
3227         (remove_char_ccs): Likewise.
3228
3229 2001-08-14  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
3230
3231         * mule-charset.c (Vcharset_ucs_jis): New variable.
3232         (Qucs_jis): Likewise.
3233         (syms_of_mule_charset): Add new symbol `ucs-jis'.
3234         (complex_vars_of_mule_charset): Add new coded-charset `ucs-jis'.
3235
3236         * char-ucs.h (LEADING_BYTE_UCS_JIS): New macro.
3237
3238 2001-08-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3239
3240         * mule-charset.c (map_over_uint8_byte_table): New function.
3241         (map_over_uint16_byte_table): Likewise.
3242         (map_over_byte_table): Likewise.
3243         (map_char_id_table): Likewise.
3244         (slow_map_char_id_table_fun): Likewise.
3245         (Fmap_char_attribute): Likewise.
3246         (syms_of_mule_charset): Add new function `map-char-attribute'.
3247
3248 2001-08-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3249
3250         * mule-charset.c (Ffind_char): New function in XEmacs UTF-2000.
3251         (syms_of_mule_charset): Add new function `find-char'.
3252
3253 2001-08-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3254
3255         * mule-charset.c (Vcharset_chinese_big5_cdp): New variable in
3256         XEmacs UTF-2000.
3257         (Qchinese_big5_cdp): New variable in XEmacs UTF-2000.
3258         (syms_of_mule_charset): Add new symbol `chinese-big5-cdp' in
3259         XEmacs UTF-2000.
3260         (complex_vars_of_mule_charset): Add new coded-charset
3261         `chinese-big5-cdp' in XEmacs UTF-2000; change registry of
3262         `ideograph-gt-pj-*'.
3263
3264         * char-ucs.h (LEADING_BYTE_CHINESE_BIG5_CDP): New macro.
3265
3266 2001-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3267
3268         * mule-charset.c (encode_builtin_char_1): Purge codes about
3269         {MIN|MAX}_CHAR_{GREEK|CYRILLIC}; comment out code about
3270         {MIN|MAX}_CHAR_HEBREW.
3271         (complex_vars_of_mule_charset): Comment out {MIN|MAX}_CHAR_HEBREW;
3272         don't use {MIN|MAX}_CHAR_HEBREW to define `hebrew-iso8859-8'.
3273
3274         * char-ucs.h (MIN_CHAR_GREEK): Purged.
3275         (MAX_CHAR_GREEK): Purged.
3276         (MIN_CHAR_CYRILLIC): Purged.
3277         (MAX_CHAR_CYRILLIC): Purged.
3278         (MIN_CHAR_HEBREW): Commented out.
3279         (MAX_CHAR_HEBREW): Likewise.
3280
3281 2001-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3282
3283         * mule-charset.c (Qto_ucs): New variable.
3284         (Fput_char_attribute): Treat `=>ucs' as same as `->ucs'.
3285         (Fdefine_char): Likewise.
3286         (syms_of_mule_charset): Add new symbol `=>ucs'.
3287
3288 2001-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3289
3290         * mule-charset.c (Fdecode_char): Fixed.
3291
3292 2001-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3293
3294         * mule-charset.c (complex_vars_of_mule_charset): Modify registry
3295         of latin-tcvn5712 to accept "tcvn5712.1993-1" as same as
3296         "tcvn5712-1".
3297
3298 2001-07-21  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3299
3300         * mule-charset.c (Vcharset_ucs_big5): New variable.
3301         (Qucs_big5): Likewise.
3302         (syms_of_mule_charset): Add new symbol `ucs-big5'.
3303         (complex_vars_of_mule_charset): Add new coded-charset `ucs-big5'.
3304
3305         * char-ucs.h (LEADING_BYTE_UCS_BIG5): New macro.
3306
3307 2001-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3308
3309         * mule-charset.c (decode_builtin_char): Check Big5 code range
3310         which can be mapped to `chinese-big5-1' and `chinese-big5-2'.
3311
3312 2001-07-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3313
3314         * mule-charset.c (Vcharset_chinese_gb12345): New variable.
3315         (Qchinese_gb12345): Likewise.
3316         (Fdecode_builtin_char): Fixed.
3317         (syms_of_mule_charset): Add `chinese-gb12345'.
3318         (complex_vars_of_mule_charset): Add coded-charset
3319         `chinese-gb12345'.
3320
3321         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x70.
3322         (LEADING_BYTE_CHINESE_GB12345): New macro.
3323
3324 2001-07-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3325
3326         * mule-charset.c (Fdecode_builtin_char): Use `latin-viscii-lower'
3327         and `latin-viscii-upper' for `latin-viscii'.
3328
3329 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3330
3331         * mule-charset.c (Fdecode_builtin_char): Comment out
3332         regularization code for ISO-IR GR representation.
3333
3334 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3335
3336         * mule-charset.c (decode_builtin_char): New function; renamed from
3337         `make_builtin_char'; return -1 instead of signal.
3338         (Fdecode_builtin_char): Use `decode_builtin_char'.
3339
3340         * char-ucs.h (decode_builtin_char): New prototype; renamed from
3341         `make_builtin_char'.
3342         (DECODE_CHAR): Use `decode_builtin_char' instead of
3343         `make_builtin_char'; use mapping table of `chinese-big5' for
3344         `chinese-big5-{1,2}'.
3345
3346 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3347
3348         * text-coding.c (char_encode_big5): New function.
3349         (char_finish_big5): Likewise.
3350         (reset_encoding_stream): Use `char_encode_big5' and
3351         `char_finish_big5' for CODESYS_BIG5.
3352         (mule_encode): Don't use `encode_coding_big5'.
3353         (encode_coding_big5): Deleted.
3354
3355 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3356
3357         * text-coding.c (BYTE_BIG5_TWO_BYTE_1_P): Support private area
3358         0x81- in XEmacs UTF-2000.
3359         (detect_coding_big5): Likewise.
3360
3361 2001-07-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3362
3363         * mule-charset.c (Fdefine_char): Don't use a CCS property to
3364         generate character-id if the CCS property does not have
3365         corresponding predefined character.
3366         (make_builtin_char): Return -1 if corresponding predefined
3367         character is not found.
3368         (Fdecode_char): Return nil if corresponding character is not
3369         found.
3370         (complex_vars_of_mule_charset): Change `ucs-cns' to 256^3-set and
3371         don't map to builtin ucs space.
3372
3373 2001-07-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3374
3375         * char-ucs.h (MAX_LEADING_BYTE_PRIVATE): Fixed.
3376         (MAX_CHAR_GT): Changed to `(MIN_CHAR_GT + 66773)'.
3377
3378 2001-07-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3379
3380         * mule-charset.c (Vcharset_ideograph_gt): New variable.
3381         (Vcharset_ideograph_gt_pj_{1..11}): Likewise.
3382         (Qideograph_gt): Likewise.
3383         (Qideograph_gt_pj_{1..11}): Likewise.
3384         (syms_of_mule_charset): Add `ideograph-gt', `ideograph-gt-pj-1',
3385         `ideograph-gt-pj-2', ..., `ideograph-gt-pj-10' and
3386         `ideograph-gt-pj-11'.
3387         (complex_vars_of_mule_charset): Add coded-charset `ideograph-gt',
3388         `ideograph-gt-pj-1', `ideograph-gt-pj-2', ...,
3389         `ideograph-gt-pj-10' and `ideograph-gt-pj-11'.
3390
3391         * char-ucs.h (LEADING_BYTE_GT): New macro.
3392         (LEADING_BYTE_GT_PJ_{1..11}): Likewise.
3393         (MIN_CHAR_GT): Likewise.
3394         (MAX_CHAR_GT): Likewise.
3395
3396 2001-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3397
3398         * lisp-disunion.h (XCHARVAL): New implementation for UTF-2000 to
3399         support U-60000000 .. U-7FFFFFFF with 32 bits architecture.
3400
3401         * doprnt.c (unsigned_int_converters): Add `c'.
3402         (emacs_doprnt_1): Use `XUINT' for unsigned integers.
3403
3404         * char-ucs.h (MIN_CHAR_DAIKANWA): Don't refer `MIN_CHAR_MOJIKYO'.
3405         (MAX_CHAR_DAIKANWA): Refer `MIN_CHAR_DAIKANWA' instead of
3406         `MIN_CHAR_MOJIKYO'.
3407         (MIN_CHAR_MOJIKYO_0): New macro; refer `MIN_CHAR_DAIKANWA'.
3408         (MAX_CHAR_MOJIKYO_0): New macro.
3409         (MIN_CHAR_MOJIKYO): Changed to 0x60000000.
3410
3411 2001-06-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3412
3413         * mule-charset.c (Fdefine_char): Delete cemented out code.
3414         (encode_builtin_char_1): Modify for new allocation of builtin
3415         Mojikyo characters.
3416
3417         * lisp-disunion.h (XCHARVAL): Cast the argument into EMACS_UINT.
3418
3419 2001-06-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3420
3421         * mule-charset.c (Vcharset_ucs_cns): New variable.
3422         (Qucs_cns): New variable.
3423         (syms_of_mule_charset): Add new symbol `ucs-cns'.
3424         (complex_vars_of_mule_charset): Add new coded-charset `ucs-cns'.
3425
3426 2001-05-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3427
3428         * char-ucs.h (LEADING_BYTE_UCS_CNS): New macro.
3429
3430 2000-12-09  MORIOKA Tomohiko  <tomo@m17n.org>
3431
3432         * search.c (search_buffer): Make `charset_base_code' as
3433         character-id >> 6 to eliminate the corresponding last byte in
3434         UTF-8 representation [I'm not sure it is right thing].
3435         (boyer_moore): Likewise.
3436
3437 2000-12-09  MORIOKA Tomohiko  <tomo@m17n.org>
3438
3439         * emacs.c (vars_of_emacs): Convert XEMACS_CODENAME to internal
3440         representation in MULE.
3441
3442 2000-11-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3443
3444         * text-coding.c (Fmake_coding_system): Use
3445         `EXTERNAL_PROPERTY_LIST_LOOP_3' instead of
3446         `EXTERNAL_PROPERTY_LIST_LOOP'.
3447
3448 2000-11-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3449
3450         * text-coding.c (decode_output_utf8_partial_char): New function.
3451         (decode_coding_utf8): Use `decode_output_utf8_partial_char'.
3452
3453 2000-11-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3454
3455         * text-coding.c (decode_coding_utf8): Output original byte
3456         sequence if it is broken; change order of conditions.
3457
3458         * mb-utf-8.h (REP_BYTES_BY_FIRST_BYTE): Use Bufbyte; reverse order
3459         of conditions.
3460
3461         * mb-multibyte.h (BYTE_ASCII_P):
3462         Use bit ops for char-signedness safety.
3463         (BYTE_C0_P): Use bit ops for char-signedness safety.
3464         (BYTE_C1_P): Use bit ops for char-signedness safety.
3465
3466         * character.h: (XCHAR_OR_CHAR_INT):
3467         Always use inline function.
3468         Remove redundant type checking assert() - XINT will abort quite
3469         nicely.
3470
3471 2000-11-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3472
3473         * text-coding.c: (Fencode_shift_jis_char):
3474         (Fencode_big5_char):
3475         Docstring arglist/Texinfo fixes.  See man/ChangeLog for details.
3476         Replace 0 with '\0' when working with bytes.
3477         Replace initial "(" with "\(" in docstrings.
3478
3479         (Fmake_coding_system):
3480         When type is ccl and value is vector, register it with a proper
3481         symbol.  And checks whether the given ccl program is valid.
3482         (mule_decode): When calling ccl_driver, if src indicates
3483         NULL pointer, set an empty string instead.
3484         (mule_encode): Likewise.
3485
3486         (detect_eol_type):
3487         (detect_coding_sjis):
3488         (decode_coding_sjis):
3489         (detect_coding_big5):
3490         (decode_coding_big5):
3491         (detect_coding_ucs4):
3492         (decode_coding_ucs4):
3493         (detect_coding_utf8):
3494         (decode_coding_utf8):
3495         (detect_coding_iso2022):
3496         (decode_coding_iso2022):
3497         (decode_coding_no_conversion):
3498         (mule_decode):
3499         Make all detecting and decoding functions take an Extbyte * arg.
3500         (text_encode_generic):
3501         (encode_coding_big5):
3502         (encode_coding_no_conversion):
3503         (mule_encode):
3504         Make all encoding functions take a Bufbyte * arg.
3505         Use size_t instead of unsigned int for memory sizes.
3506         Only cast to unsigned char whenever dereferencing Extbyte *.
3507
3508         (struct lrecord_description fcd_description_1): Use countof.
3509         (complex_vars_of_file_coding):
3510         Use countof instead of sizeof.
3511         Use CHECK_NATNUM instead of CHECK_INT.
3512
3513 2000-11-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3514
3515         * mule-charset.c (Fget_char_attribute): Add new optional argument
3516         `default-value'.
3517         (put_char_ccs_code_point): Modify for `Fget_char_attribute'.
3518         (remove_char_ccs): Likewise.
3519
3520 2000-10-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3521
3522         * text-coding.c (char_encode_shift_jis): New implementation in
3523         UTF-2000.
3524         (decode_coding_big5): Use `DECODE_CHAR (Vcharset_chinese_big5,
3525         ...)'.
3526
3527         * mule-charset.c (Vcharset_chinese_big5): New variable in
3528         UTF-2000.
3529         (Qchinese_big5): New variable in UTF-2000.
3530         (BIG5_SAME_ROW): New macro in UTF-2000.
3531         (make_builtin_char): Use builtin characters of
3532         `Vcharset_chinese_big5_1' and `Vcharset_chinese_big5_2' as builtin
3533         characters of `Vcharset_chinese_big5'.
3534         (syms_of_mule_charset): Add new symbol `chinese-big5' in UTF-2000.
3535         (complex_vars_of_mule_charset): Add new coded-charset
3536         `chinese-big5' in UTF-2000.
3537
3538         * char-ucs.h (LEADING_BYTE_CHINESE_BIG5): New macro.
3539         (Vcharset_chinese_big5): New external variable declaration.
3540         (Vcharset_japanese_jisx0208_1990): Likewise.
3541
3542 2000-07-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3543
3544         * mule-charset.c (expand_uint8_byte_table_to_uint16): New
3545         function.
3546         (put_byte_table): Use `expand_uint8_byte_table_to_uint16'.
3547
3548 2000-07-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3549
3550         * mule-charset.c (complex_vars_of_mule_charset): Define new macro
3551         `DEF_MOJIKYO_PJ' in UTF-2000; use `DEF_MOJIKYO_PJ' to define
3552         `mojikyo-pj-*'; add "MojikyoPJ-*" to charset-registry of
3553         `mojikyo-pj-*'.
3554
3555 2000-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3556
3557         * text-coding.c (decode_coding_big5): Modify for UTF-2000.
3558
3559 2000-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3560
3561         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3562         to 0.17.
3563
3564 2000-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3565
3566         * file-coding.c (ucs_to_char): Don't use `CHARSET_TYPE_*'; modify
3567         for `CHARSET_BY_ATTRIBUTES'.
3568         (parse_iso2022_esc): Don't use `CHARSET_TYPE_*'; modify for
3569         `CHARSET_BY_ATTRIBUTES'.
3570
3571         * text-coding.c (struct decoding_stream): Rename member `CH' to
3572         `CPOS'.
3573         (reset_decoding_stream): Use `str->cpos' instead of `str->ch'.
3574         (decode_coding_sjis): Likewise.
3575         (decode_coding_big5): Likewise.
3576         (decode_coding_ucs4): Likewise.
3577         (decode_coding_utf8): Likewise.
3578         (parse_iso2022_esc): Don't use `CHARSET_TYPE_*'; modify for
3579         `CHARSET_BY_ATTRIBUTES'.
3580         (decode_coding_iso2022): Use `str->cpos' instead of `str->ch'; use
3581         `str->counter'; decode 3, 4 bytes sets.
3582         (char_encode_iso2022): Don't use `BREAKUP_CHAR'; encode 3, 4 bytes
3583         sets.
3584         (decode_coding_no_conversion): Use `str->cpos' instead of
3585         `str->ch'.
3586
3587         * mule-charset.c (Vcharset_mojikyo_2022_1): New variable.
3588         (Qmojikyo_2022_1): New variable.
3589         (make_charset): Don't use `CHARSET_TYPE_*'.
3590         (range_charset_code_point): Support coded-charset
3591         `mojikyo-2022-1'.
3592         (encode_builtin_char_1): Modify for `CHARSET_BY_ATTRIBUTES'.
3593         (Fmake_charset): Don't use `CHARSET_TYPE_*'; modify for
3594         `CHARSET_BY_ATTRIBUTES'.
3595         (Fcharset_from_attributes): Don't use `CHARSET_TYPE_*'; modify for
3596         `CHARSET_BY_ATTRIBUTES'.
3597         (syms_of_mule_charset): Add new symbol `mojikyo-2022-1'.
3598         (complex_vars_of_mule_charset): Add new coded-charset
3599         `mojikyo-2022-1'.
3600
3601         * mule-charset.h (CHARSET_BY_ATTRIBUTES): New implementation and
3602         interface; changed to inline function.
3603
3604         * char-ucs.h (Vcharset_mojikyo_2022_1): New variable.
3605         (LEADING_BYTE_MOJIKYO_2022_1): New macro.
3606         (LEADING_BYTE_MOJIKYO_2022_2): New macro.
3607         (CHARSET_TYPE_94): Deleted.
3608         (CHARSET_TYPE_94X94): Deleted.
3609         (CHARSET_TYPE_96): Deleted.
3610         (CHARSET_TYPE_96X96): Deleted.
3611         (CHARSET_TYPE_128): Deleted.
3612         (CHARSET_TYPE_128X128): Deleted.
3613         (CHARSET_TYPE_256): Deleted.
3614         (CHARSET_TYPE_256X256): Deleted.
3615         (CHARSET_BY_ATTRIBUTES): New implementation and interface; changed
3616         to inline function.
3617         (DECODE_MOJIKYO_2022): New inline function.
3618         (DECODE_CHAR): Use `DECODE_MOJIKYO_2022'; decode
3619         `Vcharset_mojikyo_2022_1'.
3620
3621 2000-07-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3622
3623         * mule-charset.c (byte_table_same_value_p): Use `internal_equal'
3624         instead of `EQ'.
3625         (put_byte_table): Likewise.
3626         (char_id_table_equal): Use `get_byte_table' [new implementation].
3627
3628 2000-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3629
3630         * mule-charset.c: Include <limits.h> in UTF-2000.
3631         (BT_UINT8_MIN): New macro in UTF-2000.
3632         (BT_UINT8_MAX): New macro in UTF-2000.
3633         (BT_UINT8_t): New macro in UTF-2000.
3634         (BT_UINT8_nil): New macro in UTF-2000.
3635         (BT_UINT8_unbound): New macro in UTF-2000.
3636         (INT_UINT8_P): New inline function in UTF-2000.
3637         (UINT8_VALUE_P): New inline function in UTF-2000.
3638         (UINT8_ENCODE): New inline function in UTF-2000.
3639         (UINT8_DECODE): New inline function in UTF-2000.
3640         (mark_uint8_byte_table): New function in UTF-2000.
3641         (print_uint8_byte_table): New function in UTF-2000.
3642         (uint8_byte_table_equal): New function in UTF-2000.
3643         (uint8_byte_table_hash): New function in UTF-2000.
3644         (make_uint8_byte_table): New function in UTF-2000.
3645         (uint8_byte_table_same_value_p): New function in UTF-2000.
3646         (BT_UINT16_MIN): New macro in UTF-2000.
3647         (BT_UINT16_MAX): New macro in UTF-2000.
3648         (BT_UINT16_t): New macro in UTF-2000.
3649         (BT_UINT16_nil): New macro in UTF-2000.
3650         (BT_UINT16_unbound): New macro in UTF-2000.
3651         (INT_UINT16_P): New inline function in UTF-2000.
3652         (UINT16_VALUE_P): New inline function in UTF-2000.
3653         (UINT16_ENCODE): New inline function in UTF-2000.
3654         (UINT16_DECODE): New inline function in UTF-2000.
3655         (UINT8_TO_UINT16): New inline function in UTF-2000.
3656         (mark_uint16_byte_table): New function in UTF-2000.
3657         (print_uint16_byte_table): New function in UTF-2000.
3658         (uint16_byte_table_equal): New function in UTF-2000.
3659         (uint16_byte_table_hash): New function in UTF-2000.
3660         (make_uint16_byte_table): New function in UTF-2000.
3661         (uint16_byte_table_same_value_p): New function in UTF-2000.
3662         (print_byte_table): New function in UTF-2000.
3663         (byte-table): Use `print_byte_table' as printer.
3664         (make_byte_table): Delete second argument `older'.
3665         (byte_table_same_value_p): New function in UTF-2000.
3666         (copy_byte_table): Deleted.
3667         (get_byte_table): New function in UTF-2000.
3668         (put_byte_table): New function in UTF-2000.
3669         (print_char_id_table): New function in UTF-2000.
3670         (char-id-table): Use `print_char_id_table' as printer.
3671         (make_char_id_table): Delete second argument `older'.
3672         (get_char_id_table): Use `get_byte_table [new implementation].
3673         (put_char_id_table): Use `get_byte_table and `put_byte_table' [new
3674         implementation].
3675         (Ffind_char_attribute_table): New function in UTF-2000.
3676         (mark_charset): Mark `cs->encoding_table' in UTF-2000.
3677         (syms_of_mule_charset): Add LRECORD_IMPLEMENTATION
3678         `uint8_byte_table' and `uint16_byte_table' in UTF-2000.
3679         (syms_of_mule_charset): Add new function
3680         `find-char-attribute-table' in UTF-2000.
3681
3682         * lrecord.h (enum lrecord_type): Add
3683         `lrecord_type_uint16_byte_table' and
3684         `lrecord_type_uint8_byte_table'.
3685
3686         * char-ucs.h (struct Lisp_Uint8_Byte_Table): New structure.
3687         (Lisp_Uint8_Byte_Table): New type.
3688         (XUINT8_BYTE_TABLE): New macro.
3689         (XSETUINT8_BYTE_TABLE): New macro.
3690         (UINT8_BYTE_TABLE_P): New macro.
3691         (GC_UINT8_BYTE_TABLE_P): New macro.
3692         (struct Lisp_Uint16_Byte_Table): New structure.
3693         (Lisp_Uint16_Byte_Table): New type.
3694         (XUINT16_BYTE_TABLE): New macro.
3695         (XSETUINT16_BYTE_TABLE): New macro.
3696         (UINT16_BYTE_TABLE_P): New macro.
3697         (GC_UINT16_BYTE_TABLE_P): New macro.
3698
3699 2000-07-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3700
3701         * mule-charset.c (Vcharacter_ideographic_radical_table): Deleted.
3702         (Vcharacter_ideographic_strokes_table): Deleted.
3703         (Vcharacter_total_strokes_table): Deleted.
3704         (Vcharacter_morohashi_daikanwa_table): Deleted.
3705         (Vcharacter_decomposition_table): Deleted.
3706         (Qname): Deleted because it is duplicated.
3707         (Qideographic_radical): Deleted.
3708         (Qideographic_strokes): Deleted.
3709         (Qtotal_strokes): Deleted.
3710         (Qmorohashi_daikanwa): Deleted.
3711         (Fchar_attribute_alist): Use `Vchar_attribute_hash_table' for
3712         `ideographic-radical', `ideographic-strokes', `total-strokes',
3713         `morohashi-daikanwa' and `->decomposition'.
3714         (Fget_char_attribute): Likewise.
3715         (Fput_char_attribute): Likewise; use `make-vector' instead of
3716         `make_older_vector' for `->decomposition' value.
3717         (Fdefine_char): Comment out code to check `morohashi-daikanwa' and
3718         `ideograph-daikanwa'.
3719         (syms_of_mule_charset): Delete builtin symbols `name',
3720         `ideographic-radical', `ideographic-strokes', `total-strokes' and
3721         `morohashi-daikanwa'.
3722         (vars_of_mule_charset): Don't setup
3723         `Vcharacter_ideographic_radical_table',
3724         `Vcharacter_ideographic_strokes_table',
3725         `Vcharacter_total_strokes_table',
3726         `Vcharacter_morohashi_daikanwa_table' and
3727         `Vcharacter_decomposition_table'.
3728
3729 2000-06-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3730
3731         * alloc.c: Use `HAVE_GGC' instead of `UTF2000' for
3732         `make_older_vector', `make_vector_newer_1' and
3733         `make_vector_newer'.
3734
3735         * lisp.h: Use `HAVE_GGC' instead of `UTF2000' for
3736         `make_older_vector' and `make_vector_newer'.
3737
3738         * config.h.in (HAVE_GGC): New macro.
3739
3740 2000-06-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3741
3742         * mule-charset.c (struct char_attribute_list_closure): New
3743         structure in UTF-2000.
3744         (add_char_attribute_to_list_mapper): New function in UTF-2000.
3745         (Fchar_attribute_list): Likewise.
3746         (Fset_charset_mapping_table): Use `make_vector_newer'.
3747         (Fdecode_builtin_char): New function in UTF-2000.
3748         (syms_of_mule_charset): Add new function `char-attribute-list' and
3749         `decode-builtin-char' in UTF-2000.
3750
3751         * lisp.h (make_vector_newer): New prototype.
3752
3753         * alloc.c (make_vector_newer_1): New function.
3754         (make_vector_newer): New function.
3755
3756 2000-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3757
3758         * char-ucs.h (MAX_CHAR_DAIKANWA): Changed to `(MIN_CHAR_MOJIKYO +
3759         50100)'.
3760
3761 2000-06-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3762
3763         * mule-charset.c (Vchar_attribute_hash_table): New variable.
3764         (Vcharacter_attribute_table): Deleted.
3765         (Vcharacter_name_table): Deleted.
3766         (put_char_attribute): Deleted.
3767         (remove_char_attribute): Deleted.
3768         (struct char_attribute_alist_closure): New structure.
3769         (add_char_attribute_alist_mapper): New function.
3770         (Fchar_attribute_alist): Use `Vchar_attribute_hash_table' instead
3771         of `Vcharacter_attribute_table' and `Vcharacter_name_table'.
3772         (Fget_char_attribute): Likewise.
3773         (Fput_char_attribute): Likewise.
3774         (Fremove_char_attribute): Use `Vchar_attribute_hash_table' instead
3775         of `remove_char_attribute'.
3776         (Fdefine_char): Return character.
3777         (vars_of_mule_charset): Don't setup `Vcharacter_attribute_table'
3778         and `Vcharacter_name_table'.
3779         (complex_vars_of_mule_charset): Likewise
3780         `Vchar_attribute_hash_table'.
3781
3782 2000-06-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3783
3784         * character.h (CHARC_CHARSET): New macro.
3785         (CHARC_CHARSET_ID): New macro.
3786         (CHARC_CODE_POINT): New macro.
3787         (CHARC_COLUMNS): New macro.
3788         (CHARC_TO_CHAR): New inline function.
3789         (CHARC_EQ): New inline function.
3790         (CHARC_ASCII_EQ): New inline function.
3791         (CHARC_IS_SPACE): New inline function.
3792         (ASCII_TO_CHARC): New inline function.
3793
3794         * char-ucs.h (encode_char_2): Deleted.
3795         (ENCODE_CHAR): Use `encode_char_1' again.
3796         (breakup_char_1): Likewise.
3797         (CHAR_TO_CHARC): New inline function.
3798
3799         * char-lb.h, char-1byte.h (CHAR_TO_CHARC): New inline function.
3800
3801 2000-06-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3802
3803         * redisplay.c (add_emchar_rune): Use `ASCII_TO_CHARC',
3804         `CHAR_TO_CHARC' and `CHARC_CHARSET'.
3805         (create_text_block): Use `CHARC_ASCII_EQ' and `CHARC_IS_SPACE'.
3806         (generate_formatted_string_db): Use `CHARC_TO_CHAR'.
3807         (create_string_text_block): Use `CHARC_ASCII_EQ' and
3808         `CHARC_IS_SPACE'.
3809         (pixel_to_glyph_translation): Use `CHARC_ASCII_EQ'.
3810
3811         * redisplay-x.c (separate_textual_runs): Use `CHARC_CHARSET' and
3812         `CHARC_CODE_POINT'.
3813         (x_output_display_block): Use `CHARC_CHARSET' and
3814         `CHARC_ASCII_EQ'.
3815
3816         * redisplay-tty.c (tty_output_display_block): Use
3817         `CHARC_ASCII_EQ'.
3818         (tty_output_display_block): Likewise; use `ASCII_TO_CHARC'.
3819
3820         * redisplay-output.c (compare_runes): Use `CHARC_EQ'.
3821
3822         * insdel.c (find_charsets_in_charc_string): Use
3823         `CHARC_CHARSET_ID'.
3824         (charc_string_displayed_columns): Use `CHARC_COLUMNS'.
3825         (convert_bufbyte_string_into_charc_dynarr): Use `CHAR_TO_CHARC'.
3826         (convert_charc_string_into_bufbyte_dynarr): Use `CHARC_TO_CHAR'.
3827         (convert_charc_string_into_malloced_string): Likewise.
3828
3829 2000-06-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3830
3831         * toolbar-x.c (x_output_toolbar_button): Use <Charc_dynarr *>
3832         instead of <Emchar_dynarr *> for buf; use
3833         `convert_bufbyte_string_into_charc_dynarr' instead of
3834         `convert_bufbyte_string_into_emchar_dynarr'; use
3835         `find_charsets_in_charc_string' instead of
3836         `find_charsets_in_emchar_string'.
3837
3838         * redisplay.h:
3839         - Include "character.h".
3840         (struct rune): New member `cglyph'; delete member `chr'.
3841
3842         * redisplay.c (redisplay_text_width_charc_string): New function;
3843         delete `redisplay_text_width_emchar_string'.
3844         (rtw_charc_dynarr): New variable; renamed from
3845         `rtw_emchar_dynarr'.
3846         (redisplay_text_width_string): Use `rtw_charc_dynarr' instead of
3847         `rtw_emchar_dynarr'; use
3848         `convert_bufbyte_string_into_charc_dynarr' instead of
3849         `convert_bufbyte_string_into_emchar_dynarr'; use
3850         `redisplay_text_width_charc_string' instead of
3851         `redisplay_text_width_emchar_string'.
3852         (redisplay_frame_text_width_string): Use `rtw_charc_dynarr'
3853         instead of `rtw_emchar_dynarr'; use
3854         `convert_bufbyte_string_into_charc_dynarr' instead of
3855         `convert_bufbyte_string_into_emchar_dynarr'.
3856         (add_emchar_rune): Add <Charc> instead of <Emchar>; use
3857         `redisplay_text_width_charc_string' instead of
3858         `redisplay_text_width_emchar_string'.
3859         (create_text_block): Modify for <struct rune> change.
3860         (generate_formatted_string_db): Likewise.
3861         (create_string_text_block): Likewise.
3862         (pixel_to_glyph_translation): Likewise.
3863
3864         * redisplay-x.c (separate_textual_runs): Use <const Charc *>
3865         instead of <const Emchar *>.
3866         (x_text_width): Likewise.
3867         (x_output_display_block): Use <Charc_dynarr *> instead
3868         <Emchar_dynarr *>; modify for <structure rune> change.
3869         (x_output_string): Use <Charc_dynarr *> instead of <Emchar_dynarr
3870         *>.
3871
3872         * redisplay-tty.c (tty_text_width): Use <const Charc *> instead of
3873         <const Emchar *>; use `charc_string_displayed_columns' instead of
3874         `emchar_string_displayed_columns'.
3875         (tty_output_display_block): Use <Charc_dynarr *> instead of
3876         <Emchar_dynarr *> for buf; modify for <structure rune> change; use
3877         `tty_output_charc_dynarr' instead of `tty_output_emchar_dynarr'.
3878         (tty_output_charc_dynarr_dynarr): New variable; renamed from
3879         `tty_output_emchar_dynarr_dynarr'.
3880         (tty_output_charc_dynarr): New function; delete
3881         `tty_output_charc_dynarr'.
3882
3883         * redisplay-output.c (compare_runes): Modify for `struct rune'.
3884         (redisplay_output_layout): Use <Charc_dynarr *> instead of
3885         <Emchar_dynarr *> for buf; use
3886         `convert_bufbyte_string_into_charc_dynarr' instead of
3887         `convert_bufbyte_string_into_emchar_dynarr'.
3888
3889         * frame.c (title_string_charc_dynarr): New variable; renamed from
3890         `title_string_emchar_dynarr'.
3891         (generate_title_string): Use `title_string_charc_dynarr' instead
3892         of `title_string_emchar_dynarr'; use
3893         `convert_charc_string_into_malloced_string' instead of
3894         `convert_emchar_string_into_malloced_string'.
3895         (init_frame): Use `title_string_charc_dynarr' instead of
3896         `title_string_emchar_dynarr'.
3897
3898         * console.h:
3899         - Include "character.h".
3900         (struct console_methods): Use <const Charc *> instead of <const
3901         Emchar *> in `text_width_method'; use <Charc_dynarr *> instead of
3902         <Emchar_dynarr *> in output_string_method.
3903
3904         * console-x.h (x_output_string): Use <Charc_dynarr *> instead of
3905         <Emchar_dynarr *>.
3906
3907         * console-stream.c (stream_text_width): Use <const Charc *>
3908         instead of <const Emchar *>.
3909
3910         * character.h (Charc_dynarr): New type.
3911
3912         * char-ucs.h (structure Charc): New structure; define new type
3913         `Charc'.
3914
3915         * char-lb.h (DECODE_CHAR): New inline function.
3916         (encode_char_1): New inline function.
3917         (ENCODE_CHAR): New macro.
3918         (structure Charc): New structure; define new type `Charc'.
3919
3920         * char-1byte.h (Vcharset_control_1): New macro.
3921         (Vcharset_latin_iso8859_1): New macro.
3922         (DECODE_CHAR): New inline function.
3923         (encode_char_1): New inline function.
3924         (ENCODE_CHAR): New macro.
3925         (structure Charc): New structure; define new type `Charc'.
3926
3927         * insdel.c (find_charsets_in_charc_string): New function; delete
3928         `find_charsets_in_emchar_string'.
3929         (charc_string_displayed_columns): New function; delete
3930         `emchar_string_displayed_columns'.
3931         (convert_bufbyte_string_into_charc_dynarr): New function; delete
3932         `convert_bufbyte_string_into_emchar_dynarr'.
3933         (convert_charc_string_into_bufbyte_dynarr): New function; delete
3934         `convert_charc_string_into_bufbyte_dynarr'.
3935         (convert_charc_string_into_malloced_string): New function; delete
3936         `convert_charc_string_into_malloced_string'.
3937
3938         * buffer.h (find_charsets_in_charc_string): New prototype; delete
3939         `find_charsets_in_emchar_string'.
3940         (charc_string_displayed_columns): New prototype; delete
3941         `emchar_string_displayed_columns'.
3942         (convert_charc_string_into_bufbyte_dynarr): New prototype; delete
3943         `convert_charc_string_into_bufbyte_dynarr'.
3944         (convert_charc_string_into_malloced_string): New prototype; delete
3945         `convert_charc_string_into_malloced_string'.
3946
3947 2000-06-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3948
3949         * select-x.c (Fx_store_cutbuffer_internal): Modify for UTF-2000.
3950
3951 2000-06-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3952
3953         * chartab.h (get_non_ascii_char_table_value): Use <Charset_ID>.
3954
3955         * char-ucs.h: Use <short> for <Charset_ID>.
3956
3957         * mule-charset.h, char-1byte.h: Use <unsigned char> for
3958         <Charset_ID>.
3959
3960 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3961
3962         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3963         to 0.16.
3964
3965 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3966
3967         * mule-charset.c (Vcharacter_morohashi_daikanwa_table): New
3968         variable.
3969         (Qmorohashi_daikanwa): New variable.
3970         (Fchar_attribute_alist): Use `Vcharacter_morohashi_daikanwa_table'
3971         for `morohashi-daikanwa' attribute.
3972         (Fget_char_attribute): Likewise.
3973         (Fput_char_attribute): Likewise.
3974         (Fdefine_char): Don't setup `morohashi-daikanwa' attribute if it
3975         has the same value of `ideograph-daikanwa'.
3976         (syms_of_mule_charset): Add new symbol `morohashi-daikanwa'.
3977         (vars_of_mule_charset): Setup
3978         `Vcharacter_morohashi_daikanwa_table'.
3979
3980 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3981
3982         * mule-charset.c (Fchar_attribute_alist): Add coded-charset
3983         attributes.
3984         (add_charset_to_list_mapper): Add `key' instead of
3985         `XCHARSET_NAME (value)' to return aliases.
3986
3987 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3988
3989         * mule-charset.c (Vcharacter_ideographic_radical_table): New
3990         variable.
3991         (Vcharacter_ideographic_strokes_table): New variable.
3992         (Qideographic_radical): New variable.
3993         (Qideographic_strokes): New variable.
3994         (Fchar_attribute_alist): Use
3995         `Vcharacter_ideographic_radical_table' for `ideographic-radical'
3996         attribute; use `Vcharacter_ideographic_strokes_table' for
3997         `ideographic-strokes' attribute.
3998         (Fget_char_attribute): Likewise.
3999         (Fput_char_attribute): Likewise.
4000         (syms_of_mule_charset): Add new symbol `ideographic-radical' and
4001         `ideographic-strokes'.
4002         (vars_of_mule_charset): Setup
4003         `Vcharacter_ideographic_radical_table' and
4004         `Vcharacter_ideographic_strokes_table'.
4005
4006 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4007
4008         * mule-charset.c (Vcharacter_total_strokes_table): New variable.
4009         (Qtotal_strokes): New variable.
4010         (Fchar_attribute_alist): Use `Vcharacter_total_strokes_table' for
4011         `total-strokes' attribute.
4012         (Fget_char_attribute): Likewise.
4013         (Fput_char_attribute): Likewise.
4014         (syms_of_mule_charset): Add new symbol `total-strokes'.
4015         (vars_of_mule_charset): Setup `Vcharacter_total_strokes_table'.
4016
4017 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4018
4019         * mule-charset.c (Vcharacter_decomposition_table): New variable.
4020         (Fchar_attribute_alist): Add `name' and `->decomposition' if they
4021         are found.
4022         (Fget_char_attribute): Use `Vcharacter_decomposition_table' for
4023         `->decomposition' attribute.
4024         (Fput_char_attribute): Likewise.
4025         (vars_of_mule_charset): Setup `Vcharacter_decomposition_table'.
4026
4027 2000-06-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4028
4029         * mule-charset.c (decoding_table_check_elements): New function.
4030         (Fset_charset_mapping_table): Use `decoding_table_check_elements'.
4031
4032 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4033
4034         * mule-charset.c (Fset_charset_mapping_table): Use
4035         `put_char_ccs_code_point'.
4036
4037 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4038
4039         * mule-charset.c (decoding_table_put_char): New inline function.
4040         (put_char_ccs_code_point): Use `decoding_table_put_char'.
4041
4042 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4043
4044         * mule-charset.c (CHARSET_BYTE_SIZE): New inline function.
4045         (XCHARSET_BYTE_SIZE): New macro.
4046         (decoding_table_remove_char): New inline function.
4047         (put_char_ccs_code_point): Use `XCHARSET_BYTE_SIZE'; use
4048         `decoding_table_remove_char'.
4049         (remove_char_ccs): Use `decoding_table_remove_char'.
4050         (Fset_charset_mapping_table): Use `CHARSET_BYTE_SIZE'.
4051
4052 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4053
4054         * mule-charset.c (Vcharacter_name_table): New variable.
4055         (Qname): New variable.
4056         (Fget_char_attribute): Use `Vcharacter_name_table' for `name'
4057         attribute.
4058         (Fput_char_attribute): Use function `put_char_ccs_code_point'; use
4059         `Vcharacter_name_table' for `name' attribute.
4060         (Fremove_char_attribute): Use function `remove_char_ccs'.
4061         (put_char_ccs_code_point): New function.
4062         (remove_char_ccs): New function.
4063         (syms_of_mule_charset): Add new symbol `name'.
4064         (vars_of_mule_charset): Setup `Vcharacter_name_table'.
4065
4066 2000-05-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4067
4068         * mule-charset.c (make_byte_table): Add new argument `older'.
4069         (make_char_id_table): Likewise.
4070         (copy_char_id_table): Comment out because it is not used.
4071         (put_char_id_table): Modify for `make_byte_table'.
4072         (Fput_char_attribute): Make encoding_table as older object;
4073         inherit older bit of `Vcharacter_composition_table'.
4074         (mark_charset): Don't mark `cs->encoding_table'.
4075         (vars_of_mule_charset): Make `Vcharacter_attribute_table' as a
4076         normal object; make `Vcharacter_composition_table' as an older
4077         object; delete staticpro for `Vcharacter_composition_table'; make
4078         `Vcharacter_variant_table' as a normal object.
4079
4080         * alloc.c (alloc_older_lcrecord): New function in UTF-2000.
4081         (mark_object): Don't check older object in UTF-2000.
4082
4083         * lrecord.h (struct lrecord_header): Add new member `older' in
4084         UTF-2000.
4085         (set_lheader_implementation): Setup `SLI_header->older' in
4086         UTF-2000.
4087         (set_lheader_older_implementation): New macro in UTF-2000.
4088         (OLDER_RECORD_P): New macro in UTF-2000.
4089         (OLDER_RECORD_HEADER_P): New macro in UTF-2000.
4090         (alloc_older_lcrecord): New prototype in UTF-2000.
4091         (alloc_older_lcrecord_type): New macro in UTF-2000.
4092
4093 2000-05-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4094
4095         * mule-charset.c (byte_table_description): Use
4096         `XD_LISP_OBJECT_ARRAY' instead of `XD_LISP_OBJECT'.
4097         (char_id_table_description): Delete bogus `, 1'.
4098         (Fget_char_attribute): Refer encoding_table of each coded-charset
4099         to get value of coded-charset attribute of a character.
4100         (Fput_char_attribute): Use `make_older_vector' instead of
4101         `make_vector'; use encoding_table of each coded-charset to store
4102         value of coded-charset attribute of a character.
4103         (Fremove_char_attribute): Use encoding_table of each coded-charset
4104         to store value of coded-charset attribute of a character.
4105         (mark_charset): Mark `cs->encoding_table'; don't mark
4106         `cs->decoding_table'.
4107         (charset_description): Add description of new member
4108         `encoding_table'.
4109         (make_charset): Initialize `encoding_table'.
4110
4111         * char-ucs.h (struct Lisp_Charset): Add new member
4112         `encoding_table'.
4113         (CHARSET_ENCODING_TABLE): New macro.
4114         (XCHARSET_ENCODING_TABLE): New macro.
4115         (charset_code_point): New implementation.
4116         (encode_char_1): Likewise.
4117
4118         * alloc.c (all_older_lcrecords): New variable in UTF-2000.
4119         (disksave_object_finalization_1): Call finalizers of
4120         `all_older_lcrecords' in UTF-2000.
4121         (make_older_vector): New function in UTF-2000.
4122         (reinit_alloc_once_early): Initialize `all_older_lcrecords' in
4123         UTF-2000.
4124
4125         * lisp.h (make_older_vector): New prototype in UTF-2000.
4126
4127 2000-05-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4128
4129         * lrecord.h (enum lrecord_type): Rename
4130         `lrecord_type_char_code_table' to `lrecord_type_char_id_table'.
4131
4132         * text-coding.c (COMPOSE_ADD_CHAR): Use `CHAR_ID_TABLE_P' and
4133         `get_char_id_table' instead of `CHAR_CODE_TABLE_P' and
4134         `get_char_code_table'.
4135
4136         * mule-charset.c (mark_char_id_table): Renamed from
4137         `mark_char_code_table'.
4138         (char_id_table_equal): Renamed from `char_code_table_equal'.
4139         (char_id_table_hash): Renamed from `char_code_table_hash'.
4140         (make_char_id_table): Renamed from `make_char_code_table'.
4141         (copy_char_id_table): Renamed from `copy_char_code_table'.
4142         (get_char_id_table): Renamed from `get_char_code_table'.
4143         (put_char_id_table): Renamed from `put_char_code_table'.
4144         (to_char_id): Renamed from `to_char_code'.
4145
4146         * char-ucs.h (struct Lisp_Char_ID_Table): Renamed from
4147         `Lisp_Char_Code_Table'.
4148         (char_id_table): Renamed from `char_code_table'.
4149         (XCHAR_ID_TABLE): Renamed from `XCHAR_CODE_TABLE'.
4150         (XSETCHAR_ID_TABLE): Renamed from `XSETCHAR_CODE_TABLE'.
4151         (CHAR_ID_TABLE_P): Renamed from `CHAR_CODE_TABLE_P'.
4152         (GC_CHAR_ID_TABLE_P): Renamed from `GC_CHAR_CODE_TABLE_P'.
4153         (get_char_id_table): Renamed from `get_char_code_table'.
4154
4155 2000-05-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4156
4157         * lrecord.h (enum lrecord_type): Rename
4158         `lrecord_type_char_byte_table' to `lrecord_type_byte_table'.
4159
4160         * mule-charset.c (mark_byte_table): Renamed from
4161         `mark_char_byte_table'.
4162         (byte_table_equal): Renamed from `char_byte_table_equal'.
4163         (byte_table_hash): Renamed from `byte_table_hash'.
4164         (make_byte_table): Renamed from `make_byte_table'.
4165         (copy_byte_table): Renamed from `copy_char_byte_table'.
4166
4167         * char-ucs.h (struct Lisp_Byte_Table): Renamed from
4168         `Lisp_Char_Byte_Table'.
4169         (byte_table): Renamed from `char_byte_table'.
4170         (XBYTE_TABLE): Renamed from `XCHAR_BYTE_TABLE'.
4171         (XSETBYTE_TABLE): Renamed from `XSET_CHAR_BYTE_TABLE'.
4172         (BYTE_TABLE_P): Renamed from `XBYTE_TABLE_P'.
4173         (GC_BYTE_TABLE_P): Renamed from `GC_CHAR_BYTE_TABLE_P'.
4174
4175 2000-05-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4176
4177         * buffer.c (dfc_convert_to_external_format): Modify for UTF-2000.
4178         (dfc_convert_to_internal_format): Likewise.
4179         
4180         * text-coding.c (Fcoding_system_canonical_name_p): New function.
4181         * text-coding.c (Fcoding_system_alias_p): New function.
4182         * text-coding.c (Fcoding_system_aliasee): New function.
4183         * text-coding.c (append_suffix_to_symbol): New function.
4184         * text-coding.c (dangling_coding_system_alias_p): New function.
4185         * text-coding.c (Ffind_coding_system):
4186         * text-coding.c (Fcopy_coding_system):
4187         * text-coding.c (encode_coding_no_conversion):
4188         * text-coding.c (syms_of_file_coding):
4189         * text-coding.c (vars_of_file_coding):
4190         Rewrite coding system alias code.
4191         Allow nested aliases, like symbolic links.
4192         Allow redefinition of coding system aliases.
4193         Prevent existence of dangling coding system aliases.
4194         Eliminate convert_to_external_format.
4195         Eliminate convert_to_internal_format.
4196         
4197         * text-coding.c: Change enum eol_type to eol_type_t.
4198
4199 2000-05-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4200
4201         * mule-charset.c (encode_builtin_char_1): Limit builtin-code-range
4202         of `mojikyo' to MIN_CHAR_MOJIKYO + 94 * 60 * 22.
4203
4204         * char-ucs.h (MAX_CHAR_MOJIKYO): Limit builtin-code-range to
4205         MIN_CHAR_MOJIKYO + 94 * 60 * 22.
4206
4207 2000-04-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4208
4209         * mule-charset.c (encode_builtin_char_1): Use `mojikyo' instead of
4210         `ideograph-daikanwa'.
4211
4212         * char-ucs.h (Vcharset_ucs): Deleted because it is not used.
4213         (Vcharset_ucs_bmp): Likewise.
4214         (Vcharset_mojikyo): Add new extern variable definition.
4215         (Vcharset_latin_iso8859_2): Deleted because it is not used.
4216         (Vcharset_latin_iso8859_3): Likewise.
4217         (Vcharset_latin_iso8859_4): Likewise.
4218         (Vcharset_latin_iso8859_9): Likewise.
4219         (Vcharset_latin_viscii_lower): Likewise.
4220         (Vcharset_latin_viscii_upper): Likewise.
4221         (DECODE_CHAR): If charset is `mojikyo-pj-N', corresponding
4222         `mojikyo' code-point is used to decode.
4223         (encode_char_2): New function [to convert `mojikyo' code-point to
4224         Mojikyo font encoding].
4225         (ENCODE_CHAR): Use `encode_char_2' instead of `encode_code_1'.
4226         (breakup_char_1): Likewise.
4227         (CHAR_CHARSET): Use `ENCODE_CHAR' instead of `BREAKUP_CHAR'.
4228
4229 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4230
4231         * text-coding.c (Fmake_coding_system): Add document about
4232         `disable-composition' property.
4233
4234 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4235
4236         * text-coding.c (Qdisable_composition): New variable; delete
4237         `Qcomposite'.
4238         (Fmake_coding_system): Add new property `disable-composite';
4239         delete property `composite'.
4240         (COMPOSE_ADD_CHAR): Use `CODING_SYSTEM_DISABLE_COMPOSITION'
4241         instead of `!CODING_SYSTEM_COMPOSITE'.
4242         (syms_of_file_coding): Add new symbol `disable-composition';
4243         delete symbol `composite'.
4244
4245         * file-coding.h (struct Lisp_Coding_System): Add
4246         `disable_composition'; delete `enable_composition'.
4247         (CODING_SYSTEM_DISABLE_COMPOSITION): New macro; delete
4248         `CODING_SYSTEM_COMPOSITE'.
4249         (XCODING_SYSTEM_DISABLE_COMPOSITION): New macro; delete
4250         `XCODING_SYSTEM_COMPOSITE'.
4251
4252 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4253
4254         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
4255         to 0.15.
4256
4257 2000-04-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4258
4259         * text-coding.c (Qcomposite): New variable.
4260         (Fmake_coding_system): Add new property `composite'.
4261         (struct decoding_stream): Add `combined_char_count',
4262         `combined_chars' and `combining_table' in UTF-2000.
4263         (COMPOSE_FLUSH_CHARS): New macro.
4264         (COMPOSE_ADD_CHAR): New macro.
4265         (reset_decoding_stream): Reset `str->combined_char_count' and
4266         `str->combining_table' in UTF-2000.
4267         (decode_coding_iso2022): Modify for character-decomposition.
4268         (syms_of_file_coding): Add new symbol `composite'.
4269
4270 2000-04-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4271
4272         * mule-charset.c (Vcharset_latin_tcvn5712): New variable.
4273         (Fput_char_attribute): Set up `Vcharacter_variant_table' instead
4274         of `Vcharacter_composition_table' if `->decomposition' property
4275         has only 1 element.
4276         (Qlatin_tcvn5712): New variable.
4277         (syms_of_mule_charset): Add new symbol `latin-tcvn5712'.
4278         (complex_vars_of_mule_charset): Add new coded-charset
4279         `latin-tcvn5712'.
4280
4281         * char-ucs.h (LEADING_BYTE_LATIN_TCVN5712): New macro.
4282
4283 2000-04-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4284
4285         * file-coding.h (struct Lisp_Coding_System): Add
4286         `enable_composition'.
4287         (CODING_SYSTEM_COMPOSITE): New macro.
4288         (XCODING_SYSTEM_COMPOSITE): New macro.
4289
4290 2000-03-17  MORIOKA Tomohiko  <tomo@m17n.org>
4291
4292         * mule-canna.c (c2mu): Fix problem with UTF-2000.
4293
4294 2000-03-16  MORIOKA Tomohiko  <tomo@m17n.org>
4295
4296         * mule-charset.c (Fput_char_attribute): Don't make mapping-table
4297         if ATTRIBUTE is `ucs' and character-id of CHARACTER = VALUE.
4298
4299 2000-02-24  MORIOKA Tomohiko  <tomo@m17n.org>
4300
4301         * mule-charset.c (Vcharset_mojikyo): New variable.
4302         (Fdefine_char): Don't use coded-charset which does not have
4303         non-builtin character range to allocate character-id.
4304         (Qmojikyo): New variable.
4305         (syms_of_mule_charset): Add new symbol `mojikyo'.
4306         (complex_vars_of_mule_charset): Add new coded-charset `mojikyo'.
4307
4308         * char-ucs.h (LEADING_BYTE_DAIKANWA_EKANJI): New macro.
4309         (LEADING_BYTE_MOJIKYO): New macro.
4310         (MIN_CHAR_MOJIKYO): New macro.
4311         (MIN_CHAR_DAIKANWA): Use `MIN_CHAR_MOJIKYO'.
4312         (MAX_CHAR_MOJIKYO): New macro.
4313
4314 2000-02-12  MORIOKA Tomohiko  <tomo@m17n.org>
4315
4316         * mule-charset.c (remove_char_attribute): Fixed.
4317
4318 2000-02-08  MORIOKA Tomohiko  <tomo@m17n.org>
4319
4320         * mule-charset.c (remove_char_attribute): New function.
4321         (Fremove_char_attribute): New function.
4322         (encode_builtin_char_1): Comment out builtin-support for
4323         greek-iso8859-7 and cyrillic-iso8859-5.
4324         (Fdecode_char): Check `code' is an integer.
4325         (syms_of_mule_charset): Add `remove-char-attribute'.
4326         (MIN_CHAR_GREEK): Deleted.
4327         (MAX_CHAR_GREEK): Likewise.
4328         (MIN_CHAR_CYRILLIC): Likewise.
4329         (MAX_CHAR_CYRILLIC): Likewise.
4330         (complex_vars_of_mule_charset): Don't use MIN_CHAR_GREEK and
4331         MAX_CHAR_GREEK for `greek-iso8859-7'.
4332
4333         * char-ucs.h (MIN_CHAR_GREEK): Comment out.
4334         (MAX_CHAR_GREEK): Likewise.
4335         (MIN_CHAR_CYRILLIC): Likewise.
4336         (MAX_CHAR_CYRILLIC): Likewise.
4337
4338 2000-02-02  MORIOKA Tomohiko  <tomo@m17n.org>
4339
4340         * mule-charset.c (Fdefine_char): Fix problem when new code-point
4341         format is used without `ucs' property.
4342         (Fdecode_char): Fix problem with GR representation.
4343         (complex_vars_of_mule_charset): Don't use `MIN_CHAR_CYRILLIC' and
4344         `MAX_CHAR_CYRILLIC' as range of builtin `cyrillic-iso8859-5'.
4345
4346 2000-01-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
4347
4348         * mule-charset.c (make_builtin_char): New function.
4349         (encode_builtin_char_1): Check ISO-2022-charset is defined or not.
4350         (Fset_charset_mapping_table): Modify for new representation of
4351         code-point.
4352         (Fdecode_char): New function.
4353         (syms_of_mule_charset): Add new builtin function `decode-char' in
4354         UTF-2000.
4355
4356         * char-ucs.h (make_builtin_char): New prototype.
4357         (DECODE_CHAR): New inline function.
4358         (MAKE_CHAR): Use `DECODE_CHAR'.
4359
4360 2000-01-28  MORIOKA Tomohiko  <tomo@m17n.org>
4361
4362         * text-coding.c (parse_charset_conversion_specs): Use
4363         `XCHARSET_CHARS' and `XCHARSET_DIMENSION' instead of
4364         `XCHARSET_TYPE'.
4365         (iso2022_designate): Likewise.
4366
4367         * chartab.c (decode_char_table_range): Use `XCHARSET_CHARS' and
4368         `XCHARSET_DIMENSION' instead of `XCHARSET_TYPE'.
4369
4370         * mule-charset.c (Vcharset_ucs): New variable.
4371         (print_charset): Change design; use `CHARSET_CHARS' and
4372         `CHARSET_DIMENSION' instead of `CHARSET_TYPE'.
4373         (make_charset): Change signature to specify `chars' and
4374         `dimension' instead of `type'.
4375         (range_charset_code_point): Modify for 256^n-set.
4376         (encode_builtin_char_1): Encode as `ucs' in default.
4377         (Fmake_charset): Modify for `make_charset'.
4378         (Fmake_reverse_direction_charset): Likewise.
4379         (Fsplit_char): Use `ENCODE_CHAR' instead of `BREAKUP_CHAR' in
4380         UTF-2000.
4381         (complex_vars_of_mule_charset): Add coded-charset `ucs'; modify
4382         for `make_charset'.
4383
4384         * char-ucs.h (Vcharset_ucs): New variable.
4385         (LEADING_BYTE_UCS): New macro.
4386         (struct Lisp_Charset): Delete `type'; change type of `dimension'
4387         and `chars' to `unsigned short' from `unsigned int'.
4388         (CHARSET_TYPE): Deleted.
4389         (XCHARSET_TYPE): Deleted.
4390
4391 2000-01-27  MORIOKA Tomohiko  <tomo@m17n.org>
4392
4393         * mule-charset.c (charset_code_point): Moved to char-ucs.h.
4394
4395         * char-ucs.h (charset_code_point): Moved from mule-charset.c.
4396         (ENCODE_CHAR): New macro.
4397
4398 2000-01-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
4399
4400         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
4401         to 0.14 (Kawachi-Katakami).
4402
4403 2000-01-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
4404
4405         * text-coding.c (char_encode_shift_jis): Modify for
4406         `charset_code_point'.
4407         (char_encode_iso2022): Likewise.
4408
4409         * mule-charset.c (Fput_char_attribute): Use <Lisp_Object>
4410         (integer) instead of list of <Lisp_Object>s (integers) as the
4411         format of code-point of a coded-charset.
4412         (range_charset_code_point): Return <int> instead of <Lisp_Object>.
4413         (encode_builtin_char_1): New function; delete
4414         `split_builtin_char'.
4415         (charset_code_point): Return <int> instead of <Lisp_Object>.
4416         (Fsplit_char): Don't use `SPLIT_CHAR'.
4417
4418         * char-ucs.h (encode_builtin_char_1): New prototype; delete
4419         prototype for `split_builtin_char'.
4420         (range_charset_code_point): Return <int> instead of <Lisp_Object>.
4421         (charset_code_point): Likewise.
4422         (encode_char_1): New inline function; delete `SPLIT_CHAR'.
4423         (breakup_char_1): Use `encode_char_1' instead of `SPLIT_CHAR'.
4424
4425 2000-01-20  MORIOKA Tomohiko  <tomo@m17n.org>
4426
4427         * mule-charset.c (complex_vars_of_mule_charset): Don't define
4428         `japanese-jisx0208-1990' in non-UTF-2000 Mule.
4429
4430 2000-01-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
4431
4432         * mule-charset.c (split_builtin_char): Don't support OBS_94x94.
4433
4434         * char-ucs.h (MIN_CHAR_OBS_94x94): Deleted.
4435         (MAX_CHAR_OBS_94x94): Deleted.
4436
4437 2000-01-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
4438
4439         * mule-charset.c (split_builtin_char): Use `MAX_CHAR_BMP'.
4440
4441         * char-ucs.h (MAX_CHAR_BMP): New macro.
4442
4443 2000-01-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
4444
4445         * text-coding.c: Sync with r21-2-24.
4446
4447 2000-01-08  MORIOKA Tomohiko  <tomo@etl.go.jp>
4448
4449         * file-coding.c: Modify for UTF-2000.
4450
4451 2000-01-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
4452
4453         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
4454         to 0.13 (Takaida).
4455
4456 2000-01-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
4457
4458         * mule-charset.c (split_builtin_char): Delete builtin support for
4459         `katakana-jisx0201'.
4460         (complex_vars_of_mule_charset): Don't map `katakana-jisx0201' to
4461         BMP area in builtin representation.
4462
4463         * char-ucs.h (MAKE_CHAR): Delete builtin support for
4464         `Vcharset_katakana_jisx0201'.
4465
4466 1999-12-24  MORIOKA Tomohiko  <tomo@etl.go.jp>
4467
4468         * mule-charset.c (Vcharset_mojikyo_pj_[1 .. 21]): New variable.
4469         (Qisolated): New variable.
4470         (Qinitial): New variable.
4471         (Qmedial): New variable.
4472         (Qfinal): New variable.
4473         (Qvertical): New variable.
4474         (Qsmall): New variable.
4475         (to_char_code): Use `Qisolated', `Qinitial', `Qmedial', `Qfinal',
4476         `Qvertical' and `Qsmall'.
4477         (Qmojikyo_pj_[1 .. 21]): New variable.
4478         (syms_of_mule_charset): Add new symbols `isolated', `initial',
4479         `medial', `final', `vertical', `small' and `mojikyo-pj-[1 .. 21]'.
4480         (complex_vars_of_mule_charset): Add new charset `mojikyo-pj-[1
4481         .. 21]'.
4482
4483 1999-11-23  MORIOKA Tomohiko  <tomo@etl.go.jp>
4484
4485         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x60.
4486         (LEADING_BYTE_MOJIKYO_PJ_[1 .. 21]): New macros.
4487         (MAX_LEADING_BYTE_PRIVATE): Changed to `(CHARSET_ID_OFFSET - 32)'.
4488
4489 1999-11-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
4490
4491         * mule-charset.c (Vcharset_japanese_jisx0208_1990): New variable.
4492         (Fdefine_char): Use Group 00 Plane 10 for non-coded variants of
4493         BMP.
4494         (Qjapanese_jisx0208_1990): New variable.
4495         (syms_of_mule_charset): Add new symbol `Qjapanese_jisx0208_1990'.
4496         (complex_vars_of_mule_charset): Add new coded-charset
4497         `japanese-jisx0208-1990'.
4498
4499         * char-ucs.h (LEADING_BYTE_JAPANESE_JISX0208_1990): New macro.
4500         (MIN_CHAR_JIS_X0208_1990): New macro.
4501         (MAX_CHAR_JIS_X0208_1990): New macro.
4502
4503 1999-11-16  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4504
4505         * text-coding.c (char_encode_iso2022): Output `~' if ISO 2022
4506         coded-charset is not found.
4507
4508 1999-11-16  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4509
4510         * mule-charset.c (Fget_char_attribute): Forgot to `CHECK_CHAR'.
4511         (Fdefine_char): Use `Fmake_char'.
4512
4513 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4514
4515         * mule-charset.c (Vcharset_ideograph_daikanwa): New variable.
4516         (Vcharset_hiragana_jisx0208): Deleted.
4517         (Vcharset_katakana_jisx0208): Deleted.
4518         (Qideograph_daikanwa): New variable.
4519         (Qhiragana_jisx0208): Deleted.
4520         (Qkatakana_jisx0208): Deleted.
4521         (split_builtin_char): Split `ideograph-daikanwa'.
4522         (Fsplit_char): New implementation for UTF-2000.
4523         (syms_of_mule_charset): Add new symbol `ideograph-daikanwa';
4524         delete symbol `hiragana-jisx0208' and `katakana-jisx0208'.
4525         (complex_vars_of_mule_charset): Add new coded-charset
4526         `ideograph-daikanwa'; delete coded-charset `hiragana-jisx0208' and
4527         `katakana-jisx0208'.
4528
4529         * char-ucs.h (LEADING_BYTE_DAIKANWA): New macro.
4530         (LEADING_BYTE_HIRAGANA_JISX0208): Deleted.
4531         (LEADING_BYTE_KATAKANA_JISX0208): Deleted.
4532         (MIN_CHAR_DAIKANWA): New macro.
4533         (MAX_CHAR_DAIKANWA): New macro.
4534
4535 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4536
4537         * data.c (Fstring_to_number): Don't recognize floating point if
4538         base is not 10.
4539
4540 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4541
4542         * mule-charset.c (Fput_char_attribute): Forgot to `CHECK_CHAR'.
4543
4544 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4545
4546         * mule-charset.c (Qsquare): New variable.
4547         (to_char_code): Add `Qsquare'.
4548         (syms_of_mule_charset): Add new symbol `square'.
4549
4550 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4551
4552         * mule-charset.c (Qcircle): New variable.
4553         (to_char_code): Add `Qcircle'.
4554         (syms_of_mule_charset): Add new symbol `circle'.
4555
4556 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4557
4558         * mule-charset.c (Qfont): New variable.
4559         (to_char_code): Add `Qfont'.
4560         (syms_of_mule_charset): Add new symbol `font'.
4561
4562 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4563
4564         * mule-charset.c (Qsub): New variable.
4565         (to_char_code): Add `Qsub'.
4566         (syms_of_mule_charset): Add new symbol `sub'.
4567
4568 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4569
4570         * mule-charset.c (Fput_char_attribute): Convert each element of
4571         VALUE to GL position if ATTRIBUTE is a GR-set,
4572
4573 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4574
4575         * mule-charset.c (Fput_char_attribute): Allow GR code-point if a
4576         coded-charset is a GR-set.
4577
4578 1999-11-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4579
4580         * mule-charset.c (Fput_char_attribute): Check each element of
4581         VALUE is a byte if ATTRIBUTE is a coded-charset or its name.
4582
4583 1999-11-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4584
4585         * mule-charset.c (Vcharset_ethiopic_ucs): New variable in
4586         UTF-2000.
4587         (Qethiopic_ucs): New variable in UTF-2000.
4588         (syms_of_mule_charset): Add new symbol `ethiopic-ucs' in UTF-2000.
4589         (complex_vars_of_mule_charset): Add new coded-charset
4590         `ethiopic-ucs' in UTF-2000.
4591
4592         * char-ucs.h (LEADING_BYTE_ETHIOPIC_UCS): New macro.
4593         (LEADING_BYTE_HIRAGANA_JISX0208): Changed to `(CHARSET_ID_OFFSET -
4594         9)'.
4595         (LEADING_BYTE_KATAKANA_JISX0208): Changed to `(CHARSET_ID_OFFSET -
4596         10)'.
4597         (LEADING_BYTE_PRIVATE): Changed to `(CHARSET_ID_OFFSET - 11)'.
4598
4599 1999-11-13  MORIOKA Tomohiko  <tomo@etl.go.jp>
4600
4601         * mule-charset.c (Fset_charset_mapping_table): Fix problem with
4602         `ascii'.
4603
4604 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4605
4606         * mule-charset.c (Vcharacter_variant_table): New variable.
4607         (Q_ucs): New variable.
4608         (Fchar_variants): New function.
4609         (Fput_char_attribute): Register `->ucs' value to
4610         `Vcharacter_variant_table'.
4611         (syms_of_mule_charset): Add new function `char-variants' and new
4612         symbol `->ucs'.
4613         (vars_of_mule_charset): Setup `Vcharacter_variant_table'.
4614
4615 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4616
4617         * mule-charset.c (get_char_code_table): Allow negative character
4618         code.
4619         (put_char_code_table): Likewise.
4620         (Vcharacter_composition_table): New variable.
4621         (Q_decomposition): New variable.
4622         (Qwide): New variable.
4623         (Qnarrow): New variable.
4624         (Qcompat): New variable.
4625         (QnoBreak): New variable.
4626         (Qsuper): New variable.
4627         (Qfraction): New variable.
4628         (to_char_code): New function.
4629         (Fget_composite_char): New function.
4630         (Fput_char_attribute): Register `->decomposition' value to
4631         `Vcharacter_composition_table'.
4632         (syms_of_mule_charset): Add new function `get-composite-char', new
4633         symbol `->decomposition', `wide', `narrow', `compat', `noBreak',
4634         `super' and `fraction'.
4635         (vars_of_mule_charset): Setup `Vcharacter_composition_table'.
4636
4637 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4638
4639         * mule-charset.c (Fchar_attribute_alist): Check the argument is a
4640         character; copy the return value.
4641
4642 1999-11-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
4643
4644         * char-ucs.h (SPLIT_CHAR): Use `split_builtin_char'.
4645
4646         * mule-charset.c (range_charset_code_point): Must use make_int.
4647         (split_builtin_char): New function.
4648
4649 1999-11-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
4650
4651         * mule-charset.c (char_byte_table): Change name from
4652         "char-code-table" to "char-byte-table".
4653         (mark_char_code_table): New function.
4654         (char_code_table_equal): New function.
4655         (char_code_table_hash): New function.
4656         (char_code_table_description): New constant.
4657         (char_code_table): New type.
4658         (make_char_code_table): New function.
4659         (copy_char_code_table): New function.
4660         (get_char_code_table): Modify for `char_code_table' type.
4661         (put_char_code_table): Likewise.
4662         (vars_of_mule_charset): Update `utf-2000-version' to 0.12
4663         (Kashiwara).
4664
4665         * char-ucs.h (char_code_table): New type.
4666         (XCHAR_CODE_TABLE): New macro.
4667         (XSETCHAR_CODE_TABLE): New macro.
4668         (CHAR_CODE_TABLE_P): New macro.
4669         (GC_CHAR_CODE_TABLE_P): New macro.
4670         (struct Lisp_Char_Code_Table): New structure.
4671
4672 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
4673
4674         * mule-charset.c (Fmake_charset): Setup byte_offset for
4675         {94|96}^n-set.
4676
4677 1999-11-09  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4678
4679         * mule-charset.c (Fdefine_char): Fix problem with non-UCS
4680         character.
4681
4682 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
4683
4684         * char-ucs.h (SPLIT_CHAR): Don't make new cell if a charset slot
4685         is found.
4686
4687 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
4688
4689         * mule-charset.c (Fget_char_attribute): If ATTRIBUTE is a name of
4690         charset, it is regarded as a charset.
4691         (put_char_attribute): New function in UTF-2000.
4692         (Fput_char_attribute): If ATTRIBUTE is a charset or a name of
4693         charset, mapping-table of the charset is modified.
4694         (Fdefine_char): New function in UTF-2000.
4695         (Fset_charset_mapping_table): Use `put_char_attribute' instead of
4696         `Fput_char_attribute'.
4697         (syms_of_mule_charset): Add new function `define-char' and new
4698         symbol `ucs' in UTF-2000.
4699         (vars_of_mule_charset): Update `utf-2000-version' to 0.11 (Shiki).
4700
4701 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
4702
4703         * mule-charset.c (Fcharset_name): Define `byte_offset' in
4704         non-UTF-2000 configuration.
4705
4706 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
4707
4708         * text-coding.c (char_encode_shift_jis): Use `charset_code_point'
4709         not to use `XCHARSET_ENCODING_TABLE (Vcharset_latin_jisx0201)'.
4710
4711         * mule-charset.c (mark_charset): `cs->encoding_table' has been
4712         deleted.
4713         (make_charset): Don't use `CHARSET_ENCODING_TABLE(cs)'.
4714         (Fset_charset_mapping_table): Likewise.
4715
4716         * char-ucs.h (struct Lisp_Charset): Delete `encoding_table'.
4717         (CHARSET_ENCODING_TABLE): Delete.
4718         (XCHARSET_ENCODING_TABLE): Delete.
4719         (charset_code_point): New interface.
4720
4721 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
4722
4723         * text-coding.c (char_encode_iso2022): Use `charset_code_point'
4724         instead of `charset_get_byte1' and `charset_get_byte2'.
4725
4726         * mule-charset.c, char-ucs.h (charset_get_byte1): Deleted.
4727         (charset_get_byte2): Deleted.
4728
4729 1999-10-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
4730
4731         * char-ucs.h (SPLIT_CHAR): New inline function.
4732         (breakup_char_1): Use `SPLIT_CHAR'.
4733
4734         * mule-charset.c (range_charset_code_point): New function.
4735         (charset_code_point): New function.
4736
4737         * char-ucs.h (range_charset_code_point): New interface.
4738         (breakup_char_1): Use `range_charset_code_point'.
4739
4740 1999-10-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
4741
4742         * mule-charset.c (Fmake_charset): Delete unused local variable
4743         `code_offset'.
4744
4745         * char-ucs.h (Vcharacter_attribute_table): New extern variable.
4746         (breakup_char_1): Find a charset and code-point in
4747         `Vcharacter_attribute_table'.
4748
4749 1999-10-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
4750
4751         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
4752         to 0.10 (Yao).
4753
4754 1999-10-25  MORIOKA Tomohiko  <tomo@etl.go.jp>
4755
4756         * mule-charset.c (Vcharacter_attribute_table): New variable.
4757         (Fchar_attribute_alist): New function.
4758         (Fget_char_attribute): New function.
4759         (Fput_char_attribute): New function.
4760         (Fset_charset_mapping_table): Setup `Vcharacter_attribute_table'
4761         too.
4762         (syms_of_mule_charset): Add new function `char-attribute-alist',
4763         `get-char-attribute' and `put-char-attribute'.
4764         (vars_of_mule_charset): Setup `Vcharacter_attribute_table'.
4765
4766 1999-10-19  MORIOKA Tomohiko  <tomo@etl.go.jp>
4767
4768         * mule-charset.c (Fmake_charset): Just use
4769         `get_unallocated_leading_byte'.
4770
4771         * char-ucs.h (LEADING_BYTE_*): Use ISO-IR numbers for official
4772         sets; don't use final-byte based number for private sets.
4773
4774 1999-10-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
4775
4776         * doprnt.c (emacs_doprnt_1): Fix problem with %0XXd for a negative
4777         integer.
4778
4779 1999-10-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
4780
4781         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
4782         to 0.9.
4783
4784 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4785
4786         * regex.c (compile_extended_range): Use `CHAR_CHARSET_ID' instead
4787         of `CHAR_LEADING_BYTE' in UTF-2000.
4788
4789         * insdel.c (find_charsets_in_bufbyte_string): Use
4790         `CHAR_CHARSET_ID' instead of `CHAR_LEADING_BYTE' in UTF-2000.
4791         (find_charsets_in_emchar_string): Likewise.
4792
4793         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use
4794         `CHAR_CHARSET_ID' instead of `CHAR_LEADING_BYTE' in UTF-2000.
4795
4796         * char-ucs.h (CHAR_LEADING_BYTE): Deleted.
4797         (CHAR_CHARSET_ID): New macro.
4798
4799 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4800
4801         * chartab.c (get_char_table): Don't use type `Charset_ID' for
4802         charset-id - MIN_LEADING_BYTE.
4803         (put_char_table): Likewise.
4804
4805 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4806
4807         * char-ucs.h (MIN_LEADING_BYTE): Changed to `-0x40'.
4808         (NUM_LEADING_BYTES): Changed to (80 * 3 - MIN_LEADING_BYTE).
4809         (CHARSET_LEADING_BYTE): Don't cast by `Bufbyte'.
4810         (CHARSET_ID_OFFSET): New macro.
4811         (LEADING_BYTE_CONTROL_1): Changed to (CHARSET_ID_OFFSET - 1).
4812         (LEADING_BYTE_UCS_BMP): Changed to (CHARSET_ID_OFFSET - 2).
4813         (LEADING_BYTE_LATIN_VISCII): Changed to (CHARSET_ID_OFFSET - 3).
4814         (LEADING_BYTE_HIRAGANA_JISX0208): Changed to (CHARSET_ID_OFFSET -
4815         4).
4816         (LEADING_BYTE_KATAKANA_JISX0208): Changed to (CHARSET_ID_OFFSET -
4817         5).
4818         (MIN_LEADING_BYTE_PRIVATE): Changed to `MIN_LEADING_BYTE'.
4819         (MAX_LEADING_BYTE_PRIVATE): Changed to (CHARSET_ID_OFFSET - 6).
4820         (CHARSET_ID_OFFSET_94): Changed to (CHARSET_ID_OFFSET - '0').
4821         (CHARSET_ID_OFFSET_96): Changed to (CHARSET_ID_OFFSET_94 + 80).
4822         (CHARSET_ID_OFFSET_94x94): Changed to (CHARSET_ID_OFFSET_96 + 80).
4823
4824 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4825
4826         * mule-charset.c (next_allocated_leading_byte): New variable in
4827         UTF-2000.
4828         (next_allocated_1_byte_leading_byte): Don't define in UTF-2000.
4829         (next_allocated_2_byte_leading_byte): Don't define in UTF-2000.
4830         (get_unallocated_leading_byte): Simply use
4831         `next_allocated_leading_byte' [ignore dimension] in UTF-2000.
4832         (vars_of_mule_charset): Setup `next_allocated_leading_byte' in
4833         UTF-2000.
4834
4835         * char-ucs.h (MIN_LEADING_BYTE_PRIVATE): New macro.
4836         (MAX_LEADING_BYTE_PRIVATE): New macro.
4837         (MIN_LEADING_BYTE_OFFICIAL_2): Deleted.
4838         (MAX_LEADING_BYTE_OFFICIAL_2): Deleted.
4839
4840 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4841
4842         * mule-charset.c (Fmake_charset): Allocate final-byte based
4843         charset-id for 94-set, 96-set and 94x94-set.
4844
4845 1999-10-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
4846
4847         * mule-charset.c (char_byte_table_equal): Fill braces to avoid
4848         ambiguous `else'.
4849         (Fmake_charset): Likewise.
4850         (complex_vars_of_mule_charset): Modify the font registry of
4851         `ucs-bmp' not to match `Ethiopic-Unicode'.
4852
4853 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4854
4855         * mule-charset.c (complex_vars_of_mule_charset): Add font
4856         registory of `ucs-bmp'.
4857
4858 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4859
4860         * text-coding.c (char_encode_iso2022): Ignore non-ISO-2022
4861         coded-charsets in `default-coded-charset-priority-list' when
4862         breaking up a character.
4863
4864         * mule-charset.c (Vcharset_latin_viscii): New variable.
4865         (Qlatin_viscii): New variable.
4866         (make_charset): Don't use `decoding_table'.
4867         (Fmake_charset): Regard graphic = 2 as 256^n-set; setup
4868         byte_offset.
4869         (Fset_charset_mapping_table): New implementation.
4870         (syms_of_mule_charset): Add new symbol `latin-viscii'.
4871         (complex_vars_of_mule_charset): Set `graphic' attribute of charset
4872         `ucs-bmp' and `latin_viscii' to 2; change font registry of charset
4873         `latin-viscii-lower' to "MULEVISCII-LOWER"; change font registry
4874         of charset `latin-viscii-upper' to "MULEVISCII-UPPER"; add new
4875         charset `latin_viscii'.
4876
4877         * char-ucs.h (LEADING_BYTE_LATIN_VISCII): New macro.
4878         (CHARSET_TYPE_94X94): Change to 1 from 2.
4879         (CHARSET_TYPE_96): Change to 2 from 1.
4880         (CHARSET_TYPE_128): New macro.
4881         (CHARSET_TYPE_128X128): Change to 5 from 4.
4882         (CHARSET_TYPE_256): New macro.
4883         (CHARSET_TYPE_256X256): Change to 7 from 5.
4884         (MAKE_CHAR): Use `XCHARSET_BYTE_OFFSET(charset)'.
4885
4886 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4887
4888         * text-coding.c (char_encode_shift_jis): Refer
4889         `XCHARSET_ENCODING_TABLE(Vcharset_latin_jisx0201)' instead of
4890         `XCHARSET_TO_BYTE1_TABLE(Vcharset_latin_jisx0201)'.
4891
4892         * mule-charset.c (mark_char_byte_table): New function in UTF-2000.
4893         (char_byte_table_equal): New function in UTF-2000.
4894         (char_byte_table_hash): New function in UTF-2000.
4895         (char_byte_table_description): New constant in UTF-2000.
4896         (char_byte_table): New type in UTF-2000.
4897         (make_char_byte_table): New function in UTF-2000.
4898         (copy_char_byte_table): New function in UTF-2000.
4899         (make_char_code_table): New macro in UTF-2000.
4900         (get_char_code_table): New function in UTF-2000.
4901         (put_char_code_table): New function in UTF-2000.
4902         (mark_charset): Mark `cs->encoding_table' in UTF-2000.
4903         (charset_description): Add setting in UTF-2000.
4904         (make_charset): Setup `CHARSET_ENCODING_TABLE(cs)' instead of
4905         `CHARSET_TO_BYTE1_TABLE(cs)'.
4906         (charset_get_byte1): Refer `XCHARSET_ENCODING_TABLE(charset)'
4907         instead of `XCHARSET_TO_BYTE1_TABLE(charset)'.
4908         (charset_get_byte2): Refer `XCHARSET_ENCODING_TABLE(charset)'
4909         instead of `XCHARSET_TO_BYTE2_TABLE(charset)'.
4910         (Fset_charset_mapping_table): Setup `CHARSET_ENCODING_TABLE(cs)'
4911         instead of `CHARSET_TO_BYTE1_TABLE(cs)' and
4912         `CHARSET_TO_BYTE2_TABLE(cs)'.
4913
4914         * char-ucs.h (char_byte_table): New type.
4915         (XCHAR_BYTE_TABLE): New macro.
4916         (XSETCHAR_BYTE_TABLE): New macro.
4917         (CHAR_BYTE_TABLE_P): New macro.
4918         (GC_CHAR_BYTE_TABLE_P): New macro.
4919         (struct Lisp_Char_Byte_Table): New structure.
4920         (get_char_code_table): New interface.
4921         (Emchar_to_byte_table): Deleted.
4922         (get_byte_from_character_table): Deleted.
4923         (struct Lisp_Charset): Add `encoding_table'; delete
4924         `to_byte1_table' and `to_byte2_table'.
4925         (CHARSET_ENCODING_TABLE): New macro.
4926         (CHARSET_TO_BYTE1_TABLE): Deleted.
4927         (CHARSET_TO_BYTE2_TABLE): Deleted.
4928         (XCHARSET_ENCODING_TABLE): New macro.
4929         (XCHARSET_TO_BYTE1_TABLE): Deleted.
4930         (XCHARSET_TO_BYTE2_TABLE): Deleted.
4931
4932 1999-10-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
4933
4934         * mule-charset.c (syms_of_mule_charset): Delete charset alias
4935         `vietnamese-viscii-*'.
4936
4937 1999-10-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
4938
4939         * mule-charset.c (Qvietnamese_viscii_lower): New variable.
4940         (Qvietnamese_viscii_upper): New variable.
4941         (Fdefine_charset_alias): New function.
4942         (syms_of_mule_charset): Add new function `define-charset-alias'.
4943         (syms_of_mule_charset): Rename charset `vietnamese-viscii-*' to
4944         `latin-viscii-*'; define `vietnamese-viscii-*' as aliases for
4945         `latin-viscii-*'.
4946
4947 1999-10-04  MORIOKA Tomohiko  <tomo@etl.go.jp>
4948
4949         * char-ucs.h (MIN_CHAR_OBS_94x94): New macro.
4950         (MAX_CHAR_OBS_94x94): New macro.
4951         (breakup_char_1): Support obsolete XEmacs-UCS private code space
4952         for 94x94 sets.
4953
4954         * mule-charset.c (put_byte_from_character_table): Change unit size
4955         from 128 to 256.
4956         (mark_charset): Don't mark `cs->decoding_table' if `UTF2000' is
4957         not defined.
4958         (Fmake_reverse_direction_charset): Modify dummy argument of
4959         `make_charset' for non-UTF-2000 environment.
4960
4961 1999-10-03  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4962
4963         * char-ucs.h (MAKE_CHAR): Allow nested decoding-table.
4964
4965         * mule-charset.c (destroy_byte_from_character_table): New macro.
4966         (latin_jisx0201_to_ucs): Deleted.
4967         (latin_iso8859_2_to_ucs): Deleted.
4968         (latin_iso8859_3_to_ucs): Deleted.
4969         (latin_iso8859_4_to_ucs): Deleted.
4970         (latin_iso8859_9_to_ucs): Deleted.
4971         (latin_viscii_lower_to_ucs): Deleted.
4972         (latin_viscii_upper_to_ucs): Deleted.
4973         (mark_charset): Mark `cs->decoding_table'.
4974         (Fcharset_mapping_table): Fix DOC-string.
4975         (Fset_charset_mapping_table): New function.
4976         (syms_of_mule_charset): Add nwe function
4977         `set-charset-mapping-table'.
4978         (complex_vars_of_mule_charset): Don't setup and use
4979         `latin_*_to_ucs'.
4980
4981 1999-10-01  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4982
4983         * char-ucs.h (MAKE_CHAR): Check the result for range-represented
4984         charset.
4985
4986 1999-09-30  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4987
4988         * mule-charset.c (Vcharset_hiragana_jisx0208): New variable.
4989         (Vcharset_katakana_jisx0208): New variable.
4990         (Qhiragana_jisx0208): New variable.
4991         (Qkatakana_jisx0208): New variable.
4992         (make_charset): Add new argument `byte_offset'.
4993         (charset_get_byte1): Modify for new coded-charset definition; use
4994         `XCHARSET_UCS_MIN', `XCHARSET_UCS_MAX', `XCHARSET_CODE_OFFSET' and
4995         `XCHARSET_BYTE_OFFSET'.
4996         (Fmake_charset): Modify for `make_charset'.
4997         (Fmake_reverse_direction_charset): Likewise.
4998         (syms_of_mule_charset): Add new symbols `hiragana-jisx0208' and
4999         `katakana-jisx0208'.
5000         (complex_vars_of_mule_charset): Modify for `make_charset'; quote
5001         `.'  in font registry of charset `katakana-jisx0201',
5002         `latin-jisx0201', `vietnamese-viscii-lower' and
5003         `vietnamese-viscii-upper'; modify DOC-string of charset
5004         `japanese-jisx0208-1978' and `japanese-jisx0208'; modify font
5005         registry of charset `japanese-jisx0208' not to use font for JIS
5006         X0208:1990; add new charset `hiragana-jisx0208' and
5007         `katakana-jisx0208'.
5008
5009         * char-ucs.h (LEADING_BYTE_HIRAGANA_JISX0208): New macro.
5010         (LEADING_BYTE_KATAKANA_JISX0208): New macro.
5011         (struct Lisp_Charset): Add `byte_offset'.
5012         (CHARSET_BYTE_OFFSET): New macro.
5013         (XCHARSET_UCS_MIN): New macro.
5014         (XCHARSET_UCS_MAX): New macro.
5015         (XCHARSET_CODE_OFFSET): New macro.
5016         (XCHARSET_BYTE_OFFSET): New macro.
5017         (MIN_CHAR_HIRAGANA): New macro.
5018         (MAX_CHAR_HIRAGANA): New macro.
5019         (MIN_CHAR_KATAKANA): New macro.
5020         (MAX_CHAR_KATAKANA): New macro.
5021         (MAKE_CHAR): Modify for new coded-charset definition; use
5022         `XCHARSET_UCS_MIN', `XCHARSET_UCS_MAX', `XCHARSET_CODE_OFFSET' and
5023         `XCHARSET_BYTE_OFFSET'.
5024
5025 1999-09-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
5026
5027         * mule-charset.c (CHAR96): Deleted.
5028         (latin_jisx0201_to_ucs): Type is changed from array of <Emchar> to
5029         <Lisp_Object>.
5030         (latin_iso8859_2_to_ucs): Likewise.
5031         (latin_iso8859_3_to_ucs): Likewise.
5032         (latin_iso8859_4_to_ucs): Likewise.
5033         (latin_iso8859_9_to_ucs): Likewise.
5034         (latin_viscii_lower_to_ucs): Likewise.
5035         (latin_viscii_upper_to_ucs): Likewise.
5036         (latin_tcvn5712_to_ucs): Commented out.
5037         (make_charset): Change type of argument `decoding_table' from
5038         <Emchar*> to <Lisp_Object> [vector of characters].
5039         (Fmake_charset): Modify for `make_charset'.
5040         (Fmake_reverse_direction_charset): Likewise.
5041         (Fcharset_mapping_table): New function in UTF-2000.
5042         (syms_of_mule_charset): Setup `Fcharset_mapping_table' in
5043         UTF-2000.
5044         (complex_vars_of_mule_charset): Modify for type change of
5045         `*_to_ucs'; modify for `make_charset'.
5046
5047         * char-ucs.h (struct Lisp_Charset): Change type of
5048         `decoding_table' from <Emchar*> to <Lisp_Object>.
5049         (MAKE_CHAR): Modify for new specification of `decoding_table'.
5050
5051 1999-09-23  MORIOKA Tomohiko  <tomo@etl.go.jp>
5052
5053         * mule-charset.c (Fmake_reverse_direction_charset): Fix compile
5054         error with non-UTF-2000-Mule.
5055
5056 1999-09-21  MORIOKA Tomohiko  <tomo@etl.go.jp>
5057
5058         * mule-charset.c (Vcharset_chinese_cns11643_3): Deleted [defined
5059         in lisp again].
5060         (Vcharset_chinese_cns11643_4): Likewise.
5061         (Vcharset_chinese_cns11643_5): Likewise.
5062         (Vcharset_chinese_cns11643_6): Likewise.
5063         (Vcharset_chinese_cns11643_7): Likewise.
5064         (Qchinese_cns11643_3): Likewise.
5065         (Qchinese_cns11643_4): Likewise.
5066         (Qchinese_cns11643_5): Likewise.
5067         (Qchinese_cns11643_6): Likewise.
5068         (Qchinese_cns11643_7): Likewise.
5069         (syms_of_mule_charset): Move definitions for `chinese-cns11643-3',
5070         `chinese-cns11643-4', `chinese-cns11643-5', `chinese-cns11643-6'
5071         and `chinese-cns11643-7' to lisp/mule/chinese.el.
5072         (complex_vars_of_mule_charset): Likewise.
5073
5074 1999-09-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
5075
5076         * mule-charset.c (charset_get_byte1): Fix bug about 94- and
5077         96-set.
5078         (Fmake_reverse_direction_charset): Inherit CHARSET_DECODING_TABLE,
5079         CHARSET_UCS_MIN, CHARSET_UCS_MAX and CHARSET_CODE_OFFSET.
5080
5081 1999-09-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
5082
5083         * char-ucs.h (MIN_CHAR_HALFWIDTH_KATAKANA): Changed to 0xFF61 from
5084         0xFF60.
5085         (MAKE_CHAR): Change offset for katakana-jisx0201 to 33 from 0x20.
5086         (breakup_char_1): Likewise.
5087
5088         * text-coding.c (char_encode_iso2022): Keep designated charsets if
5089         one of them includes the specified character.
5090
5091 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
5092
5093         * mule-charset.c: Update `utf-2000-version' to 0.8 (Kami).
5094
5095 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
5096
5097         * char-ucs.h (MAKE_CHAR): Fix problem in 2-dimension charset.
5098
5099 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
5100
5101         * mule-charset.c (latin_iso8859_2_to_ucs NULL): Add pseudo
5102         definition for non-UTF-2000 Mule.
5103         (latin_iso8859_3_to_ucs): Likewise.
5104         (latin_iso8859_4_to_ucs): Likewise.
5105         (latin_iso8859_9_to_ucs): Likewise.
5106         (latin_jisx0201_to_ucs): Likewise.
5107         (MIN_CHAR_THAI): Likewise.
5108         (MAX_CHAR_THAI): Likewise.
5109         (MIN_CHAR_GREEK): Likewise.
5110         (MAX_CHAR_GREEK): Likewise.
5111         (MIN_CHAR_HEBREW): Likewise.
5112         (MAX_CHAR_HEBREW): Likewise.
5113         (MIN_CHAR_HALFWIDTH_KATAKANA): Likewise.
5114         (MAX_CHAR_HALFWIDTH_KATAKANA): Likewise.
5115         (MIN_CHAR_CYRILLIC): Likewise.
5116         (MAX_CHAR_CYRILLIC): Likewise.
5117
5118 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
5119
5120         * char-ucs.h (breakup_char_1): Use
5121         `Vdefault_coded_charset_priority_list' for hebrew-iso8859-8,
5122         thai-tis620 and katakana-jisx0201 area.
5123
5124 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5125
5126         * char-ucs.h (breakup_char_1): Use
5127         `Vdefault_coded_charset_priority_list' for cyrillic-iso8859-5
5128         area.
5129
5130         * text-coding.c (reset_encoding_stream): Fixed.
5131         (char_encode_ucs4): Delete `& 255'.
5132
5133         * char-ucs.h (breakup_char_1): Use
5134         `Vdefault_coded_charset_priority_list' for greek-iso8859-7 area.
5135
5136 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5137
5138         * file-coding.c (Fmake_coding_system): Don't set up
5139         `codesys->fixed.size'.
5140         (encode_coding_no_conversion): Don't refer
5141         `str->codesys->fixed.size'.
5142
5143 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5144
5145         * mule-charset.c, char-ucs.h (latin_a_char_to_charset): Deleted.
5146         (latin_a_char_to_byte1): Deleted.
5147         (latin_a_char_to_byte2): Deleted.
5148
5149 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5150
5151         * mule-charset.c (make_charset): Add new argument `ucs_min',
5152         `ucs_max' and `code_offset'.
5153         (charset_get_byte1): New implementation [delete specific charset
5154         depended implementations].
5155         (Fmake_charset): Modify for `make_charset'.
5156         (Fmake_reverse_direction_charset): Likewise.
5157         (complex_vars_of_mule_charset): Likewise.
5158
5159         * char-ucs.h (struct Lisp_Charset): Add `ucs_min', `ucs_max' and
5160         `code_offset'.
5161         (CHARSET_UCS_MIN): New macro.
5162         (CHARSET_UCS_MAX): New macro.
5163         (CHARSET_CODE_OFFSET): New macro.
5164         (MAKE_CHAR): Delete charset depended definitions [except
5165         katakana-jisx0201].
5166
5167 1999-09-13  MORIOKA Tomohiko  <tomo@etl.go.jp>
5168
5169         * char-ucs.h (breakup_char_1): Use
5170         `Vdefault_coded_charset_priority_list' for C0-Controls,
5171         Basic-Latin, C1-Controls and Latin-1-Supplement area.
5172
5173 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5174
5175         * char-ucs.h (charset_get_byte1): New function.
5176         (XCHARSET_GET_BYTE1): Deleted.
5177         (charset_get_byte2): New function.
5178         (XCHARSET_GET_BYTE2): Deleted.
5179         (Vdefault_coded_charset_priority_list): New external variable.
5180         (breakup_char_1): Use `charset_get_byte1', `charset_get_byte2' and
5181         `Vdefault_preferred_coded_charset_list'.
5182
5183         * mule-charset.c (charset_get_byte1): New function.
5184         (charset_get_byte2): New function.
5185         (Vdefault_coded_charset_priority_list): New variable.
5186         (vars_of_mule_charset): Add new variable
5187         `default-coded-charset-priority-list'.
5188
5189 1999-09-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5190
5191         * char-ucs.h (XCHARSET_GET_BYTE1): New inline function.
5192         (XCHARSET_GET_BYTE2): New inline function.
5193         (breakup_char_1): Use `XCHARSET_GET_BYTE1' and
5194         `XCHARSET_GET_BYTE2'.
5195
5196 1999-09-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5197
5198         * mule-charset.c (make_charset): Initialize
5199         `CHARSET_TO_BYTE1_TABLE(cs)' and `CHARSET_TO_BYTE2_TABLE(cs)' by
5200         NULL if table is not defined.
5201
5202 1999-09-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5203
5204         * text-coding.c (char_encode_shift_jis): Use
5205         `XCHARSET_TO_BYTE1_TABLE' for `Vcharset_latin_jisx0201' instead of
5206         `ucs_to_latin_jisx0201'.
5207
5208         * mule-charset.c (ucs_to_latin_jisx0201): Deleted.
5209         (ucs_to_latin_iso8859_2): Deleted.
5210         (ucs_to_latin_iso8859_3): Deleted.
5211         (ucs_to_latin_iso8859_4): Deleted.
5212         (ucs_to_latin_iso8859_9): Deleted.
5213         (ucs_to_latin_viscii_lower): Deleted.
5214         (ucs_to_latin_viscii_upper): Deleted.
5215         (ucs_to_latin_tcvn5712): Deleted.
5216         (make_charset): Add new argument `decoding_table'; set up
5217         `CHARSET_DECODING_TABLE(cs)' in UTF-2000; set up
5218         `CHARSET_TO_BYTE1_TABLE(cs)' for 94-set and 96-set if
5219         `decoding_table' is defined in UTF-2000.
5220         (Fmake_charset): Modify for `make_charset'.
5221         (Fmake_reverse_direction_charset): Likewise.
5222         (complex_vars_of_mule_charset): Likewise; delete `GENERATE_94_SET'
5223         and `GENERATE_96_SET'.
5224
5225         * char-ucs.h (latin_jisx0201_to_ucs): Deleted.
5226         (ucs_to_latin_jisx0201): Deleted.
5227         (latin_iso8859_2_to_ucs): Deleted.
5228         (ucs_to_latin_iso8859_2): Deleted.
5229         (latin_iso8859_3_to_ucs): Deleted.
5230         (ucs_to_latin_iso8859_3): Deleted.
5231         (latin_iso8859_4_to_ucs): Deleted.
5232         (ucs_to_latin_iso8859_4): Deleted.
5233         (latin_iso8859_9_to_ucs): Deleted.
5234         (ucs_to_latin_iso8859_9): Deleted.
5235         (latin_viscii_lower_to_ucs): Deleted.
5236         (ucs_to_latin_viscii_lower): Deleted.
5237         (latin_viscii_upper_to_ucs): Deleted.
5238         (ucs_to_latin_viscii_upper): Deleted.
5239         (struct Lisp_Charset): Renamed `encoding_table' to
5240         `to_byte1_table'; add `to_byte2_table'.
5241         (CHARSET_DECODING_TABLE): New macro.
5242         (CHARSET_TO_BYTE1_TABLE): New macro.
5243         (CHARSET_TO_BYTE2_TABLE): New macro.
5244         (XCHARSET_DECODING_TABLE): New macro.
5245         (XCHARSET_TO_BYTE1_TABLE): New macro.
5246         (XCHARSET_TO_BYTE2_TABLE): New macro.
5247         (MAKE_CHAR): Use `XCHARSET_DECODING_TABLE'; don't use `*_to_ucs'
5248         tables.
5249         (breakup_char_1): Use `XCHARSET_TO_BYTE1_TABLE' if it is defined;
5250         don't use `ucs_to_*' tables.
5251
5252 1999-09-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5253
5254         * text-coding.c (Fmake_coding_system): Don't set up
5255         `codesys->fixed.size'.
5256         (encode_coding_no_conversion): Use `if' instead of `switch'.
5257
5258         * file-coding.h (struct Lisp_Coding_System): Delete `fixed.size'.
5259
5260 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
5261
5262         * mule-charset.c (make_charset): Delete argument `rep_bytes'.
5263         (Fmake_charset): Modify for `make_charset'.
5264         (Fmake_reverse_direction_charset): Likewise.
5265         (complex_vars_of_mule_charset): Likewise.
5266
5267 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
5268
5269         * text-coding.c (char_encode_shift_jis): Use table
5270         `ucs_to_latin_jisx0201' and BREAKUP_CHAR.
5271
5272 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
5273
5274         * text-coding.c (text_encode_generic): Use `if' instead of
5275         `switch'.
5276         (decode_coding_sjis): Use `MAKE_CHAR' and `DECODE_ADD_UCS_CHAR' to
5277         decode JIS-Latin.
5278
5279 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
5280
5281         * text-coding.c (encode_coding_sjis): Deleted.
5282         (char_encode_shift_jis): New function.
5283         (char_finish_shift_jis): New function.
5284         (reset_encoding_stream): Set up `encode_char' and `finish' for
5285         `CODESYS_UCS4' and `CODESYS_SHIFT_JIS'.
5286         (mule_encode): Use generic encoder for `CODESYS_SHIFT_JIS'.
5287         (char_encode_utf8): Treat `eol_type'.
5288
5289 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
5290
5291         * file-coding.c (decode_coding_iso2022): Use
5292         `DECODE_ADD_UCS_CHAR'; don't use `XCHARSET_REP_BYTES'.
5293
5294 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
5295
5296         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
5297         to 0.7 (Hirano).
5298
5299 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
5300
5301         * char-lb.h (CHAR_COLUMNS): New macro.
5302
5303 1999-09-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
5304
5305         * text-coding.c (char_encode_ucs4): New function.
5306         (char_finish_ucs4): New function.
5307         (encode_coding_ucs4): Deleted.
5308         (mule_encode): Use generic encoder for `CODESYS_UCS4'.
5309         (text_encode_generic): Delete local variable `charset' and `half'.
5310         (ucs_to_mule_table): Deleted.
5311         (mule_to_ucs_table): Deleted.
5312         (Fset_ucs_char): Deleted.
5313         (ucs_to_char): Deleted.
5314         (Fucs_char): Deleted.
5315         (Fset_char_ucs): Deleted.
5316         (Fchar_ucs): Deleted.
5317         (decode_ucs4): Deleted.
5318         (mule_char_to_ucs4): Deleted.
5319         (encode_ucs4): Deleted.
5320         (decode_coding_ucs4): Use `DECODE_ADD_UCS_CHAR'.
5321         (decode_coding_utf8): Likewise.
5322         (decode_coding_iso2022): Likewise; don't use `XCHARSET_REP_BYTES'.
5323         (char_encode_iso2022): Fixed.
5324         (syms_of_file_coding): Delete `Fset_ucs_char', `Fucs_char',
5325         `Fset_char_ucs' and `Fchar_ucs'.
5326         (complex_vars_of_file_coding): Don't initialize
5327         `ucs_to_mule_table'.
5328
5329         * objects-tty.c (tty_initialize_font_instance): Don't use
5330         `XCHARSET_COLUMNS'.
5331
5332         * mule-charset.c (make_charset): Don't set up CHARSET_REP_BYTES in
5333         UTF-2000.
5334
5335         * redisplay-tty.c (tty_output_display_block): Use `CHAR_COLUMNS'
5336         instead of `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
5337
5338         * insdel.c (bufbyte_string_displayed_columns): Use `CHAR_COLUMNS'
5339         instead of `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
5340         (emchar_string_displayed_columns): Likewise.
5341
5342         * indent.c (column_at_point): Use `CHAR_COLUMNS' instead of
5343         `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
5344         (string_column_at_point): Likewise.
5345         (Fmove_to_column): Likewise.
5346
5347         * char-ucs.h (struct Lisp_Charset): Delete `rep_bytes'; add
5348         `encoding_table' and `decoding_table'.
5349         (CHARSET_REP_BYTES): Deleted.
5350         (XCHARSET_REP_BYTES): Deleted.
5351         (XCHARSET_COLUMNS): Deleted.
5352         (CHAR_COLUMNS): New macro.
5353         (lookup_composite_char): Deleted unconditionally.
5354         (composite_char_string): Likewise.
5355
5356 1999-09-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
5357
5358         * char-ucs.h (Emchar_to_byte_table): New type.
5359         (get_byte_from_character_table): New function interface.
5360         (Vcharset_latin_jisx0201): New variable.
5361         (latin_jisx0201_to_ucs): New variable.
5362         (ucs_to_latin_jisx0201): New variable.
5363         (Vcharset_latin_iso8859_2): New variable.
5364         (latin_iso8859_2_to_ucs): New variable.
5365         (ucs_to_latin_iso8859_2): New variable.
5366         (Vcharset_latin_iso8859_3): New variable.
5367         (latin_iso8859_3_to_ucs): New variable.
5368         (ucs_to_latin_iso8859_3): New variable.
5369         (Vcharset_latin_iso8859_4): New variable.
5370         (latin_iso8859_4_to_ucs): New variable.
5371         (ucs_to_latin_iso8859_4): New variable.
5372         (Vcharset_latin_iso8859_9): New variable.
5373         (latin_iso8859_9_to_ucs): New variable.
5374         (ucs_to_latin_iso8859_9): New variable.
5375         (Vcharset_latin_viscii_lower): New variable.
5376         (latin_viscii_lower_to_ucs): New variable.
5377         (ucs_to_latin_viscii_lower): New variable.
5378         (Vcharset_latin_viscii_upper): New variable.
5379         (latin_viscii_upper_to_ucs): New variable.
5380         (ucs_to_latin_viscii_upper): New variable.
5381         (CHARSET_ID_OFFSET_94): Changed from 0x60 to 0x55.
5382         (LEADING_BYTE_LATIN_VISCII_LOWER): New macro.
5383         (LEADING_BYTE_LATIN_VISCII_UPPER): New macro.
5384         (MAKE_CHAR): Map `latin-iso8859-2', `latin-iso8859-3',
5385         `latin-iso8859-4', `latin-iso8859-9', `latin-jisx0201',
5386         `vietnamese-viscii-lower' and `vietnamese-viscii-upper' to BMP.
5387         (breakup_char_1): Use `ucs_to_latin_iso8859_2',
5388         `ucs_to_latin_iso8859_3', `ucs_to_latin_iso8859_4',
5389         `ucs_to_latin_iso8859_9', `ucs_to_latin_viscii_lower',
5390         `ucs_to_latin_viscii_upper' and `ucs_to_latin_jisx0201' tables.
5391
5392         * mule-charset.c (Vcharset_latin_viscii_lower): New variable.
5393         (Vcharset_latin_viscii_upper): New variable.
5394         (make_byte_from_character_table): New function.
5395         (put_byte_from_character_table): New function.
5396         (get_byte_from_character_table): New function.
5397         (CHAR96): New macro.
5398         (ucs_to_latin_jisx0201): New variable.
5399         (latin_jisx0201_to_ucs): New variable.
5400         (ucs_to_latin_iso8859_2): New variable.
5401         (latin_iso8859_2_to_ucs): New variable.
5402         (ucs_to_latin_iso8859_3): New variable.
5403         (latin_iso8859_3_to_ucs): New variable.
5404         (ucs_to_latin_iso8859_4): New variable.
5405         (latin_iso8859_4_to_ucs): New variable.
5406         (ucs_to_latin_iso8859_9): New variable.
5407         (latin_iso8859_9_to_ucs): New variable.
5408         (ucs_to_latin_viscii_lower): New variable.
5409         (latin_viscii_lower_to_ucs): New variable.
5410         (ucs_to_latin_viscii_upper): New variable.
5411         (latin_viscii_upper_to_ucs): New variable.
5412         (ucs_to_latin_tcvn5712): New variable.
5413         (latin_tcvn5712_to_ucs): New variable.
5414         (Qlatin_viscii_lower): New variable.
5415         (Qlatin_viscii_upper): New variable.
5416         (syms_of_mule_charset): Set up new symbol
5417         `vietnamese-viscii-lower' and `vietnamese-viscii-upper'.
5418         (complex_vars_of_mule_charset): Set up new charset
5419         `vietnamese-viscii-lower' and `vietnamese-viscii-upper'; new macro
5420         `GENERATE_94_SET' and `GENERATE_96_SET'; use them to generate
5421         `ucs_to_<CHARSET>' tables.
5422
5423 1999-09-08  MORIOKA Tomohiko  <tomo@etl.go.jp>
5424
5425         * text-coding.c: New file.
5426
5427 1999-09-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
5428
5429         * mule-charset.c (Fmake_char): Fix problem of 256-set.
5430
5431         * char-ucs.h (Vcharset_ucs_bmp): New variable.
5432         (MAKE_CHAR): Modify for `ucs-bmp'.
5433         (breakup_char_1): Return `ucs-bmp' and code point of BMP for
5434         non-MULE characters of BMP.
5435
5436 1999-09-06  MORIOKA Tomohiko  <tomo@etl.go.jp>
5437
5438         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
5439         to 0.6.
5440
5441 1999-09-05  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5442
5443         * lstream.h:
5444         - Include multibyte.h instead of character.h for `BYTE_ASCII_P'.
5445         - Include character.h for `CHAR_ASCII_P'.
5446
5447         * mb-multibyte.h (CHAR_MULTIBYTE_P): Moved from mule-charset.h.
5448
5449         * mule-charset.h (CHAR_MULTIBYTE_P): Moved to mb-multibyte.h.
5450         (CHAR_ASCII_P): Don't use `CHAR_MULTIBYTE_P'.
5451
5452         * mb-multibyte.h (BYTE_ASCII_P): Moved from char-ucs.h.
5453         (BYTE_C0_P): Likewise.
5454         (BYTE_C1_P): Likewise.
5455         (Lstream_get_emchar_1): Likewise.
5456         (Lstream_fput_emchar): Likewise.
5457         (Lstream_funget_emchar): Likewise.
5458         (copy_internal_to_external): Likewise.
5459         (copy_external_to_internal): Likewise.
5460
5461         * char-ucs.h (BYTE_ASCII_P): Moved to mb-multibyte.h.
5462         (BYTE_C0_P): Likewise.
5463         (BYTE_C1_P): Likewise.
5464         (Lstream_get_emchar_1): Likewise.
5465         (Lstream_fput_emchar): Likewise.
5466         (Lstream_funget_emchar): Likewise.
5467         (copy_internal_to_external): Likewise.
5468         (copy_external_to_internal): Likewise.
5469
5470         * mb-1byte.h (BYTE_ASCII_P): Moved from buffer.h.
5471         (REP_BYTES_BY_FIRST_BYTE): Likewise.
5472
5473         * buffer.h (REP_BYTES_BY_FIRST_BYTE): Moved to mb-1byte.h.
5474         (BYTE_ASCII_P): Moved to mb-1byte.h.
5475
5476 1999-09-04  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5477
5478         * mb-utf-8.h, mb-lb.h: Include mb-multibyte.h.
5479
5480         * multibyte.h: Include mb-1byte.h in unibyte-XEmacs.
5481         (MAX_EMCHAR_LEN): Moved to mb-1byte.h.
5482         (VALID_CHARPTR_P): Moved to mb-*byte.h.
5483         (VALIDATE_CHARPTR_BACKWARD): Likewise.
5484         (VALIDATE_CHARPTR_FORWARD): Likewise.
5485         (simple_charptr_emchar): Moved to mb-multibyte.h.
5486         (simple_set_charptr_emchar): Likewise.
5487         (simple_charptr_copy_char): Likewise.
5488         (non_ascii_charptr_emchar): Likewise.
5489         (non_ascii_set_charptr_emchar): Likewise.
5490         (non_ascii_charptr_copy_char): Likewise.
5491         (charptr_emchar): Moved to mb-*byte.h.
5492         (set_charptr_emchar): Likewise.
5493         (charptr_copy_char): Likewise.
5494
5495         * mb-1byte.h, mb-multibyte.h: New files.
5496
5497 1999-09-03  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5498
5499         * mb-utf-8.h (MULTIBYTE): New macro.
5500         (MAX_EMCHAR_LEN): Moved from buffer.h.
5501         (REP_BYTES_BY_FIRST_BYTE): Moved from char-ucs.h.
5502
5503         * char-ucs.h (REP_BYTES_BY_FIRST_BYTE): Moved to mb-utf-8.h.
5504
5505         * mb-lb.h, multibyte.h: New files.
5506
5507         * char-1byte.h (Charset_ID): Moved from buffer.h.
5508         (MIN_LEADING_BYTE): Likewise.
5509         (LEADING_BYTE_ASCII): Likewise.
5510         (NUM_LEADING_BYTES): Likewise.
5511         (CHARSETP): Likewise.
5512         (CHARSET_BY_LEADING_BYTE): Likewise.
5513         (XCHARSET_LEADING_BYTE): Likewise.
5514         (XCHARSET_GRAPHIC): Likewise.
5515         (XCHARSET_COLUMNS): Likewise.
5516         (XCHARSET_DIMENSION): Likewise.
5517         (CHAR_CHARSET): Likewise.
5518         (CHAR_LEADING_BYTE): Likewise.
5519         (BREAKUP_CHAR): Likewise.
5520         (Vcharset_ascii): Likewise.
5521
5522         * buffer.h: Include multibyte.h unconditionally.
5523         (VALID_CHARPTR_P): Moved to multibyte.h.
5524         (ASSERT_VALID_CHARPTR): Likewise.
5525         (REAL_INC_CHARPTR): Likewise.
5526         (REAL_INC_CHARBYTIND): Likewise.
5527         (REAL_DEC_CHARPTR): Likewise.
5528         (INC_CHARPTR): Likewise.
5529         (INC_CHARBYTIND): Likewise.
5530         (DEC_CHARPTR): Likewise.
5531         (VALIDATE_CHARPTR_BACKWARD): Likewise.
5532         (VALIDATE_CHARPTR_FORWARD): Likewise.
5533         (charptr_n_addr): Likewise.
5534         (MAX_EMCHAR_LEN): Moved to mb-*.h.
5535         (simple_charptr_emchar): Moved to multibyte.h.
5536         (simple_set_charptr_emchar): Likewise.
5537         (simple_charptr_copy_char): Likewise.
5538         (non_ascii_charptr_emchar): Likewise.
5539         (non_ascii_set_charptr_emchar): Likewise.
5540         (non_ascii_charptr_copy_char): Likewise.
5541         (charptr_emchar): Likewise.
5542         (set_charptr_emchar): Likewise.
5543         (charptr_copy_char): Likewise.
5544         (charptr_emchar_n): Likewise.
5545         (Charset_ID): Moved to char-1byte.h.
5546         (Vcharset_ascii): Likewise.
5547         (CHAR_CHARSET): Likewise.
5548         (CHAR_LEADING_BYTE): Likewise.
5549         (LEADING_BYTE_ASCII): Likewise.
5550         (NUM_LEADING_BYTES): Likewise.
5551         (MIN_LEADING_BYTE): Likewise.
5552         (CHARSETP): Likewise.
5553         (CHARSET_BY_LEADING_BYTE): Likewise.
5554         (XCHARSET_LEADING_BYTE): Likewise.
5555         (XCHARSET_GRAPHIC): Likewise.
5556         (XCHARSET_COLUMNS): Likewise.
5557         (XCHARSET_DIMENSION): Likewise.
5558         (BREAKUP_CHAR): Likewise.
5559
5560 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5561
5562         * character.h: Add document about interface for characters.
5563
5564         * char-ucs.h (CHAR_ASCII_P): Modify name of argument.
5565         (MAKE_CHAR): Delete comment about
5566         `FIELD2_TO_OFFICIAL_LEADING_BYTE' and
5567         `FIELD2_TO_PRIVATE_LEADING_BYTE'.
5568         (BREAKUP_CHAR): Modify name of arguments.
5569         (CHAR_CHARSET): Modify name of argument.
5570
5571         * buffer.h: Delete document about Emchar accessors.
5572
5573 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5574
5575         * character.h (CHAR_INTP): Moved from buffer.h
5576         (CHAR_OR_CHAR_INTP): Likewise.
5577         (XCHAR_OR_CHAR_INT): Likewise.
5578         (CHECK_CHAR_COERCE_INT): Likewise.
5579
5580         * buffer.h (CHAR_INTP): Moved to character.h
5581         (CHAR_OR_CHAR_INTP): Likewise.
5582         (XCHAR_OR_CHAR_INT): Likewise.
5583         (CHECK_CHAR_COERCE_INT): Likewise.
5584
5585 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5586
5587         * character.h:
5588         - Move definitions about UCS-2000 (UCS-4) to char-ucs.h.
5589         - Include char-1byte.h, char-lb.h or char-ucs.h.
5590
5591         * mb-utf-8.h (CHAR_ASCII_P): Moved to char-ucs.h.
5592
5593         * buffer.h: Include character unconditionally.
5594         (valid_char_p): Moved to char-*.h.
5595         (non_ascii_valid_char_p): Moved to char-lb.h.
5596
5597         * char-1byte.h, char-lb.h, char-ucs.h: New files.
5598
5599 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5600
5601         * mule-ccl.c (ccl_driver): Don't define `CCL_WriteMultibyteChar2'
5602         in UTF-2000 because it is not ported yet and not to use
5603         `FIELD2_TO_OFFICIAL_LEADING_BYTE', `MIN_LEADING_BYTE_OFFICIAL_2',
5604         `FIELD1_TO_OFFICIAL_LEADING_BYTE' and
5605         `FIELD1_TO_PRIVATE_LEADING_BYTE'.
5606
5607         * mb-utf-8.h (CHAR_MULTIBYTE_P): Moved from character.h.
5608         (CHAR_ASCII_P): Moved from character.h.
5609
5610         * character.h (CHAR_MULTIBYTE_P): Moved to mb-utf-8.h.
5611         (CHAR_ASCII_P): Likewise.
5612         (CHAR_FIELD1_MASK): Deleted.
5613         (CHAR_FIELD2_MASK): Deleted.
5614         (CHAR_FIELD3_MASK): Deleted.
5615         (MAX_CHAR_BASIC_LATIN): New macro.
5616         (CHAR_FIELD1): Deleted.
5617         (CHAR_FIELD2_INTERNAL): Deleted.
5618         (CHAR_FIELD3_INTERNAL): Deleted.
5619         (FIELD1_TO_PRIVATE_LEADING_BYTE): Deleted.
5620         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Deleted.
5621         (FIELD2_TO_PRIVATE_LEADING_BYTE): Deleted.
5622         (FIELD2_TO_OFFICIAL_LEADING_BYTE): Deleted.
5623         (MIN_CHAR_FIELD1_OFFICIAL): Deleted.
5624         (MAX_CHAR_FIELD1_OFFICIAL): Deleted.
5625         (MIN_CHAR_FIELD2_PRIVATE): Deleted.
5626         (MAX_CHAR_FIELD2_PRIVATE): Deleted.
5627         (MIN_CHAR_FIELD1_PRIVATE): Deleted.
5628         (MAX_CHAR_FIELD1_PRIVATE): Deleted.
5629         (MULE_CHAR_PRIVATE_OFFSET): Deleted.
5630         (MIN_CHAR_PRIVATE_TYPE9N): Deleted.
5631         (MAX_CHAR_PRIVATE_TYPE9N): Deleted.
5632         (MIN_CHAR_PRIVATE_TYPE9NX9N): Deleted.
5633         (MIN_CHAR_OFFICIAL_TYPE9NX9N): Deleted.
5634         (MIN_CHAR_COMPOSITION): Deleted.
5635         (breakup_char_1): Use `MAX_CHAR_BASIC_LATIN' instead of
5636         `CHAR_ASCII_P'; use `0x7f' instead of `CHAR_FIELD3_INTERNAL'.
5637
5638 1999-09-02  MORIOKA Tomohiko  <tomo@m17n.org>
5639
5640         * buffer.h: Include mb-utf-8.h in UTF-2000.
5641
5642         * character.h (BUFBYTE_FIRST_BYTE_P): Moved to mb-utf-8.h.
5643
5644         * mb-utf-8.h: New file.
5645
5646 1999-09-02  MORIOKA Tomohiko  <tomo@etl.go.jp>
5647
5648         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use `Charset_ID'
5649         instead of `int'.
5650
5651         * mule-charset.h, buffer.h (Charset_ID): New type.
5652
5653 1999-09-01  MORIOKA Tomohiko  <tomo@etl.go.jp>
5654
5655         * mule-canna.c (c2mu): Use `MAKE_CHAR',
5656         `Vcharset_japanese_jisx0212' and `Vcharset_japanese_jisx0208'
5657         instead of `MULE_CHAR_PRIVATE_OFFSET',
5658         `LEADING_BYTE_JAPANESE_JISX0212', `LEADING_BYTE_JAPANESE_JISX0208'
5659         and `FIELD1_TO_OFFICIAL_LEADING_BYTE'.
5660         (m2c): Use `BREAKUP_CHAR' and `XCHARSET_FINAL'.
5661
5662         * character.h (Vcharset_japanese_jisx0212): New variable
5663         definition.
5664
5665 1999-09-01  MORIOKA Tomohiko  <tomo@etl.go.jp>
5666
5667         * mule-charset.c (Vcharset_ucs_bmp): New variable in UTF-2000.
5668         (charset_by_attributes): Delete array about direction.
5669         (latin_a_char_to_charset): New variable in UTF-2000.
5670         (latin_a_char_to_byte1): New variable in UTF-2000.
5671         (latin_a_char_to_byte2): New variable in UTF-2000.
5672         (Qucs_bmp): New variable.
5673         (next_allocated_1_byte_leading_byte): Use `Charset_ID' instead of
5674         `Bufbyte'.
5675         (next_allocated_2_byte_leading_byte): Likewise.
5676         (non_ascii_set_charptr_emchar): Likewise.
5677         (make_charset): Likewise; add `CHARSET_TYPE_128X128' and
5678         `CHARSET_TYPE_256X256' in UTF-2000; modify for
5679         `charset_by_attributes'.
5680         (get_unallocated_leading_byte): Use `Charset_ID' instead of `int'.
5681         (char-charset): Use `CHAR_CHARSET' instead of `CHAR_LEADING_BYTE'
5682         and `CHARSET_BY_LEADING_BYTE'.
5683         (syms_of_mule_charset): Set up `ucs-bmp'; move setting of
5684         `utf-2000-version' to `vars_of_mule_charset'.
5685         (vars_of_mule_charset): Modify for `charset_by_attributes'; don't
5686         define `leading-code-private-11' in UTF-2000; move setting of
5687         `utf-2000-version' from `syms_of_mule_charset'.
5688         (complex_vars_of_mule_charset): Set up charset `ucs-bmp' in
5689         UTF-2000.
5690
5691         * character.h (Charset_ID): New type.
5692         (LEADING_BYTE_UCS_BMP): New macro.
5693         (LEADING_BYTE_CONTROL_1): Changed from 0x8F to 0x81.
5694         (CHARSET_ID_OFFSET_94): New macro.
5695         (MIN_CHARSET_ID_PRIVATE_94): New macro.
5696         (MAX_CHARSET_ID_PRIVATE_94): New macro.
5697         (LEADING_BYTE_ASCII): Changed to use CHARSET_ID_OFFSET_94 and
5698         final-byte.
5699         (LEADING_BYTE_KATAKANA_JISX0201): Likewise.
5700         (LEADING_BYTE_LATIN_JISX0201): Likewise.
5701         (CHARSET_ID_OFFSET_96): New macro.
5702         (LEADING_BYTE_LATIN_ISO8859_1): Changed to use
5703         CHARSET_ID_OFFSET_96 and final-byte.
5704         (LEADING_BYTE_LATIN_ISO8859_2): Likewise.
5705         (LEADING_BYTE_LATIN_ISO8859_3): Likewise.
5706         (LEADING_BYTE_LATIN_ISO8859_4): Likewise.
5707         (LEADING_BYTE_GREEK_ISO8859_7): Likewise.
5708         (LEADING_BYTE_ARABIC_ISO8859_6): Likewise.
5709         (LEADING_BYTE_HEBREW_ISO8859_8): Likewise.
5710         (LEADING_BYTE_CYRILLIC_ISO8859_5): Likewise.
5711         (LEADING_BYTE_LATIN_ISO8859_9): Likewise.
5712         (LEADING_BYTE_THAI_TIS620): Likewise.
5713         (MIN_LEADING_BYTE_PRIVATE_1): Changed from 0x0D0 to 0xD0.
5714         (MAX_LEADING_BYTE_PRIVATE_1): Changed from 0x11f to 0xDF.
5715         (CHARSET_ID_OFFSET_94x94): New macro.
5716         (LEADING_BYTE_CHINESE_BIG5_1): Changed to use
5717         CHARSET_ID_OFFSET_94x94 and final-byte.
5718         (LEADING_BYTE_CHINESE_BIG5_2): Likewise.
5719         (MIN_LEADING_BYTE_PRIVATE_2): Likewise.
5720         (MAX_LEADING_BYTE_PRIVATE_2): Likewise.
5721         (LEADING_BYTE_JAPANESE_JISX0208_1978): Likewise.
5722         (LEADING_BYTE_CHINESE_GB2312): Likewise.
5723         (LEADING_BYTE_JAPANESE_JISX0208): Likewise.
5724         (LEADING_BYTE_KOREAN_KSC5601): Likewise.
5725         (LEADING_BYTE_JAPANESE_JISX0212): Likewise.
5726         (LEADING_BYTE_CHINESE_CCITT_GB): Likewise.
5727         (LEADING_BYTE_CHINESE_CNS11643_*): Likewise.
5728         (LEADING_BYTE_KOREAN_KPS9566): Likewise.
5729         (CHARSET_TYPE_128X128): New macro.
5730         (CHARSET_TYPE_256X256): New macro.
5731         (XCHARSET_PRIVATE_P): Delete unconditionally.
5732         (charset_by_attributes): Delete array about direction.
5733         (CHARSET_BY_LEADING_BYTE): Use `Charset_ID' instead of `int'.
5734         (CHARSET_BY_ATTRIBUTES): Modify for `charset_by_attributes'.
5735         (MIN_CHAR_94): New macro.
5736         (MAX_CHAR_94): New macro.
5737         (MIN_CHAR_96): New macro.
5738         (MAX_CHAR_96): New macro.
5739         (MIN_CHAR_94x94): New macro.
5740         (MAX_CHAR_94x94): New macro.
5741         (MIN_CHAR_96x96): New macro.
5742         (MAX_CHAR_96x96): New macro.
5743         (FIELD1_TO_PRIVATE_LEADING_BYTE): Use `CHARSET_ID_OFFSET_94x94'.
5744         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Likewise.
5745         (FIELD2_TO_PRIVATE_LEADING_BYTE): Use `(MIN_LEADING_BYTE_PRIVATE_1
5746         - 32)'.
5747         (FIELD2_TO_OFFICIAL_LEADING_BYTE): Use `LEADING_BYTE_ASCII'.
5748         (MIN_CHAR_FIELD2_OFFICIAL): Deleted.
5749         (MAX_CHAR_FIELD2_OFFICIAL): Deleted.
5750         (MIN_CHAR_OFFICIAL_TYPE9N): Deleted.
5751         (MAX_CHAR_PRIVATE_TYPE9N): Changed.
5752         (MAKE_CHAR): Use `XCHARSET_FINAL' instead of
5753         `XCHARSET_LEADING_BYTE' to make code-point.
5754         (latin_a_char_to_charset): New variable.
5755         (latin_a_char_to_byte1): New variable.
5756         (latin_a_char_to_byte2): New variable.
5757         (breakup_char_1): Use `latin_a_char_to_{charset|byte1|byte2}' for
5758         Latin Extended-A; use `CHARSET_BY_ATTRIBUTES' instead of
5759         `CHARSET_BY_LEADING_BYTE' to get charset for ISO-2022 characters.
5760
5761         * insdel.c (find_charsets_in_bufbyte_string): Use `Charset_ID'
5762         instead of `unsigned char'; use `MIN_LEADING_BYTE' instead of 128.
5763         (find_charsets_in_emchar_string): Likewise.
5764         (vars_of_insdel): Don't define local variable `i' in UTF-2000.
5765
5766         * file-coding.c (Fdecode_big5_char): Use `Charset_ID' instead of
5767         `int'.
5768         (decode_coding_iso2022): Likewise.
5769
5770         * toolbar-x.c (x_output_toolbar_button): Use `Charset_ID' instead
5771         of `unsigned char'.
5772
5773         * redisplay.c (redisplay_text_width_emchar_string): Use
5774         `Charset_ID' instead of `unsigned char'.
5775         (redisplay_frame_text_width_string): Likewise.
5776
5777         * glyphs.c (glyph_height_internal): Use `Charset_ID' instead of
5778         `unsigned char'.
5779
5780         * faces.h, faces.c (ensure_face_cachel_complete): Use `Charset_ID'
5781         instead of `unsigned char'.
5782         (face_cachel_charset_font_metric_info): Likewise.
5783
5784         * chartab.c (print_char_table): Use `Charset_ID' instead of `int'.
5785         (get_non_ascii_char_table_value): Likewise.
5786         (get_char_table): Likewise.
5787         (put_char_table): Likewise.
5788         (map_over_other_charset): Likewise.
5789         (map_char_table): Likewise.
5790
5791         * buffer.h (find_charsets_in_bufbyte_string): Use `Charset_ID'
5792         instead of `unsigned char'.
5793
5794 1999-08-31  MORIOKA Tomohiko  <tomo@etl.go.jp>
5795
5796         * character.h (PRE_LEADING_BYTE_PRIVATE_1): Deleted.
5797         (PRE_LEADING_BYTE_PRIVATE_2): Deleted.
5798
5799         * mule-charset.c (leading_code_private_11): Don't define in
5800         UTF-2000.
5801
5802         * mule-ccl.c (ccl_driver): Don't define `CCL_ReadMultibyteChar2'
5803         in UTF-2000 because it is not ported yet and not to use
5804         `PRE_LEADING_BYTE_PRIVATE_1' and `PRE_LEADING_BYTE_PRIVATE_2'.
5805
5806 1999-08-30  MORIOKA Tomohiko  <tomo@etl.go.jp>
5807
5808         * character.h (LEADING_BYTE_COMPOSITE): Deleted.
5809
5810 1999-08-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
5811
5812         * regex.c (re_compile_fastmap): Don't use `LEADING_BYTE_PREFIX_P'
5813         in UTF-2000.
5814
5815         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use int instead
5816         of unsigned char to store leading-byte.
5817
5818         * chartab.c (get_non_ascii_char_table_value): Don't use
5819         `BREAKUP_CHAR_1_UNSAFE' in UTF-2000.
5820
5821         * file-coding.c (encode_coding_big5): Delete bogus implementation
5822         in UTF2000.
5823
5824         * character.h (LEADING_BYTE_*): Delete definition for
5825         non-UTF-2000.
5826         (LEADING_BYTE_PRIVATE_P): Deleted unconditionally.
5827         (LEADING_BYTE_PREFIX_P): Deleted.
5828         (PRIVATE_LEADING_BYTE_PREFIX): Deleted.
5829         (BUFBYTE_FIRST_BYTE_P): Delete definition for non-UTF-2000.
5830         (BUFBYTE_LEADING_BYTE_P): Deleted.
5831         (CHARSET_PRIVATE_P): Deleted unconditionally.
5832         (rep_bytes_by_first_byte): Deleted unconditionally.
5833         (REP_BYTES_BY_FIRST_BYTE): Delete definition for non-UTF-2000.
5834         (FIELD1_TO_PRIVATE_LEADING_BYTE): Likewise.
5835         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Likewise.
5836         (FIELD2_TO_PRIVATE_LEADING_BYTE): Likewise.
5837         (CHAR_FIELD2): Deleted.
5838         (CHAR_FIELD3): Deleted.
5839         (MAKE_CHAR): Delete definition for non-UTF-2000.
5840         (BREAKUP_CHAR_1_UNSAFE): Deleted.
5841         (breakup_char_1): New implementation.
5842         (CHAR_CHARSET): Use `BREAKUP_CHAR'.
5843         (CHAR_LEADING_BYTE): Use `CHAR_CHARSET'.
5844
5845 1999-08-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
5846
5847         * character.h (REP_BYTES_BY_FIRST_BYTE): Change order of
5848         condition.
5849
5850 1999-08-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
5851
5852         * character.h (LEADING_BYTE_PRIVATE_P): Don't define in UTF2000.
5853         (CHARSET_PRIVATE_P): Likewise.
5854         (XCHARSET_PRIVATE_P): Likewise.
5855         (MAKE_CHAR): Don't use XCHARSET_PRIVATE_P in UTF2000.
5856
5857         * file-coding.c (encode_coding_ucs4): Delete bogus implement in
5858         UTF2000.
5859         (decode_coding_iso2022): Don't use XCHARSET_PRIVATE_P in UTF2000.
5860
5861 1999-08-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
5862
5863         * character.h (LEADING_BYTE_*): Changed in UTF2000.
5864         (NUM_LEADING_BYTES): Changed from 128 to 256.
5865         (FIELD1_TO_PRIVATE_LEADING_BYTE): Change value to 0x80 in UTF2000.
5866         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Change value to 0x80 in
5867         UTF2000.
5868         (FIELD2_TO_PRIVATE_LEADING_BYTE): Change value to 0x80 in UTF2000.
5869
5870         * mule-charset.c (Vcharset_chinese_cns11643_3): New variable in
5871         UTF2000.
5872         (Vcharset_chinese_cns11643_4): New variable in UTF2000.
5873         (Vcharset_chinese_cns11643_5): New variable in UTF2000.
5874         (Vcharset_chinese_cns11643_6): New variable in UTF2000.
5875         (Vcharset_chinese_cns11643_7): New variable in UTF2000.
5876         (Qchinese_cns11643_3): New variable in UTF2000.
5877         (Qchinese_cns11643_4): New variable in UTF2000.
5878         (Qchinese_cns11643_5): New variable in UTF2000.
5879         (Qchinese_cns11643_6): New variable in UTF2000.
5880         (Qchinese_cns11643_7): New variable in UTF2000.
5881         (syms_of_mule_charset): Define `chinese-cns11643-3',
5882         `chinese-cns11643-4', `chinese-cns11643-5', `chinese-cns11643-6'
5883         and `chinese-cns11643-7' in UTF2000.
5884         (vars_of_mule_charset): Initialize
5885         next_allocated_2_byte_leading_byte by LEADING_BYTE_CHINESE_BIG5_2
5886         + 1 in UTF2000.
5887         (complex_vars_of_mule_charset): Setup charset
5888         `chinese-cns11643-3', `chinese-cns11643-4', `chinese-cns11643-5',
5889         `chinese-cns11643-6' and `chinese-cns11643-7' in UTF2000.
5890
5891 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
5892
5893         * mule-charset.c: Move setting for `leading-code-private-11' from
5894         `syms_of_mule_charset' to `vars_of_mule_charset'.
5895
5896 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
5897
5898         * mule-charset.h (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE'
5899         and `NUM_LEADING_BYTES' in assert.
5900
5901 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
5902
5903         * character.h (charset_by_leading_byte): Use `NUM_LEADING_BYTES'
5904         instead of 128.
5905         (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE' and
5906         `NUM_LEADING_BYTES' instead of 128.
5907
5908 1999-08-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
5909
5910         * mule-charset.h (charset_by_leading_byte): Use
5911         `NUM_LEADING_BYTES' instead of 128.
5912         (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE' instead of 128.
5913
5914         * mule-charset.c (charset_by_leading_byte): Use
5915         `NUM_LEADING_BYTES' instead of 128.
5916         (make_charset): Use `MIN_LEADING_BYTE' instead of 128.
5917
5918         * faces.h (FACE_CACHEL_FONT): Use `MIN_LEADING_BYTE' instead of
5919         128.
5920
5921 1999-08-25  MORIOKA Tomohiko  <tomo@etl.go.jp>
5922
5923         * mule-charset.c (syms_of_mule_charset): Update to
5924         0.4 (Shin-Imamiya).
5925
5926 1999-07-13 Daiki Ueno <ueno@ueda.info.waseda.ac.jp>
5927
5928         * file-coding.c (encode_coding_sjis): New implementation for
5929         UTF2000.  (decode_coding_sjis): Ditto.
5930
5931 1999-06-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
5932
5933         * mule-charset.c, character.h (Bytecount rep_bytes_by_first_byte):
5934         Don't define in UTF2000.
5935
5936         * character.h: Include mule-charset.h if CHAR_IS_UCS4 is not
5937         defined.
5938
5939         * redisplay-msw.c, objects-tty.c, objects-msw.c, mule-wnnfns.c,
5940         mule-ccl.c, lstream.h, buffer.h: Include character.h in every
5941         MULE.
5942
5943 1999-06-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
5944
5945         * config.h.in (CHAR_IS_UCS4): New macro.
5946
5947         * mule-charset.c (rep_bytes_by_first_byte): Modify for
5948         conventional MULE representation.
5949         (syms_of_mule_charset): Update to 0.3 (Imamiya).
5950
5951         * mule-charset.h: Reverted to original.
5952
5953         * redisplay-msw.c, objects-tty.c, objects-msw.c, mule-wnnfns.c,
5954         mule-ccl.c, lstream.h, buffer.h: Use "character.h" instead of
5955         "mule-charset.h" if CHAR_IS_UCS4 is defined.
5956
5957         * character.h: New file.
5958
5959         * file-coding.c (Fmake_coding_system): Set 1 to
5960         `codesys->fixed.size' if TYPE is `no-conversion' and UTF2000 is
5961         defined.
5962         (encode_coding_no_conversion): New implementation for UTF2000.
5963
5964         * file-coding.h (struct Lisp_Coding_System): Add new member
5965         `fixed.size'.
5966
5967 1999-06-16  MORIOKA Tomohiko  <tomo@etl.go.jp>
5968
5969         * file-coding.c (decode_coding_iso2022): Code-point arguments of
5970         `MAKE_CHAR' must be smaller than 0x80 in UTF2000.
5971         (encode_coding_iso2022): New implementation for UTF2000.
5972
5973 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
5974
5975         * mule-canna.c (c2mu): New implementation for UTF2000.
5976         (m2c): Likewise.
5977
5978 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
5979
5980         * file-coding.c (encode_coding_no_conversion): Modify for UTF2000.
5981
5982 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
5983
5984         * file-coding.c (reset_encoding_stream): Set 0 to
5985         `str->iso2022.current_char_boundary' in UTF2000.
5986         (encode_utf8): Don't define in UTF2000.
5987         (encode_coding_utf8): New implementation for UTF-8 representation
5988         of UTF2000.
5989         (complex_vars_of_file_coding): Define coding-system `utf-8'.
5990
5991 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
5992
5993         * mule.c (vars_of_mule): Provide `utf-2000' in UTF2000.
5994
5995         * mule-charset.h (BUFBYTE_FIRST_BYTE_P): Modify for UTF-8 in
5996         UTF2000.
5997         (REP_BYTES_BY_FIRST_BYTE): Likewise.
5998
5999         * buffer.h (non_ascii_valid_char_p): Don't define in UTF2000.
6000
6001         * mule-charset.c (non_ascii_set_charptr_emchar): Don't define
6002         local variables `lb', `c1', `c2' and `charset' in UTF2000; encode
6003         as UTF-8 in UTF2000.
6004         (non_ascii_charptr_emchar): Decode as UTF-8 in UTF2000.
6005         (non_ascii_valid_char_p): Don't define in UTF2000.
6006         (non_ascii_charptr_copy_char): Add case 5 and 6 in UTF2000.
6007         (Lstream_get_emchar_1): Likewise.
6008         (utf-2000-version): New variable in UTF2000.
6009
6010         * lread.c (read_escape): Add new reader `u'.
6011
6012         * insdel.c (three_to_one_table): Don't define in UTF2000.
6013         (bufpos_to_bytind_func): Use `buf->text->mule_size' instead of
6014         `buf->text->mule_shifter' and `buf->text->mule_three_p' in
6015         UTF2000.
6016         (bytind_to_bufpos_func): Likewise.
6017         (buffer_mule_signal_inserted_region): Likewise.
6018         (vars_of_insdel): Don't initialize `three_to_one_table'.
6019         (init_buffer_text): Use `buf->text->mule_size' instead of
6020         `buf->text->mule_shifter' and `buf->text->mule_three_p' in
6021         UTF2000.
6022
6023         * file-coding.c (DECODE_ADD_BINARY_CHAR): New implementation for
6024         UTF-8 representation in UTF2000.
6025         (DECODE_ADD_UCS_CHAR): New macro in UTF2000.
6026         (decode_ucs4): Use `DECODE_ADD_UCS_CHAR' in UTF2000.
6027         (decode_coding_iso2022): Don't define local variable `lb' in
6028         UTF2000; don't use LEADING_BYTE in UTF2000; use
6029         `DECODE_ADD_UCS_CHAR' in UTF2000.
6030         (convert_to_external_format): Decode as UTF-8 in UTF2000.
6031
6032         * config.h.in (UTF2000): New macro.
6033
6034         * buffer.h (struct buffer_text): Add new member `mule_size' and
6035         don't add `mule_shifter' and `mule_three_p' in UTF2000.
6036         (valid_char_p): Return always 1 in UTF2000.
6037         (MAX_EMCHAR_LEN): 6 in UTF2000.
6038         (three_to_one_table): Don't define in UTF2000.
6039         (real_bufpos_to_bytind): Modify for UTF-8 representation in
6040         UTF2000.
6041         (real_bytind_to_bufpos): Likewise.
6042
6043         * alloc.c (Fmake_string): Add case 5 and 6 for UTF2000.
6044
6045 1999-06-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
6046
6047         * mule-charset.c (rep_bytes_by_first_byte): Modified for character
6048         representation change.
6049         (Vutf_2000_version): New variable.
6050         (leading_code_private_11): New variable.
6051         (syms_of_mule_charset): Add new variables `utf-2000-version' and
6052         `leading-code-private-11'.
6053
6054         * mule-charset.h (LEADING_BYTE_CHINESE_CCITT_GB): New macro.
6055         (LEADING_BYTE_CHINESE_BIG5_1): Changed to 0x96 temporally.
6056         (LEADING_BYTE_CHINESE_CNS11643_1): Changed to 0x97.
6057         (LEADING_BYTE_CHINESE_CNS11643_2): Changed to 0x98.
6058         (LEADING_BYTE_CHINESE_CNS11643_3): New macro.
6059         (LEADING_BYTE_CHINESE_CNS11643_4): Likewise.
6060         (LEADING_BYTE_CHINESE_CNS11643_5): Likewise.
6061         (LEADING_BYTE_CHINESE_CNS11643_6): Likewise.
6062         (LEADING_BYTE_CHINESE_CNS11643_7): Likewise [but not used].
6063         (LEADING_BYTE_CHINESE_BIG5_2): Changed to 0x9D temporally.
6064         (LEADING_BYTE_KOREAN_KPS9566): New macro [but not used].
6065         (CHAR_FIELD1_MASK): Changed to (0x7F << 14).
6066         (MIN_CHAR_GREEK): New macro.
6067         (MAX_CHAR_GREEK): New macro.
6068         (MIN_CHAR_CYRILLIC): New macro.
6069         (MAX_CHAR_CYRILLIC): New macro.
6070         (MIN_CHAR_HEBREW): New macro.
6071         (MAX_CHAR_HEBREW): New macro.
6072         (MIN_CHAR_THAI): New macro.
6073         (MAX_CHAR_THAI): New macro.
6074         (MIN_CHAR_HALFWIDTH_KATAKANA): New macro.
6075         (MAX_CHAR_HALFWIDTH_KATAKANA): New macro.
6076         (CHAR_FIELD2_INTERNAL): New macro [renamed from `CHAR_FIELD2'.
6077         (CHAR_FIELD3_INTERNAL): New macro [renamed from `CHAR_FIELD3'.
6078         (FIELD1_TO_PRIVATE_LEADING_BYTE): Changed to 0xc0.
6079         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Changed to 0x50.
6080         (CHAR_FIELD2): New inline function.
6081         (CHAR_FIELD3): New inline function.
6082         (MULE_CHAR_PRIVATE_OFFSET): New macro.
6083         (MIN_CHAR_OFFICIAL_TYPE9N): Shifted to `MULE_CHAR_PRIVATE_OFFSET'.
6084         (MIN_CHAR_PRIVATE_TYPE9N): Likewise.
6085         (MIN_CHAR_PRIVATE_TYPE9NX9N): Likewise.
6086         (MIN_CHAR_OFFICIAL_TYPE9NX9N): Likewise.
6087         (MIN_CHAR_COMPOSITION): Likewise.
6088         (CHAR_LEADING_BYTE): Modified for character representation change.
6089         (MAKE_CHAR): Likewise.
6090
6091         * lisp.h (Vcharset_latin_iso8859_1): New variable.
6092         (Vcharset_greek_iso8859_7): Likewise.
6093         (Vcharset_cyrillic_iso8859_5): Likewise.
6094         (Vcharset_hebrew_iso8859_8): Likewise.
6095         (Vcharset_thai_tis620): Likewise.
6096         (Vcharset_katakana_jisx0201): Likewise.
6097
6098 2008-12-28  Vin Shelton  <acs@xemacs.org>
6099
6100         * XEmacs 21.4.22 is released
6101
6102 2008-12-27  Vin Shelton  <acs@xemacs.org>
6103
6104         * syswindows.h: Don't define wide character interfaces for Cygwin
6105         1.7 and up.
6106
6107 2008-03-05  Dominique Quatravaux  <domq@cpan.org>
6108
6109         * glyphs-gtk.c: Fixed compilation under gcc 4.x.
6110
6111 2008-11-01  Stephen J. Turnbull  <stephen@xemacs.org>
6112
6113         * regex.c (re_search_2): Fix at_dot by changing charpos to bytepos.
6114         From Julian Bradfield <18654.1143.304851.782755@krk.inf.ed.ac.uk>.
6115
6116 2008-12-25  Vin Shelton  <acs@xemacs.org>
6117
6118         * mule-ccl.c (ccl_driver): Fix off-by-one error.
6119         By Julian Bradfield in
6120         <18691.16568.526264.972026@krk.inf.ed.ac.uk>.
6121
6122         * mule-ccl.c (ccl_driver): 
6123
6124 2007-10-07  Vin Shelton  <acs@xemacs.org>
6125
6126         * XEmacs 21.4.21 is released
6127
6128 2007-08-14  Marcus Crestani  <crestani@xemacs.org>
6129
6130         * s/sol2.h: Fix for GCC lossage not needed with SunOS 5.10.
6131
6132 2007-02-17  Stephen J. Turnbull  <stephen@xemacs.org>
6133
6134         * glyphs-eimage.c (png_instantiate_unwind): Avoid recursion.
6135         (png_instantiate): Initialize setjmp_buffer early, and avoid
6136         recursive entry to error handler.
6137
6138 2007-06-23  Stephen J. Turnbull  <stephen@xemacs.org>
6139
6140         * linuxplay.c (linux_play_data_or_file): More 64-bit tweaking, and
6141         a typo fix.
6142
6143 2007-05-12  Aidan Kehoe  <kehoea@parhasard.net>
6144
6145         * event-Xt.c (x_reset_modifier_mapping):
6146         * event-gtk.c (gtk_reset_modifier_mapping):
6147         Zero out the device's modifier map once we've freed it, to prevent
6148         a double free on a re-entrant call. 
6149
6150 2007-05-17  Vin Shelton  <acs@xemacs.org>
6151
6152         * linuxplay.c (linux_play_data_or_file): Fix playing sound on
6153         64-bit linux.  Patch from Hans de Graaff.
6154
6155 2007-05-02  Vin Shelton  <acs@xemacs.org>
6156
6157         * dumper.c (pdump): Don't close pdump_fd (already closed by
6158         fclose() call.  Patch from Steve Higham.
6159         * callproc.c (Fold_call_process_internal): Don't close fd1 if it's
6160         already closed.  Patch inspired by Steve Higham.
6161
6162 2007-05-01  Vin Shelton  <acs@xemacs.org>
6163
6164         * nt.c (mswindows_stat): Tie _S_IEXEC permission to read access.
6165         (mswindows_fstat): Ditto.
6166         * sysfile.h: Under Windows, define X_OK to be the same as R_OK.
6167
6168 2007-02-08  Adrian Aichner  <adrian@xemacs.org>
6169
6170         * postgresql.c: Update Steve Baur's email address by his request.
6171         * postgresql.h: Ditto.
6172
6173 2007-01-04  Vin Shelton  <acs@xemacs.org>
6174
6175         * fileio.c (check_writable): Check old-style readonly bit only for
6176         non-directories.
6177
6178 2006-12-25  Benson I. Margulies  <benson@dchbk.us>
6179
6180         * src/fileio.c (check_writable): 
6181         Cope with the fact that the read-only attribute trumps Windows NTFS
6182         ACLS.
6183
6184
6185 2006-12-09  Vin Shelton  <acs@xemacs.org>
6186
6187         * XEmacs 21.4.20 is released
6188
6189 2006-12-08  Nelson Ferreira  <njsf@sxemacs.org>
6190
6191         * src/fns.c (XMALLOC_OR_ALLOCA,free_malloced_ptr,XMALLOC_UNBIND):
6192         relocated the definitions to be used sooner in file.
6193         (concat,plists_differ,mapcar1,Fmapconcat,Fmapcar): Use
6194         XMALLOC_OR_ALLOCA macro instead of alloca to prevent stack
6195         overflow.
6196
6197 2006-11-29  Aidan Kehoe  <kehoea@parhasard.net>
6198
6199         * sound.c (init_native_sound):
6200         Only X11 and GTK devices can possibly not be on the console of the
6201         associated machine. Fixes a crash when init_native_sound is called
6202         on a msprinter device. 
6203
6204 2006-11-14  Stephen J. Turnbull  <stephen@xemacs.org>
6205
6206         * buffer.c (buffer-file-name): Document invariant.
6207         (buffer-file-truename): Sync wording to buffer-file-name.
6208         Thanks to Nelson Ferreira <nelson.ferreira@ieee.org> for report
6209         and discussion.
6210
6211 2006-11-19  Benson Margulies  <benson@dchbk.us>
6212
6213         * fileio.c: Add code to use full Win32 API to check for write
6214         access.  Win32 has the general design policy that you aren't
6215         supposed to ask this question, since security checks change
6216         depending on asynchronous processes.  Nonetheless, there is a way,
6217         by acting as if we are a server doing interpretive access
6218         control.
6219
6220 2006-07-31  Aidan Kehoe <kehoea@parhasard.net>
6221
6222         * bytecode.c: Use xnew_array instead of alloca.
6223
6224 2006-07-04  Vin Shelton  <acs@xemacs.org>
6225
6226         * redisplay-msw.c: Fix tiny, but crucial typo.
6227
6228 2006-06-22  Jerry James  <james@xemacs.org>
6229
6230         * EmacsShell-sub.c (ChangeManaged):
6231         * device-x.c (x_IO_error_handler): Do not dereference d if it is
6232         NULL.
6233         * dgif_lib.c (DGifCloseFile): Do not dereference GifFile before
6234         checking if it is NULL.  Also fix a memory leak.
6235         * dialog-x.c (dbox_selection_callback): Ensure f is non-NULL, then
6236         dereference it, not the other way around.
6237         * dumper.c (pdump_register_object): Fix off-by-one array bounds
6238         overflow check.
6239         * dumper.c (pdump_register_struct): Ditto.
6240         * editfns.c (Ftemp_directory): Don't let a copy from (long) path
6241         to (short) warnpath overflow warnpath.
6242         * extents.c (detach_all_extents): Call extent_list_delete_all with
6243         a non-NULL parameter only.
6244         * glyphs-widget.c (widget_query_geometry): Guard against possibly
6245         NULL width and height.
6246         * input-method-xlib.c (XIM_SetGeometry): Do not dereference f or
6247         xic before checking if they are NULL.
6248         * keymap.c (where_is_recursive_mapper): Don't throw away the newly
6249         allocated array.
6250         * md5.c (Fmd5): Check whether Lstream_read encountered an error.
6251         * nas.c (Err): Fix a memory leak.
6252         * redisplay-gtk.c (gtk_output_display_block): Fix a Dynarr leak.
6253         Don't create the buffer if there is nothing to do.
6254         * redisplay-msw.c (mswindows_output_display_block): Ditto.
6255         * redisplay-output.c (redisplay_output_layout): Ditto.
6256         * redisplay-tty.c (tty_output_display_block): Ditto.
6257         * redisplay-x.c (x_output_display_block): Ditto.
6258         * scrollbar-gtk.c (gtk_free_scrollbar_instance): Do not
6259         dereference instance->scrollbar_data if it is NULL.
6260         * scrollbar-x.c (x_free_scrollbar_instance): Ditto.
6261         * scrollbar-msw.c (mswindows_free_scrollbar_instance): Ditto, but
6262         for sb->scrollbar_data.
6263         * sound.c (init_native_sound): Avoid a buffer overflow by
6264         allocating a buffer with the appropriate size.
6265
6266 2006-05-08  Stephen J. Turnbull  <stephen@xemacs.org>
6267
6268         * EmacsShell-sub.c (RootGeometryManager):
6269         Change garbage to useful messages under DEBUG_GEOMETRY_MANAGEMENT.
6270         Based on a suggestion by Francois L'Archeveque.
6271
6272 2006-03-21  Malcolm Purvis  <malcolmp@xemacs.org>
6273
6274         * regex.c: Bump INIT_FAILURE_ALLOC and re_max_failures to the
6275         current values found in GNU Emacs.
6276
6277 2006-03-17  Vin Shelton  <acs@xemacs.org>
6278
6279         * dialog-msw.c (handle_directory_dialog_box): Don't declare
6280         Q_title here.  LOCAL_FILE_FORMAT_TO_TSTR requires an lvalue.
6281
6282         * glyphs-msw.c (read_bitmap_data): change 'initialized' to
6283         'hex_initialized' because it conflicts with 'initialized' in
6284         lisp.h.
6285
6286 2006-01-28  Vin Shelton  <acs@xemacs.org>
6287
6288         * XEmacs 21.4.19 is released
6289
6290 2006-01-20  Rick Rankin <rrankin1424-xemacs@yahoo.com>
6291
6292         * sysdir.h: Workaround missing d_ino field from 'struct dirent'.
6293
6294 2005-12-24  Aidan Kehoe  <kehoea@parhasard.net>
6295
6296         * objects-gtk.c (MAX_FONT_COUNT): Increase MAX_FONT_COUNT from
6297         5000 to INT_MAX.
6298
6299 2005-12-05  Dr. Volker Zell  <Dr.Volker.Zell@oracle.com>
6300
6301         * database.c: Suppress compiler warning under Cygwin.
6302         * database.c: Removed __FreeBSD__ check, should be handled by
6303         HAVE_U_xxx_T defines.
6304
6305 2005-12-18  Malcolm Purvis  <malcolmp@xemacs.org>
6306
6307         * console.c (stuff_buffered_input): Compile body only if
6308         HAVE_TTY.
6309
6310 2005-05-10  Aidan Kehoe  <kehoea@parhasard.net>
6311
6312         * callproc.c: #include sysdir.h, so that any appropriate Mule
6313         magic happens with the chdir() call when calling a subprocess. 
6314
6315 2005-12-06  Aidan Kehoe  <kehoea@parhasard.net>
6316
6317         * mule-ccl.c (POSSIBLE_LEADING_BYTE_P): Add.
6318         * mule-ccl.c: Check that a character set exists before using it
6319         to create a character. 
6320
6321 2005-12-06  Vin Shelton  <acs@xemacs.org>
6322
6323         * objects-x.c (MAX_FONT_COUNT): Increase MAX_FONT_COUNT from 5000
6324         to INT_MAX.
6325
6326 2005-12-03  Vin Shelton <acs@xemacs.org>
6327
6328         * XEmacs 21.4.18 is released
6329
6330 2005-11-27  Kean Johnston <kean@armory.com>
6331
6332         * redisplay-tty.c (set_tty_modes):
6333         (reset_tty_modes): disable auto-margins if the terminal supports
6334         them.
6335         (init_tty_for_redisplay): fix cursor shape.
6336
6337 2005-04-05  Aidan Kehoe  <kehoea@parhasard.net>
6338
6339         * mule-ccl.c (ccl_driver): Calculate the charset and position code
6340         for control-1 characters properly, both when reading multibyte
6341         characters and writing them. 
6342
6343 2005-03-12  Aidan Kehoe  <kehoea@parhasard.net>
6344
6345         * config.h.in: Make HAVE_XTREGISTERDRAWABLE available. 
6346         * select-x.c (x_reply_selection_request): Use it; fix the bug we
6347         were seeing with incremental selection transfer failing. 
6348
6349 2005-11-26  Vin Shelton  <acs@xemacs.org>
6350
6351         * callproc.c (Fold_call_process_internal): Create the buffer if it
6352         does not already exist.  The original patch came from Ben Wing in
6353         http://list-archive.xemacs.org/xemacs-patches/200205/msg00117.html
6354
6355 2002-05-13  Adrian Aichner  <adrian@xemacs.org>
6356
6357         * callproc.c: Process-related docstring improvements spurred by
6358         Norbert Koch.
6359
6360 2005-11-25  Vin Shelton  <acs@xemacs.org>
6361
6362         * depend: Regenerated.
6363
6364 2005-07-11  Malcolm Purvis  <malcolmp@xemacs.org>
6365
6366         * glyphs-gtk.c:  Rename a local static variable because gcc 4.0
6367         says it clashes with a global with the same name.
6368
6369 2005-07-11  Atanu Ghosh <atanu@icsi.berkeley.edu>
6370
6371         * sysdll.c (dll_open): Under MacOS X return NULL under the
6372         filename is NULL.  Fixes problems finding local symbols under 10.4
6373         (Tiger)
6374
6375 2005-11-15  Dr. Volker Zell  <Dr.Volker.Zell@oracle.com>
6376         
6377         * config.h.in: New HAVE_U_INT*_T defines.
6378         
6379         * database.c: Only use u_int*_t typedefs if not already
6380         defined.
6381
6382 2005-04-07 15:08  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
6383
6384         * src/process-unix.c (unix_open_network_stream): moved
6385           'portbuf' buffer out of an inner block as it is used in the
6386           entire function. With gcc4, the stack may get corrupted
6387           after leaving this block. This patches adjusts the size of
6388           the used buffer also; static '128' bytes are far too much
6389           currently and might not suffice for future architectures
6390           (e.g. for 512 bit ones ;)). Instead of, use only the really
6391           required space (max octets * ln(256)/ln(10) chars + space
6392           for '\0' and the sign)
6393
6394 2005-04-08  Aidan Kehoe  <kehoea@parhasard.net>
6395
6396         * callproc.c: Include sysdir.h, so any necessary Mule processing
6397         is done on the current directory name before starting a new
6398         process.
6399
6400 2005-04-06  Stephen J. Turnbull  <stephen@xemacs.org>
6401
6402         * chartab.c (Fchar_table_p):
6403         (Fget_range_char_table):
6404         (Fput_char_table):
6405         (Fmap_char_table):
6406         Describe range representation and fix typo.
6407
6408 2005-02-12  Vin Shelton  <acs@xemacs.org>
6409
6410         * emacs.c (shut_down_emacs): Advise users to send email to the
6411         xemacs-beta list instead of crashes@xemacs.org.
6412
6413 2005-02-03  David Evers  <extsw@appliedgenerics.com>
6414
6415         * process-unix.c (unix_send_process): Flush the last chunk, even
6416         when the pipe is blocked.
6417
6418 2005-02-06  Vin Shelton <acs@xemacs.org>
6419
6420         * XEmacs 21.4.17 is released
6421
6422 2005-01-31  Ben Wing  <ben@xemacs.org>
6423
6424         * emacs.c:
6425         Define assert_failed() always.
6426         * lisp.h:
6427         Always define ABORT().
6428
6429 2005-01-25  Ben Wing  <ben@xemacs.org>
6430
6431         * Makefile.in.in:
6432         * Makefile.in.in (%.o):
6433         Don't compile executable as Windows (-mwindows) under Cygwin.
6434         Semi-recent changes to Cygwin's executable-startup handling make
6435         it impossible to access the TTY this way.
6436
6437         Don't use special linker file under Cygwin (cygwin.sc) except
6438         when non-PDUMP (even in this case it is highly questionable); you
6439         get errors like
6440
6441       1 [main] temacs 1364 fhandler_console::fixup_after_exec: error opening input console handle after exec, errno 13, Win32 error 5
6442    5820 [main] temacs 1364 fhandler_console::fixup_after_exec: error opening output console handle after exec, errno 13, Win32 error 5
6443
6444 2005-01-29  Ben Wing  <ben@xemacs.org>
6445
6446         Port this: 2003-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
6447
6448         * mule-charset.c (get_unallocated_leading_byte): Compiler quietus.
6449
6450 2005-01-29  Ben Wing  <ben@xemacs.org>
6451
6452         * bytecode.c (optimize_compiled_function):
6453         * print.c (FROB):
6454         * print.c (long_to_string):
6455         Add casts to avoid warning.
6456         
6457         * glyphs-eimage.c:
6458         Some really nasty hacks to allow TIFF and JPEG to both be compiled.
6459         #### The better solution is to move the TIFF and JPEG code to
6460         different files.
6461         
6462         * glyphs-msw.c (mswindows_xbm_instantiate):
6463         Define __STDC__ to avoid problems with compface.h.
6464         
6465         * EmacsFrame.c (EmacsFrameRecomputeCellSize):
6466         * EmacsShell-sub.c:
6467         * EmacsShell-sub.c (ABORT):
6468         * EmacsShell-sub.c (SuperClassRootGeometryManager):
6469         * EmacsShell-sub.c (RootGeometryManager):
6470         * EmacsShell.c:
6471         * EmacsShell.c (ABORT):
6472         * EmacsShell.c (EmacsShellUpdateSizeHints):
6473         * alloc.c (free_lcrecord):
6474         * alloca.c (i00afunc):
6475         * buffer.c (delete_from_buffer_alist):
6476         * buffer.c (MARKED_SLOT):
6477         * bytecode.c (execute_rare_opcode):
6478         * bytecode.c (optimize_byte_code):
6479         * bytecode.c (Ffetch_bytecode):
6480         * chartab.c (char_table_type_to_symbol):
6481         * chartab.c (Freset_char_table):
6482         * chartab.c (decode_char_table_range):
6483         * chartab.c (Fget_range_char_table):
6484         * chartab.c (check_valid_char_table_value):
6485         * chartab.c (map_char_table):
6486         * chartab.c (slow_map_char_table_fun):
6487         * chartab.c (chartab_instantiate):
6488         * cm.c (cmcheckmagic):
6489         * console-msw.c (DHEADER):
6490         * console.c (MARKED_SLOT):
6491         * data.c (finish_marking_weak_lists):
6492         * data.c (encode_weak_list_type):
6493         * debug.h (DASSERT):
6494         * device-gtk.c (gtk_init_device):
6495         * device-msw.c (mswindows_get_default_margin):
6496         * device-tty.c (tty_init_device):
6497         * device-x.c (get_device_from_display):
6498         * device-x.c (x_get_visual_depth):
6499         * doprnt.c (parse_doprnt_spec):
6500         * doprnt.c (get_doprnt_args):
6501         * dumper.c (pdump_get_indirect_count):
6502         * dumper.c (pdump_register_sub):
6503         * dumper.c (pdump_register_object):
6504         * dumper.c (pdump_register_struct):
6505         * dumper.c (pdump_dump_data):
6506         * dumper.c (pdump_reloc_one):
6507         * elhash.c (print_hash_table):
6508         * elhash.c (make_standard_lisp_hash_table):
6509         * elhash.c (hash_table_instantiate):
6510         * emacs.c:
6511         * emacs.c (Fforce_debugging_signal):
6512         * emacs.c (sort_args):
6513         * emacs.c (main):
6514         * emacs.c (assert_failed):
6515         * eval.c (throw_or_bomb_out):
6516         * eval.c (signal_1):
6517         * eval.c (Fsignal):
6518         * event-Xt.c:
6519         * event-Xt.c (emacs_Xt_mapping_action):
6520         * event-Xt.c (Xt_process_to_emacs_event):
6521         * event-msw.c:
6522         * event-stream.c (check_event_stream_ok):
6523         * event-stream.c (Fadd_timeout):
6524         * event-stream.c (Fadd_async_timeout):
6525         * event-stream.c (Fdiscard_input):
6526         * event-stream.c (execute_internal_event):
6527         * event-stream.c (Frecent_keys):
6528         * event-stream.c (extract_this_command_keys_nth_mouse_event):
6529         * event-stream.c (lookup_command_event):
6530         * event-unixoid.c (poll_fds_for_input):
6531         * events.c:
6532         * events.c (mark_event):
6533         * events.c (event_equal):
6534         * events.c (event_hash):
6535         * events.c (Fmake_event):
6536         * events.c (Fdeallocate_event):
6537         * events.c (event_chain_find_previous):
6538         * events.c (event_to_character):
6539         * events.c (format_event_object):
6540         * events.c (Fevent_type):
6541         * events.c (event_pixel_translation):
6542         * events.c (Fevent_properties):
6543         * extents.c (extent_in_region_p):
6544         * extents.c (print_extent):
6545         * extents.c (process_extents_for_insertion_mapper):
6546         * extents.c (report_extent_modification_mapper):
6547         * extents.c (glyph_layout_to_symbol):
6548         * faces.c (face_validate):
6549         * file-coding.c (eol_type_to_symbol):
6550         * file-coding.c (subsidiary_coding_system):
6551         * file-coding.c (Fcoding_system_type):
6552         * file-coding.c (Fcoding_system_property):
6553         * file-coding.c (mule_decode):
6554         * file-coding.c (mule_encode):
6555         * file-coding.c (encode_coding_ucs4):
6556         * file-coding.c (encode_coding_utf8):
6557         * file-coding.c (parse_iso2022_esc):
6558         * file-coding.c (encode_coding_iso2022):
6559         * fileio.c:
6560         * fns.c (concat):
6561         * fns.c (Fsubseq):
6562         * fns.c (mapcar1):
6563         * fns.c (Fbase64_encode_region):
6564         * fns.c (Fbase64_encode_string):
6565         * fns.c (Fbase64_decode_region):
6566         * fns.c (Fbase64_decode_string):
6567         * font-lock.c (find_context):
6568         * font-lock.c (context_to_symbol):
6569         * frame-gtk.c (gtk_set_frame_pointer):
6570         * frame-gtk.c (gtk_update_frame_external_traits):
6571         * frame-x.c (x_wm_mark_shell_size_user_specified):
6572         * frame-x.c (x_wm_mark_shell_position_user_specified):
6573         * frame-x.c (x_wm_set_shell_iconic_p):
6574         * frame-x.c (x_wm_set_cell_size):
6575         * frame-x.c (x_wm_set_variable_size):
6576         * frame-x.c (x_wm_store_class_hints):
6577         * frame-x.c (x_wm_maybe_store_wm_command):
6578         * frame-x.c (x_initialize_frame_size):
6579         * frame-x.c (x_update_frame_external_traits):
6580         * frame.c:
6581         * frame.c (delete_frame_internal):
6582         * frame.c (mouse_pixel_position_1):
6583         * frame.c (change_frame_size_1):
6584         * free-hook.c (check_free):
6585         * free-hook.c (check_realloc):
6586         * free-hook.c (note_block_input):
6587         * free-hook.c (log_gcpro):
6588         * gccache-gtk.c (gc_cache_lookup):
6589         * glyphs-eimage.c (tiff_memory_write):
6590         * glyphs-gtk.c (gtk_finalize_image_instance):
6591         * glyphs-gtk.c (init_image_instance_from_gdk_pixmap):
6592         * glyphs-gtk.c (init_image_instance_from_xbm_inline):
6593         * glyphs-gtk.c (gtk_xpm_instantiate):
6594         * glyphs-gtk.c (gtk_unmap_subwindow):
6595         * glyphs-gtk.c (gtk_map_subwindow):
6596         * glyphs-gtk.c (gtk_button_redisplay):
6597         * glyphs-msw.c:
6598         * glyphs-msw.c (init_image_instance_from_xbm_inline):
6599         * glyphs-x.c (init_image_instance_from_xbm_inline):
6600         * glyphs-x.c (extract_xpm_color_names):
6601         * glyphs-x.c (x_xpm_instantiate):
6602         * glyphs.c (get_image_instantiator_governing_domain):
6603         * glyphs.c (print_image_instance):
6604         * glyphs.c (image_instance_equal):
6605         * glyphs.c (image_instance_hash):
6606         * glyphs.c (encode_image_instance_type):
6607         * glyphs.c (make_image_instance_1):
6608         * glyphs.c (inherit_instantiate):
6609         * glyphs.c (image_instantiate):
6610         * glyphs.c (allocate_glyph):
6611         * glyphs.c (Fglyph_type):
6612         * glyphs.c (redisplay_subwindow):
6613         * glyphs.c (display_table_entry):
6614         * gtk-glue.c (xemacs_list_to_gtklist):
6615         * gtk-glue.c (xemacs_gtklist_to_list):
6616         * gtk-glue.c (xemacs_list_to_array):
6617         * gutter.c (SET_GUTTER_WAS_VISIBLE_FLAG):
6618         * gutter.c (gutter_was_visible):
6619         * gutter.c (get_gutter_coords):
6620         * input-method-xlib.c (get_XIM_input):
6621         * insdel.c (bufpos_to_bytind_func):
6622         * insdel.c (bytind_to_bufpos_func):
6623         * insdel.c (move_gap):
6624         * intl.c (x_get_composed_input):
6625         * keymap.c (keymap_lookup_directly):
6626         * keymap.c (keymap_delete_inverse_internal):
6627         * keymap.c (ensure_meta_prefix_char_keymapp):
6628         * keymap.c (accessible_keymaps_mapper_1):
6629         * keymap.c (where_is_recursive_mapper):
6630         * lisp.h:
6631         * lisp.h (ABORT):
6632         * lread.c (read_atom):
6633         * lstream.c (Lstream_delete):
6634         * lstream.c (make_lisp_buffer_stream_1):
6635         * macros.c (pop_kbd_macro_event):
6636         * malloc.c (malloc):
6637         * malloc.c (free):
6638         * marker.c (bi_marker_position):
6639         * marker.c (set_bi_marker_position):
6640         * menubar-gtk.c (menu_descriptor_to_widget_1):
6641         * menubar-msw.c (prune_menubar):
6642         * menubar-x.c (set_frame_menubar):
6643         * mule-charset.c (get_unallocated_leading_byte):
6644         * mule-charset.h (CHAR_LEADING_BYTE):
6645         * native-gtk-toolbar.c (SET_TOOLBAR_WAS_VISIBLE_FLAG):
6646         * nt.c (init_environment):
6647         * nt.c (generate_inode_val):
6648         * ntproc.c (delete_child):
6649         * ntproc.c (_sys_read_ahead):
6650         * ntproc.c (create_child):
6651         * objects.c (color_instantiate):
6652         * objects.c (font_instantiate):
6653         * objects.c (face_boolean_instantiate):
6654         * print.c (printing_major_badness):
6655         * process-nt.c (nt_send_process):
6656         * process-unix.c (unix_send_process):
6657         * process.c (get_process):
6658         * ralloc.c (obtain):
6659         * ralloc.c (relinquish):
6660         * ralloc.c (relocate_blocs):
6661         * ralloc.c (resize_bloc):
6662         * ralloc.c (r_alloc_free):
6663         * ralloc.c (r_re_alloc):
6664         * ralloc.c (r_alloc_thaw):
6665         * ralloc.c (init_ralloc):
6666         * ralloc.c (Free_Addr_Block):
6667         * ralloc.c (r_alloc):
6668         * redisplay-gtk.c (gtk_output_display_block):
6669         * redisplay-msw.c (mswindows_output_display_block):
6670         * redisplay-output.c (get_next_display_block):
6671         * redisplay-output.c (get_cursor_size_and_location):
6672         * redisplay-output.c (redisplay_output_layout):
6673         * redisplay-output.c (redisplay_clear_region):
6674         * redisplay-tty.c (tty_output_display_block):
6675         * redisplay-x.c (x_output_display_block):
6676         * redisplay.c (add_propagation_runes):
6677         * redisplay.c (add_glyph_rune):
6678         * redisplay.c (create_text_block):
6679         * redisplay.c (add_margin_runes):
6680         * redisplay.c (create_left_glyph_block):
6681         * redisplay.c (create_right_glyph_block):
6682         * redisplay.c (create_string_text_block):
6683         * redisplay.c (regenerate_window):
6684         * redisplay.c (REGEN_INC_FIND_START_END):
6685         * redisplay.c (redisplay_frame):
6686         * redisplay.c (point_in_line_start_cache):
6687         * regex.c:
6688         * regex.c (ABORT):
6689         * regex.c (re_compile_fastmap):
6690         * regex.c (re_match_2_internal):
6691         * regex.c (regerror):
6692         * scrollbar-gtk.c (gtk_scrollbar_loop):
6693         * scrollbar-gtk.c (scrollbar_cb):
6694         * scrollbar-gtk.c (gtk_update_frame_scrollbars):
6695         * scrollbar-msw.c (mswindows_handle_scrollbar_event):
6696         * scrollbar-x.c (x_update_scrollbar_instance_status):
6697         * scrollbar-x.c (x_scrollbar_loop):
6698         * scrollbar-x.c (x_update_frame_scrollbars):
6699         * search.c (search_command):
6700         * search.c (Fmatch_data):
6701         * select-x.c (motif_clipboard_cb):
6702         * signal.c (interrupt_signal):
6703         * specifier.c (specifier_add_spec):
6704         * specifier.c (specifier_instance_from_inst_list):
6705         * specifier.c (specifier_instance):
6706         * specifier.h:
6707         * specifier.h (struct specifier_methods):
6708         * strftime.c (add_num_time_t):
6709         * sunplay.c (init_device):
6710         * symbols.c (Fsetplist):
6711         * symbols.c (do_symval_forwarding):
6712         * symbols.c (store_symval_forwarding):
6713         * symbols.c (Fset):
6714         * symbols.c (Fbuilt_in_variable_type):
6715         * symbols.c (decode_magic_handler_type):
6716         * symbols.c (handler_type_from_function_symbol):
6717         * syntax.c (update_syntax_cache):
6718         * sysdep.c (init_baud_rate):
6719         * toolbar-gtk.c (SET_TOOLBAR_WAS_VISIBLE_FLAG):
6720         * toolbar-msw.c (SET_TOOLBAR_WAS_VISIBLE_FLAG):
6721         * toolbar-x.c (SET_TOOLBAR_WAS_VISIBLE_FLAG):
6722         * toolbar.c (get_toolbar_coords):
6723         * ui-gtk.c (build_gtk_boxed):
6724         * ui-gtk.c (describe_gtk_arg):
6725         * ui-gtk.c (gtk_type_to_lisp):
6726         * ui-gtk.c (lisp_to_gtk_type):
6727         * ui-gtk.c (lisp_to_gtk_ret_type):
6728         * ui-gtk.c (lisp_to_flag):
6729         * unexnt.c (read_in_bss):
6730         * unexnt.c (map_in_heap):
6731         * window.c (real_window):
6732         * window.c (window_display_lines):
6733         * window.c (window_display_buffer):
6734         * window.c (set_window_display_buffer):
6735         * window.c (window_modeline_height):
6736         * window.c (unshow_buffer):
6737         * window.c (window_loop):
6738         * window.c (Fget_lru_window):
6739         * window.c (Fsplit_window):
6740         * window.c (Fset_window_configuration):
6741         * window.c (saved_window_index):
6742         * xgccache.c (gc_cache_lookup):
6743         abort() -> ABORT().  Eliminate preprocessor games with abort()
6744         since it creates huge problems in VC7, solvable only by including
6745         massive amounts of files in every compile (and not worth it).
6746
6747         * sysdep.c:
6748         * sysproc.h:
6749         Inclusion of process.h does not need to be before lisp.h any more.
6750         Move later and remove comment about abort().
6751
6752 2005-01-26  Arnaud Giersch  <arnaud.giersch@free.fr>
6753
6754         * regex.c (re_match_2_internal):
6755         Correctly initialize loop which clears uninitialized registers.
6756
6757 2005-01-28  Vin Shelton  <acs@xemacs.org>
6758
6759         * sheap.c (more_static_core): Applied Ben's version of the long
6760         string patch.
6761
6762 2005-01-24  Vin Shelton  <acs@xemacs.org>
6763
6764         * sheap.c (more_static_core): Reformatted printf string so
6765         gcc-3.3.3 will compile this on Cygwin.
6766
6767 2004-02-22  Stephen J. Turnbull  <stephen@xemacs.org>
6768
6769         * console.c (function_key_map): Reference `key-binding'.
6770
6771         * keymap.c (Vkey_translation_map): Improve docstring.
6772
6773 2004-03-30  Zajcev Evgeny  <zevlg@yandex.ru>
6774
6775         * window.c: Declare `allow_deletion_of_last_visible_frame' extern.
6776         * window.c (window_loop): [fix] Take into account
6777         `allow-deletion-of-last-visible-frame' variable.
6778         * window.c (replace-buffer-in-windows): Ditto.
6779
6780 2004-12-15  Stephen J. Turnbull  <stephen@xemacs.org>
6781
6782         * EmacsManager.c (EmacsManagerChangeSize): Respect XtGeometryNo.
6783
6784 2005-01-20  Malcolm Purvis  <malcolmp@xemacs.org>
6785
6786         * event-gtk.c: Recognise AltGr as a valid modifier.
6787
6788 2005-01-12  Ville Skyttä  <scop@xemacs.org>
6789
6790         * console-x.h: #include X11/keysym.h before xintrinsic.h.
6791
6792 2005-01-13  Stephen J. Turnbull  <stephen@xemacs.org>
6793
6794         Fix backreference bug caught by test suite.
6795
6796         * regex.c (regex_compile):
6797         Make backref duplicate internal register.
6798
6799 2005-01-13  Stephen J. Turnbull  <stephen@xemacs.org>
6800
6801         Documentation, code clarification, and warning suppression.
6802         
6803         * regex.c (regex_compile):
6804         Improve comments.
6805         (re_match_2_internal):
6806         Improve comments and avoid redundant braces.  [Most of the big hunk
6807         at l. 4710 is indentation; use diff -w to see the real changes.]
6808         (alt_match_null_string_p):
6809         (common_op_match_null_string_p):
6810         Avoid shadowing global on Mac OS X 10.4, at least.
6811
6812 2004-09-08  Stephen J. Turnbull  <stephen@xemacs.org>
6813
6814         * regex.c (regcomp): Fix "unsigned comparison" warning (maybe
6815         introduced with shy groups fix).  [Already applied, probably
6816         with the second "fix shy groups" patch of 2004-10-07.] 
6817
6818 2005-01-10  Steve Youngs  <steve@sxemacs.org>
6819
6820         From Andrey Slusar <anrays@gmail.com>:
6821
6822         * unexelf.c: define `Elfw(type)' for FreeBSD alpha and amd64.
6823
6824 2004-11-21  Malcolm Purvis  <malcolmp@xemacs.org>
6825
6826         * Makefile (RECURSIVE_MAKE): Removed.
6827         * Makefile (RECURSIVE_MAKE_ARGS): New.  The new method for
6828         handling parallel builds.
6829
6830 2004-09-08  Malcolm Purvis  <malcolmp@xemacs.org>
6831
6832         * Makefile.in.in: Enable support for parallel builds.
6833
6834 2005-01-09  Steve Youngs  <steve@sxemacs.org>
6835
6836         From Andrey Slusar <anrays@gmail.com>:
6837
6838         * s/freebsd.h (LIBS_SYSTEM): Only set to "-lutil -lxpg4" if
6839         FreeBSD version is >= 199701 _and_ < 600006.
6840
6841 2005-01-06  Zajcev Evgeny <zevlg@yandex.ru>
6842
6843         * scrollbar.c (compute_scrollbar_instance_usage):
6844         Only call device method compute_scrollbar_instance_usage() if it
6845         is defined.
6846
6847 2004-12-05  Vin Shelton <acs@xemacs.org>
6848
6849         * XEmacs 21.4.16 is released
6850
6851 2004-12-04  Vin Shelton  <acs@xemacs.org>
6852
6853         * depend: Regenerated.
6854
6855 2004-10-07  Stephen J. Turnbull  <stephen@xemacs.org>
6856
6857         * regex.c (re_match_2_internal): Map internal to external
6858         registers.  Fixes bug identified by Steve Youngs 2004-09-30
6859         <microsoft-free.87ekkjhj7t.fsf@youngs.au.com>.
6860
6861 2004-09-02  Yoshiki Hayashi  <yoshiki@xemacs.org>
6862
6863         * buffer.c (Frecord_buffer): Make sure the argument is buffer
6864         to fix a crash.  Also, check the buffer is live and it
6865         really exists in buffer_list.  If the buffer is not in the list,
6866         prepend it.
6867
6868 2004-09-08  Stephen J. Turnbull  <stephen@xemacs.org>
6869
6870         Fix shy groups by implementing recording of all groups for
6871         repetition and backtracking.  Backport from 21.5.
6872         
6873         * regex.h (struct re_pattern_buffer): Add members re_ngroups,
6874         external_to_internal_register, external_to_internal_register_size,
6875         and update comments for re_nsub.
6876
6877         * regex.c (re_opcode_t): Update comments.
6878         (print_compiled_pattern): Ouput external_to_internal_register,
6879         external_to_internal_register_size, and re_ngroups for debugging.
6880         (INIT_REG_TRANSLATE_SIZE): New manifest constant.
6881         (regex_compile): Update header comment.
6882         Ensure that all groups are recorded so that repeat matches and
6883         backtracking work correctly.  Comment related warning for groups >
6884         255.
6885         (re_search_2): Construct map of API indexes (which count only
6886         nonshy groups) to internal register numbers, and keep it updated.
6887
6888 2004-07-27  Malcolm Purvis  <malcolmp@xemacs.org>
6889
6890         * frame-gtk.c (gtk_make_frame_visible):
6891         * frame-gtk.c (gtk_make_frame_invisible): Use map/unmap instead of
6892         show/hide.  This is what X uses and is prevents previously hidden
6893         widgets from suddenly reappearing.
6894         * gtk-xemacs.c (gtk_xemacs_paint):
6895         * gtk-xemacs.c (gtk_xemacs_draw):
6896         * gtk-xemacs.c (gtk_xemacs_expose): Only operate if the widget is
6897         drawable.
6898         * scrollbar-gtk.c (gtk_update_scrollbar_instance_status): Force
6899         size and location changes so that they can be seen before the next
6900         idle event.  Without this rapid changes to scrollbar properties
6901         are not seen.
6902
6903 2004-07-02  Malcolm Purvis  <malcolmp@xemacs.org>
6904
6905         * console-gtk.h:
6906         * console-gtk.h (struct gtk_frame):
6907         * console-gtk.h (FRAME_GTK_WIDGET_INSTANCE_HASH_TABLE):
6908           Add hash tables track tab_control callback data.
6909           Added #defines for GTK object data names.
6910           Declaration of gtk_widget_to_frame().
6911         * event-gtk.c (enqueue_gtk_dispatch_event) No longer static:
6912         * frame-gtk.c (gtk_widget_to_frame): New.
6913         * frame-gtk.c (gtk_create_widgets):
6914         * frame-gtk.c (allocate_gtk_frame_struct):
6915         * frame-gtk.c (gtk_mark_frame):
6916         Manage frame callbakc hash tables.
6917         * glyphs-gtk.c (gtk_map_subwindow): Fix size and moving bugs.
6918         * glyphs-gtk.c (gtk_redisplay_widget): Use correct size for widgets.
6919         * glyphs-gtk.c (gtk_widget_instantiate_1): Force reconsideration
6920         of widget size.
6921         * glyphs-gtk.c (gtk_widget_query_geometry): New
6922         * glyphs-gtk.c (gtk_register_gui_item): New
6923         * glyphs-gtk.c (gtk_add_tab_item): New
6924         * glyphs-gtk.c (gtk_tab_control_callback): New
6925         * glyphs-gtk.c (gtk_tab_control_instantiate): New
6926         * glyphs-gtk.c (gtk_tab_control_redisplay): Set notebook page.
6927         Use correct list when loading item.
6928         * glyphs-gtk.c (image_instantiator_format_create_glyphs_gtk):
6929         Register new methods.
6930         * gtk-xemacs.c (gtk_xemacs_size_allocate): Use XEmacs size, not
6931         default size, for widgets.
6932         * gui-x.c:  Improved comment.
6933         * menubar-gtk.c (__generic_button_callback): Use
6934         gtk_widget_to_frame instead of __get_channel.
6935         * scrollbar-gtk.c:
6936         * ui-gtk.c: Use symbolic names for GTK object data.
6937
6938 2004-06-23  Ilya N. Golubev <gin@mo.msk.ru>
6939
6940         * s/usg5-4.h (NSIG): Define only inside emacs binary.
6941
6942 2002-03-04  Stephen J. Turnbull  <stephen@xemacs.org>
6943
6944         * fileio.c (Fwrite_region_internal): Document use of start == Qnil.
6945
6946 2004-06-16  Malcolm Purvis  <malcolmp@xemacs.org>
6947
6948         * malloc.c (morecore): siz is a long because in some architectures
6949         (eg ia-64) an int cannot hold the address range.  Additional patch
6950         from the SuSe distribution.
6951
6952 2004-06-13  Malcolm Purvis  <malcolmp@xemacs.org>
6953
6954         * emacs.c:
6955         * malloc.c: lim_data is a long because in some architectures
6956         (eg ia-64) an int cannot hold the address range.
6957         * mem-limits.h: lim-data is a long.  Linux uses getrlimit()
6958         instead of ulimit() because ulimit() always returns -1.
6959
6960 2004-06-09  Stephen J. Turnbull  <stephen@xemacs.org>
6961
6962         * search.c: Reenable an ansync semaphore.  Remove bogus comments.
6963
6964 2004-06-11  David Kastrup  <dak@gnu.org>
6965
6966         * search.c (match_limit): Don't flag an error if match-data
6967         exceeding the allocated search_regs.num_regs gets requested, just
6968         return Qnil.
6969
6970 2003-07-21  Malcolm Purvis  <malcolmpurvis@optushome.com.au>
6971
6972         * glyphs-gtk.c (gtk_xpm_instantiate): Rewrite the XPM data to
6973         replace symbolic color entries with the real colors specified in
6974         xpm-color-symbols, before passing the XPM to gtk.
6975         * glyphs-gtk.h: Use the generic pixmap_image_instance.mask for masks,
6976         instead of a GTK specific field, so that it is used in by generic
6977         code.
6978
6979 2004-05-05  Chuck Hines <chuck.hines@baesystems.com>
6980
6981        * dgif_lib.c (DGifSlurp): Changed do-while to while to stop
6982         coredump from deref of NULL ptr (ExtData)
6983
6984 2004-04-19  Jerry James  <james@xemacs.org>
6985
6986         * data.c (sign_extend_lisp_int): Use INT_VALBITS instead of
6987         VALBITS to compute the location of the sign bit.
6988         * event-stream.c (Fcurrent_event_timestamp): Replace incorrect use
6989         of VALBITS with EMACS_INT_MAX.
6990         * events.c (Fevent_timestamp): Ditto.
6991         * events.c (TIMESTAMP_HALFSPACE): Change VALBITS to INT_VALBITS to
6992         compute the halfway point to timestamp wraparound.
6993         * floatfns.c (float_to_int): Compare against EMACS_INT_MAX and
6994         EMACS_INT_MIN instead of using VALBITS.
6995         * floatfns.c (Flogb): Use EMACS_INT_MIN instead of building an
6996         incorrect number with VALBITS.
6997         * fns.c (Frandom): Correct number of integer bits in docstring.
6998         Use INT_VALBITS instead of VALBITS to compute the denominator.
6999         * sysdep.c (get_random): Use INT_VALBITS instead of VALBITS to
7000         build random numbers.
7001
7002 2004-03-23  Malcolm Purvis  <malcolmpurvis@optushome.com.au>
7003         * event-gtk.c:
7004         * event-gtk.c (gtk_event_to_emacs_event):
7005         * menubar-gtk.c:
7006         * menubar-gtk.c (gtk_xemacs_menubar_class_init):
7007         * menubar-gtk.c (gtk_xemacs_menubar_size_request):
7008         * menubar-gtk.c (gtk_xemacs_accel_label_get_type):
7009         * menubar-gtk.c (gtk_xemacs_set_accel_keys):
7010         * menubar-gtk.c (__activate_menu):
7011         * menubar-gtk.c (convert_underscores):
7012         * menubar-gtk.c (remove_underscores):
7013         * menubar-gtk.c (menu_convert):
7014         * menubar-gtk.c (menu_descriptor_to_widget_1):
7015         * menubar-gtk.c (menu_descriptor_to_widget):
7016         * menubar-gtk.c (menu_can_reuse_widget):
7017         * menubar-gtk.c (menu_create_menubar):
7018         * menubar-gtk.c (gtk_popup_menu):
7019         * menubar-gtk.c (Fgtk_build_xemacs_menu):
7020         Added support for Gtk menu bar and menu item mnemonics.
7021
7022 2004-03-23  Malcolm Purvis  <malcolmpurvis@optushome.com.au>
7023
7024         * sysdll.c: (dll_function): Added support for finding symbols in
7025         Darwin shared libraries as well in Darwin bundles.
7026         * sysdll.c (image_for_address): New
7027         * sysdll.c (my_find_image): New
7028         * sysdll.c (search_linked_libs): New
7029
7030 2004-03-23  Malcolm Purvis  <malcolmpurvis@optushome.com.au>
7031
7032         * ui-gtk.c (__internal_callback_marshal): Marshalling data to
7033         return to GTK requires a different API to marshalling data to use
7034         as GTK parameters.
7035         * ui-gtk.c (lisp_to_gtk_ret_type): New.
7036
7037 2004-03-08  Lutz Euler  <lutz.euler@freenet.de>
7038
7039         * lstream.c (Lstream_pseudo_close): Fix test for LSTREAM_FL_IS_OPEN.
7040
7041 2004-02-19  Stephen J. Turnbull  <stephen@xemacs.org>
7042
7043         * glyphs.c (process_image_string_instantiator):
7044         (Fset_console_type_image_conversion_list):
7045         Stop GCC from warning about shadowing of `exp'.
7046
7047         * redisplay-x.c (x_output_string): Fix unsigned lossage.
7048
7049 2004-02-19  Stephen J. Turnbull  <stephen@xemacs.org>
7050
7051         * regex.c (re_match_2_internal): Shut up GCC about syn1, syn2.
7052
7053 2004-02-03  Vin Shelton  <acs@xemacs.org>
7054
7055         * glyphs.c (image_instance_layout): Remove pointless assertion.
7056         * regex.c (regex_grow_registers): Return type is void.
7057
7058 2004-02-02  Vin Shelton <acs@xemacs.org>
7059
7060         * XEmacs 21.4.15 is released
7061
7062 2004-01-30  Glynn Clements  <glynn.clements@virgin.net>
7063
7064         * device-x.c (x_error_handler): Don't call stderr_out
7065
7066 2003-11-07  Katsumi Yamaoka <yamaoka@jpl.org>
7067
7068         * buffer.c (other-buffer): Clarify documentation of order of
7069         arguments for FSF Emacs.
7070
7071 2003-10-11  Olivier Galibert  <galibert@pobox.com>
7072
7073         * window.c (Fdelete_window): Dirty the mirror structure _before_
7074         marking the window deleted.
7075
7076 2003-09-15  Jerry James  <james@xemacs.org>
7077
7078         * event-msw.c (debug_mswin_messages): Conditionally compile
7079         messages missing from the Cygwin headers.
7080
7081 2003-06-16  Stephen J. Turnbull  <stephen@xemacs.org>
7082
7083         * data.c (eq_with_ebola_notice): Fix typo in comment.
7084         (Ftrue_list_p): Improve docstring.
7085
7086 2003-10-13  Stephen J. Turnbull  <stephen@xemacs.org>
7087
7088         * frame-x.c (x_update_frame_external_traits): Fix XtSetArg idiom.
7089
7090 2003-09-27  Stephen J. Turnbull  <stephen@xemacs.org>
7091
7092         * search.c (trivial_regexp_p): Regexps containing "\{" are
7093         nontrivial.  Thanks to Manfred Bartz for reporting the bug and
7094         Stefan Monnier for suggesting a diagnosis.
7095
7096 2003-09-25  Stephen J. Turnbull  <stephen@xemacs.org>
7097
7098         * elhash.c (make-hash-table): Clarify use of :test #'equal.
7099
7100 2003-09-12  Stephen J. Turnbull  <stephen@xemacs.org>
7101
7102         * search.c (Fsearch_forward):
7103         (Fsearch_backward):
7104         Document negative count.
7105
7106 2003-09-13  Stephen J. Turnbull  <stephen@xemacs.org>
7107
7108         * regex.c (re_max_failures): Bump to 20000 for REGEX_MALLOC, too.
7109
7110 2003-09-13  Martin Buchholz  <martin@xemacs.org>
7111
7112         * s/sol2.h: Use OS_RELEASE=os_release_major*100+os_release_minor
7113
7114 2003-09-15  Vin Shelton  <acs@xemacs.org>
7115
7116         * .gdbinit (pobj): Remove Ilya's fix that was only intended for
7117         21.5.
7118
7119 2003-09-12  Yoshiki Hayashi  <yoshiki@xemacs.org>
7120
7121         * regex.c (TRANSLATE_EXTENDED_UNSAFE): Remove.
7122         (re_search_2): Match the first byte of Bufbyte, not Emchar.
7123         (re_match_2_internal): Use TRANSLATE instead of
7124         TRANSLATE_EXTENDED_UNSAFE.  The latter was a hack to bypass
7125         non-ASCII char case conversion.
7126
7127 2003-09-08  Mike Sperber  <mike@xemacs.org>
7128
7129         * symbols.c (Fvariable_binding_locus): Add, as per suggestion from
7130         RMS at: http://article.gmane.org/gmane.emacs.pretest.bugs/1010
7131
7132 2003-06-14  Ilya N. Golubev  <gin@mo.msk.ru>
7133
7134        * .gdbinit (pobj): fix printing of symbol name.
7135
7136 2003-08-01  Ilya N. Golubev  <gin@mo.msk.ru>
7137
7138         * frame-x.c (x_layout_widgets): When resizing is about to cause
7139         frame size slip, mark it for redisplay.
7140
7141 2003-08-18  Jerry James  <james@xemacs.org>
7142
7143         * opaque.h: Remove unused (X)OPAQUE_MARKFUN definitions.
7144
7145 2003-09-03  Vin Shelton <acs@xemacs.org>
7146
7147         * XEmacs 21.4.14 is released
7148
7149 2003-08-15  Stephen J. Turnbull  <stephen@xemacs.org>
7150
7151         * config.h.in (REGEX_MALLOC): Make it configure'able.
7152
7153 2003-08-14  Andrew Begel  <abegel@CS.Berkeley.EDU>
7154
7155         * config.h.in: Add HAVE_DYLD to indicate Darwin/MacOSX dynamic
7156         linking.
7157         * sysdll.c (dll_init):
7158         * sysdll.c (dll_open):
7159         * sysdll.c (dll_close):
7160         * sysdll.c (dll_function):
7161         * sysdll.c (dll_variable):
7162         * sysdll.c (dll_error):
7163         Add support for loading bundles using Darwin/MacOSX
7164         native API.
7165
7166 2003-08-12  Stephen J. Turnbull  <stephen@xemacs.org>
7167
7168         * process.c (start-process-internal): Document coding systems.
7169
7170 2003-07-30  Jerry James  <james@xemacs.org>
7171
7172         * sysdll.c: configure sets HAVE_DLD_INIT, not HAVE_INIT_DLD.
7173
7174 2003-07-31  René Kyllingstad  <listmailxemacs@kyllingstad.com>
7175
7176         * event-msw.c (mswindows_enqueue_mouse_button_event):
7177         * event-msw.c (mswindows_wnd_proc):
7178           enqueue button event when scrollwheel event isn't handled by 
7179           mswindows_handle_mousewheel_event, such as when the scrollbars
7180           are not showing.
7181
7182 2003-07-29  Stephen J. Turnbull  <stephen@xemacs.org>
7183
7184         * EmacsFrame.c (emacsFrameClassRec): Motif groks not XtCompress*.
7185
7186 2003-03-24  Stephen J. Turnbull  <stephen@xemacs.org>
7187
7188         * database.c (Fopen_database): Don't use DB_AUTO_COMMIT.
7189
7190 2003-03-21  Stephen J. Turnbull  <stephen@xemacs.org>
7191
7192         * regex.c (re_match_2_internal): Fix matching degenerate word
7193         boundaries.
7194
7195 2003-05-25  XEmacs Build Bot <builds@cvs.xemacs.org>
7196
7197         * XEmacs 21.4.13 is released
7198
7199 2003-03-20  Stephen J. Turnbull  <stephen@xemacs.org>
7200
7201         * config.h.in (INTPTR_T_IN_CYGWIN_TYPES_H): 
7202         * lisp.h (<inttypes.h>):
7203         Cygwin defines these types in <cygwin/types.h>.  Don't duplicate
7204         the definition.
7205
7206 2003-03-15  Martin Buchholz  <martin@xemacs.org>
7207
7208         * dumper.c (pdump_load): Pdump'ed XEmacs can't find its .dmp file.
7209         Scenario: Prepend ~/bin to PATH; then `mkdir ~/bin/xemacs'
7210         Result: "temacs can only be run in -batch mode."
7211         Fix: Check xemacs executable candidate for directory-ness.
7212
7213 2003-03-03  Robert Pluim  <rpluim@bigfoot.com>
7214
7215         * database.c: Don't use the u_int8_t etc typedefs on FreeBSD,
7216           they conflict with <sys/types.h>.
7217
7218 2003-02-14  Martin Buchholz  <martin@xemacs.org>
7219
7220         * database.c: Berkeley DB wants __STDC__ to be defined.
7221
7222 2003-02-13  Martin Buchholz  <martin@xemacs.org>
7223
7224         * EmacsFrame.c: Use symbolic name `NotUseful' in lieu of `0'.
7225
7226 2003-02-01  Martin Buchholz  <martin@xemacs.org>
7227
7228         * process-unix.c (unix_send_process): Fix C++ compile error.
7229
7230 2003-02-25  Andrew Begel  <abegel@cs.berkeley.edu>
7231
7232         * Added .dylib as an acceptable shared library file extension
7233         * to support MacOSX.
7234
7235 2003-02-01  Martin Buchholz  <martin@xemacs.org>
7236
7237         * EmacsFrameP.h (EmacsFramePart):
7238         Kludge to allow compiling with Motif1, but linking with Motif2.
7239
7240 2003-01-28  Martin Buchholz  <martin@xemacs.org>
7241
7242         * config.h.in (_ALL_SOURCE): Guard against multiple definition.
7243
7244
7245 2003-02-23  Stephen J. Turnbull  <stephen@xemacs.org>
7246
7247         * config.h.in (DLSYM_NEEDS_UNDERSCORE): Define on darwin.
7248
7249 2003-02-06  Andrew Begel  <abegel@CS.Berkeley.EDU>
7250
7251         * sysdll.c: Included lisp.h to define needed alloca_array.
7252
7253 2003-02-13  Martin Buchholz  <martin@xemacs.org>
7254
7255         Make XEmacs redisplay 10 times faster.
7256         If, that is, you're using a slow X connection and MoveOpaque.
7257         Use compress_exposure = XtExposeCompressMaximal | XtExposeNoRegion.
7258         Use compress_motion = TRUE.
7259         * EmacsFrame.c (emacsFrameClassRec): 
7260         * EmacsShell-sub.c (EMACS_SHELL_CLASS_REC):
7261         * EmacsManager.c (emacsManagerClassRec):
7262         * xintrinsicp.h: Make sure XtExposeNoRegion is defined.
7263
7264 2003-01-30  Vin Shelton  <acs@xemacs.org>
7265
7266         * s/linux.h (ORDINARY_LINK): define ORDINARY_LINK for linux.
7267
7268 2003-01-17  Stephen J. Turnbull  <stephen@xemacs.org>
7269
7270         * glyphs-eimage.c (tiff_memory_seek): Lobotomize unsigned typedef.
7271         Patch by Martin Buchholz.
7272
7273 2003-01-16  Stephen J. Turnbull  <stephen@xemacs.org>
7274
7275         * glyphs-eimage.c (tiff_instantiate): Fix unsigned comparison.
7276         Thanks to icc for warning and Martin Buchholz for reporting.
7277
7278 2003-01-29  Vin Shelton <acs@xemacs.org>
7279
7280         Patch courtesy of Andrew Begel <abegel@cs.berkeley.edu>
7281
7282         * dynarr.c (Dynarr_realloc): memcpy copies number of bytes, so
7283         remember to multiply by the element size.
7284
7285 2003-01-15  Stephen J. Turnbull  <stephen@xemacs.org>
7286
7287         * XEmacs 21.4.12 "Portable Code" is released.
7288
7289 2003-01-14  Sergey Okhapkin <sos@prospect.com.ru>
7290
7291         * Makefile.in.in (ldflags): re-order sections for gcc 3.2.
7292         * s/cygwin.sc: new linker file.
7293
7294 2003-01-14  Stephen J. Turnbull  <stephen@xemacs.org>
7295
7296         Build fixes courtesy Martin Buchholz <martin@xemacs.org>:
7297
7298         * redisplay-x.c (x_output_string): Use X11-specified types.
7299         * syntax.c, syntax.h (SYNTAX_CODE): Use enum syntaxcode, not int.
7300         * emacs.c (__free_hook): Use typeof with Intel compiler.
7301         * config.h.in (alloca.h): Quick safe hack to please Intel compiler.
7302
7303 2003-01-08  Andy Piper  <andy@xemacs.org>
7304
7305         * unexcw.c (copy_executable_and_dump_data_section): Set the stack
7306         reserve size during unexec().
7307
7308 2003-01-07  Daiki Ueno  <daiki@xemacs.org>
7309
7310         * process-unix.c (unix_create_process): Don't let outchannel block.
7311
7312 2003-01-05  Rick Rankin  <rick_rankin@yahoo.com>
7313
7314         * emacs.c: Include "syswindows.h" when compiling under Cygwin.
7315         Needed for IsBadReadPtr().
7316
7317 2003-01-03  Stephen J. Turnbull  <stephen@xemacs.org>
7318
7319         * XEmacs 21.4.11 "Native Windows TTY Support" is released.
7320
7321 2002-12-14  Ben Wing  <ben@xemacs.org>
7322
7323         * callint.c: Declaration error.
7324         * dumper.c (pdump):
7325         * dumper.c (pdump_load): Warning fix.
7326         * process.c: GCPRO error.
7327         * glyphs.c (unmap_subwindow):
7328         * glyphs.c (map_subwindow): Parenthesizing errors with ! and &&.
7329         * event-stream.c (maybe_kbd_translate): Wrong argument to
7330         character_to_event().
7331
7332         * alloc.c (garbage_collect_1):
7333         * emacs.c:
7334         * emacs.c (debug_can_access_memory):
7335         * emacs.c (fatal_error_signal):
7336         * emacs.c (mswindows_handle_hardware_exceptions):
7337         * emacs.c (main_1):
7338         * emacs.c (main):
7339         * emacs.c (assert_failed):
7340         * emacs.c (syms_of_emacs):
7341         * lisp.h:
7342         * print.c:
7343         * print.c (std_handle_out_va):
7344         * print.c (write_string_to_stdio_stream):
7345         * print.c (write_fmt_string):
7346         * print.c (printing_badness):
7347         * print.c (printing_major_badness):
7348         * print.c (print_internal):
7349         * print.c (debug_print_no_newline):
7350         * print.c (debug_backtrace):
7351         Be more defensive in handling bad values when printing.  Add code
7352         from trunk involving inhibit_non_essential_printing_operations.
7353         When going down or in debug_print(), don't do external conversion
7354         and such and try really, really hard when printing to avoid core
7355         dumping.  Add force-debugging-signal, debug_break().
7356
7357 2002-12-12  Stephen J. Turnbull  <stephen@xemacs.org>
7358
7359         * dumper.c (pdump_load): Include sysdep.h; retry with truename.
7360         Analysis and original patch by Vin Shelton <acs@xemacs.org>.
7361
7362 2002-12-02  Greg Allen  <greg_allen@westlb-systems.co.uk>
7363
7364         * database.c: Fix open_database. Berkeley DB API has changed in
7365         4.1. see: http://www.sleepycat.com/docs/ref/upgrade.4.1/fop.html
7366
7367 2002-11-26  Stephen J. Turnbull  <stephen@xemacs.org>
7368
7369         * specifier.c (Fvalid_specifier_type_p): Typo in comment.
7370
7371 2002-11-13  Stephen J. Turnbull  <stephen@xemacs.org>
7372
7373         * event-Xt.c (Xt_timeout):
7374         (Xt_timeout_callback):
7375         (emacs_Xt_add_timeout):
7376         (emacs_Xt_remove_timeout):
7377         (Xt_timeout_to_emacs_event):
7378         Turn completed_timeouts from a stack into a queue.  Fixes
7379         deadlocks <15829.21626.171573.994716@sinisa.nasamreza.org>.
7380
7381 2002-11-07  Wolfram Gloger  <wg@malloc.de>
7382
7383         * alloc.c (reinit_alloc_once_early): Disable mmap in Doug Lea malloc.
7384         * emacs.c (main): Assert that mmap'd allocation is disabled.
7385
7386 2002-10-14  Andy Piper  <andy@xemacs.org>
7387
7388         * glyphs-widget.c (layout_query_geometry): add in fiddle
7389         factor. Include border text in width layout calculation.
7390         (layout_layout): use BORDER_FIDDLE_FACTOR instead of 10.
7391
7392 2002-11-02  Stephen J. Turnbull  <stephen@xemacs.org>
7393
7394         * XEmacs 21.4.10 "Military Intelligence" is released.
7395
7396 2002-10-17  Raymond Toy  <toy@rtp.ericsson.se>
7397
7398         * nas.c: Update for NAS 1.6 and later, from Jon Trulson.  Was
7399         using the NAS private array SoundFileInfo that no longer exists in
7400         NAS 1.6 and later.  Preserve backward compatibility with NAS 1.5a
7401         and earlier.  This is broken for some versions between 1.5a and
7402         1.5f.
7403
7404 2002-10-10  Stephen J. Turnbull  <stephen@xemacs.org>
7405
7406         * realpath.c (win32_readlink): Try to fix truename of wildcard bug.
7407
7408         * emacs.c (shut_down_emacs): Improve crash message.
7409
7410 2002-10-09  Stephen J. Turnbull  <stephen@xemacs.org>
7411
7412         * file-coding.c (determine_real_coding_system): Check for coding
7413         cookie in first LINES_TO_CHECK lines (currently 2).  Cater to
7414         shebangs and Python PEP 263.
7415
7416 2002-10-08  Andy Piper  <andy@xemacs.org>
7417
7418         * glyphs-widget.c (layout_query_geometry): only resize dynamically
7419         if static sizes haven't been set.
7420
7421 2002-08-30  Mike Alexander  <mta@arbortext.com>
7422
7423         * event-msw.c (winsock_closer): Use closesocket, not CloseHandle
7424         to close a socket.
7425
7426 2002-10-03  Stephen J. Turnbull  <stephen@xemacs.org>
7427
7428         * callproc.c (child_setup): 21.4 doesn't have retry_close.
7429
7430 2002-09-20  Mike Sperber <mike@xemacs.org>
7431
7432         (This partially gets back my patch from 2002-07-20 without the
7433         bug.)
7434         * callproc.c (child_setup): Remove Ben's comment noting confusion
7435         over the file descriptors >= 3: close_process_descs() doesn't
7436         close those.  Fix fd range to go up to MAXDESC-1 instead of 64.
7437         * process-unix.c (unix_create_process): Call
7438         begin_dont_check_for_quit to inhibit unwanted interaction (and
7439         thus breaking of X event synchronicity) in the child.
7440
7441 2002-09-26  Golubev I. N.  <gin@mo.msk.ru>
7442
7443         * frame-x.c (x_delete_frame): do not call XtDisplay on a destroyed
7444         widget.
7445
7446 2002-08-20  Ben Sigelman  <bhsigelm@cs.brown.edu>
7447
7448         * event-Xt.c (drain_X_queue): loop over while(XEventsQueued())
7449         instead of while(XtAppPending()&XtIMXEvent).  Upon a gdm logout,
7450         the xemacs process did not exit, but looped infinitely here.  This
7451         fixes that problem.
7452
7453 2002-09-28  Stephen J. Turnbull  <stephen@xemacs.org>
7454
7455         * font-lock.c (SYNTAX_START_STYLE, SYNTAX_END_STYLE): Quiet GCC.
7456         (find_context): Improve comments.
7457
7458         * regex.c (re_compile_fastmap):  Gratuitous #ifdef comment fixes.
7459         (re_match_2): An XCHAR_TABLE operation was missing.
7460
7461         Many of the following changes were inspired by Andy Piper's (now
7462         obsolete) patch to make syntax-table text property lookup optional.
7463
7464         [Documentation]
7465
7466         * syntax.h (top level): Document semantics of syntax flags.
7467         * syntax.c (comstr_start, Fforward_comment): Improve comments.
7468         * syntax.c, syntax.h (top level): Document syntax cache better in
7469         comments.
7470
7471         [Instrument syntax caching (temporary change)]
7472
7473         * syntax.h (enum syntax_cache_statistics_functions, struct
7474         syntax_cache_statistics, SCS_STATISTICS_SET_FUNCTION,
7475         SYNTAX_CACHE_STATISTICS_COUNT_INIT): New types and macros.
7476         * syntax.c (scan_words, Fforward_comment, scan_lists,
7477         Fbackward_prefix_characters):
7478         * font-lock.c (find_context):
7479         Use them to instrument syntax caching. 
7480         * syntax.c (struct syntax_cache_statistics, scs_statistics,
7481         syntax_cache_statistics_function_names): New type and variables.
7482         * syntax.c (update_syntax_cache): Update and report statistics.
7483
7484         [Major syntax cache optimizations]
7485
7486         syntax.c (lookup_syntax_properties): Default off.
7487
7488         * syntax.h (UPDATE_SYNTAX_INTERNAL): New, implements UPDATE_SYNTAX*.
7489         * syntax.c (update_syntax_cache):
7490         Move init test from update_syntax_cache to UPDATE_SYNTAX_INTERNAL.
7491
7492         [Minor syntax cache optimizations and code clarifications]
7493
7494         * syntax.h (SYNTAX_COMMENT_BITS, SYNTAX_START_P, SYNTAX_END_P,
7495         SYNTAX_STYLES_MATCH_START_P, SYNTAX_STYLES_MATCH_1CHAR_P,
7496         SYNTAX_STYLES_MATCH_END_P, STYLE_FOUND_1CHAR_P, STYLE_FOUND_P,
7497         SYNTAX_COMMENT_MASK_END, SYNTAX_COMMENT_MASK_START,
7498         SYNTAX_COMMENT_1CHAR_MASK): Remove redundant argument `table'.
7499         (Code clarification.)
7500
7501         * syntax.c (scan_words, find_end_of_comment, scan_sexps_forward,
7502         scan_lists): Compute code from syncode, use Boolean macros instead
7503         of redundant masking operations.  (Code clarification; any decent
7504         compiler can do this optimization.)
7505
7506         * syntax.c (scan_lists): Rearrange switches (case Sstring_fence)
7507         for clarity.
7508
7509         * syntax.h, syntax.c (NEXT_SINGLE_PROPERTY_CHANGE,
7510         PREVIOUS_SINGLE_PROPERTY_CHANGE, update_syntax_cache): Conditionally
7511         use F*_single_property_change instead of F*_extent_change.
7512         Currently F*_single_property_change is _much_ less efficient.
7513
7514         * dired.c (Fdirectory_files): Qt not valid in syntax_cache.object.
7515         * syntax.h (SETUP_SYNTAX_CACHE_FOR_OBJECT):  Initialize
7516         syntax_cache.object properly, don't leave Qt or Qnil.
7517         (SYNTAX_CACHE_BYTE_TO_CHAR): Use SETUP_SYNTAX_CACHE_FOR_OBJECT.
7518         * syntax.c (update_syntax_cache): Use BUFFERP and STRINGP, not
7519         tests for Qt or Qnil.
7520
7521 2002-09-21  Stephen J. Turnbull  <stephen@xemacs.org>
7522
7523         * redisplay.c (point_in_line_start_cache): 
7524         * extents.c (print_extent_1):
7525         Fix warnings.
7526
7527         * extents.c (Fset_extent_property): Document `syntax-table' property.
7528
7529         * extents.h (Fnext_single_property_change): EXFUN it.
7530
7531 2002-09-09  Stephen J. Turnbull  <stephen@xemacs.org>
7532
7533         * search.c (clear_unused_search_regs): New static function.
7534         (search_buffer): 
7535         (simple_search): 
7536         (boyer_moore):
7537         Use it.  Fixes "stale match data" bug reported by Martin Stjernholm.
7538         Minor clarifications in comments.
7539
7540         * regex.c (re_match_2_internal): Ensure no stale submatches.
7541
7542 2002-09-09  Stephen J. Turnbull  <stephen@xemacs.org>
7543
7544         * event-Xt.c (enqueue_focus_event): Add missing prototype.
7545
7546 2002-08-29  Jerry James  <james@xemacs.org>
7547
7548         * lisp.h: structrures -> structures.
7549
7550 2002-06-03  Andy Piper  <andy@xemacs.org>
7551
7552         * frame.c (frame_conversion_internal): add conversion appropriate
7553         for setting frame dimensions in pixels.
7554
7555         * console.h (struct console_methods): add device-specific widget
7556         layout functions.
7557
7558         * emacs.c (main_1): initialize glyph vars.
7559
7560         * event-Xt.c (handle_focus_event_1): call handle_focus_event_2
7561         (handle_focus_event_2): new function. Allow focus to
7562         be set to a particular window and widget.
7563         (enqueue_focus_event): new function. Create a
7564         synthetic focus event.
7565         (emacs_Xt_handle_magic_event): call
7566         handle_focus_event_2.
7567
7568         * frame.c (Fset_frame_pixel_height): new function. Allow
7569         pixel-based sizing. Does the right thing on character-oriented
7570         displays.
7571         (Fset_frame_pixel_width): ditto.
7572         (Fset_frame_pixel_size): ditto.
7573         (syms_of_frame): declare.
7574
7575         * general-slots.h: add :vertically-justify and
7576         :horizontally-justify.
7577
7578         * glyphs-msw.c (xbm_create_bitmap_from_data): warning fix.
7579         (mswindows_widget_border_width): new function.
7580         (mswindows_combo_box_instantiate): set border widths.
7581         (console_type_create_glyphs_mswindows): declare.
7582
7583         * glyphs-widget.c:
7584         (check_valid_justification): allow vertical and horizontal
7585         justification.
7586         (widget_border_width): new function. Call device methods.
7587         (widget_instance_border_width): ditto.
7588         (logical_unit_height): new function. Determine the height of a
7589         logical-unit. Logical units are intended to provide grid-like
7590         layout for subcontrols in a layout. If the layout is
7591         :vertically-justify top then subcontrols will be positioned on
7592         logical-unit boundaries, thus allowing adjacent subcontrols to
7593         line up.
7594         (widget_logical_unit_height): ditto for widgets.
7595         (redisplay_widget): misc cleanup.
7596         (widget_spacing): new function. Call device specific
7597         methods. Intended to be the default gap between adjacent widgets.
7598         (widget_query_geometry): use new spacing functions to determine
7599         appropriate geometry.
7600         (initialize_widget_image_instance): initialize horizontal and
7601         vertical justification.
7602         (widget_instantiate): use logica-units where appropriate for
7603         sizing large widgets.
7604         (button_query_geometry): use widget_instance_border_width.
7605         (tree_view_query_geometry): ditto.
7606         (tab_control_query_geometry): ditto.
7607         (edit_field_query_geometry): new function.
7608         (layout_update): pick up :justify, :horizontally-justify and
7609         :vertically-justify none of which worked previously. :justify is
7610         used as a fallback for both horizontal and vertical justification.
7611         (layout_query_geometry): use logical units to size appropriately.
7612         (layout_layout): ditto.
7613         (Fwidget_logical_to_character_width): new function. Allow users to
7614         convert from logical units to characters so that frame sizes can
7615         be set appropriately.
7616         (Fwidget_logical_to_character_height): ditto.
7617         (syms_of_glyphs_widget): declare.
7618         (image_instantiator_edit_fields): add edit_field_query_geometry.
7619         (VALID_LAYOUT_KEYWORDS): declare :vertically-justify and
7620         :horizontally-justify.
7621         (specifier_vars_of_glyphs_widget): new function. Declare
7622         Vwidget_border_width which is not yet used.
7623
7624         * glyphs-x.c (x_map_subwindow): enqueue appropriate focus events.
7625         (x_widget_border_width): new function.
7626         (x_widget_instantiate): create a sensible name for widgets.
7627         (console_type_create_glyphs_x): declare x_widget_border_width.
7628
7629         * glyphs.h (DEFAULT_WIDGET_BORDER_WIDTH): new macro.
7630         (struct Lisp_Image_Instance): add :vertically-justify and
7631         :horizontally-justify.
7632         (LAYOUT_JUSTIFY_TOP): new.
7633         (IMAGE_INSTANCE_SUBWINDOW_H_JUSTIFY): new.
7634         (ROUND_UP): new macro. Round argument up to next integral
7635         interval.
7636
7637         * redisplay-output.c (redisplay_output_layout): misc formatting.
7638
7639         * symsinit.h: declare specifier_vars_of_glyphs_widget.
7640
7641 2002-08-23  Stephen J. Turnbull  <stephen@xemacs.org>
7642
7643         * XEmacs 21.4.9 "Informed Management" is released.
7644
7645 2002-08-19  Andy Piper  <andy@xemacs.org>
7646
7647         * fileio.c (Ffile_truename): on cygwin using win32 normalize to
7648         win32 format.
7649
7650         * realpath.c (xrealpath): normalize drive spec also so that dir
7651         sep chars are not mixed on cygwin.
7652
7653 2002-08-06  Jerry James  <james@xemacs.org>
7654
7655         * window.c (Fsplit_window): Count only half of the divider width
7656         against the left window when splitting horizontally. 
7657
7658 2002-06-24  Andy Piper  <andy@xemacs.org>
7659
7660         * toolbar-gtk.c (GTK_OUTPUT_BUTTONS_LOOP): output button if whole
7661         toolbar was cleared.
7662
7663         * toolbar-msw.c (mswindows_clear_frame_toolbars): new
7664         function. Split out from mswindows_output_frame_toolbars.
7665         (mswindows_output_frame_toolbars): move clear pieces to
7666         mswindows_output_frame_toolbars.
7667
7668         * toolbar-gtk.c (gtk_clear_frame_toolbars): new function. Split
7669         out from gtk_output_frame_toolbars.
7670         (gtk_output_frame_toolbars): move clear pieces to
7671         gtk_clear_frame_toolbars.
7672
7673         * toolbar-x.c (X_OUTPUT_BUTTONS_LOOP): always output buttons when
7674         the frame is cleared. How this ever worked before is a mystery.
7675         (x_output_frame_toolbars): Only output toolbars.
7676         (x_clear_frame_toolbars): new. Clear previous toolbar locations.
7677
7678         * gutter.c (update_gutter_geometry):
7679         Mark frame layout changed.
7680         (update_frame_gutter_geometry, update_frame_gutters):
7681         Respect frame_layout_changed.
7682
7683         * console.h (struct console_methods): add
7684         clear_frame_toolbars_method.
7685
7686         * redisplay.c (redisplay_frame): call
7687         update_frame_toolbars_geometry and re-order update_frame_toolbars.
7688
7689         * toolbar.h: declare update_frame_toolbars_geometry.
7690
7691         * toolbar.c (update_frame_toolbars_geometry): new function. Split
7692         out from update_frame_toolbars.  Call clear_frame_toolbars.
7693         (update_frame_toolbars): only output, do not change geometry.
7694
7695         * redisplay.c: add frame_layout_changed.
7696
7697         * redisplay.h: add frame_layout_changed.
7698         (CLASS_RESET_CHANGED_FLAGS): set it.
7699         (GLOBAL_RESET_CHANGED_FLAGS): ditto.
7700         (CLASS_REDISPLAY_FLAGS_CHANGEDP): test it.
7701         (GLOBAL_REDISPLAY_FLAGS_CHANGEDP): ditto.
7702
7703         * device.h (struct device): add frame_layout_changed.
7704         (MARK_DEVICE_FRAME_LAYOUT_CHANGED): new.
7705
7706         * frame.h (struct frame): add frame_layout_changed.
7707         (MARK_FRAME_LAYOUT_CHANGED): new.
7708
7709 2002-06-30  Mike Alexander  <mta@arbortext.com>
7710
7711         * event-msw.c (mswindows_need_event): Don't wait for a new message
7712         if the queue is not empty.  Suggested by Paul Moore.
7713
7714 2002-06-12  Andy Piper  <andy@xemacs.org>
7715
7716         * frame-msw.c (msprinter_init_frame_3): calculate the frame size
7717         for printing on accurately.
7718
7719 2002-06-09  Rick Rankin <rick_rankin@yahoo.com>
7720
7721         * event-msw.c (mswindows_wnd_proc): Add a handler for the
7722         WM_ACTIVATE message. Make sure that the frame is visible if the
7723         window is visible. This seemss to fix the problem where XEmacs
7724         appears to freeze after switching desktops with certain virtual
7725         window managers.
7726         (debug_output_mswin_message): Added code to output message
7727         parameters for WM_WINDOWPOSCHANGED, 
7728         WM_WINDOWPOSCHANGING, WM_MOVE, and WM_SIZE messages.
7729
7730 2002-05-25  Andy Piper  <andy@xemacs.org>
7731
7732         * select-x.c (vars_of_select_x): Fix docstring of
7733         x-selection-strict-motif-ownership
7734
7735 2002-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
7736
7737         * keymap.c (get_keymap):
7738         Add comment about do_autoload GCPROs own args.
7739
7740 2002-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
7741
7742         * bytecode.c (execute_optimized_program): check_opcode ifdef
7743         ERROR_CHECK_BYTE_CODE.
7744
7745 2002-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
7746
7747         Thanks to Ben Wing and Michael Sperber.
7748
7749         * eval.c (Fcommand_execute):
7750         (Feval):
7751         (Ffuncall):
7752         (Fmacroexpand_internal):
7753         (function_argcount):
7754         callint.c (Fcall_interactively):
7755         Add comment about do_autoload GCPROs own args.
7756
7757         * (do_autoload): GCPRO both args as well as local Lisp_Object.
7758
7759         * eval.c (Ffuncall): Extra braces to placate GCC.
7760
7761 2002-08-10  Stephen J. Turnbull  <stephen@xemacs.org>
7762
7763         * backtrace.h (grow_specpdl):
7764         (SPECPDL_RESERVE):
7765         * EmacsFrame.c (EmacsFrameSetValues):
7766         * eval.c (grow_specpdl):
7767         * ExternalShell.c (hack_event_masks_1):
7768         * glyphs-x.c (convert_EImage_to_XImage): 
7769         (x_finalize_image_instance):
7770         * ralloc.c (page_size):
7771         (r_alloc_sbrk):
7772         * xgccache.c (gc_cache_hash):
7773         Fix unsigned comparison warnings.
7774
7775 2002-07-29  Jerry James  <james@xemacs.org>
7776
7777         * lread.c (locate_file): Any nonnegative return value indicates
7778         success if MODE is nonnegative.
7779
7780 2002-08-03  Brian A Palmer  <bpalmer@rescomp.Stanford.EDU>
7781
7782         * emacs.c (Fsplit_string_by_char): Make 2nd arg SEPCHAR a required
7783         argument. 
7784
7785 2002-07-17  Stephen J. Turnbull  <stephen@xemacs.org>
7786
7787         * process-unix.c (unix_send_process): #ifdef the coding_stream member.
7788
7789         * dumper.c (pdump_get_indirect_count):
7790         (pdump_scan_by_alignment):
7791         (pdump_dump_root_struct_ptrs):
7792         (pdump_dump_rtables):
7793         (pdump_dump_root_objects):
7794         (pdump):
7795         * nas.c (WaveOpenDataForReading):
7796         * fns.c (print_bit_vector):
7797         * font-lock.c (SINGLE_SYNTAX_STYLE):
7798         * glyphs.c (check_for_ignored_expose):
7799         (find_matching_subwindow):
7800         * glyphs-eimage.c:
7801         * imgproc.c (get_histogram):
7802         * redisplay.c (point_in_line_start_cache):
7803         * redisplay-output.c (redisplay_unmap_subwindows):
7804         * symbols.c (defsymbol_massage_name_1):
7805         (defkeyword_massage_name):
7806         (deferror_massage_name_and_message):
7807         * redisplay-x.c (x_output_string): 
7808         * emacs.c (run_temacs_argv_size, run_temacs_args_size):
7809         * frame.h (struct frame):
7810         * filelock.c (current_lock_owner):
7811         * doprnt.c (emacs_doprnt_1):
7812         * lisp.h (struct Lisp_Bit_Vector):
7813         (DO_REALLOC):
7814         Fix warnings.
7815
7816 2002-02-13  Ben Wing  <ben@xemacs.org>
7817
7818         * event-stream.c (reset_key_echo):
7819         * event-stream.c (reset_this_command_keys):
7820         * event-stream.c (execute_command_event):
7821         If console is dead as a result of C-x 5 0, then post-command stuff
7822         needs to be careful and do only non-console-specific stuff.
7823
7824 2002-07-01  Mike Sperber <mike@xemacs.org>
7825
7826         * process-unix.c (unix_send_process): Mark coding_outstream as
7827         non-open upon SIGPIPE.
7828
7829         * event-stream.c (Fnext_event): Reorder switch cases to something
7830         that makes sense.
7831
7832 2001-08-13  Dmitry Astapov  <adept@umc.com.ua>
7833
7834         * event-Xt.c (maybe_define_x_key_as_self_inserting_character):
7835         Don't bogusly reinitialize ascii_character property.
7836
7837 2002-07-08  Mike Sperber <mike@xemacs.org>
7838
7839         * process.c (Fstart_process_internal): Do error checking before we
7840         fork off the child, so the child can't muck with the state of the
7841         parent.
7842
7843 2002-07-08  Mike Sperber <mike@xemacs.org>
7844
7845         * ralloc.c (init_ralloc): Allocate properly for pdump.
7846
7847 2002-06-12  Andy Piper  <andy@xemacs.org>
7848
7849         * glyphs.c (query_string_geometry): check the string.
7850
7851         * glyphs-widget.c (widget_logical_unit_height): cope with nil
7852         widget names.
7853
7854 2002-06-17  Jerry James  <james@xemacs.org>
7855
7856         * sysdll.c: Remove RTLD_GLOBAL initialization.
7857         * sysdll.c (dll_open): Do not use RTLD_GLOBAL.
7858
7859 2002-06-25  Stephen J. Turnbull  <stephen@xemacs.org>
7860
7861         * search.c (skip_chars): Port Ben's crash fix and efficiency patch.
7862
7863 2002-05-16  Mathias Grimmberger  <mgri@zaphod.sax.de>
7864
7865         * sysdep.c (sys_rename): Make sys_rename work for the case where
7866         Windows rename sets errno to EACCES if target file exists.
7867
7868 2002-05-21  Jonathan Harris  <jonathan@xemacs.org>
7869
7870         * device-msw.c (mswindows_handle_page_setup_dialog_box):
7871         Fix detection of metric units to work on Win95
7872
7873 2002-05-21  Stephen J. Turnbull  <stephen@xemacs.org>
7874
7875         * syswindows.h: #define LOCALE_RETURN_NUMBER.  Why, I don't know.
7876
7877 2002-04-25  Andy Piper  <andy@xemacs.org>
7878
7879         * redisplay.c (create_text_block): Remove extra comment trailer.
7880
7881 2002-04-24  Andy Piper  <andy@xemacs.org>
7882
7883         * redisplay.c (create_text_block): Don't actually add propagation
7884         data if the line ends after we have added a glyph.
7885
7886 2002-04-22  Andy Piper  <andy@xemacs.org>
7887
7888         * extents.c (extent_fragment_update): check for glyphs we have
7889         previously displayed.
7890         * extents.c (print_extent_1): warning removal.
7891         * extents.h: change prototype.
7892         * redisplay-output.c (redisplay_normalize_glyph_area): calculate
7893         widths correctly for wide glyphs.
7894         * redisplay.c (position_redisplay_data_type): add end_glyph_width.
7895         * redisplay.c (prop_type): add PROP_GLYPH.
7896         * redisplay.c (struct prop_block): add glyph type
7897         * redisplay.c (add_glyph_rune): when adding part of a glyph add it
7898         to the propagation data.
7899         * redisplay.c (create_text_block): if there is a glyph in the
7900         propagation data use it to salt extent_fragment_update.
7901         * redisplay.c (create_string_text_block): ditto.
7902
7903 2002-04-13  Nix  <nix@esperi.demon.co.uk>
7904
7905         * redisplay.h (struct rune): Add ascent, descent, and yoffset fields.
7906         * redisplay-output.c (compare_runes): Compare them.
7907         * redisplay.c: Update copyright date.
7908         * redisplay.c (pos_data): Add need_baseline_computation field.
7909         * redisplay.c (add_glyph_rune): Update ascent, descent, and
7910         need_baseline_computation; zero yoffset. Set max_pixmap_height
7911         for all pixmaps, not just automatically positioned ones.
7912         * redisplay.c (calculate_yoffset): New, compute yoffset values.
7913         * redisplay.c (calculate_baseline): New, compute textual baseline.
7914         * redisplay.c (add_glyph_rune): Call them.
7915         * redisplay.c (create_text_block): Likewise.
7916         * redisplay.c (create_overlay_glyph_block): Likewise.
7917         * redisplay.c (add_margin_runes): Likewise.
7918         * redisplay.c (create_string_text_block): Likewise. Fix tabdamage.
7919
7920         * redisplay.h: (redisplay_calculate_display_boxes): Change prototype.
7921         * redisplay-output.c (redisplay_calculate_display_boxes): Use yoffset.
7922         * redisplay-msw.c (mswindows_output_blank): Pass 0 as yoffset.
7923         * redisplay-msw.c (mswindows_output_string): Likewise.
7924         * redisplay-msw.c (mswindows_output_display_block): Pass yoffset.
7925         * redisplay-gtk.c (gtk_output_display_block): Likewise.
7926         * redisplay-x.c (x_output_display_block): Likewise.
7927
7928 2002-03-28  Ben Wing  <ben@xemacs.org>
7929
7930         * redisplay.c: Fixed bug in redisplay
7931         w.r.t. hscroll/truncation/continuation glyphs causing jumping up
7932         and down of the lines, since they're bigger than the line
7933         size. (It was seen most obviously when there's a horizontal scroll
7934         bar, e.g. do C-h a glyph or something like that.) The problem was
7935         that the glyph-contrib-p setting on glyphs was ignored even if it
7936         was set properly, which it wasn't until now.
7937
7938 2002-04-24  Andy Piper  <andy@xemacs.org>
7939
7940         * lisp.h (Dynarr_end): Fix definition.
7941
7942 2002-02-06  Adrian Aichner  <adrian@xemacs.org>
7943
7944         * redisplay.c (mark_redisplay): Remove call to
7945         update_frame_window_mirror.
7946
7947 2001-11-15  Andy Piper  <andy@xemacs.org>
7948
7949         * win32.c (Fmswindows_shell_execute): fix handling of URL's under
7950         cygwin (again).
7951
7952 2002-02-13  Andy Piper  <andy@xemacs.org>
7953
7954         * event-msw.c (mswindows_wnd_proc): only mark the frame visible if
7955         we did in fact enqueue the XM_MAPFRAME event.
7956
7957 2002-01-15  Adrian Aichner  <adrian@xemacs.org>
7958
7959         * event-msw.c (mswindows_wnd_proc): Add handling of WM_SHOWWINDOW
7960         to fix problem switching between virtual desktops under virtuawin
7961         virtual window manager.
7962
7963 2001-07-30  Adrian Aichner  <adrian@xemacs.org>
7964
7965         * event-msw.c: Typo fix.
7966         * event-msw.c (mswindows_wnd_proc): Set FRAME_VISIBLE_P after
7967         magic XM_MAPFRAME event has been sent.
7968
7969 2001-11-23  Andy Piper  <andy@xemacs.org>
7970
7971         * event-msw.c (mswindows_wnd_proc): Don't pump mousewheel events.
7972
7973 2001-11-21  Andy Piper  <andy@xemacs.org>
7974
7975         * scrollbar-msw.c (mswindows_handle_mousewheel_event): cope with
7976         mouse events outside the frame.
7977
7978 2002-03-20  Andy Piper  <andy@xemacs.org>
7979
7980         * menubar-msw.c (mswindows_popup_menu): warning removal.
7981         * dialog-msw.c (dialog_popped_down): ditto.
7982
7983 2001-12-11  Andy Piper  <andy@xemacs.org>
7984
7985         * dialog-msw.c (dialog_popped_down): new function. unset popup_up_p.
7986         * dialog-msw.c (mswindows_make_dialog_box_internal): set
7987         popup_up_p.
7988         * menubar-msw.c (unsafe_handle_wm_initmenupopup_1): ditto.
7989         * menubar-msw.c (mswindows_handle_wm_command): ditto.
7990         * menubar-msw.c (mswindows_popup_menu): ditto.
7991
7992 2001-10-29  Andy Piper  <andy@xemacs.org>
7993
7994         * dialog-msw.c (handle_directory_dialog_box): quit if the user
7995         cancels.
7996
7997 2002-01-03  Andy Piper  <andy@xemacs.org>
7998
7999         * realpath.c (ABS_LENGTH): dtrt for cygwin systems using drive
8000         letters.
8001         (xrealpath): ditto.
8002
8003 2002-03-29  Jonathan Harris  <jonathan@xemacs.org>
8004
8005         * device-msw.c (plist_get_margin): Add arg specifying mm or inches
8006         * device-msw.c (plist_set_margin): Fix multiplicand used for mm
8007         * device-msw.c (mswindows_handle_page_setup_dialog_box):
8008         Detect and handle case where machine is set up for metric units
8009
8010 2002-04-02  Andy Piper  <andy@xemacs.org>
8011
8012         * dired-msw.c (mswindows_get_files): 
8013         * nt.c (mswindows_stat): SetErrorMode() so that file errors are
8014         completely handled by XEmacs. Suggested by Thomas Vogler
8015         <mail@thomas-vogler.de>.
8016
8017 2001-11-14  Andy Piper  <andy@xemacs.org>
8018
8019         * nt.c (REG_ROOT): change registry key to XEmacs.
8020
8021 2002-04-27  Andy Piper  <andy@xemacs.org>
8022
8023         * glyphs-msw.c (mswindows_widget_instantiate): remove dead-code.
8024
8025 2002-04-26  Andy Piper  <andy@xemacs.org>
8026
8027         * glyphs-msw.c (mswindows_map_subwindow): observe :initial-focus
8028         behavior.
8029
8030 2002-03-14  Mike Alexander  <mta@arbortext.com>
8031
8032         * event-msw.c (mswindows_unwait_process): New, remove process from
8033         wait list
8034         * process-nt.c (nt_finalize_process_data): Call
8035         mswindows_unwait_process
8036         * console-msw.h: Declare mswindows_unwait_process
8037
8038 2002-05-14  Stephen J. Turnbull  <stephen@xemacs.org>
8039
8040         * editfns.c (Fdecode_time):
8041         (Fformat_time_string):
8042         Check for invalid time.  Thanks to Nick Pakoulin <npak@ispras.ru>.
8043         (make_time): Warning elimination (change arg name).
8044
8045 2001-11-24  Andy Piper  <andy@xemacs.org>
8046
8047         * window.c (Fsplit_window): Doc return type.
8048
8049 2002-04-01  Andy Piper  <andy@xemacs.org>
8050
8051         * emacs.c (Fkill_emacs): Only output message box in interactive
8052         mode.
8053
8054 2002-04-26  Andy Piper  <andy@xemacs.org>
8055  
8056         * config.h.in: pull in 21.5.x change to stop alloca warnings under
8057         cygwin.
8058
8059 2002-03-18  Gregory Steuck  <greg-xemacs-patch@nest.cx>
8060
8061         * unexelf.c:  Use ELFSIZE or define from _LP64 to indicate a 64
8062         bit platform.
8063
8064 2002-05-09  Stephen J. Turnbull  <stephen@xemacs.org>
8065
8066         * XEmacs 21.4.8 "Honest Recruiter" is released.
8067
8068 2002-05-07  Nix  <nix@esperi.demon.co.uk>
8069
8070         Supersedes 2002-04-17 patch.
8071
8072         * process.h (PROCESS_LIVE_P): Use the process status as
8073         evidence of health, not the state of the input stream.
8074         (PROCESS_READABLE_P): Say if the process is readable
8075         from. (It may be dead nonetheless.)
8076         (CHECK_READABLE_PROCESS): Test for that condition.
8077
8078         * process.c (create_process): Use PROCESS_READABLE_P.
8079         (read_process_output, set_process_filter): Likewise.
8080
8081         * process.c (Fprocess_input_coding_system): Use CHECK_READABLE_PROCESS.
8082         (Fset_process_input_coding_system, Fprocess_coding_system): Likewise.
8083
8084         This code is #if 0'd, this is not the time to add new functions:
8085
8086         * process.c (Fprocess_readable_p): Report readability status.
8087         * process.c (Qprocess_readable_p): New, associated symbol...
8088         * process.c (syms_of_process): ... initialize it.
8089
8090 2002-05-04  Stephen J. Turnbull  <stephen@xemacs.org>
8091
8092         * XEmacs 21.4.7 "Economic Science" is released.
8093
8094 2002-04-17  Nix  <nix@esperi.demon.co.uk>
8095
8096         * process.h (PROCESS_LIVE_P): Use the process status as
8097         evidence of health, not the state of the input stream.
8098
8099 2002-04-30  Charles G. Waldman <cgw@xemacs.org>
8100
8101         * sysdep.c (sys_siglist): change "signum" to "signal"
8102
8103 2001-04-21  Martin Buchholz  <martin@xemacs.org>
8104
8105         * s/darwin.h: New file.
8106         Thanks to Greg Parker <gparker@cs.stanford.edu>.
8107         
8108 2002-04-23  Andreas Jaeger  <aj@suse.de>
8109
8110         * s/linux.h (LIB_STANDARD): Define correctly for x86-64 and s390x
8111         which use lib64 for 64-bit libs.
8112         (START_FILES): Likewise.
8113
8114 2002-02-11  Mike Sperber  <mike@xemacs.org>
8115
8116         * device-x.c: 
8117         (x_IO_error_handler):
8118         (x_init_device): Temporarily keep device in static variable
8119         `device_being_initialized' so we can recover gracefully from
8120         internal XOpenDevice failure.  (XOpenDevice is documented to
8121         return NULL on failure, but sometimes calls the IO error handler
8122         instead.)
8123
8124 2002-01-31  John H. Palmieri  <palmieri@math.washington.edu>
8125
8126         * dired.c (Ffile_name_all_completions): Change documentation --
8127         remove reference to completion-ignored-extensions.
8128         * dired.c (vars_of_dired): Change documentation for
8129         completion-ignored-extensions -- remove reference to
8130         file-name-all-completions.
8131
8132 2002-03-06  Jerry James  <james@xemacs.org>
8133
8134         * emodules.c (emodules_load): Fix multiple loading of same module.
8135
8136 2002-01-25  Andrew Begel <abegel@cs.berkeley.edu>
8137         * sysdll.c (dll_open): Changed to use RTLD_NOW instead of
8138         RTLD_LAZY to avoid incorrect symbol binding when using nested
8139         shared libraries on Solaris.
8140
8141 2002-02-12  Stephen J. Turnbull  <stephen@xemacs.org>
8142
8143         * fileio.c (Ffind_file_name_handler): Improve docstring.
8144
8145 2002-01-20  Stephen J. Turnbull  <stephen@xemacs.org>
8146
8147         * fns.c (Fmapconcat): Improve docstring.
8148
8149 2002-01-03  Eric Gillespie, Jr.  <epg@pretzelnet.org>
8150
8151         * device-gtk.c: Add prototype for
8152         emacs_gtk_selection_clear_event_handle.
8153         (gtk_init_device): Call gtk_selection_add_target for CLIPBOARD
8154         selection.  Setup signal handler for "selection_clear_event"
8155         (emacs_gtk_selection_clear_event_handle).
8156
8157         * select-gtk.c (emacs_gtk_selection_clear_event_handle): Handle
8158         other applications owning the clipboard (based on
8159         x_handle_selection_clear).
8160
8161 2001-12-23  William M. Perry  <wmperry@gnu.org>
8162
8163         * menubar-gtk.c (gtk_popup_menu)  Add sanity checks, fix crash.
8164         
8165 2002-01-04  Martin Buchholz  <martin@xemacs.org>
8166
8167         * keymap.c (define_key_alternate_name): Parenthesize EQ.
8168
8169 2001-12-17  Stephen J. Turnbull  <stephen@xemacs.org>
8170
8171         * XEmacs 21.4.6 "Common Lisp" is released.
8172
8173 2001-12-16  Torsten Duwe  <duwe@caldera.de>
8174
8175         * search.c (Freplace_match): Add missing sub-expression functionality.
8176
8177         * buffer.c (decode_buffer): Add a check for pointer type to
8178         decode_buffer, before gcc's CSE optimization reorders a
8179         dereference in front of the allow_string test.
8180
8181 2001-11-16  Darryl Okahata  <darrylo@xemacs.org>
8182
8183         * window.c (window_loop): Fix bug that sometimes prevented
8184         window_loop() from iterating across multiple devices.  Also, at
8185         Ben's request, changed infloop-detecting code to abort() instead
8186         of silently terminating window_loop().
8187
8188 2001-11-21  Stephen J. Turnbull  <stephen@xemacs.org>
8189
8190         Based on analysis and patch by Simon Josefson <jas@extundo.com>.
8191         * editfns.c (make_time): New function.
8192         (Fencode_time): Use it instead of wasteful_word_to_lisp.
8193         * lisp.h (make_time): Prototype and comment it.
8194         * dired.c (wasteful_word_to_lisp): Deprecate.
8195         (Ffile_attributes): Use make_time() instead of wasteful_word_to_lisp().
8196
8197 2001-10-31  Kyle Jones  <kyle_jones@wonderworks.com>
8198
8199         * fileio.c (auto_save_1): Use current coding system, not
8200         escape-quoted.
8201
8202 2001-11-13  Ben Wing  <ben@xemacs.org>
8203
8204         * window.c:
8205         * window.c (window_truncation_on):
8206         * window.c (syms_of_window):
8207         truncate-partial-width-windows should respect the buffer being
8208         displayed, like other redisplay vars.
8209
8210 2001-11-13  Hirokazu FUKUI  <hfukui@sannet.ne.jp>
8211
8212         * event-stream.c (Fread_key_sequence): save current buffer.
8213
8214 2001-10-29  Andrew Begel  <abegel@eecs.berkeley.edu>
8215
8216         * ntheap.c (_heap_init): Don't redefine in VS.NET (MSC >= 1300).
8217
8218 2001-10-29  Andrew Begel  <abegel@eecs.berkeley.edu>
8219
8220         * alloc.c (lcrecord_stats): Add space for types defined in modules.
8221
8222 2001-10-26  Mike Alexander  <mta@arbortext.com>
8223
8224         * event-msw.c (slurper_free_shared_data_maybe): Free the pipe handle.
8225
8226 2001-10-25  Andy Piper  <andy@xemacs.org>
8227
8228         * ChangeLog:
8229         * dialog-msw.c (handle_directory_proc): new function.
8230          (handle_directory_dialog_box): new fucntion.
8231          (handle_file_dialog_box): use new directory dialog support.
8232          (mswindows_make_dialog_box_internal): ditto.
8233         * event-msw.c (mswindows_wnd_proc): minor fix to scrollbar event
8234         handling.
8235         (mswindows_find_frame): make global.
8236         * fileio.c (Fexpand_file_name): build fix.
8237         * general-slots.h: add Qdirectory.
8238         * scrollbar-msw.c (mswindows_handle_scrollbar_event): fix focus
8239         handling.
8240         * syswindows.h (LOCAL_TO_WIN32_FILE_FORMAT): fix problem with
8241         cygwin not leaving win32 paths unchanged.
8242         * win32.c (Fmswindows_cygwin_to_win32_path): new function. Use the
8243         cygwin runtime to do path conversion.
8244         (Fmswindows_shell_execute): fix cygwin handling of URLs.
8245         (syms_of_win32): add new function.
8246         * window.c (window_loop): build fix.
8247
8248 2001-10-15  Andy Piper  <andy@xemacs.org>
8249
8250         (Fmswindows_shell_execute): fix handling of URL's under cygwin.
8251
8252 2001-10-23  Stephen J. Turnbull  <stephen@xemacs.org>
8253
8254         * XEmacs 21.4.5 "Civil Service" is released.
8255
8256 2001-04-08  Danny Colascione  <qtmstr@optonline.net>
8257
8258         * glyphs-x.c: Force buffer-tab highlight update when moving the
8259         buffer, avoiding an ugly black border, used for keyboard focus
8260         indication, on a widget that can never have keyboard focus, the
8261         buffer tab.
8262
8263 2001-08-30  Daiki Ueno  <ueno@unixuser.org>
8264
8265         * process-unix.c (unix_open_multicast_group): Remove too much
8266         conversion between host and network byte order.
8267
8268 2001-09-10  Nix  <nix@esperi.demon.co.uk>
8269
8270         * src/buffer.c (kill_buffer): Undedicate windows showing BUF
8271         before replacing them.
8272
8273         * src/window.c (window_loop): Implement new UNDEDICATE_BUFFER
8274         operation.
8275
8276         * src/window.c (undedicate_windows): Use it.
8277         * src/window.h: Add prototype.
8278
8279 2001-09-17  Ben Wing  <ben@xemacs.org>
8280
8281         * fileio.c (normalize_filename):
8282         * fileio.c (Fexpand_file_name):
8283         Fix various C++ compile errors in Andy's recent code.
8284         
8285         * callint.c (Fcall_interactively):
8286         * editfns.c (Ftemp_directory):
8287         * editfns.c (Fuser_full_name):
8288         * emacs.c (argmatch):
8289         * lread.c (locate_file_map_suffixes):
8290         * redisplay-x.c (x_ring_bell):
8291         Fix sign-compare warnings.
8292         
8293 2001-09-08  Andy Piper  <andy@xemacs.org>
8294
8295         * fileio.c (normalize_filename): copied from nt.c
8296         * (Ffile_name_directory): enable win32 paths under cygwin.
8297         * (Ffile_name_nondirectory): ditto.
8298         * (directory_file_name): ditto.
8299         * (Fexpand_file_name): ditto.
8300         * (Ffile_truename): ditto.
8301         * (Fsubstitute_in_file_name): ditto.
8302         * (Ffile_name_absolute_p): ditto.
8303         * (Ffile_readable_p): ditto.
8304
8305 2001-09-08  Andy Piper  <andy@xemacs.org>
8306
8307         * device-msw.c (mswindows_finish_init_device): remove dde
8308         initialization.
8309         * device-msw.c (mswindows_init_dde): factor out from
8310         mswindows_finish_init_device()
8311         * device-msw.c (init_mswindows_very_early): new function
8312         initialize but don't enable dde.
8313         * emacs.c (main_1): call init_mswindows_very_early.
8314         * event-msw.c:
8315         * event-msw.c (mswindows_dde_callback): only execute when we are
8316         ready.
8317         * symsinit.h: declare init_mswindows_very_early.
8318
8319 2001-05-02  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
8320
8321         [sjt: This has been in 21.5 for months with no complaints.]
8322
8323         * console.h (struct console_methods): Added flags member.
8324         (CONSOLE_IMPLEMENTATION_FLAGS): Defined.
8325         (CONMETH_IMPL_FLAG):
8326         (CONSOLE_IMPL_FLAG): Macro to check implememntation flags.
8327         Defined XDEVIMPF_DONT_PREEMPT_REDISPLAY.
8328
8329         * device.c (window_system_pixelated_geometry): Use the above macros.
8330
8331         * device.h (DEVICE_IMPL_FLAG): Macro to check a device
8332         implememntation flag.
8333         * device.h (DEVICE_DISPLAY_P): Use it.
8334
8335         * frame.c (delete_frame_internal): Use the above macro.
8336
8337         * redisplay.c (redisplay_device): Use it.
8338         (redisplay_device): Obey XDEVIMPF_DONT_PREEMPT_REDISPLAY.
8339         (redisplay_frame): Ditto.
8340
8341         * device-msw.c (mswindows_device_implementation_flags): Removed.
8342         (msprinter_device_implementation_flags): Removed.
8343         (console_type_create_device_mswindows): Removed references to
8344         implementation_flags methods, set implementation flags here.
8345         (console_type_create_device_mswindows): Added XDEVIMPF_DONT_PREEMPT.
8346
8347         * device-gtk.c (gtk_device_implementation_flags): Removed method.
8348         (console_type_create_device_gtk): Removed method declaration.
8349         Added commented out statement which semantically matches the
8350         commented out statement in the above removed method.
8351
8352 2001-04-14  Gordon Sadler  <gbsadler1@lcisp.com>
8353
8354         The attached patch fixes a few warnings. 
8355
8356         * src/emacs.c: prototype console_type_create_select_gtk for GTK only
8357         * src/frame-gtk.c: guard against GNOME calls in GTK only
8358         * src/redisplay-gtk.c: include <sys/poll.h> #ifdef HAVE_POLL
8359         * src/select-gtk.c: prototype lisp_to_time
8360
8361 2001-06-08  Ben Wing  <ben@xemacs.org>
8362
8363         ------ gc-in-window-procedure fixes ------
8364         
8365         * alloc.c:
8366         * alloc.c (struct post_gc_action):
8367         * alloc.c (register_post_gc_action):
8368         * alloc.c (run_post_gc_actions):
8369         * alloc.c (garbage_collect_1):
8370         Create "post-gc actions", to avoid those dreaded "GC during window
8371         procedure" problems.
8372
8373         * event-msw.c:
8374         Abort, clean and simple, when GC in window procedure.  We want
8375         to flush these puppies out.
8376
8377         * glyphs-msw.c:
8378         * glyphs-msw.c (finalize_destroy_window):
8379         * glyphs-msw.c (mswindows_finalize_image_instance):
8380         Use a post-gc action when destroying subwindows.
8381
8382         * lisp.h:
8383         Declare register_post_gc_action().
8384
8385         * scrollbar-msw.c:
8386         * scrollbar-msw.c (unshow_that_mofo):
8387         Use a post-gc action when unshowing scrollbar windows, if in gc.
8388
8389         * redisplay.c (mark_redisplay):
8390         Add comment about the utter evilness of what's going down here.
8391
8392         ------ cygwin setitimer fixes ------
8393         
8394         * Makefile.in.in (sheap_objs):
8395         * Makefile.in.in (profile_objs):
8396         * Makefile.in.in (objs):
8397         Compile profile.c only when HAVE_SETITIMER.
8398         
8399         * nt.c (mswindows_sigset):
8400         * nt.c (mswindows_sighold):
8401         * nt.c (mswindows_sigrelse):
8402         * nt.c (mswindows_sigpause):
8403         * nt.c (mswindows_raise):
8404         * nt.c (close_file_data):
8405         Style fixes.
8406         
8407         * nt.c:
8408         Move setitimer() emulation to win32.c, because Cygwin needs it too.
8409         
8410         * profile.c:
8411         * profile.c (Fstart_profiling):
8412         * profile.c (Fstop_profiling):
8413         Make sure we don't compile if no setitimer().  Use qxe_setitimer()
8414         instead of just plain setitimer().
8415         
8416         * signal.c:
8417         * signal.c (set_one_shot_timer):
8418         * signal.c (alarm):
8419         Define qxe_setitimer() as an encapsulation around setitimer() --
8420         call setitimer() directly unless Cygwin or MS Win, in which case
8421         we use our simulated version in win32.c.
8422         
8423         * systime.h:
8424         * systime.h (struct itimerval):
8425         * systime.h (ITIMER_REAL):
8426         Prototype mswindows_setitimer() and qxe_setitimer().  Long
8427         comment about "qxe" and the policy regarding encapsulation.
8428
8429         * win32.c:
8430         * win32.c (setitimer_helper_proc):
8431         * win32.c (setitimer_helper_period):
8432         * win32.c (setitimer_helper):
8433         * win32.c (mswindows_setitimer):
8434         Move setitimer() emulation here, so Cygwin can use it.
8435         Rename a couple of functions and variables to be longer and more
8436         descriptive.  In setitimer_helper_proc(), send the signal
8437         using either mswindows_raise() or (on Cygwin) kill().  If for
8438         some reason we are still getting lockups, we'll change the kill()
8439         to directly invoke the signal handlers.
8440
8441         ------ windows shell fixes ------
8442         
8443         * callproc.c:
8444         * ntproc.c:
8445         Comments about how these two files must die.
8446
8447         * callproc.c (init_callproc):
8448         On MS Windows, init shell-file-name from SHELL, then COMSPEC,
8449         not just COMSPEC. (more correct and closer to FSF.) Don't
8450         force a value for SHELL into the environment. (Comments added
8451         to explain why not.)
8452         
8453         * nt.c (init_user_info):
8454         Don't shove a fabricated SHELL into the environment.  See above.
8455
8456 2001-06-01  Ben Wing  <ben@xemacs.org>
8457
8458         * Makefile.in.in (ldflags):
8459         eliminate that pesky "defaulting to 00401000" warning.
8460         * nt.h:
8461         eliminate warnings.
8462
8463 2001-06-15  Golubev I. N.  <gin@mo.msk.ru>
8464
8465         * s/sco5.h (FORCE_ALLOCATE_PTY_THE_OLD_FASHIONED_WAY): #define.
8466         * process-unix.c (allocate_pty): #ifndef "modern" pty allocation.
8467
8468 2001-04-24  Jerry James <james@xemacs.org>
8469
8470         * faces.h: pass parameters to Fadd_spec_to_specifier in the
8471         correct order.
8472
8473 2001-06-01  Ben Wing  <ben@xemacs.org>
8474
8475         * event-msw.c (debug_mswin_messages):
8476         conditionalize the messages that were causing compile errors.
8477         (if only macros could generate #ifdef statements ...)
8478
8479 2001-07-28  Stephen J. Turnbull  <stephen@xemacs.org>
8480
8481         * XEmacs 21.4.4 "Artificial Intelligence" is released.
8482
8483 2001-07-22  Stephen J. Turnbull  <stephen@xemacs.org>
8484
8485         * event-msw.c (mswindows_wnd_proc): Add GC debugging assert.
8486
8487 2001-07-22  Stephen J. Turnbull  <stephen@xemacs.org>
8488
8489         * config.h.in (IPV6_CANONICALIZE): New #define for --with-ipv6-lookup.
8490         * process-unix.c (unix_canonicalize_host_name):
8491         sysdep.c (init_system_name):
8492         Use it to conditionally support IPv6 canonicalization.
8493
8494 2001-05-31  Paul Stodghill  <stodghil@cs.cornell.edu>
8495
8496         * event-msw.c:
8497         Cygwin does not define WM_IME_xxx. Modify the #if's accordingly.
8498
8499 2001-05-19  Paul Krause  <paulkrause1@mediaone.net>
8500
8501         * scrollbar-msw.c: Fixes a crash that occurs on Windows when an
8502         attempt is made to scroll when no scroll bar is available.
8503
8504 2001-04-19  Glynn Clements  <glynn.clements@virgin.net>
8505
8506         * input-method-motif.c (XIM_delete_frame): New callback.
8507         (XIM_init_frame): Register it.  (Reapplied by SJT, it somehow
8508         got deleted from 21.4.3.)
8509
8510 2001-06-01  Ben Wing  <ben@xemacs.org>
8511
8512         * nt.c (mswindows_utime):
8513         * nt.c (close_file_data):
8514         fix off-by-one-indirection error.
8515
8516 2001-05-29  Adrian Aichner  <adrian@xemacs.org>
8517
8518         * fileio.c: Include nt.h.  Remove lisp_string_set_file_times()
8519         because set_file_times() now takes Lisp_Object path, instead of
8520         char*.
8521         * nt.c: Include buffer.h.
8522         * nt.c (convert_from_time_t): New.
8523         * nt.c (mswindows_utime): New.  Use utime, since SetFileTime does
8524         not set mtime correctly.
8525         * nt.h: Declare mswindows_utime().
8526         * sysdep.c (set_file_times): set_file_times() now takes Lisp_Object
8527         path, instead of char*.
8528         * systime.h: Include <sys/utime.h> on WIN32_NATIVE.
8529
8530 2001-05-30  Ben Wing  <ben@xemacs.org>
8531
8532         For 21.4:
8533
8534         (Stephen, just take all event-msw.c patches.  This includes
8535         the "iconify" fix below.)
8536
8537         * event-msw.c:
8538         * event-msw.c (mswindows_dequeue_dispatch_event):
8539         * event-msw.c (assert):
8540         * event-msw.c (emacs_mswindows_quit_p):
8541         * event-msw.c (debug_mswin_messages):
8542         * event-msw.c (debug_output_mswin_message):
8543         * event-msw.c (vars_of_event_mswindows):
8544         Fix yet more problems with C-g handling.
8545         Implement debug-mswindows-events.
8546         
8547 2001-05-24  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
8548
8549         * event-msw.c (WM_DROPFILES): Use correct type for OLE characters.
8550         
8551 2001-05-23  Ben Wing  <ben@xemacs.org>
8552
8553         * event-msw.c (winsock_writer):
8554         * event-msw.c (winsock_closer):
8555         prior kludgy code was clobbering the buffer, thinking it was
8556         "unused" space to store an unneeded return value; instead, use
8557         the variable we've already got staring us in the face.
8558
8559 2001-05-17  Andy Piper  <andy@xemacs.org>
8560
8561         * sysfile.h: don't assume that file attributes are boolean
8562
8563 2001-05-23  Ben Wing  <ben@xemacs.org>
8564
8565         * device-msw.c (msprinter_init_device):
8566         signal an error rather than crash with an unavailable network
8567         printer (from Mike Alexander).
8568         
8569         * event-msw.c:
8570         * event-msw.c (struct winsock_stream):
8571         * event-msw.c (winsock_writer):
8572         * event-msw.c (winsock_closer):
8573         * event-msw.c (make_winsock_stream_1):
8574         cleanup headers.  fix (hopefully) an error with data corruption
8575         when sending to a network connection.
8576
8577         * fileio.c (Fexpand_file_name): Fix evil code that attempts
8578         to handle the ~user prefix by (a) always assuming we're referencing
8579         ourselves and not even verifying the user -- hence any file with
8580         a tilde as its first char is invalid! (b) if there wasn't a slash
8581         following the filename, the pointer was set *past* the end of
8582         file and we started reading from uninitialized memory.  Now we
8583         simply treat these as files, always.
8584
8585         * buffer.c (common_init_complex_vars_of_buffer): comment change.
8586         
8587 2001-05-19  Ben Wing  <ben@xemacs.org>
8588
8589         * eval.c: doc comment about gcpro'ing in record_unwind_protect.
8590
8591         * process-nt.c:
8592         * process-nt.c (vars_of_process_nt):
8593         remove unused mswindows-quote-process-args.  rec for 21.4.
8594         
8595 2001-05-12  Ben Wing  <ben@xemacs.org>
8596
8597         * event-msw.c (mswindows_dde_callback):
8598         * event-msw.c (mswindows_wnd_proc):
8599         eliminate cygwin warnings.
8600
8601 2001-05-06  Ben Wing  <ben@xemacs.org>
8602
8603         * console-msw.h:
8604         * device-msw.c:
8605         * device-msw.c (print_dialog_worker):
8606         * device-msw.c (mswindows_handle_print_dialog_box):
8607         * device-msw.c (syms_of_device_mswindows):
8608         * dialog-msw.c (mswindows_make_dialog_box_internal):
8609         * general-slots.h:
8610         implement printing the selection when it's selected.
8611
8612 2001-05-20  Drazen Kacar  <dave@arsdigita.com>
8613
8614         * glyphs-gtk.c (gtk_resource_instantiate): C++ comment -> #if 0
8615
8616 2001-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
8617
8618         * lisp.h (EMACS_INT_MAX): This should be one bit less since
8619         EMACS_INT is signed.
8620
8621 2001-04-15  Michael Lausch  <mla@1012surf.net>
8622
8623         * scrollbar-gtk.c (gtk_create_scrollbar_instance): Call
8624         gtk_widget_request_size() to give scrollbar >0 width for
8625         GTK >1.2.8.
8626
8627 2001-05-30  William M. Perry  <wmperry@gnu.org>
8628
8629         * event-gtk.c: Check for buttons as modifier keys.
8630
8631 2001-05-25  Craig Lanning  <CraigL@Knology.net>
8632
8633         * s\mingw32.h:
8634         Properly find MinGW's <process.h> inside Cygwin's restructured
8635         include directories.  Don't try to include <cygwin/version.h>
8636         since we are dropping support for MinGW in versions of Cygwin
8637         earlier than b21.
8638         * nt.c:
8639         Drop support for MinGW in versions of Cygwin before b21.
8640         * sysdep.c:
8641         Properly find MinGW's <process.h> inside Cygwin's restructured
8642         include directories.
8643         * syswindows.h:
8644         Drop support for MinGW in versions of Cygwin before b21.
8645         * unexcw.c:
8646         Even though a.out.h is no longer detected by configure, allow
8647         MinGW to use it until we figure out how to do the job with Win32.
8648
8649 2001-07-11  Matt Tucker  <tuck@whistlingfish.net>
8650
8651         * syntax.c (find_start_of_comment):
8652         Fix `unbalanced parentheses' bug when dealing with mixed comment
8653         styles in c++/java/etc. mode
8654
8655 2001-05-29  Mike Alexander  <mta@arbortext.com>
8656
8657         * console-msw.h (FRAME_MSPRINTER_CHARHEIGHT): Unswap
8658         FRAME_MSPRINTER_CHARWIDTH and FRAME_MSPRINTER_CHARHEIGHT
8659
8660 2001-05-17  Andrew Begel  <abegel@eecs.berkeley.edu>
8661
8662         * lrecord.h (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): Add needed cast.
8663
8664 2001-03-31  Mike Sperber <mike@xemacs.org>
8665
8666         * search.c (Freplace_match): Support FSF-style specification of
8667         match subexpression when applied to a buffer.
8668
8669 2001-05-27  Karl M. Hegbloom  <karlheg@hegbloom.net>
8670
8671         * event-stream.c (is_scrollbar_event): add missing semicolon
8672
8673 2001-05-22  Isaac Hollander  <ysh@mindspring.com>
8674
8675         * Makefile.in.in: Use TAR macro instead of hardcoding
8676           tar.  Allows use of GNU tar instead of system tar
8677
8678 2001-05-27  Karl M. Hegbloom  <karlheg@hegbloom.net>
8679
8680         * event-stream.c (is_scrollbar_event): add missing semicolon
8681
8682 2001-05-17  Stephen J. Turnbull  <stephen@xemacs.org>
8683
8684         * XEmacs 21.4.3 "Academic Rigor" is released.
8685
8686 2001-05-17  Stephen J. Turnbull  <stephen@xemacs.org>
8687
8688         * regex.c: Define DECLARE_NOTHING when "lisp.h" is not included.
8689
8690 2001-05-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
8691
8692         * buffer.c (Vcase_fold_search): Remove obsolete
8693           comment about non ASCII case-fold-search.  This
8694           bug has been fixed by case-table changes.
8695
8696 2001-05-11  Stephen J. Turnbull  <stephen@xemacs.org>
8697
8698         * event-msw.c: Restore include of events-mod.h.
8699
8700 2001-04-22   zhaoway  <zw@debian.org>
8701
8702         * event-stream.c (is_scrollbar_event): Noop returning 0 if
8703         !HAVE_SCROLLBARS.
8704
8705 2001-05-10  Stephen J. Turnbull  <stephen@xemacs.org>
8706
8707         * XEmacs 21.4.2 "Developer-Friendly Unix APIs" is released.
8708
8709 2001-05-08  Yoshiaki Kasahara  <kasahara@nc.kyushu-u.ac.jp>
8710
8711         * mule-charset.c (Fmake_charset): Add missing else.
8712
8713 2001-04-23  Ben Wing  <ben@xemacs.org>
8714
8715         * event-msw.c (FAKE_MOD_QUIT):
8716         * event-msw.c (mswindows_dequeue_dispatch_event):
8717         * event-msw.c (mswindows_wnd_proc):
8718         * event-msw.c (emacs_mswindows_quit_p):
8719         Get critical quit working.
8720
8721 2001-05-05  Ben Wing  <ben@xemacs.org>
8722
8723         * console-msw.h:
8724         * device-msw.c:
8725         * device-msw.c (mswindows_get_default_margin):
8726         * frame-msw.c (mswindows_size_frame_internal):
8727         * frame-msw.c (msprinter_init_frame_1):
8728         * frame-msw.c (vars_of_frame_mswindows):
8729         Change top/bottom margin defaults to 0.5 inches.
8730
8731 2001-05-01  Martin Buchholz  <martin@xemacs.org>
8732
8733         Fix link error with gcc 3.0 on Linux.
8734         * terminfo.c (UP): Remove.
8735         * terminfo.c (BC): Remove.
8736         * terminfo.c (PC): Remove.
8737         They weren't used, and in any case, these symbols should be
8738         defined in the *library*.
8739
8740 2001-05-03  Martin Buchholz  <martin@xemacs.org>
8741
8742         * s/aix4.h: Fix crash with xlc -O3.
8743         Improve comment explaining how -O3 works.
8744
8745 2001-04-15  Ben Wing  <ben@xemacs.org>
8746
8747         * event-stream.c:
8748         * event-stream.c (Fnext_event):
8749         * event-stream.c (is_scrollbar_event):
8750         * event-stream.c (execute_command_event):
8751         Better fix for Yoshiki's `C-x @ h <scrollbar-drag> x causes a
8752         crash' problem.  His fix introduces other problems.  We filter
8753         out scrollbar events specifically, making them somewhat invisible
8754         to command-building, and not appearing in `this-command-keys'.
8755         More work is still needed (see comments in event-stream.c), but
8756         this fixes all the major problems.
8757
8758 2001-04-20  Ben Wing  <ben@xemacs.org>
8759
8760         * .cvsignore: Added stuff for Windows.
8761
8762 2001-04-28  Ben Wing  <ben@xemacs.org>
8763
8764         * buffer.c (Ferase_buffer):
8765         * editfns.c (buffer_insert1):
8766         * editfns.c (Finsert_before_markers):
8767         * editfns.c (Finsert_string):
8768         * editfns.c (Finsert_char):
8769         * editfns.c (Fdelete_region):
8770         * editfns.c (Fwiden):
8771         * editfns.c (Fnarrow_to_region):
8772         remove bogus lines setting zmacs_region_stays to 0.
8773         
8774 2001-04-15  Gunnar Evermann  <ge204@eng.cam.ac.uk>
8775
8776         * process-unix.c (unix_open_network_stream): If connect() fails
8777         invalidate file descriptor after closing it.
8778
8779 2001-03-08  Mike Alexander  <mta@arbortext.com>
8780
8781         * event-msw.c (mswindows_need_event_in_modal_loop):
8782         Don't dispatch a message if we didn't get one.
8783         (mswindows_need_event):
8784         Terminate the correct process when one exits instead of the first
8785         one on Vprocess_list and look for process termination when in
8786         mswindows_protect_modal_loop.
8787
8788 2001-04-19  Stephen J. Turnbull  <stephen@xemacs.org>
8789
8790         * XEmacs 21.4.1 "Copyleft" is released.
8791
8792 2001-04-19  Glynn Clements  <glynn.clements@virgin.net>
8793
8794         * input-method-motif.c (XIM_delete_frame): New callback.
8795         (XIM_init_frame): Register it.
8796
8797 2001-04-16  Stephen J. Turnbull  <stephen@xemacs.org>
8798
8799         * XEmacs 21.4.0 "Solid Vapor" is released.
8800
8801 2001-04-15  Ben Wing  <ben@xemacs.org>
8802
8803         * cmdloop.c (call_command_loop):
8804         Fix braino in bit-rotting code.
8805         
8806 2001-04-07  Hrvoje Niksic  <hniksic@arsdigita.com>
8807
8808         * extents.c (Fset_extent_endpoints): Force creation of extent info
8809         in buffer_or_string.
8810
8811         * extents.c (process_extents_for_insertion_mapper): Correctly
8812         check for open-open zero-length extents.
8813
8814 2001-04-16  Stephen J. Turnbull  <stephen@xemacs.org>
8815
8816         * lisp.h: New typedefs Memory_count, Element_count.
8817         * regex.c:
8818         * regex.h:
8819         Sign-compare warning elimination: several unsigned -> signed.
8820         Based on work by Ben Wing <ben@xemacs.org>.
8821
8822 2001-04-14  Stephen J. Turnbull  <stephen@xemacs.org>
8823
8824         * XEmacs 21.2.47 "Zephir" is released.
8825
8826 2001-04-02  Jan Vroonhof  <jan@xemacs.org>
8827
8828         * redisplay.c (add_bufbyte_string_runes): Update data->bytepos
8829
8830 2001-04-03  Mike Sperber <mike@xemacs.org>
8831
8832         * search.c: Revert previous patch due because of release.
8833
8834 2001-03-30  Ben Wing  <ben@xemacs.org>
8835
8836         * s\cygwin32.h:
8837         Add missing killpg prototype.
8838
8839         * elhash.c:
8840         Add a comment about fixing problems when a new entry is added
8841         while mapping.
8842
8843         * frame-msw.c (mswindows_init_frame_1):
8844         Fix compile warnings.
8845
8846         * menubar.c (vars_of_menubar):
8847         Provide `menu-accelerator-support' to indicate that we properly
8848         support %_ in menu specifications, so that package code can
8849         conditionalize on this (and remove %_ from menu specifications
8850         on older versions).
8851
8852         * event-msw.c:
8853         * scrollbar-msw.c:
8854         * scrollbar-msw.c (can_scroll):
8855         * scrollbar-msw.h:
8856         Fix handling of mouse wheel under Windows to follow standards --
8857         now scrolls window under pointer, not selected window.
8858
8859 2001-03-31  Mike Sperber <mike@xemacs.org>
8860
8861         * search.c (Freplace_match): Support FSF-style specification of
8862         match subexpression when applied to a buffer.
8863
8864 2001-03-15  Martin Buchholz  <martin@xemacs.org>
8865
8866         * keymap.c (Fmap_keymap): map-keymap explicitly allows a mapping
8867         function to modify KEYMAP, so map over a copy of the hash table.
8868
8869 2001-03-21  Martin Buchholz <martin@xemacs.org>
8870
8871         * XEmacs 21.2.46 "Urania" is released.
8872
8873 2001-03-20  Dan Holmsand  <dan@eyebee.com>
8874
8875         * realpath.c (xrealpath): Make file-truename work with symlinks to
8876         /cygdrive paths on cygwin. Always lowercase drive-letters on
8877         native windows.
8878         (cygwin_readlink): Don't try to find canonical filename unless
8879         file exists.
8880
8881 2001-03-15  Stephen J. Turnbull  <stephen@xemacs.org>
8882
8883         * ChangeLog: Log GTK merge.
8884
8885         * dumper.c:
8886         * select-x.c:
8887         * specifier.c:
8888         * symeval.h:
8889         Revert gratuitous whitespace changes from GTK merge.
8890
8891         * emacs.c: Document end of complex #ifdef @ l. 1495.
8892
8893
8894 2001-03-12  Andy Piper  <andy@xemacs.org>
8895
8896         * mingw32.h: unfortunately cygnus changed mingw32 -> mingw so we
8897         have to do likewise.
8898
8899 2001-03-12  Andy Piper  <andy@xemacs.org>
8900
8901         * sysdep.c: we only support mingw now.
8902
8903 2001-03-09  Andy Piper  <andy@xemacs.org>
8904
8905         * unexcw.c (copy_executable_and_dump_data_section): making approx
8906         overrun a warning only.
8907
8908 2001-03-10  William M. Perry  <wmperry@aventail.com>
8909
8910         * faces.c (complex_vars_of_faces): Rewrote the font mucking to
8911         satisfy Stephen's identical-after-cpp plea.
8912
8913 2001-03-02  Ben Wing  <ben@xemacs.org>
8914
8915         * cmds.c:
8916         * cmds.c (Fforward_char):
8917         * syntax.c:
8918         * window.c:
8919
8920         Augment documentation of the most common motion commands to make
8921         note of the shifted-motion support.
8922         
8923 2001-03-02  Ben Wing  <ben@xemacs.org>
8924
8925         * nt.c (mswindows_fstat):
8926         * nt.c (mswindows_stat):
8927         * search.c (boyer_moore):
8928         Fix compile warnings under Windows.
8929         
8930         * sysdep.c (sys_readdir):
8931         Fix buggy filename-conversion code under Mule.
8932
8933 2001-03-09  William M. Perry  <wmperry@aventail.com>
8934
8935         * Makefile.in.in:
8936         * config.h.in:
8937         * console.c:
8938         * console.h:
8939         * device.c:
8940         * device.h:
8941         * dragdrop.c:
8942         * emacs.c:
8943         * event-stream.c:
8944         * events.c:
8945         * events.h:
8946         * faces.c:
8947         * frame.h:
8948         * general-slots.h:
8949         * glyphs.c:
8950         * gutter.c:
8951         * inline.c:
8952         * lisp.h:
8953         * lrecord.h:
8954         * make-src-depend:
8955         * redisplay-output.c:
8956         * redisplay.c:
8957         * symsinit.h:
8958         * sysfile.h:
8959         * toolbar.c:
8960         * window.c:
8961         The Great GTK Merge.
8962
8963         * ChangeLog.GTK:
8964         * console-gtk.c:
8965         * console-gtk.h:
8966         * device-gtk.c:
8967         * emacs-marshals.c:
8968         * emacs-widget-accessors.c:
8969         * event-gtk.c:
8970         * frame-gtk.c:
8971         * gccache-gtk.c:
8972         * gccache-gtk.h:
8973         * glade.c:
8974         * glyphs-gtk.c:
8975         * glyphs-gtk.h:
8976         * gtk-glue.c:
8977         * gtk-xemacs.c:
8978         * gtk-xemacs.h:
8979         * gui-gtk.c:
8980         * gui-gtk.h:
8981         * menubar-gtk.c:
8982         * native-gtk-toolbar.c:
8983         * objects-gtk.c:
8984         * objects-gtk.h:
8985         * redisplay-gtk.c:
8986         * scrollbar-gtk.c:
8987         * scrollbar-gtk.h:
8988         * select-gtk.c:
8989         * toolbar-gtk.c:
8990         * ui-byhand.c:
8991         * ui-gtk.c:
8992         * ui-gtk.h:
8993         The Great GTK Merge: new files.
8994
8995 2001-02-26  Ben Wing  <ben@xemacs.org>
8996
8997         Reapplied Lstream change.
8998
8999 2001-02-26  Ben Wing  <ben@xemacs.org>
9000
9001         Undid the last change, since it is more controversial than I
9002         thought.  It should be back in at some point soon.
9003         
9004 2001-02-25  Ben Wing  <ben@xemacs.org>
9005
9006         * buffer.c:
9007         * callproc.c (Fold_call_process_internal):
9008         * event-msw.c (ntpipe_slurp_reader):
9009         * event-msw.c (ntpipe_shove_writer):
9010         * event-msw.c (winsock_reader):
9011         * event-msw.c (winsock_writer):
9012         * file-coding.c:
9013         * file-coding.c (detect_eol_type):
9014         * file-coding.c (detect_coding_type):
9015         * file-coding.c (determine_real_coding_system):
9016         * file-coding.c (Fdetect_coding_region):
9017         * file-coding.c (decoding_reader):
9018         * file-coding.c (decoding_writer):
9019         * file-coding.c (mule_decode):
9020         * file-coding.c (Fdecode_coding_region):
9021         * file-coding.c (encoding_reader):
9022         * file-coding.c (encoding_writer):
9023         * file-coding.c (mule_encode):
9024         * file-coding.c (Fencode_coding_region):
9025         * file-coding.c (detect_coding_sjis):
9026         * file-coding.c (decode_coding_sjis):
9027         * file-coding.c (encode_coding_sjis):
9028         * file-coding.c (detect_coding_big5):
9029         * file-coding.c (decode_coding_big5):
9030         * file-coding.c (encode_coding_big5):
9031         * file-coding.c (detect_coding_ucs4):
9032         * file-coding.c (decode_coding_ucs4):
9033         * file-coding.c (encode_coding_ucs4):
9034         * file-coding.c (detect_coding_utf8):
9035         * file-coding.c (decode_coding_utf8):
9036         * file-coding.c (encode_coding_utf8):
9037         * file-coding.c (detect_coding_iso2022):
9038         * file-coding.c (decode_coding_iso2022):
9039         * file-coding.c (encode_coding_iso2022):
9040         * file-coding.c (decode_coding_no_conversion):
9041         * file-coding.c (encode_coding_no_conversion):
9042         * glyphs-x.c (write_lisp_string_to_temp_file):
9043         * gpmevent.c (tty_get_foreign_selection):
9044         * lisp.h:
9045         * lstream.c:
9046         * lstream.c (Lstream_flush_out):
9047         * lstream.c (Lstream_adding):
9048         * lstream.c (Lstream_write_1):
9049         * lstream.c (Lstream_write):
9050         * lstream.c (Lstream_raw_read):
9051         * lstream.c (Lstream_read_more):
9052         * lstream.c (Lstream_read):
9053         * lstream.c (Lstream_unread):
9054         * lstream.c (Lstream_fputc):
9055         * lstream.c (stdio_reader):
9056         * lstream.c (stdio_writer):
9057         * lstream.c (filedesc_reader):
9058         * lstream.c (filedesc_writer):
9059         * lstream.c (lisp_string_reader):
9060         * lstream.c (struct fixed_buffer_stream):
9061         * lstream.c (make_fixed_buffer_input_stream):
9062         * lstream.c (make_fixed_buffer_output_stream):
9063         * lstream.c (fixed_buffer_reader):
9064         * lstream.c (fixed_buffer_writer):
9065         * lstream.c (struct resizing_buffer_stream):
9066         * lstream.c (resizing_buffer_writer):
9067         * lstream.c (dynarr_writer):
9068         * lstream.c (lisp_buffer_reader):
9069         * lstream.c (lisp_buffer_writer):
9070         * lstream.h:
9071         * lstream.h (lstream_implementation):
9072         * lstream.h (struct lstream):
9073         * md5.c (Fmd5):
9074         * process-nt.c (nt_send_process):
9075         * process-unix.c (unix_send_process):
9076         
9077         Correct Lstream lossage due to mixing of signed and unsigned
9078         quantities.  All Lstream uses of size_t and ssize_t are now a
9079         single signed data type Lstream_data_count.  This fixes problems
9080         under Windows with sending large quantities of data to a process,
9081         and may well fix other subtle bugs.
9082
9083 2001-02-23  Martin Buchholz <martin@xemacs.org>
9084
9085         * XEmacs 21.2.45 "Thelxepeia" is released.
9086
9087 2001-02-21  Martin Buchholz  <martin@xemacs.org>
9088
9089         * lisp-union.h (XSETINT): 
9090         (XSETCHAR):
9091         (XSETOBJ): 
9092         Reverse previous change of 2001-02-06.
9093
9094 2001-02-20  Matt Tucker  <tuck@whistlingfish.net>
9095
9096         Fix `VALID_BYTIND_P' crashes in regex.c when using narrowed
9097         buffers.
9098         * syntax.h (SYNTAX_CACHE_BYTE_TO_CHAR):
9099         * syntax.h (SYNTAX_CACHE_OBJECT_BYTE_TO_CHAR):
9100         Add `BI_BUF_BEGV' to bytepos before calculating bufpos.
9101         * regex.c (POS_AS_IN_BUFFER): removed
9102         * regex.c (re_search_2):
9103         * regex.c (re_match_2):
9104         Don't use an offset of 1 when calculating buffer positions, since
9105         `BI_BUF_BEGV' does it already.
9106
9107 2001-02-18  Wim Dumon  <wim@easics.be>
9108
9109         * insdel.c (prepare_to_modify_buffer): Also check for
9110         supersession when clash-detection is enabled. 
9111
9112 2001-02-17  Matt Tucker  <tuck@whistlingfish.net>
9113
9114         * regex.c (re_match_2_internal):
9115         Convert temp characters from 'const unsigned char' to 're_char'.
9116         Fix crashing bug with extended characters under mule.
9117         * syntax.c (Qsyntax_table): Moved from vars_of_syntax to
9118         syms_of_syntax. Use defsymbol to define. Fixes hanging bug with
9119         font-lock, pdump, and new syntax-table code.
9120         * syntax.c (find_start_of_comment):
9121         (find_end_of_comment):
9122         (forward-comment):
9123         Fix crashing bugs involving moving beyond end of buffer.
9124         * syntax.c (find_start_of_comment):
9125         Fixed logic to allow proper detection of cases where the same
9126         character is used to end both a two-char comment start and a
9127         two-char comment end sequence. Fixes `(forward-comment -1)'.
9128         * syntax.c (find_start_of_comment):
9129         Return position just past last comment-end character for all cases
9130         (previously was only done for two-char comment-end sequences).
9131         * syntax.c (forward-comment):
9132         Take value returned from `find_end_of_comment', rather than
9133         incrementing it.
9134         * syntax.h (SYNTAX_CACHE_BYTE_TO_CHAR):
9135         Properly deal with BUFFERP (syntax_cache.object)
9136
9137 2001-02-17  Martin Buchholz  <martin@xemacs.org>
9138
9139         * alloc.c (Fgarbage_collect): 
9140         * alloc.c (make_bit_vector_from_byte_vector):
9141         -Wsign-compare-correctness.
9142
9143 2001-02-16  Martin Buchholz  <martin@xemacs.org>
9144
9145         * lisp-union.h (XSETINT): Eliminate unnecessary temp var.
9146         (XSETCHAR): Likewise.
9147         (XSETOBJ): Likewise.
9148
9149 2001-02-15  Martin Buchholz  <martin@xemacs.org>
9150
9151         * mule-canna.c (canna-func-delete_previous): 
9152         Rename to canna-func-delete-previous.
9153
9154 2001-02-14  Martin Buchholz  <martin@xemacs.org>
9155
9156         * mule-ccl.c (ccl_driver): Warning suppression.  Use countof.
9157
9158 2001-02-13  Matt Tucker  <tuck@whistlingfish.net>
9159
9160         * font-lock.c (find_context): Fix C++ compile errors introduced by
9161         recent patch
9162
9163 2001-02-13  Martin Buchholz  <martin@xemacs.org>
9164
9165         * s/aix4.h: Later versions of IBM C compiler need a bug workaround
9166         pragma, but earlier ones barf on the same pragma.
9167
9168 2001-02-06  Mike Sperber <mike@xemacs.org>
9169
9170         * emacs.c (complex_vars_of_emacs): Add `mule-lisp-directory' and
9171         `configure-mule-lisp-directory'.
9172
9173 2001-02-12  Martin Buchholz  <martin@xemacs.org>
9174
9175         Make sure dump-id.c is compiled in the same way as other .c's.
9176         Fixes pdump compilation failure with HP's cc, which defaults to K&R.
9177         * dump-id.h: Remove.
9178         * emacs.c: Move dump-id.h into dumper.h.
9179         * dumper.h: Move dump-id.h into dumper.h.
9180         * Makefile.in.in:
9181         Use standard .c.o rule for building dump-id.o.
9182         Remove preprocessor flags from link command.
9183         Add dump-id.o to ${otherobjs} if PDUMP.
9184
9185 2001-02-07  Matt Tucker  <tuck@whistlingfish.net>
9186
9187         Port FSF 20.7 syntax table improvements.
9188         * syntax.c.
9189         * syntax.h.
9190
9191         Fixups for new syntax table stuff.
9192         * dired.c: Include syntax.c.
9193         (Fdirectory_files): Initialize regex_match_object and
9194         regex_emacs_buffer.
9195         * extents.h: EXFUN Fnext_extent_change, Fprevious_extent_change,
9196         and Fget_char_property.
9197
9198         Use ported FSF 20.7 syntax table improvements.
9199         * font-lock.c.
9200         * regex.c.
9201         * search.c.
9202         
9203 2001-02-09  Martin Buchholz  <martin@xemacs.org>
9204
9205         * regex.c (Boolean): Renamed to `re_bool', to avoid conflict with
9206         Unixware's enum boolean from sys/types.h.
9207
9208 2001-02-10  Martin Buchholz  <martin@xemacs.org>
9209
9210         Fix support for building with latest Purify.
9211         * Makefile.in.in (PURIFY_LIBS): Remove thread flags.
9212         (PURIFY_FLAGS): Likewise.
9213
9214 2001-02-09  Martin Buchholz  <martin@xemacs.org>
9215
9216         * fileio.c (lisp_string_set_file_times): New.
9217         * fileio.c (Fcopy_file): Use it.
9218         Fixes bug:
9219         (copy-file filename non-ascii-filename t t)
9220         ==> No such file or directory, non-ascii-filename
9221
9222 2001-02-10  Martin Buchholz  <martin@xemacs.org>
9223
9224         * glyphs-x.c (generate_cursor_fg_bg): Avoid a warning.
9225         USHRT_MAX seems clearer than ~0 anyways.
9226
9227 2001-02-09  Martin Buchholz  <martin@xemacs.org>
9228
9229         dumper improvements.  Inspired by Olivier.
9230         * dumper.c (pdump_max_align): New.
9231         * dumper.c (pdump_add_entry): Use pdump_max_align.
9232         * dumper.c (pdump_get_entry_list): Likewise.
9233         * dumper.c (pdump_scan_by_alignment): Likewise.
9234         Don't iterate through unnecessary alignments.
9235         * dumper.c (pdump_file_get): No need to align result of malloc().
9236         * dumper.c (pdump_mallocadr): Remove.  
9237         The result of malloc() is guaranteed to be maximally aligned.
9238         * dumper.c: s/elmt/elt/g;
9239         * dumper.c (pdump_object_table): Allocate dynamically, not statically.
9240         * dumper.c (pdump_alert_undump_object): Likewise.
9241         * dumper.c (pdump_align_table): 
9242         Don't support alignments > 64.
9243         Store ALIGNOF's, not shift counts, in table.
9244
9245 2001-02-09  Martin Buchholz  <martin@xemacs.org>
9246
9247         * s/mingw32.h (HAVE_STRUCT_UTIMBUF): Remove.
9248         * s/windowsnt.h (HAVE_STRUCT_UTIMBUF): Remove.
9249         * systime.h: Use HAVE_UTIME.
9250         * sysdep.c (struct utimbuf): Remove.
9251         * sysdep.c (set_file_times): Prefer utime() to utimes().
9252         * config.h.in (HAVE_UTIME): New.
9253         * config.h.in (HAVE_UTIME_H): Remove.
9254         * config.h.in (HAVE_STRUCT_UTIMBUF): Remove.
9255
9256 2001-02-09  Martin Buchholz  <martin@xemacs.org>
9257
9258         * s/aix4.h: Hide #pragmas inside #ifndef NOT_C_CODE.
9259
9260 2001-02-08  Martin Buchholz  <martin@xemacs.org>
9261
9262         * s/irix6-0.h: Use the standard system memmove, not bcopy.
9263
9264 2001-02-08  Martin Buchholz <martin@xemacs.org>
9265
9266         * XEmacs 21.2.44 "Thalia" is released.
9267
9268 2001-02-06  Martin Buchholz  <martin@xemacs.org>
9269
9270         Fixes crashes in kill-emacs on some systems.
9271         * process-unix.c (unix_kill_child_process):
9272         It's OK for kill() to fail with ESRCH.
9273
9274 2001-02-07  Martin Buchholz  <martin@xemacs.org>
9275
9276         Contortions to make .gdbinit tricks work on most systems.
9277         * alloc.c (dbg_inhibit_dbg_symbol_deletion): Keep debugger info.
9278         * alloc.c (dbg_valmask): Make non-const.
9279         * alloc.c (dbg_typemask): Make non-const.
9280         * alloc.c (dbg_USE_UNION_TYPE): Make non-const.
9281         * alloc.c (dbg_valbits): Make non-const.
9282         * alloc.c (dbg_gctypebits): Make non-const.
9283         * .gdbinit (decode_object): Make it work with AIX cc.
9284
9285 2001-02-06  Martin Buchholz  <martin@xemacs.org>
9286
9287         * elhash.c (make_general_lisp_hash_table):
9288         Use simpler and more efficient calloc to clear entries.
9289
9290 2001-02-07  Martin Buchholz  <martin@xemacs.org>
9291
9292         * window.c (window_scroll): Work around an AIX C compiler bug.
9293         Fixes 'scroll-up' does nothing problem with xlC.
9294
9295 2001-02-05  Martin Buchholz  <martin@xemacs.org>
9296
9297         * .gdbinit: Remove obsolete comment.
9298
9299 2001-01-31  Mike Alexander  <mta@arbortext.com>
9300
9301         * select.c (Fown_selection_internal): Set owned_p for device
9302         method correctly.
9303
9304 2001-02-01  Martin Buchholz  <martin@xemacs.org>
9305
9306         Port to g++ 2.97.
9307         "not" cannot be used as a macro name as it is an operator in C++
9308         * config.h.in: Stop #defining `not'.
9309         * chartab.c (check_category_char): not ==> not_p
9310         * chartab.h: Likewise.
9311         * regex.c (re_match_2_internal): Likewise.
9312
9313 2001-02-02  Martin Buchholz  <martin@xemacs.org>
9314
9315         * lisp-disunion.h: Fix up comments.
9316
9317 2001-01-31  Martin Buchholz  <martin@xemacs.org>
9318
9319         * keymap.c (define_key_check_and_coerce_keysym):
9320         (syms_of_keymap):
9321         Support mouse-6 and mouse-7 bindings in the obvious way.
9322
9323 2001-02-01  Martin Buchholz  <martin@xemacs.org>
9324
9325         * m/hp9000s300.h (UNEXEC): Check for HPUX, not !BSD.
9326
9327 2001-01-30  Martin Buchholz  <martin@xemacs.org>
9328
9329         Previous patch changing DEFVAR_INT to use EMACS_INT was incomplete.
9330         Previous patch missed DEFVAR_INT_MAGIC.
9331         Make sure future DEFVAR_foo use correct types.
9332         * symeval.h (DEFVAR_SYMVAL_FWD_FIXNUM): New.
9333         * (DEFVAR_SYMVAL_FWD_INT): Add type checking.
9334         * (DEFVAR_SYMVAL_FWD_OBJECT): Add type checking.
9335         * (DEFVAR_INT_MAGIC): Use DEFVAR_SYMVAL_FWD_FIXNUM.
9336         * (DEFVAR_INT): Likewise.
9337         * redisplay.c (vertical_clip): Should be of type Fixnum.
9338         * redisplay.c (horizontal_clip): Likewise.
9339         * lisp.h (dump_add_opaque_int): New.
9340         (dump_add_opaque_fixnum): New.
9341
9342 2001-01-29  Andy Piper  <andy@xemacs.org>
9343
9344         * glyphs-widget.c (check_valid_int_or_function): allow symbols
9345         since they can be eval'ed
9346
9347 2001-01-29  Martin Buchholz  <martin@xemacs.org>
9348
9349         * lisp.h (ALIGNOF): Make it work on non-gcc C++ compilers.
9350         Oops, XEmacs redefines `class'.  Use `typename' instead.
9351
9352 2001-01-28  Martin Buchholz  <martin@xemacs.org>
9353
9354         * dumper.c: Fix C++ compile errors.
9355
9356 2001-01-29  Martin Buchholz  <martin@xemacs.org>
9357
9358         * tparam.c: Use correct prototypes.
9359
9360 2001-01-28  Martin Buchholz  <martin@xemacs.org>
9361
9362         * sysproc.h: #include util.h for NetBSD's openpty.
9363
9364 2001-01-27  Martin Buchholz  <martin@xemacs.org>
9365
9366         More 64-bit correctness.
9367         The C value of a DEFVAR_INT should be of type EMACS_INT, not int.
9368         Use a typedef `fixnum' for the type used for DEFVAR_INT.
9369         Fix up comments.
9370         This finally finishes the 64-bit SGI port.
9371         Fixes things like (let ((gc-cons-threshold most-positive-fixnum)) ...).
9372         * symbols.c: Fix up comments and type casts.
9373         * symbols.c (do_symval_forwarding): s/int/Fixnum/g
9374         * symbols.c (store_symval_forwarding): s/int/Fixnum/g
9375         * symeval.h (Fixnum): New type.
9376         * symeval.h (symbol_value_type): Fix up comment.
9377
9378         * commands.h:
9379         * nt.c:
9380         * emacs.c:
9381         * data.c:
9382         * redisplay.c:
9383         * abbrev.c:
9384         * dired-msw.c:
9385         * event-Xt.c:
9386         * eldap.c:
9387         * window.c:
9388         * sound.c:
9389         * event-stream.c:
9390         * eval.c:
9391         * buffer.c:
9392         * mule-canna.c: A million DEFVAR_INTs here...
9393         * mule-canna.c (count_char): s/int */Fixnum */g in arglist.
9394         * extents.c:
9395         * cmdloop.c:
9396         * lisp.h:
9397         * select-x.c:
9398         * console-x.h:
9399         * event-msw.c:
9400         * mule-wnnfns.c:
9401         * hpplay.c:
9402         * ralloc.c:
9403         * alloc.c:
9404         * keymap.c:
9405         * profile.c:
9406         s/int/Fixnum/g in DEFVAR_INT declarations.
9407
9408 2001-01-26  Martin Buchholz  <martin@xemacs.org>
9409
9410         Port pdump to SGI alignment-sensitive environment.
9411         Lisp Object sizeof methods now return aligned sizes.  Rely on that.
9412         Eliminate is_lrecord since Lisp_Objects sizeof methods are now all
9413         properly aligned.
9414         Define and use aligned reading and writing macros.
9415         Use buffered stdio instead of posix i/o for faster dumping.
9416         Eliminate kludgy 256 byte space for header.
9417         Read and write from dump file using structs for alignment safety.
9418         * dumper.c (pdump_align_stream): New.
9419         * dumper.c (PDUMP_ALIGN_OUTPUT): New.
9420         * dumper.c (PDUMP_READ_ALIGNED): New.
9421         * dumper.c (PDUMP_WRITE_ALIGNED): New.
9422         * dumper.c (pdump_static_Lisp_Object): New struct.
9423         * dumper.c (pdump_static_pointer): New struct.
9424         * dumper.c (pdump_entry_list_element): Remove is_lrecord member.
9425         * dumper.c (pdump_add_entry): Remove is_lrecord parameter.
9426         * dumper.c (pdump_dump_data): Rely on sizeof method alignment.
9427         * dumper.c (pdump_allocate_offset): Rely on sizeof method alignment.
9428
9429         * dumper.c (pdump_backtrace):
9430         * dumper.c (pdump_get_indirect_count):
9431         * dumper.c (pdump_register_object):
9432         * dumper.c (pdump_register_struct):
9433         * dumper.c (pdump_reloc_one):
9434         * dumper.c (pdump_scan_by_alignment):
9435         * dumper.c (pdump_dump_from_root_struct_ptrs):
9436         * dumper.c (pdump_dump_opaques):
9437         * dumper.c (pdump_dump_rtables):
9438         * dumper.c (pdump_dump_from_root_objects):
9439         * dumper.c (pdump):
9440         * dumper.c (pdump_load_finish):
9441         Use aligned reading and writing.
9442
9443         * dumper.c (pdump_free): Make static.
9444         * dumper.c (pdump_hFile): Likewise.
9445         * dumper.c (pdump_hMap): Likewise.
9446
9447 2001-01-26  Martin Buchholz <martin@xemacs.org>
9448
9449         * XEmacs 21.2.43 "Terspichore" is released.
9450
9451 2001-01-25  Martin Buchholz  <martin@xemacs.org>
9452
9453         Type fiddling for window_config.saved_windows_count
9454         * window.c (struct window_config): 
9455         Make saved_windows_count member unsigned.
9456         * window.c (sizeof_window_config_for_n_windows): 
9457         Make parameter unsigned.
9458         * window.c (mark_window_config):
9459         * window.c (window_config_equal):
9460         * window.c (free_window_configuration):
9461         * window.c (Fset_window_configuration):
9462         * window.c (count_windows):
9463         * window.c (Fcurrent_window_configuration):
9464         * window.c (reinit_vars_of_window):
9465         Update all callers and users.
9466
9467 2001-01-25  Martin Buchholz  <martin@xemacs.org>
9468
9469         Alignment correctness for flexible arrays.
9470         * lisp.h (FLEXIBLE_ARRAY_STRUCT_SIZEOF):
9471         Make alignment-correct. Add interesting comments.
9472         * alloc.c (size_vector):
9473         * alloc.c (make_vector_internal):
9474         * alloc.c (make_bit_vector_internal):
9475         * alloc.c (sweep_bit_vectors_1):
9476         * fns.c (size_bit_vector):
9477         Update all callers of FLEXIBLE_ARRAY_STRUCT_SIZEOF to add new arg.
9478         * window.c (sizeof_window_config_for_n_windows): 
9479         Use FLEXIBLE_ARRAY_STRUCT_SIZEOF.
9480
9481 2001-01-24  Martin Buchholz  <martin@xemacs.org>
9482
9483         * lread.c (read1): Rename `fexp', which is #defined in SGI's math.h
9484
9485 2001-01-23  Andy Piper  <andy@xemacs.org>
9486
9487         * select.c (Fown_selection_internal): pass owned_p
9488
9489         * select-msw.c (mswindows_own_selection): New Signature.
9490
9491         * console.h (struct console_methods): add owned_p to
9492         _own_selection.
9493
9494         * select-x.c (x_own_selection): pass owned_p
9495         (hack_motif_clipboard_selection): use owned_p
9496         (vars_of_select_x): new variable -
9497         x_selection_strict_motif_ownership.
9498
9499 2001-01-23  Martin Buchholz  <martin@xemacs.org>
9500
9501         * specifier.h (specifier_data_offset): Remove pointless parens.
9502         * glyphs.h (IMAGE_SPECIFIER_DATA): Likewise.
9503
9504 2001-01-24  Martin Buchholz  <martin@xemacs.org>
9505
9506         Make Lisp_Object sizeof methods be alignment-correct.
9507         pdump must restore objects to the same alignment as the C compiler
9508         assumes.  It really matters on SGIs.
9509         * lstream.c (aligned_sizeof_lstream): New.
9510         (sizeof_lstream): Use aligned_sizeof_lstream.
9511         (Lstream_new): Likewise.
9512         * opaque.c (aligned_sizeof_opaque): New.
9513         (sizeof_opaque): Use aligned_sizeof_opaque.
9514         (make_opaque): Likewise.
9515         * specifier.c (aligned_sizeof_specifier): New.
9516         (sizeof_specifier): Use aligned_sizeof_specifier.
9517         (make_specifier_internal): Likewise.
9518
9519 2001-01-23  Martin Buchholz  <martin@xemacs.org>
9520
9521         * lstream.h (struct lstream): Use max_align_t for trailing data.
9522         * specifier.h (struct Lisp_Specifier): Likewise.
9523
9524 2001-01-22  Martin Buchholz  <martin@xemacs.org>
9525
9526         * mule-ccl.c (CCL_Extension): Renamed from CCL_Extention.
9527         (CCL_SUCCESS): Kludge to prevent Sun cc compiler warnings.
9528         (CCL_SUSPEND): Likewise.
9529         (CCL_INVALID_CMD): Likewise.
9530         (CCL_CALL_FOR_MAP_INSTRUCTION): Likewise.
9531         (ccl_driver): Likewise.
9532         (CCL_WRITE_CHAR): Macro hygiene.
9533         (CCL_WRITE_STRING): Macro hygiene.
9534
9535 2001-01-22  Martin Buchholz  <martin@xemacs.org>
9536
9537         Port "portable" dumper to SunOS 4 and HP-UX.
9538         * s/aix4.h (AIX4): Move MAP_FAILED definition elsewhere.
9539         * emacs.c (main): PDUMP implies no RUN_TIME_REMAP.
9540         * dumper.c (pdump_file_get): Define MAP_FAILED if not already defined.
9541
9542 2001-01-22  Martin Buchholz  <martin@xemacs.org>
9543
9544         * lisp.h (ALIGNOF): A better definition for C++.
9545
9546 2001-01-20  Martin Buchholz  <martin@xemacs.org>
9547
9548         Macro hygiene.
9549         Fix printf warnings: int format, long int arg.
9550         * regex.c (DECLARE_DESTINATION): Use DECLARE_NOTHING.
9551         (PUSH_FAILURE_POINT): Use correct printf formats.
9552         (POP_FAILURE_POINT): Use correct printf formats.  
9553         Use do {...} while (0)
9554
9555 2001-01-20  Martin Buchholz <martin@xemacs.org>
9556
9557         * XEmacs 21.2.42 "Poseidon" is released.
9558
9559 2001-01-20  Martin Buchholz  <martin@xemacs.org>
9560
9561         * console-x.h: typo fix du jour.  Remove #if 0'ed code.
9562
9563 2001-01-19  Martin Buchholz  <martin@xemacs.org>
9564
9565         De-kludgify FIXED_TYPE free list frobbing.
9566         Fix crashes on 64-bit platforms introduced by my patch of 2001-01-13.
9567         * alloc.c (DECLARE_FIXED_TYPE_ALLOC): Use Lisp_Free.
9568         * alloc.c (ALLOCATE_FIXED_TYPE_1): Use new definitions.
9569         * alloc.c (Lisp_Free): New pseudo lisp object definition.
9570         * alloc.c (LRECORD_FREE_P): New.
9571         * alloc.c (MARK_LRECORD_AS_FREE): New.
9572         * alloc.c (MARK_LRECORD_AS_NOT_FREE): New.
9573         * alloc.c (STRUCT_FREE_P): Deleted.
9574         * alloc.c (MARK_STRUCT_AS_FREE): Deleted.
9575         * alloc.c (MARK_STRUCT_AS_NOT_FREE): Deleted.
9576         * alloc.c (STRING_CHARS_FREE_P): New.
9577         * alloc.c (MARK_STRING_CHARS_AS_FREE): New.
9578         * alloc.c (PUT_FIXED_TYPE_ON_FREE_LIST): Use new definitions.
9579         * alloc.c (FREE_FIXED_TYPE): Use new definitions.
9580         * alloc.c (STRING_CHARS_FREE_P): Use new definitions.
9581         * alloc.c (resize_string): Use new definitions.
9582         * alloc.c (SWEEP_FIXED_TYPE_BLOCK): Use new definitions.
9583         * alloc.c (verify_string_chars_integrity): Use new definitions.
9584         * alloc.c (compact_string_chars): Use new definitions.
9585         * alloc.c: Update monster comments.
9586         * lrecord.h (lrecord_type): Add some new lrecord types for
9587         alloc.c's use.
9588
9589 2001-01-18  Martin Buchholz  <martin@xemacs.org>
9590
9591         Improve alignment hackery.
9592         * lisp.h (ALIGNOF): Better definition for the non-gcc case.
9593         (max_align_t): Moved from opaque.h - general purpose.
9594         (ALIGN_PTR): Use size_t, not long.
9595         * opaque.h (max_align_t): Move to lisp.h.
9596
9597 2001-01-18  Norbert Koch  <nk@LF.net>
9598
9599         * gui.h: Fix and add prototypes to fix build problems.
9600
9601 2001-01-18  Martin Buchholz  <martin@xemacs.org>
9602
9603         temacs is going away, so `dump-temacs' is now a bad name.
9604         * .dbxrc (dump-temacs): Rename to `dmp'.
9605         * .gdbinit (dump-temacs): Rename to `dmp'.
9606
9607 2001-01-17  Andy Piper  <andy@xemacs.org>
9608
9609         * glyphs.c (print_image_instance): comment to make martin happy.
9610
9611         * glyphs-x.c (x_redisplay_widget): update faces after a frame
9612         change.
9613
9614         * glyphs-msw.c (mswindows_redisplay_widget): add code to cope with
9615         activation.
9616         (mswindows_tab_control_redisplay): warning suppression.
9617
9618         * glyphs-widget.c (widget_update): re-write to cope with updated
9619         items.
9620         (widget_instantiate): use new gui_item functions.
9621         (tab_control_update): deleted.
9622         (progress_gauge_update): deleted.
9623         (image_instantiator_progress_guage): take out update reference.
9624         (image_instantiator_tree_view): ditto.
9625         (image_instantiator_tab_control): ditto.
9626
9627         * gui.c (widget_gui_parse_item_keywords): new function. Do things
9628         Right the new way.
9629         (gui_item_add_keyval_pair): re-write to cope with descriptors and
9630         return whether anything was changed.
9631         (update_gui_item_keywords): as it sounds.
9632
9633         * gui.h: declare widget_gui_parse_item_keywords.
9634
9635         * fns.c (safe_copy_tree): new function taken from Fcopy_tree.
9636         (Fcopy_tree): use it. Stops infloop death in bogus instantiators.
9637
9638 2001-01-17  Martin Buchholz <martin@xemacs.org>
9639
9640         * XEmacs 21.2.41 "Polyhymnia" is released.
9641
9642 2001-01-16  Didier Verna  <didier@xemacs.org>
9643
9644         * glyphs.c (image_instantiate): don't use fallbacks when
9645         instantiating a face's background pixmap by inheritance.
9646
9647 2001-01-14  Mike Sperber <mike@xemacs.org>
9648
9649         * sysdep.c (start_of_data): PDUMP implies ORDINARY_LINK.
9650         Conditionalize accordingly.
9651
9652 2001-01-16  Martin Buchholz  <martin@xemacs.org>
9653
9654         * dumper.c (pdump_file_get): Fix a compiler warning.
9655
9656 2001-01-15  Martin Buchholz  <martin@xemacs.org>
9657
9658         Make Purify happy when pdumping.
9659         * symbols.c (Fmake_variable_buffer_local): Make Purify happy, by
9660         iniitalizing all bits of new lisp object memory.
9661         * symbols.c (Fmake_local_variable): Likewise.
9662         * symbols.c (Fdontusethis_set_symbol_value_handler): Likewise.
9663         * symbols.c (Fdefvaralias): Likewise.
9664         * mule-charset.c (vars_of_mule_charset): Likewise.
9665
9666 2001-01-15  Martin Buchholz  <martin@xemacs.org>
9667         Add the `-nd' flag when running pre-dump operations under the debugger.
9668         * .dbxrc (run-temacs): Add `-nd'.
9669         * .dbxrc (update-elc): Likewise.
9670         * .dbxrc (dump-temacs): Likewise.
9671         * .gdbinit (run-temacs): Likewise.
9672         * .gdbinit (check-temacs): Likewise.
9673         * .gdbinit (update-elc): Likewise.
9674         * .gdbinit (dump-temacs): Likewise.
9675
9676 2001-01-14  Martin Buchholz  <martin@xemacs.org>
9677
9678         Allow building 64-bit executables on AIX with GNU malloc, e.g.
9679         export OBJECT_MODE=64
9680         configure --pdump --use-union-type=no
9681         * m/ibmrs6000.h (DATA_START): Define for 64-bit world.
9682         * gmalloc.c (__default_morecore): Remove pre-ANSI cruft.
9683
9684         * miscplay.c (sndcnv8U_2mono):
9685         Avoid two uses of `++' in the same expression.
9686         Suppresses a GCC warning.
9687
9688 2001-01-13  Martin Buchholz  <martin@xemacs.org>
9689
9690         Make sure future compilers don't miscompile alloc.c.
9691         * alloc.c:
9692         (MARK_STRUCT_AS_FREE): Make aliasing-optimization-resistant.
9693         (MARK_STRUCT_AS_NOT_FREE): Make aliasing-optimization-resistant.
9694
9695 2001-01-12  Martin Buchholz  <martin@xemacs.org>
9696
9697         * dumper.c: A little post-pdump-rename comment fixup.
9698
9699 2001-01-09  Jerry James  <james@eecs.ku.edu>
9700
9701         * lisp-disunion.h: Change LISP_TO_CVOID arg to match its use.
9702
9703 2001-01-13  Martin Buchholz  <martin@xemacs.org>
9704
9705         * *.[ch]: Globally rename symbols using the following `pdump-rename'
9706         script:
9707         #!/bin/sh
9708         replace_symbol () {
9709           (findn texi$; findn [ch]$) | xargs g -lw "$1" | xargs global-replace 's/(?<!_)\b'$1'\b(?!_)/'$2'/g'
9710         }
9711
9712         replace_symbol pdump_wire_lists pdump_weak_object_chains
9713         replace_symbol pdump_wire_list dump_add_weak_object_chain
9714
9715         replace_symbol pdump_wires pdump_root_objects
9716         replace_symbol pdump_wire dump_add_root_object
9717
9718         replace_symbol pdump_dump_wired pdump_dump_from_root_objects
9719         replace_symbol pdump_dump_structs pdump_dump_from_root_struct_ptrs
9720
9721         replace_symbol dumpstructinfos pdump_root_struct_ptrs
9722         replace_symbol dumpstructinfo_dynarr pdump_root_struct_ptr_dynarr
9723         replace_symbol dumpstructinfo pdump_root_struct_ptr
9724         replace_symbol dumpstruct dump_add_root_struct_ptr
9725
9726         replace_symbol dumpopaque dump_add_opaque
9727         replace_symbol dumpopaqueinfo_dynarr pdump_opaque_dynarr
9728         replace_symbol dumpopaqueinfos pdump_opaques
9729         replace_symbol dumpopaqueinfo pdump_opaque
9730
9731         replace_symbol nb_structdump nb_root_struct_ptrs
9732         replace_symbol nb_opaquedump nb_opaques
9733
9734         replace_symbol align_table pdump_align_table
9735         replace_symbol dump_header pdump_header
9736
9737         replace_symbol DUMP_SIGNATURE_LEN PDUMP_SIGNATURE_LEN
9738         replace_symbol DUMP_SIGNATURE PDUMP_SIGNATURE
9739
9740
9741 2001-01-12  Martin Buchholz  <martin@xemacs.org>
9742
9743         * s/aix4.h: Keep the C for AIX compiler from overaggressively
9744         optimizing bytecount_to_charcount().
9745
9746 2001-01-06  Golubev I. N.  <gin@mo.msk.ru>
9747
9748         * config.h.in:
9749         (HAVE_DLFCN_H): Removed.
9750         * sysdll.c: Remove HAVE__DLOPEN, HAVE_DLFCN_H.
9751
9752 2001-01-06  Martin Buchholz  <martin@xemacs.org>
9753
9754         Portable dumper maintainability improvements.
9755         * alloc.c (staticpro):
9756         * alloc.c (staticpro_nodump):
9757         * alloc.c (garbage_collect_1):
9758         * alloc.c (reinit_alloc_once_early):
9759         * alloc.c (init_alloc_once_early):
9760         * alloc.c: Move dumper functions to alloc.c.
9761         * dumper.c (pdump_backtrace):
9762         * dumper.c (pdump_dump_structs):
9763         * dumper.c (pdump_dump_opaques):
9764         * dumper.c (pdump_dump_rtables):
9765         * dumper.c (pdump_dump_wired):
9766         * dumper.c (pdump):
9767         * dumper.c (pdump_load_check):
9768         * dumper.c (pdump_load_finish):
9769         * dumper.c (pdump_file_unmap):
9770         * dumper.c (pdump_file_get):
9771         * dumper.c (pdump_resource_free):
9772         * dumper.c (pdump_resource_get):
9773         * dumper.c (pdump_file_free):
9774         * dumper.c (pdump_file_try):
9775         * dumper.c (pdump_load):
9776         Remove fixed size limits on staticpro(), staticpro_nodump(),
9777         dumpopaque(), dumpstruct() by using Dynarrs instead of static C arrays.
9778         Remove custom code for dumping lrecord_implementations_table - use
9779         dumpopaque instead.
9780         Remove (most of the) custom code for dumping staticpros - dump it
9781         like any other dynarr.
9782
9783         * alloc.h: Removed.  No longer useful, since dumper now more self-contained.
9784         * dumper.c: Moved functions from alloc.c.
9785         * alloc.c (dumpstruct): Moved to dumper.c.
9786         * alloc.c (dumpopaque): Likewise.
9787         * alloc.c (pdump_wire): Likewise.
9788         * alloc.c (pdump_wire_list): Likewise.
9789
9790         * lisp.h (Dynarr_sizeof): New.
9791         * lisp.h (Dynarr_begin): New.  Very slightly C++oid.
9792         * lisp.h (Dynarr_end): New.  Very slightly C++oid.
9793         * lisp.h (Lisp_Object_ptr_dynarr): New.  For staticpros.
9794
9795         * lisp.h (dumpstruct): Define to nothing if not PDUMPing.
9796         * lisp.h (dumpopaque): ditto.
9797         * lisp.h (pdump_wire): ditto.
9798         * lisp.h (pdump_wire_list): ditto.
9799
9800 2001-01-09  Martin Buchholz  <martin@xemacs.org>
9801
9802         * make-src-depend (PrintPatternDeps):
9803         Use `sort' to make output independent of perl version.
9804
9805 2001-01-08  Martin Buchholz  <martin@xemacs.org>
9806
9807         Port to Netbsd 1.5.
9808         * unexelf.c: Remove (never used) bogus Netbsd-specific cruft.
9809         * s/netbsd.c: Use unexelf.o if __ELF__ is defined.
9810
9811 2001-01-03  Didier Verna  <didier@xemacs.org>
9812
9813         * event-stream.c (emacs_handle_focus_change_preliminary): ensure
9814         that `focus_frame' is alive before thinking of calling
9815         `redisplay_redraw_cursor' on it.
9816
9817 2001-01-08  Martin Buchholz <martin@xemacs.org>
9818
9819         * XEmacs 21.2.40 is released.
9820
9821 2001-01-06  Golubev I. N.  <gin@mo.msk.ru>
9822
9823         * regex.c: Replace PREFETCH with REGEX_PREFETCH.
9824
9825 2001-01-06  Martin Buchholz  <martin@xemacs.org>
9826
9827         * alloc.c (dbg_valmask): Make const.
9828         * alloc.c (dbg_typemask): Make const.
9829         * alloc.c (dbg_USE_UNION_TYPE): Make const.
9830         * alloc.c (dbg_valbits): Make const.
9831         * alloc.c (dbg_gctypebits): Make const.
9832
9833 2001-01-06  Stephen J. Turnbull  <stephen@xemacs.org>
9834
9835         * redisplay-x.c (x_bevel_area):
9836         redisplay.h (struct rune):
9837         Typo fixes in comments.
9838
9839 2001-01-05  Andy Piper  <andy@xemacs.org>
9840
9841         * glyphs-x.c (x_redisplay_widget): use size changed for offset
9842         adjustment.
9843
9844         * menubar.c (menubar_visible_p_changed): don't mark frame changed.
9845
9846 2001-01-05  Martin Buchholz  <martin@xemacs.org>
9847
9848         * alloc.c (pure-bytes-used): Remove unused mendacious variable.
9849
9850         * mule-ccl.c (stack_idx_of_map_multiple):
9851         Non const global data must not be initialized!
9852         Found by MIYASHITA Hisashi.
9853
9854 2001-01-02  Andy Piper  <andy@xemacs.org>
9855
9856         * frame.c (change_frame_size): make sure frame size is always
9857         marked as changed.
9858
9859         * glyphs.c (image_instance_layout): minor code reuse.
9860
9861         * window.c (Fcurrent_window_configuration): revert previous
9862         change.
9863
9864 2001-01-02  Martin Buchholz  <martin@xemacs.org>
9865
9866         * glyphs.h:
9867         * glyphs.c (make_image_instance_cache_hash_table): Use ANSI prototypes.
9868
9869 2000-12-31  Andy Piper  <andy@xemacs.org>
9870
9871         * glyphs-x.c (x_unmap_subwindow): return focus to enclosing frame
9872         when widget gets unmapped.
9873
9874         * event-Xt.c (emacs_Xt_handle_widget_losing_focus): new
9875         function. Make sure widgets losing focus don't just drop it.
9876         (handle_focus_event_1): record the widget with focus.
9877
9878 2000-12-31  Andy Piper  <andy@xemacs.org>
9879
9880         * window.c (allocate_window): use
9881         make_image_instance_cache_hash_table.
9882         (make_dummy_parent): ditto.
9883         (Fset_window_configuration): ditto.
9884
9885         * glyphs.h (INSTANTIATOR_TYPE): new macro.  declare new functions.
9886
9887         * glyphs.c (process_image_string_instantiator): use
9888         INSTANTIATOR_TYPE.
9889         (get_image_instantiator_governing_domain): ditto.
9890         (normalize_image_instantiator): ditto.
9891         (instantiate_image_instantiator): ditto.
9892         (make_image_instance_1): ditto.
9893         (image_instantiate): ditto. Key on glyph *and* instantiator type.
9894         (instantiator_eq_equal): new function for use with instance hash
9895         tables.
9896         (instantiator_eq_hash): ditto.
9897         (make_image_instance_cache_hash_table): create a suitable hash
9898         table for storing image instances.
9899
9900         * elhash.h (hash_table_weakness): new internal weakness type
9901         HASH_TABLE_KEY_CAR_VALUE_WEAK.
9902         declare new functions.
9903
9904         * elhash.c (finish_marking_weak_hash_tables): introduce yet
9905         another weakness type for glyphs.
9906         (make_standard_lisp_hash_table): new function split out from
9907         make_general_lisp_hash_table.
9908         (make_lisp_hash_table): call make_standard_lisp_hash_table.
9909         (hash_table_instantiate): ditto.
9910         (Fmake_hash_table): ditto.
9911
9912 2000-12-31  Martin Buchholz <martin@xemacs.org>
9913
9914         * XEmacs 21.2.39 is released.
9915
9916 2000-12-29  Andy Piper  <andy@xemacs.org>
9917
9918         * menubar.c (menubar_visible_p_changed): signal the frame changed.
9919
9920         * glyphs-x.c (x_redisplay_widget): Re-calculate widget offsets if
9921         the frame has changed so that we pick up geometry changes such as
9922         menubar visibility.
9923
9924 2000-12-28  Andy Piper  <andy@xemacs.org>
9925
9926         * lastfile.c (my_ebss): make a char array so we can pad the
9927         bss. Fixes cygwin unexec.
9928
9929         * unexcw.c: invert BROKEN_GDB to NO_DEBUG.
9930
9931 2000-12-26  Andy Piper  <andy@xemacs.org>
9932
9933         * event-Xt.c (emacs_Xt_force_event_pending): add some verbose
9934         comments and try and be more precise about a non-/SIGIO world.
9935         (emacs_Xt_event_pending_p): use XtAppPending under cygwin and non
9936         SIGIO.
9937
9938         * redisplay-output.c (redisplay_normalize_glyph_area): make sure
9939         we don't normalize to zero width or height.
9940
9941 2000-12-24  Andy Piper  <andy@xemacs.org>
9942
9943         * Makefile.in.in (ldflags): add -mwindows when appropriate.
9944
9945 2000-08-18  Golubev I. N.  <gin@mo.msk.ru>
9946
9947         * s/sco5.h: SCO 5 has pty support.
9948
9949 2000-07-20  Kazuyuki IENAGA <ienaga@xemacs.org>
9950
9951         * input-method-xlib.c: supports both XIM_XLIB and USE_XFONTSET.
9952         input-method-xlib.c contains whole contents of input-method-xfs.c,
9953         so we can use input-method-xlib.c's code for USE_XFONTSET
9954         using #ifdefs.
9955         * input-method-xfs.c: removed.
9956
9957 2000-12-20  Stephen Turnbull  <stephen@xemacs.org>
9958
9959         * file-coding.h (enum coding_category_type): reorder enumerators to
9960         make autodetection safer.  Make CODING_CATEGORY_LAST an enumerator
9961         (now one greater than largest real coding_category_type enumerator).
9962         * file-coding.c (coding_category_symbol, coding_category_by_priority,
9963         coding_category_system, fcd_descriptihon_1, decode_coding_category,
9964         Fcoding_category_list, Fset_coding_priority_list,
9965         Fcoding_priority_list, coding_system_from_mask, Fdetect_coding_region,
9966         vars_of_file_coding): adjust for change in CODING_CATEGORY_LAST.
9967
9968 2000-12-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
9969
9970         * redisplay-output.c (redisplay_clear_top_of_window): Remove static.
9971         * redisplay-output.c (redisplay_output_window): Clear top of window
9972         when face is changed.
9973         * redisplay-x.c (x_redraw_exposed_window): Call
9974         redisplay_clear_top_of_window.
9975         * redisplay.h: Publish redisplay_clear_top_of_window.
9976
9977 2000-12-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
9978
9979         * buffer.c (Fkill_buffer): Map over all devices.
9980         * window.c (window_loop): Remove UNSHOW_BUFFER code.
9981         (list_windows): New function.
9982         (list_all_windows): Ditto.
9983         (Freplace_buffer_in_windows): Use them.
9984
9985 2000-02-02   Daiki Ueno <ueno@ueda.info.waseda.ac.jp>
9986
9987         * database.c (berkdb_subtype): Recognize new subtype `queue'.
9988         (Fopen_database): Use `db_create' instead of `db_open'.
9989         (syms_of_database): Initialize Qqueue.
9990
9991 2000-12-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
9992
9993         * buffer.c (common_init_complex_vars_of_buffer): Initialize
9994         buffer_local_face_property.
9995         * buffer.h (struct buffer): New member buffer_local_face_property.
9996         * window.c (Fset_window_buffer):  Mark window's face as changed
9997         when buffer has buffer local face.
9998         * window.h (MARK_WINDOW_FACES_CHANGED): New macro.
9999         * objects.c (color_after_change): Set buffer_local_face_property
10000         when locale of face specifier is buffer.
10001         * objects.c (font_after_change): Ditto.
10002         * objects.c (face_boolean_after_change): Ditto.
10003         * glyphs.c (image_after_change): Ditto.
10004
10005 2000-12-09  Dan Holmsand  <dan@eyebee.com>
10006
10007         * nt.c (mswindows_fstat): Report file permissions, volume serial
10008         number, etc. Code adapted from FSF Emacs 20.7.
10009
10010 2000-12-09  Dan Holmsand  <dan@eyebee.com>
10011
10012         * sysfile.h (lstat): Make lstat an alias for xemacs_stat instead
10013         of stat when we don't have symbolic links, to make sure
10014         mswindows_stat is called on mswindows.
10015
10016 2000-12-12  Yoshiki Hayashi  <yoshiki@xemacs.org>
10017
10018         * alloca.c: Define malloc to xmalloc only when built with XEmacs.
10019
10020 2000-12-12  Martin Buchholz  <martin@xemacs.org>
10021
10022         * doprnt.c (emacs_doprnt_1): More printing fixes.
10023         Make printing of numbers compatible with libc and FSF Emacs.
10024         BUG was: (format "%6.3f" 1.2) ==>"1.200000"
10025         Use the system printf to do most of the hard work of formatting,
10026         instead of doprnt_1().
10027         Calculate memory to allocate for format string.
10028         Remove arbitrary limit on precision, e.g. (format "%.1000f" 3.14)
10029         (doprnt_1): Cleaner code and documentation.
10030
10031 2000-12-01  Jerry James  <james@eecs.ukans.edu>
10032
10033         * Makefile.in.in: Use the loop variable to install headers.
10034
10035 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
10036
10037         * window.c (Fsplit_window): Don't invalidate face cache.
10038
10039 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
10040
10041         * minibuf.c (Fall_completions): Undo the previous change
10042         which removed checking elements start with space.
10043
10044 2000-12-06  Stephen Turnbull  <stephen@xemacs.org>
10045
10046         * mule-canna.c: Didier suppression.
10047
10048 2000-12-06  Stephen Turnbull  <stephen@xemacs.org>
10049
10050         * mule-canna.c: rename static unsigned char buf[] to key_buffer
10051         (warning suppression).  Add English comment translations.
10052
10053 2000-12-05  Martin Buchholz  <martin@xemacs.org>
10054
10055         * unexelfsgi.c (unexec): Better test for mmap failure.
10056
10057 2000-12-05  Martin Buchholz <martin@xemacs.org>
10058
10059         * XEmacs 21.2.38 is released.
10060
10061 2000-12-05  Martin Buchholz  <martin@xemacs.org>
10062
10063         * redisplay.c (bar-cursor): Make a user variable.
10064
10065         * symsinit.h: Add init_postgresql_from_environment.
10066
10067 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
10068
10069         * regex.c: Convert to clean C.
10070
10071 2000-12-05  Dan Holmsand  <dan@eyebee.com>
10072
10073         * realpath.c:
10074         Don't #include sysfile.h. Revert to duplicating PATH_MAX
10075         initialization.
10076         (sys_readlink): renamed to system_readlink to avoid conflict with
10077         the other sys_readlink.
10078
10079 2000-12-04  Hiroaki Abe  <h-abe@pc.highway.ne.jp>
10080
10081         * dumper.c (pdump_file_get): Correct uses of pdump_fd.
10082
10083 2000-12-04  Stephen J. Turnbull  <stephen@xemacs.org>
10084
10085         * postgresql.c (init_postgresql_from_environment): new function.
10086         (vars_of_postgresql): Move code initializing Lisp variables out and
10087         into init_postgresql_from_environment.
10088         emacs.c (main_1): Call init_postgresql_from_environment if and only
10089         if running a dumped XEmacs.
10090
10091 2000-08-31  Dan Holmsand  <dan@eyebee.com>
10092
10093         * buffer.c: Make find-file-compare-truenames default to true on
10094         windows.
10095
10096         * realpath.c (win32_abs_start):
10097         (cygwin_readlink):
10098         (win32_readlink): New functions.
10099         (xrealpath): Return really real filenames on windows.
10100
10101         * fileio.c (Ffile_truename): Make file-truename work on windows.
10102
10103 2000-11-29  Didier Verna  <didier@xemacs.org>
10104
10105         * faces.c (MAYBE_UNFROB_BACKGROUND_PIXMAP): new macro.
10106         * faces.c (update_face_cachel_data): use it.
10107         * faces.c (add_face_cachel): use it. Complete background pixmap
10108         frobbing in face cache if `update_face_cachel_data' has not done so.
10109
10110 2000-11-29  Yoshiki Hayashi  <yoshiki@xemacs.org>
10111
10112         * search.c (string_match_1): Don't set last_thing_searched
10113         when search failed.
10114
10115 2000-11-27  Yoshiki Hayashi  <yoshiki@xemacs.org>
10116
10117         * buffer.c: Include casetab.h
10118         (common_init_complex_vars_of_buffer): Use new case-table object.
10119         * buffer.h: Include casetab.h
10120         * buffer.h (MAKE_TRT_TABLE): Use generic char-table.
10121         (DOWNCASE_TABLE_OF): Ditto.
10122         * bufslots.h: Remove char-tables and add case-table.
10123         * casetab.c: Include casetab.h
10124         (CASE_TABLE_P): Removed.
10125         (mark_case_table): New function.
10126         (allocate_case_table): New function.
10127         (Fcase_table_p): Use new case-table.
10128         (case_table_char): New function.
10129         (Fget_case_table): Ditto.
10130         (Fput_case_table): Ditto.
10131         (Fput_case_table_pair): Ditto.
10132         (Fcopy_case_table): Ditto.
10133         (Fcurrent_case_table): Return case-table.
10134         (Fstandard_case_table): Return case-table.
10135         (Fset_case_table): Fix doc-string.
10136         (set_case_table): Use case-table
10137         (syms_of_casetab): DEFSUBR new functions.
10138         (complex_vars_of_casetab): Set up standard case-table.
10139         * casetab.h: New file.
10140         * editfns.c: Include casetab.h
10141         (Fcompare_buffer_substrings): Use case-table.
10142         * inline.c: Include casetab.h
10143         * lisp.h: Remove bogus extern.
10144         * lrecord.h (lrecord_type): Add lrecord_type_case_table.
10145         * search.c: Include casetab.h
10146         (TRANSLATE_ASCII): Removed.
10147         (TRANSLATE): Unconditionally translate character.
10148         (looking_at_1): Use case-table.
10149         (string_match_1): Ditto.
10150         (fast_string_match): Ditto.
10151         (search_command): Ditto.
10152         (search_buffer): Separate boyer_moore.  Check whether
10153         boyer_moore is possible.
10154         (simple_search): New function.
10155         (boyer_moore): Separated from search_buffer. Translate char.
10156
10157 2000-11-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
10158
10159         * regex.c (RE_TR_ASCII): Removed.
10160         (RE_TRANSLATE): Unconditionally use TRT_TABLE.
10161         (PATFETCH): Call PATFETCH_RAW.
10162         (PATFETCH_RAW): Fetch Emchar.
10163         (PATUNFETCH): Decrement charptr.
10164         (GET_BUFFER_SPACE): Rename b to buf_end.
10165         (BUF_PUSH): Ditto.
10166         (BUF_PUSH_2): Ditto.
10167         (BUF_PUSH_3): Ditto.
10168         (EXTEND_BUFFER): Ditto.
10169         (SET_LIST_BIT): Ditto.
10170         (regex_compile): Ditto.  Translate non ASCII char.
10171         (compile_range): Ditto.
10172         (re_search_2): Ditto.
10173         (re_match_2_internal): Compare Emchar.
10174         (bcmp_translate): Ditto.
10175
10176 2000-11-29  Stephen J. Turnbull  <turnbull@xemacs.org>
10177
10178         * lisp.h (basic char/int typedefs):  comment improvement.
10179
10180 2000-11-24  Stephen J. Turnbull  <turnbull@xemacs.org>
10181
10182         * emacs.c (main_1):  unconditional pdump unstomping; don't save and
10183         unstomp inhibit_site_lisp.  Improve comments.
10184
10185 2000-11-22  Stephen J. Turnbull  <turnbull@xemacs.org>
10186
10187         * mule-charset.c (Fcharset_property):  improve type checking, comments.
10188
10189 2000-11-28  Andy Piper  <andy@xemacs.org>
10190
10191         * redisplay-output.c (redisplay_output_subwindow): make sure we do
10192         clipped display for windows in the gutter also.
10193         (redisplay_display_boxes_in_window_p): change semantics of return
10194         codes to be more intuitive.
10195
10196         * gutter.h: declare display_boxes_in_gutter_p.
10197
10198         * gutter.c (display_boxes_in_gutter_p): new function for
10199         redisplay.
10200
10201 2000-11-22  Andy Piper  <andy@xemacs.org>
10202
10203         * glyphs-x.c (image_instantiator_format_create_glyphs_x): change
10204         autodetect domain.
10205
10206 2000-11-21  Yoshiki Hayashi  <yoshiki@xemacs.org>
10207
10208         * callproc.c (Fold_call_process_internal):
10209         * gpm.c (Freceive_gpm_event):
10210         (tty_get_foreign_selection): Might be just warning supression.
10211         * fileio.c (Fwrite_region_internal):
10212         (Fset_visited_file_modtime):
10213         * keymap.c (event_matches_key_specifier_p):
10214         Initialize GCPROed variable.
10215
10216         * menubar-x.c (command_builder_find_menu_accelerator):
10217         Initialize before use.
10218
10219 2000-11-23  Andy Piper  <andy@xemacs.org>
10220
10221         * unexcw.c (unexec): make the resulting executable executable.
10222
10223 2000-11-21  Martin Buchholz  <martin@xemacs.org>
10224
10225         * doc.c (get_doc_string):
10226         Use size_t, not int, for result of XSTRING_LENGTH.
10227
10228         * cmds.c (Fdelete_char):
10229         * cmds.c (Fpoint_at_eol):
10230         * cmds.c (Fself_insert_command):
10231         Use EMACS_INT, not int, for result of XINT.
10232         Someday, someone will want to insert more than 2**31 identical characters.
10233
10234         * cmds.c (Fdelete_char):
10235         * cmds.c (Fdelete_backward_char):
10236         * syntax.c (Fforward_word):
10237         * syntax.c (Fforward_comment):
10238         Make COUNT argument optional, for consistency with forward-char et al.
10239
10240 2000-11-22  Martin Buchholz  <martin@xemacs.org>
10241
10242         * lisp.h:
10243         * print.c (long_to_string):
10244         Return a useful value: the pointer at end of data written.
10245
10246         * doprnt.c:
10247         Use `static const char * const' for constant strings.
10248         (union printf_arg): Delete `i', `ui' members.
10249         (get_doprnt_args):
10250         (emacs_doprnt_1):
10251         Fix LP64 platform bug: (format "%d" most-positive-fixnum) ==> "-1"
10252         Do all printf-ing via the `l' specifier.
10253         Use EMACS_INT instead of int.
10254         Optimize.
10255
10256 2000-11-20  Didier Verna  <didier@xemacs.org>
10257
10258         * faces.c (update_face_cachel_data): don't frob the background
10259         pixmap when the window is being created. The face is needed but
10260         does not exist yet.
10261
10262 2000-11-20  Andy Piper  <andy@xemacs.org>
10263
10264         * unexcw.c (copy_executable_and_dump_data_section): Only do bss
10265         messing with a debug environment.
10266
10267 2000-11-20  Martin Buchholz  <martin@xemacs.org>
10268
10269         * emacs.c (__sti__iflPNGFile_c___): Pedantically correct prototype.
10270
10271 2000-11-20  Martin Buchholz  <martin@xemacs.org>
10272
10273         * casetab.c (Fcase_table_p): Fix compile error and crash.
10274
10275 2000-11-18  Philip Aston  <philipa@mail.com>
10276
10277         * s/cygwin32.h: Cygwin has SVR4-like pty support.
10278
10279 2000-11-18  Martin Buchholz  <martin@xemacs.org>
10280
10281         * fileio.c (Fexpand_file_name): GCPRO bug!  Protect `handler'.
10282         * filelock.c (lock_file): GCPRO bug! Initialize all GCPROed vars!
10283
10284 2000-11-17  Martin Buchholz  <martin@xemacs.org>
10285
10286         * config.h.in: Define HAVE_ELF_H if elf.h exists.
10287         * unexelf.c: Use HAVE_ELF_H.
10288         * unexelfsgi.c: Fix bug with dumped xemacs stdout/stderr not working.
10289         I copied FSF Emacs 20.7 unexelf.c to unexelfsgi.c and ANSIfied it.
10290         Max Matveev <makc@sgi.com> removed non-SGI-relevant parts and tested.
10291         Greg Harrington <greg_harrington@hotmail.com> provided a machine
10292         for testing.
10293         So this is an unexelfsgi.c from a different line of development.
10294
10295 2000-11-16  Yoshiki Hayashi  <yoshiki@xemacs.org>
10296
10297         * regex.c (RE_TR_ASCII): New function.
10298         (RE_TRANSLATE): Call it.
10299
10300 2000-11-16  Yoshiki Hayashi  <yoshiki@xemacs.org>
10301
10302         * buffer.h (TRT_TABLE_OF): Remove assert.
10303         (IN_TRT_TABLE_DOMAIN): Removed.
10304
10305 2000-11-16  Gunnar Evermann  <ge204@eng.cam.ac.uk>
10306
10307         * free-hook.c (log_gcpro):
10308         (show_gcprohist): Add support for GCPRO5.
10309
10310 2000-11-08  Stephen J. Turnbull  <stephen@xemacs.org>
10311
10312         * emacs.c (main_1): Improve -sd error message when --pdump=no.
10313
10314 2000-11-16  Olivier Galibert  <galibert@xemacs.org>
10315
10316         * symeval.h: Declare flush_all_buffer_local_cache.
10317
10318         * symbols.c: Change XD_LO_RESET_NIL into XD_LISP_OBJECTs.
10319         (flush_buffer_local_cache): Added.
10320         (flush_all_buffer_local_cache): Added.
10321
10322         * lrecord.h: Remove unused XD_LO_RESET_NIL.
10323
10324         * dumper.c (pdump_register_sub): Remove unused XD_LO_RESET_NIL.
10325         (pdump_dump_data): Ditto.
10326         (pdump_reloc_one): Ditto.
10327         (pdump): Remove unused pdump_qnil.  Flush buffer local caches
10328         before dumping.
10329
10330
10331 2000-11-14  Yoshiki Hayashi  <yoshiki@xemacs.org>
10332
10333         * buffer.c: Remove if 0'ed entry.
10334         * buffer.h: Rewrite TRT to use char-table.
10335         * bufslots.h: Remove mirror tables.
10336         * casetab.c: Remove mirror tables.
10337         (CASE_TABLE_P): New macro.
10338         (Fcase_table_p): Element of a case table is string or char-table.
10339         (make_mirror_trt_table): Removed.
10340         (set_case_table): Setup char-table from strings for backward
10341         compatibility.
10342         * dired.c (Fdirectory_files):
10343         * dired-msw.c: (mswindows_get_files):
10344         * lisp.h: Change prototype of re_pattern_buffer.
10345         * regex.c: (RE_TRANSLATE): New macro.
10346         (TRANSLATE_P): Ditto.
10347         Change translate to type RE_TRANSLATE_TYPE.
10348         * regex.h: Define RE_TRANSLATE_TYPE
10349         * search.c (TRANSLATE): New macro.
10350         (TRANSLATE_ASCII): New macro.
10351         Translate table is changed to Lisp_Object.
10352         (signal_failure): Inhibit return.
10353
10354 2000-11-14  Yoshiki Hayashi  <yoshiki@xemacs.org>
10355
10356         * device-msw.c:
10357         * eldap.c:
10358         * event-Xt.c:
10359         * event-stream.c:
10360         * print.c:
10361         Do UNGCPRO before return.
10362
10363 2000-11-14  Martin Buchholz <martin@xemacs.org>
10364
10365         * XEmacs 21.2.37 is released.
10366
10367 2000-11-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
10368
10369         * fileio.c (Finsert_file_contents_internal): UNGCPRO before return.
10370         Add comments about discarded return value.
10371
10372 2000-11-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
10373
10374         * callint.c:
10375         * event-stream.c: Fix comments.  Remove some #if 0'ed part.
10376
10377 2000-10-27  Andy Piper  <andy@xemacs.org>
10378
10379         * gutter.c (Fset_default_gutter_position): default left and right
10380         gutters to visible.
10381         (calculate_gutter_size): calculate resonable heuristic for left
10382         and right gutter sizes.
10383         (specifier_vars_of_gutter): change left and right gutter sizes to
10384         autodetect.
10385         (calculate_gutter_size_from_display_lines): new function.
10386         (output_gutter): check for resizing on left and right gutters.
10387         (clear_gutter): don't special case top and left gutters.
10388         (specifier_vars_of_gutter): use new signature for
10389         set_specifier_caching.
10390
10391         * glyphs-x.c (x_redisplay_widget): spelling fix.
10392         * glyphs.c (specifier_vars_of_glyphs):
10393         * menubar.c (specifier_vars_of_menubar):
10394         * redisplay.c (specifier_vars_of_redisplay):
10395         * toolbar.c (specifier_vars_of_toolbar):
10396         * window.c (specifier_vars_of_window):
10397         * scrollbar.c (specifier_vars_of_scrollbar):
10398         (complex_vars_of_scrollbar): use new signature for
10399         set_specifier_caching.
10400
10401         * specifier.c (set_specifier_caching): include recompute flag.
10402         (recompute_one_cached_specifier_in_window): always recompute if
10403         flag set.
10404         (recompute_one_cached_specifier_in_frame): ditto.
10405
10406         * specifier.h (struct specifier_caching): add recompute flag.
10407
10408 2000-10-24  Andy Piper  <andy@xemacs.org>
10409
10410         * unexcw.c (copy_executable_and_dump_data_section): add new
10411         BSS_PAD_SIZE so that we can re-instate a mini-bss. This keeps gdb
10412         5.0 happy.
10413
10414 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
10415
10416         * console-x.h (x_device): New member modifier_release_time.
10417         * event-Xt.c (x_handle_sticky_modifiers):
10418         Bound interval modifier keys are sticky.
10419         * event-stream.c (Vmodifier_keys_sticky_time): New variable.
10420         * events.h: extern it.
10421
10422 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
10423
10424         * cmdloop.c (Fcommand_loop_1): Just add C-g to event queue.
10425
10426 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
10427
10428         * event-stream.c (execute_command_event): Preserve current_events
10429         and the like when event is misc-user-event.
10430         Inhibit quit during the call to maybe_echo_keys.
10431
10432 2000-10-31  Yoshiki Hayashi  <yoshiki@xemacs.org>
10433
10434         * filelock.c (lock_buffer): Cope with kill-buffer. Don't create a
10435         symlink when buffer is killed.
10436         (inhibit_clash_detection): New variable.
10437
10438 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
10439
10440         * console.c (Fset_input_method): Trigger redisplay on tty.
10441
10442 2000-11-07  Martin Buchholz  <martin@xemacs.org>
10443
10444         * process.c (Fprocess_status): Revert to previous behavior:
10445         (process-status "nosuchprocess") ==> nil
10446
10447 2000-11-06  Martin Buchholz  <martin@xemacs.org>
10448
10449         * mule-charset.h (CHARSET_BY_LEADING_BYTE):
10450         Work around another GCC 2.95.2 optimizer bug.
10451
10452 2000-11-02  Martin Buchholz  <martin@xemacs.org>
10453
10454         * process.c (Fget_process): Use LIST_LOOP_2.
10455         (kill_buffer_processes): Use LIST_LOOP_2.
10456
10457         * minibuf.c (Fall_completions):
10458         Delete old non-functional code for FSF fourth argument.
10459
10460         * frame.c (frame_matches_frame_spec):
10461         Renamed from `frame_matches_frametype'.  Update all callers.
10462         (device_matches_device_spec):
10463         Renamed from 'device_matches_console_spec'.  Update all callers.
10464
10465         * doc.c (Fsubstitute_command_keys):
10466         Remove buffer overflow crash.  Small code cleanups.
10467
10468         * casetab.c (check_case_table): Simpler code.
10469
10470         * window.c (Freplace_buffer_in_windows):
10471         Give this the same WHICH-FRAMES and WHICH-DEVICES parameters
10472         (and similar implementation) as Fdelete_windows_on.
10473         Update all callers.
10474
10475         * alloc.c (Fmake_list):
10476         * alloc.c (make_vector):
10477         * alloc.c (Fmake_vector):
10478         * alloc.c (make_bit_vector):
10479         * alloc.c (Fmake_bit_vector):
10480         * alloc.c (Fbit_vector):
10481         * alloc.c (Fmake_string):
10482         * alloc.c (Fpurecopy):
10483         * alloc.c (Fmemory_limit):
10484         * buffer.c:
10485         * buffer.c (Fget_buffer):
10486         * buffer.c (Fkill_buffer):
10487         * buffer.c (complex_vars_of_buffer):
10488         * bytecode.c (Fcompiled_function_stack_depth):
10489         * callint.c (Fprefix_numeric_value):
10490         * event-stream.c:
10491         * event-stream.c (Fread_key_sequence):
10492         * casetab.c:
10493         * casetab.c (Fcase_table_p):
10494         * casetab.c (check_case_table):
10495         * casetab.c (Fset_case_table):
10496         * casetab.c (Fset_standard_case_table):
10497         * chartab.c:
10498         * chartab.c (Fchar_table_type):
10499         * chartab.c (Freset_char_table):
10500         * chartab.c (Fget_char_table):
10501         * chartab.c (Fget_range_char_table):
10502         * chartab.c (Fput_char_table):
10503         * chartab.c (Fmap_char_table):
10504         * chartab.c (Fcategory_table_p):
10505         * chartab.c (Fcheck_category_at):
10506         * chartab.c (Fchar_in_category_p):
10507         * chartab.c (Fcategory_table):
10508         * chartab.c (Fcopy_category_table):
10509         * chartab.c (Fset_category_table):
10510         * chartab.c (Fcategory_designator_p):
10511         * chartab.c (Fcategory_table_value_p):
10512         * cmds.c (Fdelete_char):
10513         * cmds.c (Fdelete_backward_char):
10514         * cmds.c (Fself_insert_command):
10515         * cmds.c (Fself_insert_internal):
10516         * console.c (Fvalid_console_type_p):
10517         * console.c (Fcdfw_console):
10518         * console.c (Fconsole_type):
10519         * console.c (Fconsole_name):
10520         * console.c (Fconsole_device_list):
10521         * console.c (Fconsole_on_window_system_p):
10522         * data.c:
10523         * data.c (Feq):
10524         * data.c (Fold_eq):
10525         * data.c (Fsubr_interactive):
10526         * data.c (Fchar_to_int):
10527         * data.c (Fint_to_char):
10528         * data.c (Fsetcar):
10529         * data.c (Fsetcdr):
10530         * data.c (Fnumber_to_string):
10531         * data.c (Fstring_to_number):
10532         * data.c (Frem):
10533         * database.c (mark_database):
10534         * database.c (finalize_database):
10535         * database.c (Fdatabase_live_p):
10536         * database.c (Fdatabasep):
10537         * device-x.c (Fx_get_resource):
10538         * device.c (Fdfw_device):
10539         * dired.c:
10540         * dired.c (Ffile_name_completion):
10541         * dired.c (Ffile_name_all_completions):
10542         * dired.c (Fuser_name_completion):
10543         * dired.c (Fuser_name_completion_1):
10544         * dired.c (Fuser_name_all_completions):
10545         * doc.c (Fdocumentation):
10546         * doc.c (Fdocumentation_property):
10547         * doc.c (Fsubstitute_command_keys):
10548         * editfns.c:
10549         * editfns.c (Fchar_to_string):
10550         * editfns.c (Fstring_to_char):
10551         * editfns.c (Ftemp_directory):
10552         * editfns.c (Finsert_char):
10553         * editfns.c (Fbuffer_substring_no_properties):
10554         * editfns.c (Fnarrow_to_region):
10555         * editfns.c (Fchar_equal):
10556         * editfns.c (Fchar_Equal):
10557         * editfns.c (Ftranspose_regions):
10558         * emacs.c (Fdump_emacs):
10559         * eval.c (Fthrow):
10560         * eval.c (Fcommand_execute):
10561         * eval.c (Fautoload):
10562         * eval.c (Fbacktrace):
10563         * eval.c (Fbacktrace_frame):
10564         * events.c:
10565         * events.c (Fcopy_event):
10566         * events.c (Fcharacter_to_event):
10567         * events.c (Fevent_button):
10568         * events.c (Fevent_process):
10569         * extents.c:
10570         * extents.c (Fnext_extent_change):
10571         * extents.c (Fextent_property):
10572         * faces.c (Ffacep):
10573         * faces.c (Fmake_face):
10574         * file-coding.c:
10575         * file-coding.c (Fencode_shift_jis_char):
10576         * file-coding.c (Fencode_big5_char):
10577         * fileio.c (Ffile_name_directory):
10578         * fileio.c (Ffile_name_nondirectory):
10579         * fileio.c (Ffile_name_as_directory):
10580         * fileio.c (Fdirectory_file_name):
10581         * fileio.c (Ffile_truename):
10582         * fileio.c (Fsubstitute_in_file_name):
10583         * fileio.c (Ffile_modes):
10584         * fileio.c (Fset_file_modes):
10585         * fileio.c (Fset_default_file_modes):
10586         * fileio.c (Fverify_visited_file_modtime):
10587         * floatfns.c (Facos):
10588         * floatfns.c (Fasin):
10589         * floatfns.c (Fatan):
10590         * floatfns.c (Fcos):
10591         * floatfns.c (Fsin):
10592         * floatfns.c (Ftan):
10593         * floatfns.c (Fbessel_j0):
10594         * floatfns.c (Fbessel_j1):
10595         * floatfns.c (Fbessel_jn):
10596         * floatfns.c (Fbessel_y0):
10597         * floatfns.c (Fbessel_y1):
10598         * floatfns.c (Fbessel_yn):
10599         * floatfns.c (Ferf):
10600         * floatfns.c (Ferfc):
10601         * floatfns.c (Flog_gamma):
10602         * floatfns.c (Fexp):
10603         * floatfns.c (Fexpt):
10604         * floatfns.c (Flog):
10605         * floatfns.c (Flog10):
10606         * floatfns.c (Fsqrt):
10607         * floatfns.c (Fcube_root):
10608         * floatfns.c (Facosh):
10609         * floatfns.c (Fasinh):
10610         * floatfns.c (Fatanh):
10611         * floatfns.c (Fcosh):
10612         * floatfns.c (Fsinh):
10613         * floatfns.c (Ftanh):
10614         * floatfns.c (Fabs):
10615         * floatfns.c (Ffloat):
10616         * floatfns.c (Flogb):
10617         * floatfns.c (Fceiling):
10618         * floatfns.c (Ffloor):
10619         * floatfns.c (Fround):
10620         * floatfns.c (Ftruncate):
10621         * floatfns.c (Ffceiling):
10622         * floatfns.c (Fffloor):
10623         * floatfns.c (Ffround):
10624         * floatfns.c (Fftruncate):
10625         * fns.c (Fstring_equal):
10626         * fns.c (Fstring_lessp):
10627         * fns.c (concat2):
10628         * fns.c (concat3):
10629         * fns.c (vconcat2):
10630         * fns.c (vconcat3):
10631         * fns.c (Fsubstring):
10632         * fns.c (Fassoc):
10633         * fns.c (Fold_assoc):
10634         * fns.c (assoc_no_quit):
10635         * fns.c (Fassq):
10636         * fns.c (Fold_assq):
10637         * fns.c (assq_no_quit):
10638         * fns.c (Frassoc):
10639         * fns.c (Fold_rassoc):
10640         * fns.c (Frassq):
10641         * fns.c (Fold_rassq):
10642         * fns.c (rassq_no_quit):
10643         * fns.c (Fremassoc):
10644         * fns.c (remassoc_no_quit):
10645         * fns.c (Fremassq):
10646         * fns.c (remassq_no_quit):
10647         * fns.c (Fremrassoc):
10648         * fns.c (Fremrassq):
10649         * fns.c (remrassq_no_quit):
10650         * fns.c (Fsort):
10651         * fns.c (Fplist_get):
10652         * fns.c (Fplist_put):
10653         * fns.c (Fplist_remprop):
10654         * fns.c (Fplist_member):
10655         * fns.c (Flax_plist_get):
10656         * fns.c (Flax_plist_put):
10657         * fns.c (Flax_plist_remprop):
10658         * fns.c (Flax_plist_member):
10659         * fns.c (Fequal):
10660         * fns.c (Fold_equal):
10661         * fns.c (Frequire):
10662         * fns.c (Fbase64_encode_region):
10663         * fns.c (Fbase64_encode_string):
10664         * fns.c (Fbase64_decode_region):
10665         * frame.c:
10666         * frame.c (frame_matches_frame_spec):
10667         * frame.c (device_matches_device_spec):
10668         * frame.c (next_frame):
10669         * frame.c (previous_frame):
10670         * frame.c (Fnext_frame):
10671         * frame.c (Fprevious_frame):
10672         * frame.c (Fframe_property):
10673         * frame.c (Fset_frame_height):
10674         * frame.c (Fset_frame_size):
10675         * frame.h:
10676         * glyphs.c:
10677         * glyphs.c (if):
10678         * glyphs.c (decode_error_behavior_flag):
10679         * glyphs.c (Fmake_image_instance):
10680         * indent.c (Findent_to):
10681         * intl.c (Fignore_defer_gettext):
10682         * keymap.c (Fkeymapp):
10683         * keymap.c (Flookup_key):
10684         * lread.c:
10685         * lread.c (Fload_internal):
10686         * lread.c (Feval_buffer):
10687         * lread.c (Feval_region):
10688         * macros.c (Fexecute_kbd_macro):
10689         * marker.c (set_marker_internal):
10690         * marker.c (Fset_marker):
10691         * marker.c (set_marker_restricted):
10692         * marker.c (Fcopy_marker):
10693         * marker.c (noseeum_copy_marker):
10694         * menubar.c:
10695         * menubar.c (Fpopup_menu):
10696         * minibuf.c:
10697         * mule-charset.c (Fcharset_name):
10698         * mule-charset.c (Fchar_charset):
10699         * mule-charset.c (Fchar_octet):
10700         * mule-charset.c (Fsplit_char):
10701         * mule-wnnfns.c (Fwnn_open):
10702         * mule-wnnfns.c (Fwnn_dict_comment):
10703         * mule-wnnfns.c (Fwnn_quit_henkan):
10704         * mule-wnnfns.c (Fwnn_word_toroku):
10705         * mule-wnnfns.c (Fwnn_word_sakujo):
10706         * mule-wnnfns.c (Fwnn_word_use):
10707         * mule-wnnfns.c (Fwnn_hindo_set):
10708         * objects.c:
10709         * objects.c (Fmake_color_instance):
10710         * objects.c (Fmake_font_instance):
10711         * print.c (Fwrite_char):
10712         * process.c:
10713         * process.c (mark_process):
10714         * process.c (print_process):
10715         * process.c (get_process_from_usid):
10716         * process.c (Fprocessp):
10717         * process.c (Fprocess_live_p):
10718         * process.c (Fget_process):
10719         * process.c (Fget_buffer_process):
10720         * process.c (get_process):
10721         * process.c (Fprocess_id):
10722         * process.c (Fprocess_name):
10723         * process.c (Fprocess_command):
10724         * process.c (init_process_io_handles):
10725         * process.c (start_process_unwind):
10726         * process.c (Fstart_process_internal):
10727         * process.c (Fopen_multicast_group_internal):
10728         * process.c (Fset_process_window_size):
10729         * process.c (read_process_output):
10730         * process.c (send_process):
10731         * process.c (Fprocess_tty_name):
10732         * process.c (Fset_process_buffer):
10733         * process.c (Fprocess_buffer):
10734         * process.c (Fprocess_mark):
10735         * process.c (set_process_filter):
10736         * process.c (Fset_process_filter):
10737         * process.c (Fprocess_filter):
10738         * process.c (Fprocess_send_region):
10739         * process.c (Fprocess_send_string):
10740         * process.c (exec_sentinel):
10741         * process.c (Fset_process_sentinel):
10742         * process.c (Fprocess_sentinel):
10743         * process.c (status_notify):
10744         * process.c (Fprocess_status):
10745         * process.c (Fprocess_exit_status):
10746         * process.c (process_send_signal):
10747         * process.c (Fprocess_send_eof):
10748         * process.c (deactivate_process):
10749         * process.c (remove_process):
10750         * process.c (Fdelete_process):
10751         * process.c (kill_buffer_processes):
10752         * process.c (Fprocess_kill_without_query):
10753         * process.c (Fprocess_kill_without_query_p):
10754         * rangetab.c:
10755         * rangetab.c (Fget_range_table):
10756         * rangetab.c (Fput_range_table):
10757         * rangetab.c (Fremove_range_table):
10758         * rangetab.c (Fclear_range_table):
10759         * search.c:
10760         * search.c (Fskip_chars_forward):
10761         * search.c (Fskip_chars_backward):
10762         * search.c (Fskip_syntax_forward):
10763         * search.c (Fskip_syntax_backward):
10764         * search.c (search_command):
10765         * search.c (Freplace_match):
10766         * search.c (Fregexp_quote):
10767         * select.c (Fown_selection_internal):
10768         * select.c (Fselection_owner_p):
10769         * select.c (Fselection_exists_p):
10770         * select.c (Fget_selection_internal):
10771         * specifier.c:
10772         * symbols.c:
10773         * symbols.c (Fintern):
10774         * symbols.c (Fintern_soft):
10775         * symbols.c (Funintern):
10776         * symbols.c (Fapropos_internal):
10777         * symbols.c (Fset_default):
10778         * syntax.c:
10779         * syntax.c (Fsyntax_table_p):
10780         * syntax.c (Fcopy_syntax_table):
10781         * syntax.c (Fset_syntax_table):
10782         * syntax.c (Fchar_syntax):
10783         * syntax.c (syntax_match):
10784         * syntax.c (Fmatching_paren):
10785         * syntax.c (Fforward_word):
10786         * syntax.c (scan_lists):
10787         * syntax.c (Fscan_lists):
10788         * syntax.c (Fscan_sexps):
10789         * syntax.c (Fparse_partial_sexp):
10790         * toolbar.c (Fcheck_toolbar_button_syntax):
10791         * tooltalk.doc:
10792         * window.c:
10793         * window.c (Fwindowp):
10794         * window.c (Fwindow_live_p):
10795         * window.c (Fwindow_point):
10796         * window.c (Fdelete_window):
10797         * window.c (Fnext_window):
10798         * window.c (Fprevious_window):
10799         * window.c (Fother_window):
10800         * window.c (window_loop):
10801         * window.c (Fget_lru_window):
10802         * window.c (Fsplit_window):
10803         * window.c (Fenlarge_window):
10804         * window.c (Fenlarge_window_pixels):
10805         * window.c (Fshrink_window):
10806         * window.c (Fshrink_window_pixels):
10807         * window.c (change_window_height):
10808         * window.c (Fwindow_configuration_p):
10809         * window.c (Fcurrent_window_configuration):
10810         * window.h:
10811         * casefiddle.c (casify_object):
10812         * casefiddle.c (Fupcase):
10813         * casefiddle.c (Fdowncase):
10814         * casefiddle.c (Fcapitalize):
10815         * casefiddle.c (Fupcase_initials):
10816         * casefiddle.c (casify_region_internal):
10817         * casefiddle.c (casify_region):
10818         * casefiddle.c (Fupcase_region):
10819         * casefiddle.c (Fdowncase_region):
10820         * casefiddle.c (Fcapitalize_region):
10821         * casefiddle.c (Fupcase_initials_region):
10822         * casefiddle.c (Fupcase_word):
10823         * casefiddle.c (Fdowncase_word):
10824         * casefiddle.c (Fcapitalize_word):
10825         Docstring arglist/Texinfo fixes.  See man/ChangeLog for details.
10826         Replace 0 with '\0' when working with bytes.
10827         Replace initial "(" with "\(" in docstrings.
10828
10829 2000-11-01  Martin Buchholz  <martin@xemacs.org>
10830
10831         * config.h.in: Handle alloca with Compaq C on Alpha Linux.
10832
10833         * m/alpha.h: Let configure handle SYSTEM_MALLOC on Linux.
10834
10835 2000-10-31  Martin Buchholz  <martin@xemacs.org>
10836
10837         * eldap.c (print_ldap): 64-bit cleaner.  Fixes warning.
10838
10839 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
10840
10841         * doprnt.c (emacs_do_prnt_1): Format (format "%01.2d" 10)
10842         correctly.
10843
10844 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
10845
10846         * fileio.c (Vauto_save_list_file_prefix): Moved from startup.el.
10847         (inhibit_auto_save_session): New variable.
10848         (vars_of_fileio): Declare and initialize them.
10849         * fileio.c (Fdo_auto_save): Don't create session file if
10850         Vinhibit_auto_save_session or Vauto_save_list_file_prefix is non-nil.
10851
10852 2000-10-31  Martin Buchholz  <martin@xemacs.org>
10853
10854         * sgiplay.c (play_internal): C++ compilability.
10855         * alloc.c (SWEEP_FIXED_TYPE_BLOCK): Remove unused var `SFTB_prev'.
10856         * callproc.c (Fold_call_process_internal):
10857         Remove unused vars `env', `first'.
10858         * scrollbar.c (update_scrollbar_instance):
10859         #### unused var `current_window'.
10860         * redisplay-tty.c: Put currently unused vars insert_mode_on,
10861         etc. within #ifdef NOT_YET.
10862         * emacs.c: #### unused vars `initial_argc', `initial_argv'.
10863         * dialog-x.c (dbox_descriptor_to_widget_value): ### unused var `title'.
10864         * specifier.c (specifier_instance):
10865         #### unused var `tag'.
10866         Use WINDOW_BUFFER, FRAME_DEVICE instead of their expansion.
10867
10868 2000-10-27  Martin Buchholz  <martin@xemacs.org>
10869
10870         * fns.c (Fbutlast):
10871         * fns.c (list_sort):
10872         * fns.c (Ffillarray):
10873         * fns.c (bytecode_nconc2):
10874         * fns.c (Fnconc):
10875         * fns.c (mapcar1):
10876         * fns.c (Fmapconcat):
10877         Be pedantically 64-bit correct.  For the time when someone will
10878         want to have a list with length > 2**32.
10879
10880         * lisp.h (PRIVATE_EXTERNAL_LIST_LOOP_6):
10881         Work around MIPSpro compiler bug.
10882
10883         * process-unix.c (unix_kill_child_process): Add snarky comment.
10884         * process-unix.c (try_to_initialize_subtty):  Oops, `=' ==> `=='
10885
10886         * config.h.in: Oops, _getpt ==> _getpty
10887
10888 2000-10-26  Martin Buchholz  <martin@xemacs.org>
10889
10890         * config.h.in:
10891         * regex.c:
10892         Use void*, not char*, as return type of alloca().
10893
10894         * alloc.c (free_marker): Side effect inside assert expression!
10895
10896 2000-10-16  MIYASHITA Hisashi  <himi@m17n.org>
10897
10898         * mule-charset.c (Fset_charset_ccl_program): To check
10899         if the given ccl program is valid, use setup_ccl_program()
10900         instead of CHECK_VECTOR().
10901         (Fmake_charset): Likewise.
10902
10903 2000-10-20  Golubev I. N.  <gin@mo.msk.ru>
10904
10905         * faces.c (get_extent_fragment_face_cache_index):
10906         Fix cachel.merged_faces memory leak.
10907
10908 2000-10-14  MIYASHITA Hisashi  <himi@m17n.org>
10909
10910         * mule-ccl.c (ccl_driver)<CCL_DECODE_SJIS>:
10911         Reset MSB of octets obtained by DECODE_SJIS
10912         because of the incompatibility with Emacs.
10913         (ccl_driver)<CCL_ENCODE_SJIS>:
10914         Set MSB of octets before passing them to
10915         ENCODE_SJIS because of the incompatibility
10916         with Emacs.
10917
10918 2000-10-18   Daiki Ueno  <ueno@unixuser.org>
10919
10920         * lrecord.h (DECLARE_TYPECHECK_LRECORD): Abolish.
10921         (DECLARE_LRECORD): Undo the last change.
10922         (DECLARE_EXTERNAL_LRECORD): Expand typechecking stuff.
10923
10924 2000-10-17   Daiki Ueno  <ueno@unixuser.org>
10925
10926         * lrecord.h (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): Connect
10927         the implementation to lrecord_implementations_table.
10928
10929 2000-10-14   Daiki Ueno  <ueno@unixuser.org>
10930
10931         * lrecord.h (MAKE_EXTERNAL_LRECORD_IMPLEMENTATION): Don't set the
10932         initial value of `lrecord_type_##c_name' and
10933         `lrecord_##c_name.lrecord_type_index'; discard "const" qualifier.
10934         (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): New macro.
10935         [ERROR_CHECK_TYPECHECK] (DECLARE_TYPECHECK_LRECORD): New macro.
10936         [ERROR_CHECK_TYPECHECK] (DECLARE_LRECORD): Use it.
10937         [ERROR_CHECK_TYPECHECK] (DECLARE_EXTERNAL_LRECORD): Use it.
10938
10939 2000-10-17  Martin Buchholz  <martin@xemacs.org>
10940
10941         * miscplay.c (sndcnv8S_2mono):
10942         (sndcnv2monounsigned):
10943         (sndcnvULaw_2linear):
10944         (sndcnv16swap):
10945         Remove implementation-defined behavior.
10946
10947 2000-10-12  Martin Buchholz  <martin@xemacs.org>
10948
10949         * input-method-xlib.c: Warning suppression.
10950
10951 2000-10-05  MIYASHITA Hisashi  <himi@m17n.org>
10952
10953         * mule-ccl.c: Sync up with Emacs 21.0.90.
10954         (ccl_driver)<CCL_TranslateCharacter>: Disabled.
10955         Do nothing.
10956         (ccl_driver)<CCL_TranslateCharacterConstTbl>:
10957         Likewise.
10958         (ccl_driver[WriteMultibyteChar2]): Bug fix.
10959         Use MAX_LEADING_BYTE_OFFICIAL_2 instead of
10960         MIN_LEADING_BYTE_OFFICIAL_2 to check whether the
10961         leading char belongs to official 2-dimensional charset.
10962         (CCL_WRITE_CHAR): When CCL_MODE_ENCODING,
10963         write the given character as is.  Otherwise,
10964         if it is a multibyte char, convert it by
10965         non_ascii_set_charptr_emchar, then write it.
10966         (CCL_WRITE_STRING): Likewise.
10967         (ccl_get_compiled_code): New function.
10968         (setup_ccl_program): When ccl_prog is invalid,
10969         return -1.
10970         (Fregister_code_conversion_map): New function.
10971         (syms_of_mule_ccl): defsubr Fregister_code_conversion_map.
10972
10973         * mule-ccl.h: Sync up with Emacs 21.0.90.
10974         (Fregister_ccl_program): export it.
10975
10976         * redisplay-msw.c (separate_textual_runs):
10977         If ccl program is not valid, don't do ccl conversion.
10978
10979         * redisplay-x.c (separate_textual_runs): Ditto.
10980
10981         * file-coding.c (Fmake_coding_system):
10982         When type is ccl and value is vector, register it
10983         with a proper symbol.  And checks whether the
10984         given ccl program is valid.
10985         (mule_decode): When calling ccl_driver, if src indicates
10986         NULL pointer, set an empty string instead.
10987         (mule_encode): Likewise.
10988
10989 2000-10-11  Martin Buchholz  <martin@xemacs.org>
10990
10991         The following large batch of changes gets us back to a state of
10992         C++ compilability.  Extbyte is now a char, which means that
10993         Extbyte * and Bufbyte * cannot be freely interchanged - a win!
10994
10995         * tooltalk.c (Fset_tooltalk_message_attribute): Type correctness.
10996
10997         * sound.c (Fplay_sound): Type correctness.
10998
10999         * select-x.c (hack_motif_clipboard_selection): Type correctness.
11000         (x_get_window_property): Type correctness.
11001         (receive_incremental_selection): unsigned char ==> Extbyte
11002         (selection_data_to_lisp_data): unsigned char ==> Extbyte
11003         (Fx_get_cutbuffer_internal): unsigned char ==> Extbyte
11004         (Fx_store_cutbuffer_internal): Type correctness.
11005
11006         * process-unix.c (try_to_initialize_subtty): Type correctness.
11007
11008         * objects-x.c (x_print_color_instance): Type correctness.
11009         (x_print_font_instance): Type correctness.
11010         (x_list_fonts): SExtbyte ==> Extbyte.
11011         (valid_x_font_name_p): SExtbyte ==> Extbyte.
11012         (x_find_charset_font): SExtbyte ==> Extbyte.
11013         Use TO_INTERNAL_FORMAT.  build_string ==> make_string.
11014         (truename_via_XListFonts): SExtbyte ==> Extbyte.
11015         (x_font_instance_properties): Use TO_INTERNAL_FORMAT.
11016         Use bufbyte_strcmp.
11017
11018         * mule-charset.h (LEADING_BYTE_PREFIX_P): unsigned char ==> Bufbyte
11019         (PRIVATE_LEADING_BYTE_PREFIX): Add paranoia cast.
11020         (BYTE_ASCII_P): Use bit ops for char-signedness safety.
11021         (BYTE_C0_P): Use bit ops for char-signedness safety.
11022         (BYTE_C1_P): Use bit ops for char-signedness safety.
11023         (CHARSET_BY_LEADING_BYTE):
11024         (CHARSET_BY_ATTRIBUTES):
11025         Always use inline function.
11026         Use type_checking_assert.
11027         Hide chlook.
11028
11029         * mule-charset.c (non_ascii_charptr_copy_char):
11030         Modify to work with both ASCII and non-ASCII characters.
11031         Improve docs and variable names.
11032         Replace over-clever fall-through switch with a simple loop.
11033         (Lstream_get_emchar_1):
11034         Replace over-clever fall-through switch with a simple loop.
11035
11036         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
11037         Warning suppression.
11038
11039         * lstream.h (Lstream_get_emchar): BYTE_ASCII_P cannot be used on
11040         the return value of Lstream_getc, which could be EOF as well.
11041
11042         * lstream.c (Lstream_raw_read): Now returns ssize_t, not int.
11043
11044         * lisp.h: Make Extbyte a char, not unsigned char, so that external
11045         APIs can be used on Extbytes without casts.  Risky!
11046         (SExtbyte): Remove.
11047         (UExtbyte): Remove.
11048
11049         * input-method-xlib.c (XIM_init_device):
11050         Use Xlib.h instead of IntrinsicP.h.
11051         Use HAVE_XREGISTERIMINSTANTIATECALLBACK instead of THIS_IS_X11R6,
11052         which will break in X11R7.
11053         Use XREGISTERIMINSTANTIATECALLBACK_NONSTANDARD_PROTOTYPE,
11054         to call XRegisterIMInstantiateCallback with correct types.
11055
11056         * gui-x.c (button_item_to_widget_value): Type correctness.
11057
11058         * glyphs.c (bitmap_to_lisp_data):  Type correctness.
11059
11060         * glyphs-x.c (pixmap_from_xbm_inline): Type correctness.
11061         (xbm_instantiate_1): Type correctness.
11062         (BUILD_GLYPH_INST):  Type correctness.
11063
11064         * fileio.c (Fsubstitute_in_file_name): Type correctness.
11065
11066         * file-coding.c:
11067         (decode_coding_sjis):
11068         (decode_coding_big5):
11069         (decode_coding_ucs4):
11070         (decode_coding_utf8):
11071         (decode_coding_iso2022):
11072         (decode_coding_no_conversion):
11073         Make all decoding functions take an Extbyte * arg.
11074         (encode_coding_sjis):
11075         (encode_coding_big5):
11076         (encode_coding_ucs4):
11077         (encode_coding_utf8):
11078         (encode_coding_iso2022):
11079         (encode_coding_no_conversion):
11080         Make all encoding functions take a Bufbyte * arg.
11081         Use size_t instead of unsigned int for memory sizes.
11082         Only cast to unsigned char whenever dereferencing Extbyte *.
11083
11084         * doc.c (unparesseuxify_doc_string): Type correctness.
11085
11086         * console-x.c (split_up_display_spec):
11087         Rewrite without using details of internal string representation.
11088         (x_semi_canonicalize_device_connection): Type correctness.
11089
11090         * config.h.in:
11091         (HAVE_XREGISTERIMINSTANTIATECALLBACK): New.
11092         (XREGISTERIMINSTANTIATECALLBACK_NONSTANDARD_PROTOTYPE): New.
11093         (HAVE_XFREE386): Removed.
11094
11095         * buffer.h (DEC_CHARPTR): `const' correctness.
11096         (bufbyte_strcmp): New.
11097         (bufbyte_memcmp): New.
11098
11099         * buffer.c (dfc_convert_to_internal_format): Extbyte ==> Bufbyte
11100
11101         * buffer.h (XCHAR_OR_CHAR_INT):
11102         Always use inline function.
11103         Remove redundant type checking assert() - XINT will abort quite nicely.
11104
11105 2000-10-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
11106
11107         * search.c (Freplace_match): Set newtext to an empty string.
11108
11109 2000-10-10  Martin Buchholz  <martin@xemacs.org>
11110
11111         * s/decosf1-3.h: Remove #include of stropts.h
11112         * s/ptx.h: Remove #include of stropts.h
11113         * s/usg5-4.h: Remove #include of stropts.h
11114         * sysproc.h:
11115         * config.h.in:
11116         Use stropts.h, not sys/stropts.h.
11117         Use strtio.h, not sys/strtio.h.
11118
11119 2000-10-04  Martin Buchholz <martin@xemacs.org>
11120
11121         * XEmacs 21.2.36 is released.
11122
11123 2000-09-21  Andy Piper  <andy@xemacs.org>
11124
11125         * glyphs-x.c (x_redisplay_widget): make sure non-structural
11126         changes still involve copying the widget tree.
11127         (update_widget_face): make sure a change is register in the widget
11128         tree. Call update_tab_widget_face appropriately.
11129         (update_tab_widget_face): ditto.
11130         (x_tab_control_redisplay): make sure non-structural changes still
11131         involve copying the widget tree.
11132
11133 2000-08-31   Daiki Ueno  <ueno@unixuser.org>
11134
11135         * lread.c (locate_file): Check the path element is non-nil.
11136
11137 2000-10-02  Martin Buchholz  <martin@xemacs.org>
11138
11139         * lisp.h: Warning suppression for SCO compilers.
11140
11141         * redisplay-tty.c (reset_tty_modes): Fix crash.
11142         E.g. from xemacs running on X: (delete-device (make-device 'tty nil))
11143
11144 2000-09-27  Martin Buchholz  <martin@xemacs.org>
11145
11146         Big signal/process handling overhaul.  Bugs fixed:
11147         M-x shell, type `sleep 10000', M-x comint-interrupt-subjob and
11148         M-x comint-kill-subjob should work for both values nil and t of
11149         process-connection-type. It was broken on most platforms.
11150         Testing on Irix and Cygwin still needed.  Other plaforms tested.
11151         * sysdep.c: Move #include of stropts.h into sysproc.h.  Use pid_t.
11152         * process-unix.c: Signal/Process handling overhaul.
11153         (pty_name): make 64 bytes, as `expect' does, for paranoia.
11154         (allocate_pty): Use all available modern methods of allocating
11155         ptys, falling back to old style BSD allocation as a last resort.
11156         Use allegedly more secure Unix98 pty allocation by default.
11157         (allocate_pty_the_old_fashioned_way): New. the last resort.
11158         (unix_create_process): Push ptem, ldterm, ttcompat where
11159         available.  Autoconfiscate.
11160         (try_to_initialize_subtty): New.
11161         (unix_kill_child_process): Proper signal handling for ptys on most
11162         platforms, using special knowledge of AIX, BSD, etc...
11163         (unix_create_process): Always disconnect_controlling_terminal() for
11164         subprocesses, whether using ptys or not.
11165         * process.h: Remove old getpt-dependent PTY code.
11166         * process.c (Fprocess_send_signal): New, obvious generic function.
11167         (decode_signal): New.
11168         (Finterrupt_process):
11169         (Fkill_process):
11170         (Fquit_process):
11171         (Fstop_process):
11172         (Fcontinue_process):
11173         (Fsignal_process): Use decode_signal.
11174         (process_send_signal):
11175         Many docstring corrections.
11176         Allow any signal to be sent to a process object.
11177         * config.h.in: Add symbols for big signal/process overhaul.
11178         * syssignal.h (EMACS_KILLPG): Use HAVE_KILLPG. Use `pid', not `gid'.
11179         * sysproc.h: Include process-related headers, where available:
11180         sys/stropts.h sys/strtio.h pty.h libutil.h
11181         * s/irix4-0.h:
11182         * s/irix5-0.h:
11183         * s/cygwin32.h:
11184         * s/gnu.h:
11185         * s/linux.h:
11186         * s/hpux.h:
11187         * s/aix3-1.h:
11188         Remove old S&M pty stuff.
11189         * console-tty.c (tty_init_console): Use pid_t, not int, for pids.
11190         * systty.h: Simplify cpp hackery, improve comments.
11191         Favor BSD ioctl(TIOCGPGRP) over Posix tcgetpgrp().
11192
11193         * editfns.c (Fformat_time_string):
11194         Be a little more paranoid with the return value of ctime.
11195
11196         * fileio.c (check_executable):
11197         (check_writable):
11198         Use symbolic constants X_OK, W_OK.
11199
11200         * console-x.c (split_up_display_spec): Fix a warning.
11201
11202 2000-10-02  Martin Buchholz  <martin@xemacs.org>
11203
11204         * gui-x.c (add_accel_and_to_external): strlen ==> XSTRING_LENGTH
11205         * ntproc.c (sys_spawnve): make_string ==> build_string
11206         Small clarity improvements.
11207
11208 2000-09-30  Martin Buchholz  <martin@xemacs.org>
11209
11210         * events.c (WRONG_EVENT_TYPE_FOR_PROPERTY): Warning removal.
11211
11212         * s/windowsnt.h (HAVE_STRCASECMP): Remove.
11213
11214         * config.h.in (HAVE_STRCASECMP): Remove.
11215
11216 2000-09-29  Martin Buchholz  <martin@xemacs.org>
11217
11218         * redisplay-output.c (redisplay_output_pixmap):
11219         Cleaner and possibly more 64-bit correct code.
11220
11221 2000-09-28  Stephen J. Turnbull  <stephen@xemacs.org>
11222
11223         * dumper.c (pdump_load_finish): move restoration of
11224         `noninteractive1' to emacs.c (main_1).
11225         * emacs.c (main_1): protect LISP-visible command-line flags
11226         from pdump_load().
11227
11228 2000-09-26  Stephen J. Turnbull  <stephen@xemacs.org>
11229
11230         * Makefile.in.in (versionclean):  Use EXE_TARGET and
11231         DUMP_TARGET instead of literal program names.
11232
11233 2000-09-20  Martin Buchholz  <martin@xemacs.org>
11234
11235         * Makefile.in.in: Recent purify's require absolute paths for cache-dir.
11236
11237 2000-09-19  Martin Buchholz  <martin@xemacs.org>
11238
11239         * *: Spelling mega-patch
11240
11241 2000-09-19  Martin Buchholz  <martin@xemacs.org>
11242
11243         * fns.c (bad_bad_turtle):
11244         Delete "Eek!" comment, since we fixed the bug to which it refers.
11245
11246 2000-09-16  Martin Buchholz  <martin@xemacs.org>
11247
11248         * alloca.c: Replace REGISTER with register.
11249
11250 2000-09-16   Daiki Ueno  <ueno@unixuser.org>
11251
11252         * file-coding.c (ucs_to_char): Use countof.
11253
11254 2000-09-16  Martin Buchholz  <martin@xemacs.org>
11255
11256         * file-coding.c: (ucs_to_char):
11257         (complex_vars_of_file_coding):
11258         Use countof instead of sizeof.
11259         Use CHECK_NATNUM instead of CHECK_INT.
11260
11261         * sysdep.c (strcasecmp): Remove.
11262         * device-x.c (ascii_strcasecmp): New.
11263         * device-x.c (Fx_get_resource): Use ascii_strcasecmp.
11264         Avoid using non-standard non-portable strcasecmp.
11265
11266 2000-09-16  Martin Buchholz  <martin@xemacs.org>
11267
11268         * Makefile.in.in (mostlyclean): remove reference to prefix-args.
11269         * font-lock.c: remove reference to emacsfns.h.
11270         * search.c: small doc improvement.
11271         * event-Xt.c: correct file names in comments.
11272         * console-x.h Correct file names in comments.
11273         * frame.c: Correct file names in comments.
11274         * event-stream.c: remove Energize from comments.
11275
11276 2000-09-15  Martin Buchholz  <martin@xemacs.org>
11277
11278         * symeval.h (DEFERROR_STANDARD):
11279         (DEFERROR):
11280         (DEFSYMBOL):
11281         (DEFSYMBOL_NO_DUMP):
11282         (DEFSYMBOL_MULTIWORD_PREDICATE):
11283         (DEFSYMBOL_MULTIWORD_PREDICATE_NO_DUMP):
11284         (DEFKEYWORD):
11285         The construct &##name is not sensible C.
11286         Fixes compilation errors with Unixware native compiler.
11287
11288 2000-09-14  Martin Buchholz  <martin@xemacs.org>
11289
11290         * frame.c (device_matches_console_spec): no longer takes a `frame' arg
11291         (next_frame_internal): Removed.  We now just have next_frame.
11292         (next_frame):
11293         Write a simpler and cleaner one-pass algorithm.
11294         Remove called_from_delete_device arg and #ifdefed-out code.
11295         (previous_frame):
11296         Renamed from prev_frame.  Update callers.
11297         Cleaned up to have an analogous implementation to next_frame.
11298         (other_visible_frames_internal): Remove the
11299         called_from_delete_device bogus arg, and hence, remove this
11300         function.  Just use other_visible_frames().
11301
11302         * window.c (Fnext_window):
11303         Prettify docstring.
11304         Since next_frame() is guaranteed to return a frame, remove check
11305         for nil inserted in previous patch.
11306         (Fprevious_window):
11307         Prettify docstring.
11308         Make code look more like Fnext_window.
11309         (window_loop):
11310         Respect the `console' arg when iterating through windows.
11311         Fixes bug: (get-buffer-window buffer t device) not respecting
11312         the `device' arg.
11313         This function needs more work, as others have pointed out.
11314
11315         * frame.h: Rename prev_frame to previous_frame.
11316         device_matches_console_spec no longer takes a `frame' arg.
11317
11318         * s/gnu.h:
11319         * s/linux.h:
11320         * s/hpux.h:
11321         Use EMACS_BLOCK_SIGNAL instead of sigblock.
11322         From "Golubev I. N." <gin@mo.msk.ru>.
11323
11324         * make-src-depend: Fix typo.
11325
11326 2000-09-13  Martin Buchholz  <martin@xemacs.org>
11327
11328         * window.c (Fnext_window):
11329         next_frame() might return nil, not a frame.
11330         Fixes this crash:
11331         (gdb) run -eval '(progn  (make-device (quote x) "polgar:0") (next-window (minibuffer-window) t (quote visible) (second (device-list))))'
11332
11333         * frame.c (next_frame_internal):
11334         We've passed a frame if we've passed its device.
11335         Fixes this crash:
11336         (gdb) run -eval '(progn (make-frame nil (make-device (quote x) "polgar:0")) (next-window (minibuffer-window) t (quote visible) (second (device-list))))'
11337 Fatal error: assertion failed, file /project/xemacs/ws/dev/src/frame.h, line 245, RECORD_TYPEP (obj, lrecord_type_frame)
11338
11339 2000-09-11  Jonathan Harris  <jhar@tardis.ed.ac.uk>
11340
11341         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
11342         Allow option to suppress accelerators in menu/dialog items.
11343         (populate_or_checksum_helper): Pass dialog title through above.
11344
11345 2000-09-10  Jonathan Harris  <jhar@tardis.ed.ac.uk>
11346
11347         * event-msw.c (mswindows_key_to_emacs_keysym):
11348         Add "pause" key, fix "menu" key.
11349
11350 2000-09-09  Martin Buchholz  <martin@xemacs.org>
11351
11352         * eval.c (reinit_vars_of_eval):
11353         Increase max_lisp_eval_depth to 1000,
11354         required for thai-xtis.el to byte-compile under some circumstances.
11355
11356 2000-09-04  Martin Buchholz  <martin@xemacs.org>
11357
11358         * event-Xt.c (x_to_emacs_keysym): Increase size of `buffer' to 513.
11359         From Kenichi Handa.
11360
11361 2000-09-01  Martin Buchholz  <martin@xemacs.org>
11362
11363         * make-src-depend: Make the generated Makefiles smaller.
11364
11365         * s/hpux.h (SETUP_SLAVE_PTY):
11366         Provide a %d in the format string for the errno argument.
11367
11368         * editfns.c (Ftemp_directory):
11369         Warning fix.
11370         Avoid buffer overrun on very long file name.
11371
11372         * input-method-xlib.c (XIM_init_device):
11373         6th parameter of XRegisterIMInstantiateCallback has different
11374         pointer types on different OSes, so simply cast to (void *).
11375
11376         * unexhp9k800.c: Warning fixes.  Fiddly changes.
11377
11378         * sysdll.c (dll_open):
11379         shl_load will hang hard if passed a NULL filename.
11380         Simply return NULL for compatibility with dlopen.
11381         * sysdll.c: Conform to XEmacs coding standards.
11382
11383         * sysdep.c (get_pty_max_bytes):
11384         Support pty input lines longer than 512 bytes on HP-UX 10.20.
11385
11386 2000-08-31  Martin Buchholz  <martin@xemacs.org>
11387
11388         * tooltalk.c: Add #include <syssignal.h>
11389
11390 2000-08-12  Alexandre Oliva  <aoliva@redhat.com>
11391
11392         * s/hpux.h: Don't use undefined function sigunblock().
11393
11394 2000-08-31  Martin Buchholz  <martin@xemacs.org>
11395
11396         * config.h.in: Add HAVE_BALLOON_HELP.
11397         * emacs.c: Use HAVE_BALLOON_HELP.
11398         * Makefile.in.in (x_objs):
11399         Make Balloon Help conditional on finding shape.h.
11400
11401 2000-08-23  Yoshiki Hayashi  <yoshiki@xemacs.org>
11402
11403         * syntax.c (regex_emacs_buffer_p): New variable.
11404         * syntax.h (regex_emacs_buffer_p): extern.
11405         * search.c (looking_at_1):
11406         (string_match_1):
11407         (fast_string_match):
11408         (search_buffer): Set regex_emacs_buffer_p.
11409         * regex.c (re_match_2_internal): Reference regex_emacs_buffer_p
11410         when before_dot, at_dot, after_dot.
11411
11412 2000-08-23  Andy Piper  <andy@xemacs.org>
11413
11414         * gui-x.c (popup_selection_callback): Only set action_occurred
11415         when we really have an image instance.
11416         * gui-msw.c (mswindows_handle_gui_wm_command): ditto.
11417
11418 2000-08-23  Andy Piper  <andy@xemacs.org>
11419
11420         * gui-msw.c (mswindows_handle_gui_wm_command): set
11421         action_occurred.
11422         * gui-x.c (popup_selection_callback): ditto.
11423
11424         * glyphs.h (IMAGE_INSTANCE_WIDGET_ACTION_OCCURRED): new accessor.
11425         (XIMAGE_INSTANCE_WIDGET_ACTION_OCCURRED): ditto.
11426         (struct Lisp_Image_Instance): add action_occurred flag.
11427
11428         * glyphs.c (redisplay_subwindow): use action_occurred flag.
11429         (image_instance_changed): ditto.
11430         (reset_frame_subwindow_instance_cache): only unmap windows - do
11431         not remove them from the cache also.
11432
11433         * glyphs-widget.c (tab_control_update): better debug.
11434         (progress_gauge_update): ditto.
11435         (layout_update): ditto.
11436         (layout_instantiate): ditto.
11437         (tab_control_order_only_changed): cope with null pending items.
11438
11439         * glyphs-msw.c (mswindows_tab_control_redisplay): add better
11440         debug. Force selection of an item when an action occurred. Cope
11441         with null pending_items.
11442         (mswindows_progress_gauge_redisplay): better debug.
11443         * glyphs-x.c (x_tab_control_redisplay): ditto.
11444
11445         * redisplay.c (redisplay_frame): reset the frame cache if the
11446         frame is garbaged.
11447
11448         * window.c (Fset_window_configuration): potentially re-enable
11449         frame cache reset.
11450         (window_unmap_subwindows): need to finalize instances here since
11451         it is only used in mark_window_as_deleted.
11452
11453 2000-08-22  Stephen J. Turnbull  <stephen@xemacs.org>
11454
11455         * nas.c (SndOpenDataForReading):
11456         nas.c (WaveOpenDataForReading):
11457         nas.c (readChunk): {BIG,LITTLE}_ENDIAN -> NAS_{BIG,LITTLE}_ENDIAN.
11458         Somehow escaped from the 2000-08-14 patch.
11459
11460 2000-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
11461
11462         * nas.c:  Preprocessor trickery to use NAS_LITTLE_ENDIAN instead
11463         of LITTLE_ENDIAN (conflicts with glibc, at least) in NAS <= 1.2p5.
11464
11465 2000-08-21  Andy Piper  <andy@xemacs.org>
11466
11467         * glyphs-x.c (x_map_subwindow): Minor optimization - only map the
11468         window if it is not already displayed.
11469
11470         * glyphs-msw.c (mswindows_map_subwindow): only map the window if
11471         it is not already displayed.
11472
11473         * window.c (Fset_window_configuration): don't reset the frame
11474         cache.
11475
11476         * glyphs.c (unmap_subwindow_instance_cache_mapper): only remove
11477         instances from the frame cache if we are actually finalizing them.
11478         (reset_frame_subwindow_instance_cache): reset frame cache only
11479         after unmapping everything.
11480         (map_subwindow): set displayed flag after mapping.
11481
11482 2000-08-21  Martin Buchholz  <martin@xemacs.org>
11483
11484         * data.c (indirect_function):
11485         Rename ERRORP to non-misleading VOID_FUNCTION_ERRORP.
11486
11487         * eval.c (function_argcount):
11488         Use original function when signaling errors.
11489
11490 2000-08-18  Andy Piper  <andy@xemacs.org>
11491
11492         * frame.c (delete_frame_internal): use new
11493         free_frame_subwindow_instances name.
11494
11495         * glyphs-msw.c (mswindows_tab_control_instantiate): verify index.
11496         (add_tab_item): make return type correct.
11497         (mswindows_tab_control_instantiate): assert index of tab.
11498         (mswindows_tab_control_redisplay): Re-code to use
11499         gui_item_equal_sans_selected and gui_item_list_find_selected.
11500
11501         * glyphs-widget.c (tab_control_update): Correct comment.
11502
11503         * window.c (window_unmap_subwindows): use new
11504         unmap_subwindow_instance_cache_mapper.
11505         (window_unmap_subwindows_cache_mapper): deleted.
11506         (Fset_window_configuration): comparisons should now be with
11507         EQ. Preserve the subwindow instance cache across configuration
11508         changes.
11509         (allocate_window): ditto.
11510         (make_dummy_parent): ditto.
11511
11512         * glyphs.c (free_frame_subwindow_instances): rename from
11513         free_frame_subwindow_instance_cache. finalize all instances rather
11514         than just those in the display cache.
11515         (finalize_all_subwindow_instances): walk windows unmapping and
11516         finalizing subwindows.
11517         (unmap_subwindow_instance_cache_mapper): moved from
11518         window.c. Allow finalization as well as unmapping.
11519
11520         * gui.c (gui_item_list_find_selected): new function.
11521
11522         * gui.h (gui_item_list_find_selected): declare.
11523
11524         * glyphs-x.c (x_tab_control_redisplay): pick tab
11525         explicitly. Re-code to use gui_item_equal_sans_selected and
11526         gui_item_list_find_selected.
11527
11528         * glyphs-x.h: add lwlib-utils.h
11529
11530         * buffer.c (Frecord_buffer): undo previous change.
11531
11532 2000-08-09  Vin Shelton  <acs@xemacs.org>
11533
11534         * config.h.in, s/gnu.h, s/hpux.h, s/linux.h: Use UNIX98 PTYs if
11535         possible.  Create temporary files more securely.  The patch was
11536         generated by Torsten Duwe <duwe@caldera.de>, Florian Weimer
11537         <Florian.Weimer@RUS.Uni-Stuttgart.DE> and Olaf Kirch.  See
11538         http://www.xemacs.org/list-archives/xemacs-patches/200007/msg00123.html
11539         for details.
11540
11541 2000-08-07  Ben Wing  <ben@xemacs.org>
11542
11543         * getloadavg.c: remove duplicate (and windows-breaking)
11544         includes of fcntl.h and sys/file.h.
11545
11546         * nt.c: remove duplicate getloadavg() definition.
11547
11548         * sysdll.h (Qdll_filename_encoding): add missing stand-in
11549         encodings.
11550
11551 2000-08-07  Gunnar Evermann  <ge204@eng.cam.ac.uk>
11552
11553         * eval.c (function_argcount): If function needs to be autoloaded
11554         actually use the loaded definition.
11555         GCPRO function.
11556
11557 2000-08-05  Ben Wing  <ben@xemacs.org>
11558
11559         * getloadavg.c: add prototype for getloadavg().  remove
11560         duplicate WIN32_NATIVE/CYGWIN code (already in the middle
11561         of the code).  remove duplicate header includes.
11562
11563         * s\cygwin32.h, s\mingw32.h: remove stray NO_ARG_ARRAY.
11564
11565         * s\cygwin32.h, s\mingw32.h, m\windowsnt.h:
11566         don't define LOAD_AVE_TYPE/LOAD_AVE_CVT because we have no
11567         useful load average.
11568
11569         * alloc.c (reinit_alloc_once_early): removed references to
11570         VIRT_ADDR_VARIES, malloc_sbrk_used/free, and data-bytes-used/free.
11571         the lisp vars are the only things referencing the malloc_sbrk_*
11572         vars, and they were already if 0'd out.  these vars only exist
11573         in the older malloc.c, which is basically unused, and they're
11574         only for informational purposes.
11575
11576         * m\*.h: removed useless VIRT_ADDR_VARIES.
11577
11578         * m\powerpc.h: removed stray NO_ARG_ARRAY.
11579
11580 2000-04-26  IKEYAMA Tomonori  <tomonori@suiyokai.org>
11581
11582         * redisplay-msw.c (mswindows_output_dibitmap): Set foreground
11583         color if the image is a mono pixmap.
11584
11585 2000-07-30  Ben Wing  <ben@xemacs.org>
11586
11587         * Makefile.in.in (release):
11588         Remove stray @.
11589
11590         * buffer.c (directory_is_current_directory):
11591         * dired-msw.c (mswindows_get_files):
11592         * dired.c:
11593         * dired.c (Fdirectory_files):
11594         * dired.c (file_name_completion_stat):
11595         * dired.c (Ffile_attributes):
11596         [[[[1]]]]: Rename stat() -> xemacs_stat() and eliminate nasty
11597         preprocessor tricks, to avoid problems on some machines
11598         (e.g. SCO).
11599
11600         * callproc.c (egetenv): GC docs.
11601
11602         * console-msw.h:
11603         * console-msw.h (struct mswindows_dialog_id):
11604         * lrecord.h (lrecord_type):
11605         New object for use with MSW dialogs.
11606
11607         * console.h (struct console_methods):
11608         New enable/disable frame methods, for proper modal dialogs.
11609
11610         * device-msw.c (msprinter_default_printer): Fix to follow
11611         proper Mule conventions.
11612
11613         * device-msw.c:
11614         * device-msw.c (signal_open_printer_error):
11615         * device-msw.c (msprinter_init_device):
11616         * device-msw.c (ensure_not_printing):
11617         * device-msw.c (plist_get_margin):
11618         * device-msw.c (Fmsprinter_select_settings):
11619         * device-msw.c (finalize_devmode):
11620         * device-msw.c (Fmsprinter_settings_despecialize):
11621         * device-msw.c (signal_enum_priner_error):
11622         * extents.c (decode_extent):
11623         * extents.c (decode_map_extents_flags):
11624         * extents.c (decode_extent_at_flag):
11625         * extents.c (Fextent_at):
11626         * extents.c (Fextents_at):
11627         * extents.c (symbol_to_glyph_layout):
11628         [[[[2]]]] Use structured errors.
11629
11630         * dialog-msw.c:
11631         * dialog-msw.c (mswindows_is_dialog_msg):
11632         * dialog-msw.c (mark_mswindows_dialog_id):
11633         * dialog-msw.c (dialog_proc):
11634         * dialog-msw.c (handle_question_dialog_box):
11635         * dialog-msw.c (syms_of_dialog_mswindows):
11636         Define new object to clean up marking; use it as a dialog identifier.
11637         Call new delete-dialog-box-hook.
11638
11639         * dialog-x.c (dbox_selection_callback):
11640         * dialog-x.c (dbox_descriptor_to_widget_value):
11641         * dialog-x.c (x_make_dialog_box_internal):
11642         Call new delete-dialog-box-hook.
11643         Return an id.
11644
11645         * dialog.c:
11646         * dialog.c (syms_of_dialog):
11647         * dialog.c (vars_of_dialog):
11648         Define new delete-dialog-box-hook, for use w/modal dialog boxes.
11649
11650         * eval.c:
11651         * eval.c (signal_call_debugger):
11652         when noninteractive, output stack traces on the console instead
11653         of in a (never-seen) buffer.
11654
11655         * eval.c (signal_type_error):
11656         * eval.c (invalid_argument_2):
11657         * lisp.h:
11658         new funs for use w/structured errors.
11659
11660         * event-Xt.c:
11661         * event-Xt.c (x_to_emacs_keysym):
11662         * event-Xt.c (describe_event):
11663         * event-Xt.c (emacs_Xt_event_handler):
11664         * event-Xt.c (vars_of_event_Xt):
11665         * event-msw.c:
11666         * event-msw.c (mswindows_wnd_proc):
11667         * event-msw.c (vars_of_event_mswindows):
11668         rename {x,mswindows}-debug-events to debug-{}-events for
11669         consistency with other debug-foo variables.
11670
11671         * event-stream.c:
11672         document next-event more clearly.
11673
11674         * fileio.c (Ffile_name_directory):
11675         * fileio.c (Ffile_name_nondirectory):
11676         * fileio.c (Funhandled_file_name_directory):
11677         * fileio.c (file_name_as_directory):
11678         * fileio.c (Ffile_name_as_directory):
11679         * fileio.c (directory_file_name):
11680         * fileio.c (Fdirectory_file_name):
11681         * fileio.c (Fmake_temp_name):
11682         * fileio.c (Ffile_truename):
11683         * fileio.c (Fsubstitute_in_file_name):
11684         * fileio.c (expand_and_dir_to_file):
11685         * fileio.c (barf_or_query_if_file_exists):
11686         * fileio.c (check_executable):
11687         * fileio.c (Ffile_exists_p):
11688         * fileio.c (Ffile_writable_p):
11689         * fileio.c (Ffile_directory_p):
11690         * fileio.c (Ffile_regular_p):
11691         * fileio.c (Ffile_modes):
11692         * fileio.c (Ffile_newer_than_file_p):
11693         * fileio.c (Fverify_visited_file_modtime):
11694         * fileio.c (Fset_visited_file_modtime):
11695         * fileio.c (auto_save_1):
11696         (1). (2).
11697         fix up gcpro's.
11698
11699         * frame-msw.c:
11700         * frame-msw.c (mswindows_init_frame_1):
11701         * frame-msw.c (mswindows_enable_frame):
11702         * frame-msw.c (error_frame_unsizable):
11703         * frame-msw.c (msprinter_init_frame_1):
11704         * frame-msw.c (msprinter_init_frame_3):
11705         * frame-msw.c (console_type_create_frame_mswindows):
11706         (2).
11707         implement new enable/disable frame methods.
11708
11709         * frame-x.c:
11710         * frame-x.c (x_enable_frame):
11711         * frame-x.c (console_type_create_frame_x):
11712         implement new enable/disable frame methods.
11713
11714         * frame.c:
11715         * frame.c (Fdisable_frame):
11716         * frame.c (syms_of_frame):
11717         * frame.h (struct frame):
11718         implement new enable/disable frame methods/functions.
11719
11720         * general-slots.h:
11721         add initial-focus.
11722
11723         * glyphs-msw.c (mswindows_widget_instantiate):
11724         comment that initial-focus should be implemented.
11725
11726         * glyphs-widget.c:
11727         * glyphs-widget.c (check_valid_instantiator):
11728         * glyphs-widget.c (check_valid_orientation):
11729         * glyphs-widget.c (check_valid_tab_orientation):
11730         * glyphs-widget.c (check_valid_justification):
11731         * glyphs-widget.c (check_valid_border):
11732         * glyphs-widget.c (check_valid_callback):
11733         * glyphs-widget.c (check_valid_int_or_function):
11734         * glyphs-widget.c (check_valid_string_or_vector):
11735         * glyphs-widget.c (check_valid_item_list_1):
11736         * glyphs-widget.c (widget_validate):
11737         * glyphs-widget.c (combo_box_validate):
11738         * glyphs-widget.c (widget_instantiate):
11739         * glyphs-widget.c (syms_of_glyphs_widget):
11740         * glyphs-widget.c (VALID_WIDGET_KEYWORDS):
11741         * glyphs-widget.c (image_instantiator_combo_box):
11742         * glyphs-widget.c (image_instantiator_scrollbar):
11743         * glyphs-widget.c (image_instantiator_tab_control):
11744         * glyphs-widget.c (VALID_LAYOUT_KEYWORDS):
11745         (2).
11746         support (unimplemented) keyword initial-focus.
11747         reindent long macros.
11748
11749         * glyphs-x.c (x_redisplay_widget):
11750         * glyphs-x.c (x_button_instantiate):
11751         * glyphs-x.c (x_button_redisplay):
11752         * glyphs-x.c (x_progress_gauge_instantiate):
11753         * glyphs-x.c (x_edit_field_instantiate):
11754         * glyphs-x.c (x_combo_box_instantiate):
11755         * glyphs-x.c (x_tab_control_instantiate):
11756         * glyphs-x.c (x_label_instantiate):
11757         * gui-x.c:
11758         * gui-x.c (button_item_to_widget_value):
11759         * gui-x.c (gui_items_to_widget_values_1):
11760         * gui-x.c (gui_item_children_to_widget_values):
11761         * gui-x.c (gui_items_to_widget_values):
11762         * gui-x.h:
11763         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
11764         add new flag to gui-parsing routines to indicate whether
11765         accelerator specs should be supported.
11766
11767         * glyphs.c (syms_of_glyphs): use DEFSYMBOL.
11768
11769         * glyphs.h (struct Lisp_Image_Instance):
11770         * glyphs.h (IMAGE_INSTANCE_WANTS_INITIAL_FOCUS):
11771         add initial-focus flag.
11772
11773         * gui.c:
11774         * gui.c (syms_of_gui):
11775         * gui.c (vars_of_gui):
11776         clean up menu-no-selection-hook.
11777
11778         * gui.h:
11779         support delete-dialog-box-hook.
11780
11781         * lread.c (Fload_internal):
11782         * lread.c (locate_file_in_directory_mapper):
11783         (1).
11784
11785         * lrecord.h:
11786         * lrecord.h (struct toolbar_button):
11787         * lrecord.h (syms_of_toolbar):
11788         document how to create a new object.
11789
11790         * menubar-msw.c (mswindows_char_is_accelerator):
11791         may be called on frames w/o menus.
11792
11793         * menubar.c (vars_of_menubar):
11794         clean up :filter docs.
11795
11796         * nt.c (readdir):
11797         * ntproc.c:
11798         (1).
11799
11800         * process-nt.c:
11801         * process-nt.c (validate_signal_number):
11802         * process-nt.c (signal_cannot_launch):
11803         * process-nt.c (nt_create_process):
11804         * process-nt.c (nt_send_process):
11805         * process-nt.c (nt_kill_child_process):
11806         * process-nt.c (nt_open_network_stream):
11807         * process-nt.c (syms_of_process_nt):
11808         (2).
11809         delete quote-handling.  call new lisp code that does it better.
11810
11811         * process-unix.c (connect_to_file_descriptor):
11812         * process-unix.c (allocate_pty):
11813         * process-unix.c (unix_send_process):
11814         * process-unix.c (unix_kill_child_process):
11815         * process-unix.c (unix_open_network_stream):
11816         * process-unix.c (unix_open_multicast_group):
11817         (1). (2).
11818
11819         * process.c:
11820         * process.c (Fstart_process_internal):
11821         (2).  need to canonicalize process path even if absolute.
11822
11823         * select-msw.c (symbol_to_ms_cf):
11824         * select-msw.c (ms_cf_to_symbol):
11825         * select-msw.c (cf_is_autofreed):
11826         * select-msw.c (mswindows_destroy_selection):
11827         * select.c:
11828         * select.c (syms_of_select):
11829         * select.h:
11830         support dibv5, fix bugs. (from Mike Alexander)
11831
11832         * select.c (Fget_selection_internal):
11833         * select.c (select_convert_out):
11834
11835         * sysdep.c:
11836         * sysdep.c (xemacs_stat):
11837         renamed.
11838
11839         * sysdep.c (mkdir):
11840         * sysdep.c (rmdir):
11841         but keep original stat() here because we provide encapsulation
11842         around these funs.
11843
11844         * sysfile.h:
11845         * sysfile.h (fstat):
11846         remove stat garbage.
11847
11848         * syswindows.h:
11849         fix X/MSW conflict.
11850         don't include tchar.h.  it's inappropriate because it makes
11851         compile-time distinctions when we want runtime distinctions.
11852         (we provide our own tchar replacements)
11853
11854         * toolbar.c:
11855         use default object printer for toolbar-button.
11856
11857         * unexcw.c:
11858         make sure we don't encapsulate.
11859
11860         * window.c (vars_of_window):
11861         emphasize that temp-buffer-show-hook is obsolete.
11862
11863 2000-08-05  Martin Buchholz  <martin@xemacs.org>
11864
11865         * glyphs.c (image_instance_hash): HASH2 wants EMACS_INT args.
11866         (Fimage_instance_subwindow_id): make_int wants EMACS_INT arg.
11867
11868         * events.c (Fevent_timestamp_lessp):
11869         Not 64-bit clean.  Use EMACS_INT, not int.
11870
11871 2000-06-05  Andrew Begel <abegel@cs.berkeley.edu>
11872
11873         * lrecord.h (lrecord_types): Changed lrecord_type_count to an
11874         unsigned int and changed the last enum to
11875         lrecord_type_last_built_in_type.
11876         (lrecord_implementations_table): changed prototype to know how
11877         long the array is supposed to be.
11878         (lrecord_type_count): new unsigned int to keep track of the
11879         current number of lisp lrecord types.
11880         (DEFINE_EXTERNAL_LRECORD):
11881         (DECLARE_EXTERNAL_LRECORD): Added these two for external
11882         dynamic-modules to declare new lisp types. They are the same
11883         as the non-EXTERNAL forms, but declare an lrecord_type unsigned
11884         int for each new type, and increment lrecord_type_count by 1.
11885
11886         * alloc.c (lrecord_implementations_table): Changed to reference
11887         lrecord_type_last_built_in_type for the size of the array.
11888         Moved MODULE_DEFINABLE_TYPE_COUNT to lrecord.h.
11889
11890 2000-08-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
11891
11892         * glyphs.h (check_valid_item_list): Renamed from
11893         check_valid_item_list_1.
11894
11895 2000-08-01 Alastair J. Houghton <ajhoughton@lineone.net>
11896
11897         * select.c (Qselect_coerce): New.
11898         * select.c (Vselection_coercion_alist): New.
11899         * select.c (syms_of_select): Declare.
11900         * select.c (get-selection-internal): Use it.
11901         Use the new select-coerce functionality.
11902
11903         * select.c (select_coerce): New.
11904         * select.h (select_coerce): Declare.
11905         New function to coerce one type of data into another.
11906
11907 2000-08-03  Martin Buchholz  <martin@xemacs.org>
11908
11909         * callproc.c (Fcall_process_internal):
11910         (Fcall_process_internal):
11911         * process-unix.c (unix_create_process):
11912         Save and restore the value of errno, so that error messages are accurate.
11913
11914 2000-08-01  Martin Buchholz  <martin@xemacs.org>
11915
11916         * elhash.c (print_hash_table):
11917         Fix printing of hash tables to also use `key-and-value' instead of `t'.
11918         Prettify docstrings and indentation.
11919
11920 2000-07-31  Yoshiki Hayashi  <yoshiki@xemacs.org>
11921
11922         * window.c (Fwindow_pixel_edges): Subtract frame border and
11923         gutter size.
11924
11925 2000-07-31  Andy Piper  <andy@xemacs.org>
11926
11927         * buffer.c (Frecord_buffer): make absolutely sure that redisplay
11928         will acknowledge the change.
11929
11930         * glyphs.h: declare tab_control_order_only_changed.
11931
11932         * glyphs-x.c (x_tab_control_redisplay): use
11933         tab_control_order_only_changed.
11934
11935         * glyphs-widget.c (tab_control_order_only_changed): new function.
11936
11937         * glyphs-msw.c (mswindows_tab_control_redisplay): use
11938         tab_control_order_only_changed.
11939
11940         * gui.c (gui_item_equal_sans_selected): new function.
11941         (gui_item_equal): use it.
11942
11943         * glyphs-msw.c (mswindows_combo_box_instantiate): deprecate
11944         :properties in favor of :items..
11945
11946         * glyphs-widget.c (check_valid_item_list): rename from
11947         check_valid_item_list_1.
11948         (check_valid_item_list_1): renamed.
11949         (combo_box_validate): deprecate :properties in favor of :items.
11950         (widget_instantiate): ditto.
11951         (tab_control_update): ditto.
11952         (image_instantiator_combo_box): ditto.
11953         (image_instantiator_tree_view): ditto.
11954         (image_instantiator_tab_control): ditto.
11955         (layout_post_instantiate): remove dead code.
11956
11957         * print.c (debug_print_no_newline): only write to debugger if in
11958         WIN32_NATIVE.
11959
11960         * elhash.c (Fmake_hash_table): update doc string.
11961
11962         * event-msw.c (mswindows_wnd_proc): don't allow processing of
11963         messages whilst in GC. This at least stops XEmacs crashing but has
11964         the potential for wierd behaviour.
11965
11966 2000-07-31  Martin Buchholz  <martin@xemacs.org>
11967
11968         * config.h.in:
11969         Make existence of s&m files optional.
11970
11971         * s/bsd386.h: Remove HAVE_GETLOADAVG.
11972         * s/freebsd.h: Remove HAVE_GETLOADAVG.
11973         * s/gnu.h: Remove HAVE_GETLOADAVG.
11974         * s/netbsd.h: Remove HAVE_GETLOADAVG.
11975         * s/sol2.h: Remove HAVE_GETLOADAVG.
11976         * lisp.h: Remove getloadavg() declaration.
11977         * fns.c:
11978         Include <sys/loadavg.h> if available.
11979         Don't declare our own getloadavg() if HAVE_GETLOADAVG.
11980         * config.h.in:  Group together getloadavg()-related macros.
11981         Use only configure-time tests to detect getloadavg().
11982
11983 2000-07-30  Martin Buchholz  <martin@xemacs.org>
11984
11985         * Makefile.in.in (TransientEmacsShell.o): Fix race condition.
11986
11987 2000-07-25  Andy Piper  <andy@xemacs.org>
11988
11989         * syswindows.h: add tchar.h for native builds.
11990
11991         * frame.c (syms_of_frame): remove set-glyph-image.
11992
11993         * general-slots.h: add Qset_glyph_image.
11994
11995         * glyphs-widget.c (layout_update): add domain arg to
11996         set-glyph-image.
11997         (syms_of_glyphs_widget): remove set-glyph-image.
11998
11999 2000-07-23  Ben Wing  <ben@xemacs.org>
12000
12001         * dialog-msw.c (vars_of_dialog_mswindows): need to staticpro
12002         Vpopup_frame_list.
12003
12004 2000-07-22  Andy Piper  <andy@xemacs.org>
12005
12006         * symsinit.h: add syms_of_win32().
12007
12008         * gui-msw.c (syms_of_gui_mswindows): remove
12009         Fmswindows_shell_execute.
12010         (Fmswindows_shell_execute): moved to win32.c.
12011
12012         * emacs.c (main_1): add syms_of_win32 ().
12013
12014         * win32.c (init_potentially_nonexistent_functions): rewrite in
12015         compiler-friendly terms.
12016         (Fmswindows_shell_execute): move here from gui-msw.c.
12017         (syms_of_win32): new.
12018
12019         * device-msw.c (Fmswindows_printer_list): clean up args to
12020         EnumPrinters.
12021         Don't include tchar under cygwin or mingw.
12022         (msprinter_default_printer): make cygwin-friendly.
12023
12024 2000-07-21  Andy Piper  <andy@xemacs.org>
12025
12026         * glyphs-widget.c (image_instantiator_tree_view): use tab
12027         control's update function.
12028         (layout_property): new function. Retrieve items.
12029
12030         * glyphs-msw.c (mswindows_tree_view_redisplay): new
12031         function. Re-populate the tree view from the pending items.
12032
12033         * glyphs.c (instantiate_image_instantiator): Make sure the domain
12034         is designated the parent if the domain is an image instance. This
12035         is needed so that dirtiness can be cascade up the hierarchy and
12036         thus for layout children to be redisplayed correctly.
12037         (allocate_image_instance): rename glyph -> parent.
12038
12039         * redisplay.h: change redisplay_output_layout signature.
12040
12041         * redisplay-msw.c (mswindows_output_display_block): use domain
12042         arg.
12043
12044         * redisplay-x.c (x_output_display_block): use domain arg.
12045
12046 2000-07-10  Andy Piper  <andy@xemacs.org>
12047
12048         * window.c (Fset_window_configuration): add comment.
12049
12050         * redisplay-output.c (compare_runes):
12051         (redisplay_output_subwindow): redisplay rather than update subwindow.
12052         (redisplay_output_layout): ditto.
12053
12054         * redisplay-msw.c (mswindows_frame_output_end):
12055         (mswindows_frame_output_end): make defer window pos optional.
12056
12057         * lisp.h: add Flast.
12058
12059         * glyphs.h (struct image_instantiator_methods): add dest_mask top
12060         normalize method. Change update method to be for changed
12061         instantiators. Add redisplay method. Change signature of layout
12062         method.
12063         (struct Lisp_Image_Instance): add instantiator.
12064         (IMAGE_INSTANCE_INSTANTIATOR): new.
12065         (IMAGE_INSTANCE_SUBWINDOW_FACE): new.
12066         (XIMAGE_INSTANCE_INSTANTIATOR): new.
12067         (XIMAGE_INSTANCE_SUBWINDOW_FACE): new.
12068
12069         * glyphs.c:
12070         (find_instantiator_differences): new function.
12071         (Fset_instantiator_property): new convenience function.
12072         (check_image_instance_structure): strictly check for vector
12073         instantiators.
12074         (normalize_image_instantiator): make non-static.
12075         (instantiate_image_instantiator): pass on dest_mask and use new
12076         signatures for image_instance_layout and friends.
12077         (mark_image_instance): mark the instantiator. Mark the subwindow
12078         face not the widget face.
12079         (image_instance_equal): add instantiator.
12080         (image_instance_hash): ditto.
12081         (allocate_image_instance): ditto.
12082         (Fset_image_instance_property): removed.
12083         (Fimage_instance_file_name): ditto.
12084         (Fcolorize_image_instance): ditto.
12085         (image_instance_layout): add offsets to be set.
12086         (update_image_instance): new function. update an image instance
12087         from its changed instantiator.
12088         (inherit_normalize): add dest_mask.
12089         (xbm_normalize): ditto.
12090         (xface_normalize): ditto.
12091         (xpm_normalize): ditto.
12092         (text_update): set_property -> update.
12093         (image_instantiate): use the glyph identity as a hash key, not the
12094         instantiator.
12095         (glyph_width): use new image_instance_layout signature.
12096         (glyph_ascent): ditto.
12097         (glyph_descent): ditto.
12098         (glyph_height): ditto.
12099         (glyph_query_geometry): ressurrect.
12100         (glyph_layout): ditto.
12101         (redisplay_subwindow): update -> redisplay.
12102         (syms_of_glyphs): add Fset_instantiator_property.
12103         (image_instantiator_format_create): set_property -> update.
12104
12105         * glyphs-x.c:
12106         (autodetect_normalize): add dest_maks to signature.
12107         (x_redisplay_subwindow): update -> redisplay.
12108         (x_redisplay_widget): ditto.
12109         (x_button_redisplay): ditto.
12110         (x_progress_gauge_redisplay): ditto.
12111         (x_tab_control_redisplay): ditto. Rewrite to cope with changed
12112         stacking order.
12113         (console_type_create_glyphs_x): update -> redisplay.
12114         (image_instantiator_format_create_glyphs_x): ditto.
12115
12116         * glyphs-widget.c:
12117         (check_valid_instantiator): disallow glyphs in the instantiator,
12118         they must now be vectors.
12119         (check_valid_instantiator_list): ditto.
12120         (glyph_instantiator_to_glyph): use internal symbol rather than
12121         intern.
12122         (widget_update): renamed from widget_set_property. Call cascaded
12123         update methods.
12124         (redisplay_widget): renamed from update_widget.
12125         (widget_layout): image_instance_layout now takes position as well
12126         as size.
12127         (widget_normalize): ditto.
12128         (widget_instantiate): ditto.
12129         (tab_control_query_geometry) ditto.:
12130         (tab_control_update): renamed from tab_control_set_property.
12131         (progress_gauge_update): set_property -> update.
12132         (layout_normalize): rewrite so that child instantiators are
12133         normalized also.
12134         (layout_update): new function. Create glyphs from the normalized
12135         children and cope with any other layout keywords. We do not
12136         instantiate children here that will be take care of by
12137         redisplay_output_layout.
12138         (layout_instantiate): call layout_update and not much else.
12139         (layout_post_instantiate): not sure whether this is needed
12140         anymore.
12141         (layout_query_geometry): query glyph geometry rather than
12142         image_instance geometry.
12143         (layout_layout): set offsets from pass in parameters. Use glyph
12144         geometry and layout functions rather than image instance ones.
12145         (native_layout_layout): ditto.
12146         (syms_of_glyphs_widget): add make-glyph and set-glyph-image.
12147         (image_instantiator_widget): set_property -> update.
12148         (image_instantiator_buttons): ditto.
12149         (image_instantiator_progress_guage): ditto.
12150         (image_instantiator_tab_control): ditto.
12151         (VALID_LAYOUT_KEYWORDS): instantiators must now be vectors.
12152         (image_instantiator_layout): add update method.
12153
12154         * glyphs-msw.c (bmp_normalize):
12155         (mswindows_resource_normalize): add dest_mask so that it can be
12156         proprogated by layout_normalize.
12157         (begin_defer_window_pos): make optional because it may not be the
12158         right thing to do and it introduces differences with X.
12159         (mswindows_unmap_subwindow): ditto.
12160         (mswindows_map_subwindow): ditto.
12161         (mswindows_redisplay_subwindow): renamed from
12162         mswindows_update_subwindow.
12163         (mswindows_redisplay_widget): ditto.
12164         (mswindows_button_redisplay): renamed from
12165         mswindows_button_update. Update is now what the instantiation
12166         function does for a changed instantiator.
12167         (mswindows_progress_gauge_instantiate): set the progress value
12168         here if appropriate.
12169         (mswindows_tab_control_redisplay): cope with re-ordering of the
12170         members of the tab widget by simply selecting the new top
12171         widget. This makes things appear ok if you click on a tab.
12172         (mswindows_combo_box_instantiate): image_instance_layout now takes
12173         position as well as size.
12174         (mswindows_progress_gauge_redisplay): renamed from
12175         mswindows_progress_gauge_update.
12176         (console_type_create_glyphs_mswindows): fix update -> redisplay.
12177         (image_instantiator_format_create_glyphs_mswindows): ditto.
12178
12179         * glyphs-eimage.c (jpeg_normalize):
12180         (gif_normalize):
12181         (png_normalize):
12182         (tiff_normalize): add dest_mask so that it can be proprogated by
12183         layout_normalize.
12184
12185         * elhash.c:
12186         (print_hash_table):
12187         (hash_table_weakness_validate):
12188         (decode_hash_table_weakness):
12189         (Fhash_table_weakness):
12190         (Fhash_table_type):
12191         (syms_of_elhash): use Ben's naming scheme for hashtable types..
12192
12193         * console.h (struct console_methods): move update_* to
12194         redisplay_*.
12195
12196 2000-07-20  Ben Wing  <ben@xemacs.org>
12197
12198         * *.[ch] (XSETOBJ): remove unused middle argument.
12199         lisp-disunion.h: correct wrap_object() to one argument.
12200
12201 2000-07-15  Ben Wing  <ben@xemacs.org>
12202
12203         * s/cygwin32.h:
12204         * s/cygwin32.h (CYGWIN_CONV_PATH):
12205         Add missing logb prototype for v1.1.
12206         Use post-b20 names and alias to pre-b20 names when pre-b20.
12207
12208         * s/windowsnt.h: [5].
12209
12210 2000-07-15  Ben Wing  <ben@xemacs.org>
12211
12212         * Makefile.in.in (x_objs):
12213         * Makefile.in.in (sheap_objs):
12214         * Makefile.in.in (objs):
12215         added win32.o, cosmetic cleanups.
12216
12217         * alloc.c (Fmake_byte_code):
12218         [[[1]]]: Changes for new LIST_LOOP, EXTERNAL_LIST_LOOP,
12219         etc. macros which declare their own args now.
12220
12221         * alloc.c (syms_of_alloc):
12222         [[[2]]]: Use DEFSYMBOL, DEFKEYWORD, DEFERROR and friends.
12223
12224         * buffer.c:
12225         Moved buffer-dedicated-frame, set-buffer-dedicated-frame into lisp.
12226
12227         * buffer.c (Fget_file_buffer):
12228         Fixed GCPRO problem.
12229
12230         * buffer.c (get_truename_buffer):
12231         Fixed comment about GC checking.
12232
12233         * buffer.c (syms_of_buffer):
12234         Undeclared those dedicated frame funs.
12235         [2].
12236
12237         * buffer.h:
12238         Define convenience macros for internal/external conversions.
12239         [[[3]]]: Define codesys aliases Qcommand_argument_encoding
12240         and Qenvironment_variable_encoding for cleaner code.
12241
12242         * bufslots.h:
12243         Remove dedicated-frame; in lisp.
12244
12245         * bytecode.c (funcall_compiled_function):
12246         [1].
12247
12248         * bytecode.c (syms_of_bytecode):
12249         [2].
12250
12251         * console-msw.c:
12252         * console-msw.c (mswindows_show_console): Rewrote.
12253
12254         * console-msw.c (Fmswindows_debugging_output): New.
12255         Sends to OutputDebugString (special MSWin debugger interface).
12256
12257         * console-msw.c (Fmswindows_message_box):
12258         Fixed stupid bugs so it works when called from kill-emacs.
12259
12260         * console-msw.c (syms_of_console_mswindows):
12261         Declare Fmswindows_debugging_output.
12262
12263         * console-msw.h:
12264         New MSWin prototypes.
12265
12266         * console-msw.h (struct mswindows_frame):
12267         New entry last-click-mods for improved button-modifier support.
12268
12269         * console-msw.h (FRAME_MSWINDOWS_POPUP):
12270         New struct entry `popup' with corresponding accessor.
12271
12272         * console-x.c:
12273         * console-x.c (split_up_display_spec):
12274         * console-x.c (get_display_arg_connection):
12275         * console-x.c (x_semi_canonicalize_console_connection):
12276         * console-x.c (x_canonicalize_device_connection):
12277         [[[6]]]: Change char to more specific type.
12278         [[[8]]]: Make use of abstracting codesys aliases defined in [3], [4];
12279
12280         * console-x.c (x_semi_canonicalize_console_connection):
12281         * console-x.c (x_canonicalize_device_connection):
12282         [[[9]]]: Fix up error signalling to use new structured error system.
12283
12284         * console-x.h:
12285         [[[4]]]: Define codesys aliases:
12286         Qlwlib_encoding, Qx_atom_name_encoding, Qx_font_name_encoding,
12287         Qx_color_name_encoding, Qx_display_name_encoding.
12288
12289         * console.h (struct console_methods):
12290         New method make_dialog_box_internal supersedes older
12291         popup_dialog_box method.
12292
12293         * data.c:
12294         Define many new errors, part of new structured errors.
12295
12296         * data.c (init_errors_once_early):
12297         * data.c (syms_of_data):
12298         [2].
12299
12300         * device-msw.c (mswindows_init_device):
12301         [[[5]]]: Cleanup to support NT 3.51.
12302
12303         * device-msw.c (decode_devmode): Cleanup.
12304
12305         * device-msw.c (mswindows_handle_print_setup_dialog_box):
12306         * device-msw.c (mswindows_handle_print_dialog_box):
12307         * device-msw.c (mswindows_handle_page_setup_dialog_box):
12308         * device-msw.c (syms_of_device_mswindows):
12309         Delete the dialog box primitives recently introduced by Kirill and
12310         instead interface to general dialog box interface.
12311
12312         * device-x.c:
12313         * device-x.c (compute_x_app_name):
12314         * device-x.c (x_init_device):
12315         * device-x.c (Fx_valid_keysym_name_p):
12316         * device-x.c (Fx_set_font_path):
12317         [6].
12318         [7].
12319
12320         * device.h (wrap_device): New.
12321         First of its kind; meant to replace XSETDEVICE.
12322
12323         * dialog-msw.c: Many file-dialog symbols.
12324
12325         * dialog-msw.c (mswindows_register_popup_frame): New.
12326         * dialog-msw.c (mswindows_is_dialog_msg): New.
12327         For supporting kbd traversal in dialog boxes.
12328
12329         * dialog-msw.c (dialog_proc):
12330         Support hitting ESC in dialogs.
12331
12332         * dialog-msw.c (struct):
12333         Common dialog box errors.
12334
12335         * dialog-msw.c (handle_file_dialog_box): New.
12336         Add file dialog code.
12337
12338         * dialog-msw.c (handle_question_dialog_box):
12339         Redo existing code to support new question dialog syntax.
12340
12341         * dialog-msw.c (console_type_create_dialog_mswindows):
12342         We support new dialog console method.
12343
12344         * dialog-msw.c (syms_of_dialog_mswindows):
12345         * dialog-msw.c (vars_of_dialog_mswindows):
12346         New file dialog symbols, vars.
12347
12348         * dialog-x.c:
12349         * dialog-x.c (maybe_run_dbox_text_callback):
12350         * dialog-x.c (dbox_descriptor_to_widget_value):
12351         * dialog-x.c (x_make_dialog_box_internal):
12352         * dialog-x.c (console_type_create_dialog_x):
12353         Mule-ize entire file.
12354         Redo to support question dialog syntax.
12355         [6].
12356
12357         * dialog.c:
12358         * dialog.c (Fmake_dialog_box_internal):
12359         * dialog.c (syms_of_dialog):
12360         Kill old popup-dialog-box, replace with new primitive.
12361         Just call device method or signal error.
12362
12363         * eldap.c (Fldap_open):
12364         * eldap.c (Fldap_search_basic):
12365         * eldap.c (Fldap_add):
12366         * eldap.c (Fldap_modify):
12367         [1].
12368         [7].
12369
12370         * emacs.c:
12371         * emacs.c (make_arg_list_1):
12372         * emacs.c (make_arg_list):
12373         Mule-ize call to dll_init().
12374         [6].
12375         [8].
12376
12377         * emacs.c (make_argc_argv):
12378         * emacs.c (free_argc_argv):
12379         * emacs.c (init_cmdargs):
12380         * emacs.c (main_1):
12381         * emacs.c (Fkill_emacs):
12382         * emacs.c (Fdump_emacs):
12383         Update comments about what can be used in syms_* etc.
12384         Call init_win32() when necessary.
12385         Fix up MS Win dialog box in kill-buffer to actually work right.
12386         [7].
12387
12388         * eval.c:
12389         * eval.c (For):
12390         * eval.c (Fand):
12391         * eval.c (Fprogn):
12392         * eval.c (Fprog1):
12393         * eval.c (Fprog2):
12394         * eval.c (FletX):
12395         * eval.c (Flet):
12396         * eval.c (condition_case_3):
12397         * eval.c (Feval):
12398         * eval.c (function_argcount):
12399         * eval.c (funcall_lambda):
12400         [1].
12401
12402         * eval.c (type_error): New.
12403         * eval.c (maybe_type_error): New.
12404         * eval.c (continuable_type_error): New.
12405         * eval.c (maybe_continuable_type_error): New.
12406         * eval.c (type_error_with_frob): New.
12407         * eval.c (maybe_type_error_with_frob): New.
12408         * eval.c (continuable_type_error_with_frob): New.
12409         * eval.c (maybe_continuable_type_error_with_frob): New.
12410         New functions for use with structured errors.
12411
12412         * event-Xt.c:
12413         * event-Xt.c (x_event_to_emacs_event):
12414         Buttons are now modifiers too.
12415
12416         * event-Xt.c (emacs_Xt_current_event_timestamp):
12417         Implement new event method.
12418         * event-Xt.c (reinit_vars_of_event_Xt): Set it.
12419
12420         * event-msw.c:
12421         * event-msw.c (ntpipe_shove_writer): [5].
12422         * event-msw.c (mswindows_enqueue_mouse_button_event):
12423         * event-msw.c (mswindows_drain_windows_queue):
12424         * event-msw.c (mswindows_wnd_proc): [7].
12425         * event-msw.c (mswindows_current_layout_has_AltGr): [5].
12426         * event-msw.c (mswindows_modifier_state):
12427         Throughout: support new button modifiers.
12428
12429         * event-msw.c (emacs_mswindows_current_event_timestamp):
12430         Implement new event method.
12431         * event-msw.c (reinit_vars_of_event_mswindows): Set it.
12432
12433         * event-stream.c:
12434         * event-stream.c (event_stream_current_event_timestamp): New.
12435         * event-stream.c (maybe_kbd_translate): New functionality.
12436         * event-stream.c (vars_of_event_stream):
12437         Document new kbd-translate-table functionality.
12438
12439         * event-stream.c (Fcurrent_event_timestamp): New.
12440         New primitive for use in fabricated events.
12441         * event-stream.c (syms_of_event_stream): [2]. Declare new primitive.
12442
12443         * events-mod.h (XEMACS_MOD_BUTTON1): new button modifiers.
12444
12445         * events.c:
12446         * events.c (Fmake_event):
12447         * events.c (WRONG_EVENT_TYPE_FOR_PROPERTY):
12448         [1].
12449         [9].
12450
12451         * events.c (format_event_object): fix gcc warnings.
12452
12453         * events.c (Fevent_timestamp): Document new primitives.
12454
12455         * events.c (TIMESTAMP_HALFSPACE): New.
12456
12457         * events.c (Fevent_timestamp_lessp): New.  New primitive for
12458         comparing timestamps correctly (half-space algorithm).
12459
12460         * events.c (Fevent_modifier_bits): Doc fix.
12461
12462         * events.c (Fevent_modifiers): Major doc addition.
12463         * events.c (event_x_y_pixel_internal): Typo fix.
12464         * events.c (syms_of_events): Declare new primitives.
12465
12466         * events.h:
12467         Update long comment for button modifiers, timestamps.
12468
12469         * events.h (struct event_stream):
12470         New current_event_timestamp method.
12471
12472         * extents.c:
12473         * extents.c (extent_in_region_p):
12474         * extents.c (decode_extent):
12475         * extents.c (Fset_extent_parent):
12476         * extents.c (decode_map_extents_flags):
12477         Fix gcc warnings.
12478         [9].
12479
12480         * extents.c (struct extent_at_arg):
12481         * extents.c (decode_extent_at_flag):
12482         * extents.c (extent_at_mapper):
12483         * extents.c (extent_at_bytind):
12484         * extents.c (Fextent_at): Adapt to new lower-level interface. [9].
12485         * extents.c (Fextents_at): New primitive. [9].
12486         * extents.c (symbol_to_glyph_layout): [9].
12487         Support new primitive `extents-at'.
12488
12489
12490         * extents.c (get_text_property_bytind):
12491         extent_at_bytind has another arg.
12492         [9].
12493
12494         * extents.c (syms_of_extents): New primitive.
12495
12496         * file-coding.c (Fmake_coding_system): [1].
12497         * file-coding.c (subsidiary_coding_system): fix gcc warning
12498         * file-coding.c (syms_of_file_coding): [2].
12499
12500         * fileio.c (Fexpand_file_name):
12501         * fileio.c (Fsysnetunam):
12502         * fileio.c (Ffile_exists_p):
12503         * fileio.c (Ffile_executable_p):
12504         * fileio.c (Fverify_visited_file_modtime):
12505         Clean up GCPROing.
12506
12507         * fileio.c (syms_of_fileio): [2].
12508
12509         * filelock.c (lock_file_1):
12510         * filelock.c (current_lock_owner):
12511         * filelock.c (lock_if_free):
12512         * filelock.c (lock_file):
12513         * filelock.c (unlock_file):
12514         Clean up GCPROing.
12515
12516         * fns.c (concat): Fix gcc warning.
12517
12518         * fns.c (Fmember):
12519         * fns.c (Fold_member):
12520         * fns.c (Fmemq):
12521         * fns.c (Fold_memq):
12522         * fns.c (memq_no_quit):
12523         * fns.c (Fassoc):
12524         * fns.c (Fold_assoc):
12525         * fns.c (Fassq):
12526         * fns.c (Fold_assq):
12527         * fns.c (assq_no_quit):
12528         * fns.c (Frassoc):
12529         * fns.c (Fold_rassoc):
12530         * fns.c (Frassq):
12531         * fns.c (Fold_rassq):
12532         * fns.c (rassq_no_quit):
12533         * fns.c (Fdelete):
12534         * fns.c (Fold_delete):
12535         * fns.c (Fdelq):
12536         * fns.c (Fold_delq):
12537         * fns.c (delq_no_quit):
12538         * fns.c (Fremassoc):
12539         * fns.c (Fremassq):
12540         * fns.c (remassq_no_quit):
12541         * fns.c (Fremrassoc):
12542         * fns.c (Fremrassq):
12543         * fns.c (remrassq_no_quit):
12544         * fns.c (Freverse):
12545         * fns.c (mapcar1):
12546         [1].
12547
12548         * frame-msw.c (mswindows_init_frame_1):
12549         * frame-msw.c (mswindows_delete_frame):
12550         Register popups with dialog code so keyboard traversing works.
12551
12552         * frame-tty.c (tty_raise_frame_no_select): [1].
12553
12554         * frame-x.c:
12555         * frame-x.c (x_set_frame_text_value):
12556         * frame-x.c (x_set_frame_properties):
12557         * frame-x.c (x_create_widgets):
12558         [7].
12559
12560         * frame.c:
12561         * frame.c (Fmouse_pixel_position): Minor doc fixes.
12562
12563         * frame.h (wrap_frame): New.
12564         Macro like wrap_device.
12565
12566         * general.c:
12567         * general.c (SYMBOL):
12568         * general.c (syms_of_general):
12569         Major reorg.  This is now just a wrapper and symbols themselves
12570         are listed in general-slots.h.
12571
12572         * glyphs-eimage.c (tiff_instantiate): Need cast to fix warning.
12573         * glyphs-msw.c (mswindows_resource_instantiate): [5].
12574
12575         * glyphs-msw.c (mswindows_native_layout_instantiate):
12576         Add DS_CONTROL so keyboard traversal will work.
12577
12578         * glyphs-widget.c:
12579         * glyphs-widget.c (syms_of_glyphs_widget):
12580         Move some symbols to general-slots.h.
12581
12582         * glyphs-x.c:
12583         * glyphs-x.c (xbm_instantiate_1):
12584         * glyphs-x.c (x_xbm_instantiate):
12585         * glyphs-x.c (x_xface_instantiate):
12586         * glyphs-x.c (autodetect_instantiate):
12587         * glyphs-x.c (cursor_font_instantiate):
12588         * glyphs-x.c (x_update_widget):
12589         * glyphs-x.c (x_widget_instantiate):
12590         * glyphs.c (bitmap_to_lisp_data):
12591         * glyphs.c (pixmap_to_lisp_data):
12592         [7].
12593
12594         * glyphs.c (syms_of_glyphs):
12595         [2].
12596
12597         * gui-x.c:
12598         * gui-x.c (print_widget_value):
12599         * gui-x.c (menu_separator_style_and_to_external):
12600         * gui-x.c (add_accel_and_to_external):
12601         * gui-x.c (button_item_to_widget_value):
12602         * gui-x.c (gui_items_to_widget_values_1):
12603         * gui-x.c (gui_items_to_widget_values):
12604         * gui-x.c (syms_of_gui_x):
12605         * gui-x.c (vars_of_gui_x):
12606         Mule-ize entire file.  Move menu-no-selection-hook to gui.c.
12607         [9].
12608
12609         * gui-x.h:
12610         Muleize, prototype changes matching gui-x.c.
12611
12612         * gui.c:
12613         * gui.c (separator_string_p):
12614         * gui.c (gui_item_add_keyval_pair):
12615         * gui.c (make_gui_item_from_keywords_internal):
12616         * gui.c (signal_too_long_error):
12617         * gui.c (parse_gui_item_tree_item):
12618         * gui.c (syms_of_gui):
12619         * gui.c (vars_of_gui):
12620         * gui.h:
12621         menu-no-selection-hook moved here (used by MSWin).
12622         Move some symbols to general-slots.h.
12623         [6].
12624         [9].
12625
12626         * insdel.c (get_buffer_pos_char):
12627         * insdel.c (get_buffer_range_char):
12628         Add GC comments.
12629
12630         * keymap.c (keymap_lookup_directly):
12631         * keymap.c (keymap_store):
12632         * keymap.c (ensure_meta_prefix_char_keymapp):
12633         * keymap.c (describe_map):
12634         * keymap.h:
12635         Support new button modifiers.
12636
12637         * lisp-disunion.h (wrap_object):
12638         * lisp-disunion.h (XSETOBJ):
12639         Rename make_obj to wrap_object.
12640
12641         * lisp-union.h:
12642         * lisp-union.h (make_int):
12643         * lisp-union.h (make_char):
12644         Support wrap_object.
12645
12646         * lisp.h:
12647         * lisp.h (LIST_LOOP):
12648         * lisp.h (EXTERNAL_LIST_LOOP):
12649         * lisp.h (LIST_LOOP_2):
12650         * lisp.h (EXTERNAL_LIST_LOOP_1):
12651         * lisp.h (EXTERNAL_LIST_LOOP_2):
12652         * lisp.h (EXTERNAL_LIST_LOOP_3):
12653         * lisp.h (EXTERNAL_LIST_LOOP_4_NO_DECLARE):
12654         * lisp.h (PRIVATE_EXTERNAL_LIST_LOOP_6):
12655         * lisp.h (GET_EXTERNAL_LIST_LENGTH):
12656         * lisp.h (EXTERNAL_ALIST_LOOP_5):
12657         * lisp.h (EXTERNAL_ALIST_LOOP_6):
12658         * lisp.h (EXTERNAL_ALIST_LOOP_6_NO_DECLARE):
12659         * lisp.h (EXTERNAL_PROPERTY_LIST_LOOP_5_NO_DECLARE):
12660         * lisp.h (EXTERNAL_PROPERTY_LIST_LOOP_7):
12661         * lisp.h (struct Lisp_Symbol):
12662         * lisp.h (maybe_continuable_error_with_frob):
12663         Fix up section comments.
12664         Add new types for char to indicate usage.
12665         Delete symbols auto-generated from general-slots.h.
12666         Add prototypes for structured error functions.
12667         Add long comments describing looping macros and change interface
12668         so that lvalues are automatically declared.
12669         Add NO_DECLARE macro in case callers want to declare lvalues
12670         themselves.
12671
12672         * lread.c (read_syntax_error):
12673         * lread.c (continuable_read_syntax_error):
12674         * lread.c (read_structure):
12675         * lread.c (sequence_reader):
12676         * lread.c (read_list_conser):
12677         * lread.c (read_compiled_function):
12678         Rename syntax_error and continuable_syntax_error to avoid clash
12679         with same-named structured error functions.
12680
12681         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
12682         * menubar-msw.c (populate_menu_add_item):
12683         * menubar-msw.c (populate_or_checksum_helper):
12684         [5].
12685         [9].
12686
12687         * menubar-x.c:
12688         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
12689         Mule-ize whole file.
12690
12691         * menubar.c (Fnormalize_menu_item_name): Add optimization.
12692
12693         * mule-charset.c (Fmake_charset):
12694         * mule-wnnfns.c (Fwnn_set_param):
12695         [1].
12696
12697         * ntproc.c (create_child):
12698         * ntproc.c (Fwin32_set_current_locale):
12699         Add comments portending doom.
12700
12701         * objects-msw.c:
12702         * objects-msw.c (old_font_enum_callback_2):
12703         * objects-msw.c (font_enum_callback_1):
12704         * objects-msw.c (mswindows_enumerate_fonts):
12705         [5].
12706
12707         * objects-x.c:
12708         * objects-x.c (allocate_nearest_color):
12709         * objects-x.c (x_parse_nearest_color):
12710         * objects-x.c (x_initialize_color_instance):
12711         * objects-x.c (x_print_color_instance):
12712         * objects-x.c (x_finalize_color_instance):
12713         * objects-x.c (x_valid_color_name_p):
12714         * objects-x.c (x_initialize_font_instance):
12715         * objects-x.c (x_print_font_instance):
12716         * objects-x.c (valid_x_font_name_p):
12717         * objects-x.c (truename_via_FONT_prop):
12718         * objects-x.c (truename_via_random_props):
12719         * objects-x.c (truename_via_XListFonts):
12720         * objects-x.c (x_font_truename):
12721         * objects-x.c (x_font_instance_truename):
12722         * objects-x.c (x_font_instance_properties):
12723         * objects-x.c (x_list_fonts):
12724         * objects-x.c (x_find_charset_font):
12725         Mule-ize entire file.
12726         [7].
12727
12728         * objects-x.h:
12729         Mule-verify.
12730
12731         * print.c:
12732         * print.c (std_handle_out_external):
12733         * print.c (debug_print_no_newline):
12734         * print.c (syms_of_print):
12735         Output to all debugger kinds in debug-print.
12736         Fix console-output code under MSWin to actually work.
12737
12738         * process-nt.c (send_signal):
12739         * process-nt.c (nt_create_process):
12740         Use newer Unicode macros.
12741
12742         * process-unix.c (unix_create_process):
12743         * process-unix.c (unix_canonicalize_host_name):
12744         * process-unix.c (unix_open_network_stream):
12745         [7].
12746
12747         * scrollbar-x.c:
12748         Mule-verify.
12749
12750         * search.c (syms_of_search):
12751         [2].
12752
12753         * select-msw.c (mswindows_destroy_selection):
12754         Use LIST_LOOP_2.
12755
12756         * select-x.c (symbol_to_x_atom):
12757         [7].
12758
12759         * select.c (syms_of_select):
12760         [2].
12761
12762         * sound.c (Fplay_sound_file):
12763         [7].
12764
12765         * specifier.c:
12766         * specifier.c (decode_specifier_type):
12767         * specifier.c (Fvalid_specifier_locale_type_p):
12768         * specifier.c (check_valid_locale_or_locale_type):
12769         * specifier.c (decode_locale):
12770         * specifier.c (decode_locale_type):
12771         * specifier.c (decode_locale_list):
12772         * specifier.c (check_valid_domain):
12773         * specifier.c (decode_specifier_tag_set):
12774         * specifier.c (Fcanonicalize_tag_set):
12775         * specifier.c (Fdefine_specifier_tag):
12776         * specifier.c (Fspecifier_tag_predicate):
12777         * specifier.c (check_valid_inst_list):
12778         * specifier.c (check_valid_spec_list):
12779         * specifier.c (decode_how_to_add_specification):
12780         * specifier.c (check_modifiable_specifier):
12781         * specifier.c (specifier_add_spec):
12782         * specifier.c (boolean_validate):
12783         * specifier.c (display_table_validate):
12784         [9].
12785
12786         * specifier.c (syms_of_specifier):
12787         Move some symbols to general-slots.h.
12788         [2].
12789
12790         * symbols.c:
12791         * symbols.c (Fmapatoms):
12792         * symbols.c (Fapropos_internal):
12793         Add GCPROs.
12794
12795         * symbols.c (set_default_buffer_slot_variable):
12796         * symbols.c (set_default_console_slot_variable):
12797         [1].
12798
12799         * symbols.c (defsymbol_massage_name_1):
12800         * symbols.c (defkeyword_massage_name):
12801         * symbols.c (deferror_1):
12802         * symbols.c (deferror):
12803         * symbols.c (deferror_massage_name_and_message):
12804         * symeval.h:
12805         * symeval.h (DEFSYMBOL):
12806         Support DEFSYMBOL*, DEFKEYWORD, DEFERROR
12807
12808         * symbols.c (syms_of_symbols):
12809         [2].
12810
12811         * symsinit.h:
12812         * symsinit.h (init_win32): New.
12813         Also new is syms_of_dialog_mswindows.
12814
12815         * syswindows.h:
12816         Add new Unicode macros, missing Cygwin wide-char functions,
12817         convenience conversion macros for Qmswindows_tstr, macros for
12818         encapsulating required MSWin <-> Cygwin filename conversions,
12819         prototype for dynamically-extracted (not in NT 3.51) functions.
12820
12821         * toolbar-x.c:
12822         Mule-verify.
12823
12824         * tooltalk.c (Fadd_tooltalk_message_arg):
12825         * tooltalk.c (Fadd_tooltalk_pattern_attribute):
12826         * tooltalk.c (Fadd_tooltalk_pattern_arg):
12827         [7].
12828
12829         * tooltalk.c (syms_of_tooltalk):
12830         [2].
12831
12832         * unexnt.c:
12833         * unexnt.c (unexec):
12834         Fix up headers, declaration of unexec() to be more standard.
12835
12836 2000-07-20  Martin Buchholz  <martin@xemacs.org>
12837
12838         * offix.h: Revert change to guard macros - they're used in offix.c!
12839
12840 2000-07-18  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12841
12842         * lisp.h: Defsubred Fdelete.
12843
12844         * console-msw.h:  (msprinter_default_printer): Added.
12845
12846         * console-msw.c (msprinter_canonicalize_console_connection):
12847         (msprinter_canonicalize_device_connection): Added.
12848
12849         * device-msw.c (msprinter_default_printer):
12850         (Fmswingows_get_default_printer):
12851         (signal_enum_priner_error):
12852         (Fmswingows_printer_list): Added.
12853
12854 2000-07-19  Martin Buchholz <martin@xemacs.org>
12855
12856         * XEmacs 21.2.35 is released.
12857
12858 2000-07-19  Martin Buchholz  <martin@xemacs.org>
12859
12860         * select-x.c (x_handle_selection_request):
12861         Text selected in xemacs and pasted into xterm failed to appear.
12862         Spelling fixes and cosmetic changes.
12863
12864 2000-07-18  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12865
12866         * event-msw.c (mswindows_drain_windows_queue): Correctly check for
12867         XEmacs frame (fix for doubling chars in dialog boxes).
12868
12869 2000-07-17 Alastair J. Houghton <ajhoughton@lineone.net>
12870
12871         * select.c (select_convert_in, select_convert_out):
12872         Don't call intern() every time.
12873
12874         * select.c (Qselect_convert_in, Qselect_convert_out): New.
12875         * select.c (vars_of_select): Initialise them.
12876
12877 2000-07-18 Alastair J. Houghton <ajhoughton@lineone.net>
12878
12879         * select.c (selection-coercible-types): New.
12880
12881         * select.c (own-selection-internal):
12882         * select.c (get-selection-internal):
12883         MULE bug fix - these should default to COMPOUND_TEXT and not
12884         STRING for MULE. I think.
12885
12886         * select.c (select_convert_out): Use selection-coercible-types
12887         to find types that we can attempt to perform coercions on.
12888
12889 2000-07-18  Martin Buchholz  <martin@xemacs.org>
12890
12891         * mule-wnnfns.c:
12892         * mule-canna.c:
12893         Add coding: cookie to identify encoding.
12894
12895         * mule-canna.c (CANNA_mode_keys): make static.
12896         Use proper prototypes, even for functions of no arguments.
12897         Remove external prototype for Fding().
12898
12899         * symsinit.h: Add missing prototype for reinit_vars_of_mule_wnn.
12900
12901         * select.c (syms_of_select): Add missing DEFSUBR.
12902
12903 2000-07-18 Alastair J. Houghton <ajhoughton@lineone.net>
12904
12905         * select.c (get_selection_internal, own_selection_internal):
12906         Make the type default to STRING, rather than placing a nil type
12907         into Vselection_alist.
12908
12909 2000-07-17 Alastair J. Houghton <ajhoughton@lineone.net>
12910
12911         * gpmevent.c (tty_selection_exists_p):
12912         * gpmevent.c (tty_own_selection):
12913         Updated parameter lists.
12914
12915 2000-07-15 Alastair J. Houghton <ajhoughton@lineone.net>
12916
12917         * select.h (selection-alist): Removed declaration.
12918
12919         * select.h (get_local_selection):
12920         * select.c (get_local_selection):
12921         Made static.
12922
12923         * select.h (convert_selection): Removed declaration.
12924         * select.c (convert_selection): Removed.
12925         This function belongs in Lisp.
12926
12927         * select.h (select_convert_in): Declare.
12928         * select.h (select_convert_out): Declare.
12929         * select.c (select_convert_in): New.
12930         * select.c (select_convert_out): New.
12931         New conversion functions for other files to call.
12932
12933         * select.h (select_notify_buffer_kill): Declare.
12934         * select.c (select_notify_buffer_kill): New.
12935         New functions that get called from kill-buffer.
12936
12937         * buffer.c (kill-buffer): Call select_notify_buffer_kill, rather than
12938         X-specific lisp code.
12939
12940         * select.h: Declare some of the lisp-visible functions for
12941         external use.
12942
12943         * select.c (clean_local_selection_data): Removed. This was
12944         a disgusting function, and previously should have been in
12945         select-x.c in any case. The functionality is now provided
12946         in select-convert-from-integer (select.el).
12947
12948         * select.c (available-selection-types): Fixed stupidity where
12949         INTEGER and ATOM got added twice. Also add STRING when we see an
12950         extent.
12951
12952         * select.c (get-selection-internal): Removed symbol stripping. No
12953         longer causes conversion when data comes from the internal cache.
12954
12955         * select.c (syms_of_select): Added new functions.
12956
12957         * select-x.c (motif_clipboard_cb): Use select_convert_out. Rewrote
12958         error checking - previously this called abort!
12959
12960         * select-x.c (x_own_selection): Changed comment.
12961
12962         * select-x.c (x_handle_selection_request): Use select_convert_out.
12963         Don't mess with selection-alist; it's an internal variable of select.c.
12964
12965         * select-x.c (x_get_foreign_selection): Use select_convert_in.
12966
12967         * select-x.c (x_handle_selection_clear): Use get-selection-timestamp,
12968         rather than messing with selection-alist.
12969
12970         * select-msw.c (mswindows_get_foreign_selection):
12971         Use TO_INTERNAL_FORMAT rather than hacking.
12972
12973 2000-07-14  Martin Buchholz  <martin@xemacs.org>
12974
12975         * process-unix.c (unix_open_multicast_group):
12976         (unix_open_multicast_group): Remove useless casts.
12977
12978 2000-07-13  Martin Buchholz  <martin@xemacs.org>
12979
12980         * sound.c (Fplay_sound): Fix `unused variable' warning.
12981
12982         * emacs.c (main): Use correct type for _environ on SCO5.
12983
12984 2000-07-12 Alastair J. Houghton <ajhoughton@lineone.net>
12985
12986         * console.h (own_selection_method):
12987         * console.h (selection_exists_p_method):
12988         * console.h (available_selection_types_method): New.
12989         * console.h (register_selection_data_type_method): New.
12990         * console.h (selection_data_type_name): New.
12991
12992         * console-msw.h (mswindows_destroy_selection): Declare it.  New
12993         function & alist to track GlobalAlloc()'d handles that need
12994         releasing when the clipboard data gets replaced or emptied.
12995
12996         * event-msw.c (mswindows_wnd_proc): Call it.
12997
12998         * lisp.h, general.c (Qappend): New symbol representing a
12999         `how-to-add' mode.
13000
13001         * select.c (own-selection-internal):
13002         * select.c (selection-exists-p):
13003         * select.c (available-selection-types): New.
13004         * select.c (register-selection-data-type): New.
13005         * select.c (selection-data-type-name): New.  New functions to deal
13006         with device-specific selection data formats.
13007         * select.c (selection-converter-out-alist): Renamed.
13008         * select.c (selection-converter-in-alist): New.
13009         * select.c (selection-appender-alist): New.  Added new alists.
13010         * select.c (syms_of_select, vars_of_select): Added new symbols &
13011         variables.
13012         * select.c (get_local_selection): Split.
13013         * select.c: Removed spurious type checking - selections may now be
13014         of any type, not just strings.
13015         * select.c (own-selection-internal):
13016
13017         * select.h, select.c (convert_selection): New. Created
13018         convert_selection() function based on get_local_selection().
13019         * select.h, select.c (QCF_*): New symbols representing mswindows
13020         clipboard formats.
13021         * select.h, select.c (Qreplace_all, Qreplace_existing): New
13022         symbols representing `how-to-add' modes.
13023
13024         * select-msw.c (x_sym_p): New.
13025         * select-msw.c (symbol_to_ms_cf): New.
13026         * select-msw.c (ms_cf_to_symbol): New. New functions to deal with
13027         symbols & clipboard formats. Can also handle string names.
13028         * select-msw.c (mswindows_own_selection):
13029         * select-msw.c (mswindows_selection_exists_p):
13030         Added `data-type' parameter. Use it.
13031         * select-msw.c (mswindows_available_selection_types): New.
13032         * select-msw.c (mswindows_register_selection_data_type): New.
13033         * select-msw.c (mswindows_selection_data_type_name): New.
13034         * select-msw.c (mswindows_own_selection):
13035         * select-msw.c (mswindows_get_foreign_selection):
13036         * select-msw.c (mswindows_selection_exists_p):  Rewrote.
13037         * select-msw.c (console_create_select_mswindows): Added new methods.
13038         * select-msw.c (mswindows_destroy_selection): New.
13039         * select-msw.c (Vhandle_alist): New list.
13040         * select-msw.c (mswindows_own_selection):
13041
13042         * select-x.c (x_own_selection):
13043         * select-x.c (x_selection_exists_p):
13044         * select-x.c: Added some comments about maybe using new
13045         functionality.
13046         * select-x.c (x_own_selection):
13047
13048         * specifier.c: Remove definition of Qappend (now in general.c)
13049         * specifier.c (syms_of_specifier): Remove Qappend.
13050
13051 2000-07-12  Martin Buchholz  <martin@xemacs.org>
13052
13053         * config.h.in: Add socklen_t.
13054
13055         * s/decosf4-0.h: No special compiler flags needed or desired.
13056         In particular, undefine _BSD for DEC OSF 4.0.
13057
13058 2000-07-07  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
13059
13060         * redisplay-msw.c (msprinter_frame_output_end): Added.
13061         (console_type_create_redisplay_mswindows): Referred the above.
13062
13063         * frame.c (setup_frame_without_minibuffer): Do not create a
13064         default minibuffer frame on a printer device.
13065
13066         * frame-msw.c (apply_dc_geometry): Added.
13067         (msprinter_start_page):
13068         (msprinter_init_frame_3):
13069         (msprinter_eject_page): Use it.
13070
13071         * console-msw.h (struct msprinter_frame): Added pix_left and top,
13072         and removed residual duplex and orientation properties.
13073
13074 2000-07-11  Martin Buchholz  <martin@xemacs.org>
13075
13076         * eval.c (function_argcount): Work around a DEC CC compiler bug.
13077
13078         * unexalpha.c: Remove system prototypes from C sources!
13079
13080 2000-07-09  Adrian Aichner  <aichner@ecf.teradyne.com>
13081
13082         * eval.c: Remove references to M-x edit-options in DEFUNs for
13083         `defvar' and `defconst'.
13084
13085 2000-07-09  Martin Buchholz  <martin@xemacs.org>
13086
13087         * config.h.in: Remove SMART_INCLUDE hackery.
13088
13089         PostgreSQL hacking:
13090         * config.h.in: Don't use SMART_INCLUDE.
13091
13092         * postgresql.h: Include libpq-fe.h here.  Fix typo.
13093         * inline.c: Simply #include "postgresql.h"
13094         * postgresql.c:
13095         - Don't use SMART_INCLUDE
13096         - Use simply "const".
13097         - Use standard doc string conventions.
13098         - Use correct type for result of PQstatus.
13099
13100 2000-07-09  Martin Buchholz  <martin@xemacs.org>
13101
13102         * glyphs-x.c (x_xface_instantiate): Fix C++ compilation warnings.
13103
13104         C++ compilation changes.
13105         * config.h.in (EXTERN_C): Define.
13106         * config.h.in (not): This is also a C++ keyword.
13107         * unexalpha.c (DEFAULT_ENTRY_ADDRESS): Enable C++ compilation.
13108         * cm.c: Use EXTERN_C.
13109         * redisplay-tty.c: Use EXTERN_C.
13110         * sysdep.c: Use EXTERN_C.  Remove Gould support.
13111
13112 2000-07-09  Martin Buchholz  <martin@xemacs.org>
13113
13114         * general.c: Remove duplicate definition for Qfunction.
13115
13116 2000-07-08  Ben Wing  <ben@xemacs.org>
13117
13118         * device-msw.c (msprinter_init_device):
13119         * device-msw.c (sync_printer_with_devmode):
13120         * device-msw.c (handle_devmode_changes):
13121         * device-msw.c (print_dialog_worker):
13122         * device-msw.c (Fmsprinter_apply_settings):
13123         * device-msw.c (hash_devmode):
13124         * device-msw.c (Fmsprinter_settings_despecialize):
13125         use Qmswindows_tstr, not Qctext.
13126
13127         * vm-limit.c (check_memory_limits):
13128         avoid infinite loop printing warning messages.
13129
13130 2000-07-05  Craig Lanning  <lanning@scra.org>
13131
13132         * Makefile.in.in: Add support for including the Windows resources
13133         when building with the cygwin and mingw targets.
13134
13135         * buffer.c: from Dan Holmsand, on Windows $PWD is most likely either
13136         not set or not correct.
13137         (directory_is_current_directory): Don't compile for WIN32_NATIVE.
13138         (init_initial_directory): Don't try to use $PWD on the
13139         WIN32_NATIVE target.
13140
13141         * s\cygwin32.h:
13142         [[Add -mwindows to eliminate console window.]] not required --ben
13143         (HAVE_NATIVE_SOUND): removed; now handled by configure.
13144         (MAIL_USE_POP): removed; now handled by configure.
13145
13146         * s\mingw32.h: [[Add -mwindows to eliminate console window.]] not in
13147         C_SWITCH_SYSTEM or it will affect lib-src progs. --ben
13148         (HAVE_NATIVE_SOUND): removed; now handled by configure.
13149         (MAIL_USE_POP): removed; now handled by configure.
13150         (ENCAPSULATE_STAT): from Dan Holmsand, added.
13151         (ENCAPSULATE_FSTAT): from Dan Holmsand, added.
13152         (DIRECTORY_SEP): from Dan Holmsand, use lisp variable instead of
13153         constant string.
13154         (HAVE_TIMEVAL): from Dan Holmsand, added; struct timeval is picked
13155         up from <winsock.h> via systime.h.
13156         (HAVE_GETPAGESIZE): from Dan Holmsand, added.
13157         (getpagesize): from Dan Holmsand, added.
13158         Added #endif which was left dangling by Ben's mega patch; added
13159         comment to help prevent this in the future.
13160
13161         * sysdll.c: added #include <windows.h> for WIN32_NATIVE case.
13162
13163 2000-07-05  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
13164
13165         * console-msw.h (struct mswindows_device): Removed unnecessary
13166         cached device geometry values.
13167         Added update_tick and an accessor macro.
13168         (Lisp_Devmode): Added lrecord declaration.
13169         (struct msprinter_device): Contain devmode as a Lisp object.
13170         Added mswindows_get_selected_frame_hwnd();
13171
13172         * console.h (struct console_methods): Indentation nitpicking.
13173
13174         * device-msw.c (mswindows_init_device): Do not initialize geometry
13175         cache. Initialize update tick.
13176         (mswindows_device_system_metrics): Ask the device for its geometry.
13177         (global_free_2_maybe):
13178         (devmode_to_hglobal):
13179         (handle_printer_changes):
13180         (ensure_not_printing):
13181         (print_dialog_worker):
13182         (Fmsprinter_print_setup_dialog):
13183         (Fmsprinter_print_dialog):
13184         (plist_get_margin):
13185         (plist_set_margin):
13186         (Fmsprinter_page_setup_dialog): Added functions.
13187         (sync_printer_with_devmode):
13188         (handle_devmode_changes):
13189         (Fmsprinter_get_settings):
13190         (Fmsprinter_select_settings):
13191         (Fmsprinter_apply_settings):
13192         (allocate_devmode):
13193         (Fmsprinter_settings_copy):
13194         (Fmsprinter_settings_despecialize):
13195         (print_devmode):
13196         (finalize_devmode):
13197         (equal_devmode):
13198         (hash_devmode): Added functions
13199         (syms_of_device_mswindows): Init devmode lrecord class.
13200
13201         * device.h: Added an exfun for find-device.
13202
13203         * event-msw.c (mswindows_wnd_proc): Do not update the cached
13204         geometry; although, recreate the device compatible DC.
13205
13206         * frame-msw.c (mswindows_get_selected_frame_hwnd): Added.
13207         (msprinter_init_frame_3):
13208         (msprinter_frame_property):
13209         (msprinter_internal_frame_property_p):
13210         (msprinter_frame_properties):
13211         (msprinter_set_frame_properties): Removed 'orientation and 'duplex
13212         print job properties (will move to device settings).
13213
13214         * lisp.h: Added symbols.
13215
13216         * general.c (syms_of_general): Declared them.
13217
13218         * hash.c (string_hash): Added.
13219
13220         * lrecord.h (lrecord_type): Added devmode lrecord type.
13221
13222 2000-07-02  Mike Sperber <mike@xemacs.org>
13223
13224         * s/freebsd.h (INTERRUPTIBLE_OPEN): open *is* interruptible on
13225         FreeBSD 4.0.
13226
13227 2000-06-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
13228
13229         * doprnt.c (emacs_doprnt_1): Fix problem with %0XXd for a negative
13230         integer.
13231
13232 2000-06-07  MORIOKA Tomohiko  <tomo@urania.m17n.org>
13233
13234         * data.c (Fstring_to_number): Don't recognize floating point if
13235         base is not 10.
13236
13237 2000-06-22  Martin Buchholz  <martin@xemacs.org>
13238
13239         * glyphs-widget.c (tab_control_query_geometry):
13240         (widget_query_geometry):
13241         (button_query_geometry):
13242         * glyphs.c (text_query_geometry):
13243         Enforce type correctness.
13244
13245 2000-06-18  Martin Buchholz  <martin@xemacs.org>
13246
13247         * s/decosf4-0.h (_etext): Use portable _etext instead of etext.
13248         * s/decosf4-0.h (_edata): Use portable _edata instead of edata.
13249
13250 2000-06-17  Martin Buchholz  <martin@xemacs.org>
13251
13252         * s/decosf4-0.h: Never #include "/usr/include/FOO.h" because this
13253         conflicts with gcc's fixincluded version of FOO.h.
13254
13255         * glyphs.h (image_instance_geometry): Remove trailing `,'
13256
13257 2000-06-08  Mike Alexander  <mta@arbortext.com>
13258
13259         (MAX_SHOVE_BUFFER_SIZE): Change to 512 to match stream buffer size
13260         (shove_thread): Don't write the same output twice
13261         (make_ntpipe_output_stream): Increase priority of shove thread
13262         (ntpipe_shove_writer): Call SwitchToThread to give shove thread a
13263         chance to run
13264         (ntpipe_shove_closer): Don't delete the pipe until we're done with
13265         it.
13266
13267 2000-06-12  Ben Wing  <ben@xemacs.org>
13268
13269         * s\mingw32.h (sigset):
13270         * s\windowsnt.h (sigset):
13271         rename msw_ to mswindows_ for consistency with general convention.
13272
13273 2000-06-12  Ben Wing  <ben@xemacs.org>
13274
13275         * console-msw.c:
13276         * console-msw.c (mswindows_get_console_hwnd):
13277         * console-msw.c (mswindows_ensure_console_allocated):
13278         * console-msw.c (mswindows_hide_console):
13279         * console-msw.c (mswindows_show_console):
13280         * console-msw.c (mswindows_ensure_console_buffered):
13281         * console-msw.c (mswindows_output_console_string):
13282         * console-msw.c (mswindows_windows9x_p):
13283         * console-msw.h:
13284         * device-msw.c (mswindows_get_workspace_coords):
13285         * device-msw.c (mswindows_device_system_metrics):
13286         * dialog-msw.c (mswindows_popup_dialog_box):
13287         * event-msw.c (mswindows_wnd_proc):
13288         * frame-msw.c (mswindows_size_frame_internal):
13289         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
13290         * menubar-msw.c (displayable_menu_item):
13291         * menubar-msw.c (mswindows_char_is_accelerator):
13292         * nt.c:
13293         * nt.c (mswindows_sigset):
13294         * nt.c (mswindows_sigrelse):
13295         * nt.c (mswindows_sigpause):
13296         * nt.c (mswindows_raise):
13297         * nt.c (timer_proc):
13298         * ntproc.c:
13299         * ntproc.c (find_child_console):
13300         * ntproc.c (sys_kill):
13301         * print.c:
13302         * print.c (std_handle_out_external):
13303         * process-nt.c (find_child_console):
13304         * process-nt.c (send_signal_the_95_way):
13305         * process-nt.c (ensure_console_window_exists):
13306         * process-nt.c (nt_create_process):
13307         * syssignal.h:
13308         rename msw_ to mswindows_ for consistency with general convention.
13309
13310         * emacs.c:
13311         * dumper.c:
13312         include nt.h, not syswindows.h.
13313
13314         * nt.c (mswindows_fstat):
13315         * nt.c (mswindows_stat):
13316         prefix mswindows_ instead of attempting to directly override the
13317         library functions.  fix declarations.
13318
13319         * nt.h:
13320         include syswindows.h.  move some sysdep.h stuff here.
13321
13322         * ntheap.h:
13323         include syswindows.h, not <windows.h>.
13324
13325         * ntplay.c:
13326         clean up headers.
13327
13328         * sysdep.c:
13329         clean up headers.
13330
13331         * sysdep.c (sys_fstat):
13332         * sysdep.c (sys_stat):
13333         call mswindows versions when appropriate.
13334
13335         * sysdep.h:
13336         move mswin decls to nt.h.
13337
13338         * syswindows.h:
13339         add long comment describing appropriate use of the various windows
13340         headers.
13341
13342 2000-06-11  Ben Wing  <ben@xemacs.org>
13343
13344         * device-x.c: Correct doc string for sixth arg of x-get-resource.
13345
13346 2000-06-10  Ben Wing  <ben@xemacs.org>
13347
13348         * Makefile.in.in (release):
13349         Correction to make sure xemacs.exe always dumped when correct.
13350
13351         * alloca.c:
13352         * balloon_help.c:
13353         [[[[3]]]]: Conditionalize on actual problem, not WINDOWSNT.
13354
13355         * buffer.c (set_buffer_internal):
13356         [[[[2]]]]: Remove HAVE_FEP code.
13357
13358         * buffer.c (init_initial_directory):
13359         [3].
13360
13361         * bytecode.c:
13362         [[[[4]]]]: limits.h standardly included in lisp.h; remove from
13363         individual files.
13364
13365         * callproc.c:
13366         * callproc.c (call_process_cleanup):
13367         * callproc.c (Fold_call_process_internal):
13368         * callproc.c (child_setup):
13369         * callproc.c (getenv_internal):
13370         * callproc.c (init_callproc):
13371         * callproc.c (vars_of_callproc):
13372         [[[[1]]]]: WINDOWSNT -> WIN32_NATIVE.
13373         __CYGWIN32__ -> CYGWIN.
13374         DOS_NT -> WIN32_NATIVE.
13375         Remove MSDOS support/references, converting to WIN32_NATIVE
13376           where correct.
13377         __MINGW32__ -> MINGW.
13378         Fix windows.h includes.
13379         Remove bogus HAVE_NTGUI.
13380
13381         * config.h.in:
13382         [2].
13383
13384         * console-msw.c:
13385         mswindows_message_outputted added for use in allowing startup
13386         errors on the console to be seen.
13387
13388         * console-msw.c (msw_ensure_console_allocated):
13389         * console-msw.c (msw_output_console_string):
13390         * console-msw.c (DHEADER):
13391         * console-msw.c (DOPAQUE_DATA):
13392         * console-msw.c (DEVENT):
13393         * console-msw.c (DCONS):
13394         * console-msw.c (DCONSCDR):
13395         * console-msw.c (DSTRING):
13396         * console-msw.c (DVECTOR):
13397         * console-msw.c (DSYMBOL):
13398         * console-msw.c (DSYMNAME):
13399         Fix warnings.
13400
13401         * console-stream.c (stream_init_console):
13402         Fix text/binary problems.
13403
13404         * device-msw.c:
13405         * device-msw.c (mswindows_finish_init_device):
13406         * device-msw.c (mswindows_delete_device):
13407         [1].
13408
13409         * device.c (handle_asynch_device_change):
13410         [3].
13411
13412         * dgif_lib.c:
13413         * dgif_lib.c (DGifOpenFileName):
13414         * dgif_lib.c (DGifOpenFileHandle):
13415         * dgif_lib.c (DGifGetLine):
13416         * dgif_lib.c (DGifGetPixel):
13417         Added config.h/lisp.h, fix up includes.
13418         [1].
13419
13420         * dired-msw.c:
13421         [4].
13422
13423         * dired.c:
13424         * dired.c (file_name_completion):
13425         * dired.c (Ffile_attributes):
13426         * dired.c (syms_of_dired):
13427         [1].
13428
13429         * dumper.c:
13430         * dumper.c (pdump_file_unmap):
13431         * dumper.c (pdump_load):
13432         [1].
13433
13434         * editfns.c:
13435         * editfns.c (Ftemp_directory):
13436         * editfns.c (user_login_name):
13437         * editfns.c (Fuser_real_login_name):
13438         * editfns.c (get_home_directory):
13439         [1].
13440
13441         * elhash.c (finish_marking_weak_hash_tables):
13442         [[[[5]]]]: Fix GCC warnings.
13443
13444         * emacs.c:
13445         * emacs.c (mswindows_handle_hardware_exceptions):
13446         * emacs.c (make_arg_list_1):
13447         * emacs.c (main_1):
13448         * emacs.c (Fkill_emacs):
13449         * emacs.c (Fdump_emacs):
13450         [1].
13451         Fix problems with nested crashes, add long comment.
13452
13453         * event-Xt.c (init_event_Xt_late):
13454         [1].
13455
13456         * event-msw.c:
13457         * event-msw.c (mswindows_dde_callback):
13458         * event-msw.c (mswindows_handle_sticky_modifiers):
13459         * event-msw.c (mswindows_wnd_proc):
13460         [1].
13461         [5].
13462
13463         * events.c (character_to_event):
13464         [1].
13465
13466         * fileio.c:
13467         * fileio.c (Ffile_name_directory):
13468         * fileio.c (Ffile_name_nondirectory):
13469         * fileio.c (directory_file_name):
13470         * fileio.c (Fexpand_file_name):
13471         * fileio.c (Fsubstitute_in_file_name):
13472         * fileio.c (Ffile_name_absolute_p):
13473         * fileio.c (check_executable):
13474         * fileio.c (Ffile_readable_p):
13475         * fileio.c (Ffile_accessible_directory_p):
13476         * fileio.c (Ffile_modes):
13477         * fileio.c (Funix_sync):
13478         * fileio.c (vars_of_fileio):
13479         [1]. [4].
13480
13481         [[[[7]]]]: Move CORRECT_DIR_SEPS to s\windowsnt.h.
13482
13483         Expand getdefdir defn.
13484         Fix bogus rename() comment.
13485
13486         [[[[6]]]]: Fix Windows includes w.r.t. removed nt\inc.  Attempt
13487         to use standard XEmacs include files, e.g. sysfile.h, rather
13488         than system-specific includes.
13489
13490         * fns.c:
13491         * fns.c (Fsubseq):
13492         [5]. [6].
13493
13494         * frame.c (vars_of_frame):
13495         [1].
13496
13497         * getloadavg.c:
13498         * getloadavg.c (getloadavg):
13499         [1]. [6].
13500         #ifdef XEMACS not defined on Cygwin.  Remove this; no need for it.
13501         (We don't use it elsewhere in the code; just add a comment.)
13502
13503         * gif_io.c:
13504         [6].
13505         Add config.h.
13506
13507         * glyphs-msw.c:
13508         * glyphs-msw.c (mswindows_resource_instantiate):
13509         [1].
13510
13511         * glyphs-x.c (x_native_layout_instantiate):
13512         [5].
13513
13514         * gui-msw.c (Fmswindows_shell_execute):
13515         [1].
13516
13517         * insdel.c:
13518         [4].
13519
13520         * lisp.h:
13521         [4]. [5].
13522
13523         * lread.c (locate_file_in_directory_mapper):
13524         [1].
13525
13526         * lstream.c:
13527         [4].
13528
13529         * mem-limits.h:
13530         * mem-limits.h (get_lim_data):
13531         [1].
13532
13533         * menubar-msw.c:
13534         [4].
13535
13536         * ndir.h:
13537         [1].
13538
13539         * nt.c:
13540         * nt.c (getwd):
13541         * nt.c (closedir):
13542         * nt.c (rva_to_section):
13543         * nt.c (mswindows_executable_type):
13544         [1]. [6].
13545         Fix closedir() defn.
13546
13547         * nt.h:
13548         [[[[8]]]]: *_OK defs moved to sysfile.h.
13549
13550         * ntproc.c:
13551         [6]. [7].
13552
13553         * objects-x.c:
13554         [4].
13555
13556         * print.c:
13557         * print.c (std_handle_out_external):
13558         [1]. [4].
13559
13560         * process-nt.c:
13561         * process-nt.c (nt_create_process):
13562         [6].
13563         try to fix process quoting somewhat.
13564
13565         * process-unix.c (unix_create_process):
13566         [1].
13567
13568         * process.c:
13569         * process.c (vars_of_process):
13570         Add Vnull_device.
13571
13572         * process.h:
13573         [1].
13574
13575         * realpath.c:
13576         * realpath.c (xrealpath):
13577         [1].
13578
13579         * redisplay-tty.c (init_tty_for_redisplay):
13580         [3].
13581
13582         * redisplay.c:
13583         [4]. [6].
13584
13585         * scrollbar-msw.c:
13586         [4].
13587
13588         * sheap.c:
13589         * sheap.c (more_static_core):
13590         * sheap.c (report_sheap_usage):
13591         [5]. [6].
13592
13593         * signal.c:
13594         * signal.c (alarm_signal):
13595         [1]. [6].
13596
13597         * sound.c:
13598         [6].
13599
13600         * strftime.c:
13601         * strftime.c (zone_name):
13602         [1]. [5].
13603
13604         * symsinit.h (init_sunpro):
13605         [1].
13606
13607         * syscommctrl.h:
13608         commctrl.h not in Cygwin b20.1.
13609
13610         * sysdep.c:
13611         * sysdep.c (endif):
13612         * sysdep.c (sys_subshell):
13613         * sysdep.c (init_baud_rate):
13614         * sysdep.c (emacs_get_tty):
13615         * sysdep.c (emacs_set_tty):
13616         * sysdep.c (tty_init_sys_modes_on_device):
13617         * sysdep.c (init_system_name):
13618         * sysdep.c (sys_open):
13619         * sysdep.c (interruptible_open):
13620         * sysdep.c (sys_fopen):
13621         * sysdep.c (sys_mkdir):
13622         * sysdep.c (sys_rename):
13623         * sysdep.c (get_process_times_1):
13624         [1]. [6].
13625
13626         * sysdep.h:
13627         [1].
13628
13629         * sysdir.h:
13630         * sysdir.h (DIRENTRY_NONEMPTY):
13631         [1]. [6].
13632
13633         * sysdll.c (dll_init):
13634         * sysdll.h:
13635         [1].
13636
13637         * sysfile.h:
13638         [1]. [6]. [8].
13639         added text/binary defs.
13640
13641         * sysfloat.h:
13642         [1].
13643
13644         * sysproc.h:
13645         * sysproc.h (EDESTADDRREQ):
13646         * sysproc.h (poll_fds_for_input):
13647         [1]. [6].
13648
13649         * syspwd.h:
13650         [6].
13651
13652         * syssignal.h:
13653         [1].
13654
13655         * systime.h:
13656         [1]. [6].
13657
13658         * systty.h:
13659         [1].
13660
13661         * syswindows.h:
13662         [1].
13663         Always define WIN32_LEAN_AND_MEAN.
13664
13665         * unexcw.c (unexec):
13666         [5].
13667
13668         * unexec.c:
13669         * unexec.c (copy_text_and_data):
13670         * unexec.c (adjust_lnnoptrs):
13671         [1].
13672
13673         * unexnt.c:
13674         * unexnt.c (_start):
13675         [1].
13676
13677 2000-06-07  Ben Wing  <ben@xemacs.org>
13678
13679         * mule-mcpath.c, mule-mcpath.h: Removed.  Old, crufty code that
13680         was used only as a model.  We've long since extracted any useful
13681         logic or code out of this. (I just did an exhaustive search.)
13682
13683         * s\msdos.h: Removed.
13684
13685         * s\windows95.h: Removed.
13686
13687 2000-06-10  Ben Wing  <ben@xemacs.org>
13688
13689         * s\cygwin32.h:
13690         [1]. [5].
13691         Don't use extern with fun defs.
13692
13693         * s\mingw32.h:
13694         [1]. [7].
13695         Remove nt\inc include.
13696         Remove getdisk, getdefdir. (The former is unused, the latter
13697         expanded in fileio.h.)
13698
13699         * s\windowsnt.h:
13700         * s\windowsnt.h (WIN32_NATIVE):
13701         * s\windowsnt.h (HAVE_STRCASECMP):
13702         [1]. [7].
13703         Add long comment about preprocessor changes.
13704         Remove getdisk, getdefdir. (The former is unused, the latter
13705         expanded in fileio.h.)
13706
13707 2000-06-10  Ben Wing  <ben@xemacs.org>
13708
13709         * m\arm.h:
13710         * m\delta.h:
13711         * m\intel386.h:
13712         * m\sequent.h:
13713         * m\template.h:
13714         * m\windowsnt.h:
13715         [1].
13716         Remove bogus/unused NO_SOCK_SIGIO.
13717
13718 2000-06-08  Hrvoje Niksic  <hniksic@iskon.hr>
13719
13720         * lisp.h (set_string_char): Call set_string_byte with a Bufbyte,
13721         not an Emchar.
13722
13723 2000-06-04  Mike Sperber <mike@xemacs.org>
13724
13725         * casetab.c (set_case_table): For `set-standard-case-table',
13726         actually deposit the new case tables where the rest of XEmacs can
13727         see them.
13728
13729 2000-06-05  Yoshiki Hayashi <yoshiki@xemacs.org>
13730
13731         * data.c (Faset): Don't cast XCHAR() to unsigned char.
13732
13733 2000-06-05  Ben Wing  <ben@xemacs.org>
13734
13735         * callproc.c (child_setup): Don't do close_load_descs() under
13736         MS Windows.  Put in a comment explaining why.
13737
13738 2000-05-28  Adrian Aichner  <aichner@ecf.teradyne.com>
13739
13740         * process-nt.c: Reverting patch "Fixing nt_create_process for MKS
13741         Toolkit shell" which breaks `kill-compilation' on Windows NT
13742         native, retaining STDERR handling improvements.
13743
13744 2000-06-01  Andreas Jaeger  <aj@suse.de>
13745
13746         * s/s390.h: Support for S390, based on a patch by Martin
13747         Schwidefsky <schwidefsky@de.ibm.com>.
13748
13749 2000-05-30  Andy Piper  <andy@xemacs.org>
13750
13751         * window.c (allocate_window):
13752         (make_dummy_parent):
13753         (Fset_window_configuration): use new hashtable type.
13754
13755         * glyphs.h (IMAGE_UNSPECIFIED_GEOMETRY):
13756         (struct image_instantiator_methods):
13757         (struct Lisp_Image_Instance): make instance geometry signed.
13758
13759         * glyphs.c (instantiate_image_instantiator):
13760         (image_instance_query_geometry):
13761         (image_instance_layout):
13762         (image_instance_layout):
13763         (query_string_geometry):
13764         (text_query_geometry):
13765         (image_instantiate):
13766         (image_instantiate):
13767         (cache_subwindow_instance_in_frame_maybe):
13768         (subwindow_query_geometry): make instance geometry signed.
13769
13770         * glyphs-widget.c (widget_query_geometry):
13771         (widget_layout):
13772         (button_query_geometry):
13773         (tree_view_query_geometry):
13774         (tab_control_query_geometry):
13775         (layout_query_geometry):
13776         (layout_layout):
13777         (native_layout_layout): make instance geometry signed.
13778
13779 2000-05-29  Olivier Galibert  <galibert@pobox.com>
13780
13781         * lisp.h: Add Qfull_assoc symbol and WEAK_LIST_FULL_ASSOC
13782         constant.
13783
13784         * general.c (syms_of_general): Add Qfull_assoc symbol.
13785
13786         * data.c (finish_marking_weak_lists): Mark full-assoc lists
13787         correctly.
13788         (decode_weak_list_type): Decode full-assoc type.
13789         (encode_weak_list_type): Encode full-assoc type.
13790         (Fmake_weak_list): Update doc string.
13791
13792 2000-05-30  Andy Piper  <andy@xemacs.org>
13793
13794         * elhash.h (hash_table_weakness): new KEY_VALUE weak hashtable.
13795
13796         * elhash.c (print_hash_table): new KEY_VALUE weak hashtable.
13797         (decode_hash_table_weakness): ditto.
13798         (Fhash_table_weakness): ditto.
13799         (Fhash_table_type): ditto.
13800         (finish_marking_weak_hash_tables): ditto.
13801         (hash_table_weakness_validate): ditto.
13802         (syms_of_elhash): ditto.
13803
13804 2000-05-28  Martin Buchholz <martin@xemacs.org>
13805
13806         * XEmacs 21.2.34 is released.
13807
13808 2000-05-22  Jan Vroonhof  <vroonhof@math.ethz.ch>
13809
13810         * redisplay.c (VERTICAL_CLIP): No longer reset when updating line
13811         start cache.
13812         (updating_line_start_cache): Gone.
13813         (regenerate_window): Replace resetting of VERTICAL_CLIP by
13814         generic code to force a minimum of 1 line laid out in the
13815         CMOTION_DISP case.
13816
13817 2000-05-22  Jan Vroonhof  <vroonhof@math.ethz.ch>
13818
13819         * glyphs.c (instantiate_image_instantiator): Check for initialized
13820         height & width no longer special cases IMAGE_NOTHING.
13821         (nothing_instantiate): Set height and width of instance.
13822
13823 2000-05-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
13824
13825         * unexelf.c (unexec): Search for ".data" section.
13826         Initialize new_data2_offset from old_data_index.
13827         Remove redundant check for ElfW.
13828
13829 2000-05-23  Andy Piper  <andy@xemacs.org>
13830
13831         * glyphs.c (get_image_instantiator_governing_domain): allow more
13832         specific domains as the governing domain rather than expecting an
13833         exact match. This fixes problems with layouts.
13834
13835 2000-05-22  Andy Piper  <andy@xemacs.org>
13836
13837         * redisplay-output.c (compare_runes): check for non-images
13838
13839         * glyphs.c (set_glyph_dirty_p): ditto.
13840         (update_glyph_cachel_data): ditto.
13841
13842         * glyphs-widget.c (layout_post_instantiate): ditto.
13843         (layout_post_instantiate): ditto.
13844
13845         * event-msw.c (mswindows_wnd_proc): warning removal.
13846
13847 2000-05-12  Craig Lanning  <CraigL@DyCon.com>
13848
13849         * s\mingw32.h: Added #undef for CLASH_DETECTION.
13850
13851         * syswindows.h: Moved PBS_SMOOTH definition to syscommctrl.h.
13852
13853         * syscommctrl.h (PBS_SMOOTH): Moved from syswindows.h.
13854
13855         * nt.c (rva_to_section): mingw32 needs rva_to_section.
13856         (mswindows_executable_type): mingw32 now has enough headers for
13857         this to work.
13858
13859 2000-05-20  Andy Piper  <andy@xemacs.org>
13860
13861         * console-msw.c (mswindows_output_last_error): ; -> ,
13862
13863 2000-05-12  Andy Piper  <andy@xemacs.org>
13864
13865         * console-msw.c (FROB): compare ints with ints.
13866
13867 2000-05-11  Andy Piper  <andy@xemacs.org>
13868
13869         * glyphs-x.c (x_finalize_image_instance): make minimal build
13870         happy.
13871
13872 2000-05-20  Ben Wing  <ben@xemacs.org>
13873
13874         * event-Xt.c:
13875         * event-Xt.c (vars_of_event_Xt):
13876         move modifier-keys-are-sticky to event-stream.c.
13877
13878         * event-msw.c:
13879         * event-msw.c (mswindows_enqueue_mouse_button_event):
13880         * event-msw.c (key_needs_default_processing_p):
13881         * event-msw.c (XEMSW_LCONTROL):
13882         * event-msw.c (mswindows_handle_sticky_modifiers):
13883         * event-msw.c (FROB):
13884         * event-msw.c (clear_sticky_modifiers):
13885         * event-msw.c (output_modifier_keyboard_state):
13886         * event-msw.c (output_alt_keyboard_state):
13887         * event-msw.c (mswindows_wnd_proc):
13888         * event-msw.c (mswindows_modifier_state):
13889         * event-msw.c (emacs_mswindows_handle_magic_event):
13890         implement sticky modifiers.
13891
13892         * event-stream.c:
13893         * event-stream.c (vars_of_event_stream):
13894         move modifier-keys-are-sticky here.
13895
13896         * lisp.h:
13897         add CHECK_FUNCTION.
13898
13899         * rangetab.c:
13900         implement map-range-table.
13901
13902
13903 2000-05-17  Yoshiki Hayashi  <yoshiki@xemacs.org>
13904
13905         * redisplay-tty.c (reset_tty_modes):
13906         (tty_redisplay_shutdown): Adjust argument type to
13907         tty_frame_output_end.
13908
13909 2000-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
13910
13911         * eval.c (Fbacktrace): Don't output a line with only right
13912         parenthesis.
13913
13914 2000-05-17  Kenji Itoh  <keit@tpj.co.jp>
13915
13916         * postgresql.c (Fpq_connect_poll): Replace `PS' with `polling_status'.
13917         (Fpq_reset_poll): Ditto.
13918
13919 2000-05-16  Katsumi Yamaoka  <yamaoka@jpl.org>
13920
13921         * redisplay-tty.c: Replace tty_output_end with tty_frame_output_end.
13922
13923 2000-05-16  Ben Wing  <ben@xemacs.org>
13924
13925         * buffer.c:
13926         * buffer.c (dfc_convert_to/from_internal_format):
13927         * buffer.c (reinit_vars_of_buffer):
13928         Fix conversion functions to allow reentrancy.
13929
13930         * console-msw.c:
13931         * console-msw.c (mswindows_output_last_error):
13932         New fun, generally useful -- output a human-readable
13933         version of GetLastError() on the console.
13934
13935         * console-msw.h:
13936         * console-msw.h (struct mswindows_frame):
13937         Changes for DeferWindowPos.  Declare mswindows_output_last_error().
13938
13939         * console-stream.c (stream_output_begin):
13940         * console-stream.c (stream_output_end):
13941         * console-stream.c (stream_output_vertical_divider):
13942         * console-stream.c (stream_clear_region):
13943         * console-stream.c (stream_flash):
13944         * console-stream.c (console_type_create_stream):
13945         Delete blank stream methods, not needed.
13946
13947         * console.h (struct console_methods):
13948         Split begin/end methods into window and frame.
13949
13950         * event-msw.c:
13951         * event-msw.c (mswindows_handle_paint):
13952         * event-msw.c (output_alt_keyboard_state):
13953         * event-msw.c (mswindows_wnd_proc):
13954         * event-msw.c (vars_of_event_mswindows):
13955         Comment about problems with ignored-expose.
13956         Define mswindows-debug-events; not really implemented.
13957
13958         * frame-msw.c (mswindows_init_frame_1):
13959         random cleanups.
13960
13961         * glyphs-msw.c:
13962         * glyphs-msw.c (begin_defer_window_pos):
13963         * glyphs-msw.c (mswindows_unmap_subwindow):
13964         * glyphs-msw.c (mswindows_map_subwindow):
13965         * glyphs-msw.c (mswindows_resize_subwindow):
13966         Use DeferWindowPos to reduce flashing when mapping/unmapping.
13967
13968         * glyphs.c (make_image_instance_1):
13969         Fix crash.
13970
13971         * gutter.c (Fredisplay_gutter_area):
13972         Use new begin/end methods.
13973
13974         * lisp.h (Dynarr_new2):
13975         New creation fun.
13976
13977         * redisplay-msw.c:
13978         * redisplay-msw.c (mswindows_frame_output_begin):
13979         * redisplay-msw.c (mswindows_frame_output_end):
13980         * redisplay-msw.c (console_type_create_redisplay_mswindows):
13981         New begin/end methods -- handle DeferWindowPos.
13982
13983         * redisplay-output.c (redisplay_move_cursor):
13984         * redisplay-output.c (redraw_cursor_in_window):
13985         * redisplay-output.c (redisplay_update_line):
13986         * redisplay-output.c (redisplay_output_window):
13987         New begin/end methods.
13988
13989         * redisplay-tty.c:
13990         * redisplay-tty.c (tty_frame_output_begin):
13991         * redisplay-tty.c (tty_frame_output_end):
13992         * redisplay-tty.c (console_type_create_redisplay_tty):
13993         New begin/end methods.
13994
13995         * redisplay-x.c:
13996         * redisplay-x.c (x_window_output_begin):
13997         * redisplay-x.c (x_window_output_end):
13998         * redisplay-x.c (console_type_create_redisplay_x):
13999         New begin/end methods.
14000
14001         * redisplay.c (redisplay_frame):
14002         * redisplay.c (Fredisplay_echo_area):
14003         New begin/end methods.
14004         use MAYBE_DEVMETH for clear_frame; it may not exist.
14005
14006         * window.h (WINDOW_XFRAME):
14007         WINDOW_XFOO macros -- get locale and decode struct pointer.
14008
14009
14010 2000-05-12  Ben Wing  <ben@xemacs.org>
14011
14012         * emacs.c:
14013         * emacs.c (ensure_no_quitting_from_now_on):
14014         * emacs.c (fatal_error_signal):
14015         * emacs.c (mswindows_handle_hardware_exceptions):
14016         * emacs.c (main):
14017         * emacs.c (Fkill_emacs):
14018         * emacs.c (shut_down_emacs):
14019         * emacs.c (assert_failed):
14020         various improvements in fatal error handling.
14021
14022         * eval.c:
14023         move preparing_for_armageddon to emacs.c.
14024
14025         * lisp.h:
14026         declare fatal_error_in_progress.
14027
14028         * print.c:
14029         * print.c (std_handle_out_external):
14030         * print.c (std_handle_out_va):
14031         * print.c (stderr_out):
14032         * print.c (stdout_out):
14033         use console under mswin when no standard output.
14034         don't do code conversion during fatal error.
14035
14036         * scrollbar.c (Fscrollbar_page_up):
14037         * scrollbar.c (Fscrollbar_page_down):
14038         fix missing else.  reindent.
14039
14040 2000-05-11  Jan Vroonhof  <vroonhof@math.ethz.ch>
14041
14042         Emergency fix.
14043
14044         * glyphs.h (GLYPH_CACHEL_DESCENT):
14045         (GLYPH_CACHEL_DESCENT):
14046         (GLYPH_CACHEL_DESCENT):
14047         * glyphs.h (GLYPH_CACHEL_ASCENT): Match parameters to variables
14048         used in case these are inline functions.
14049         Use more absurd values to error check.
14050
14051         include window.h for error check functions.
14052
14053 2000-05-11  Ben Wing  <ben@xemacs.org>
14054
14055         * cmdloop.c (Freally_early_error_handler):
14056         Display message box under windows; otherwise, message will disappear
14057         before it can be viewed.
14058
14059         * console-msw.c:
14060         * console-msw.c (Fmswindows_message_box):
14061         * console-msw.c (FROB):
14062         * console-msw.c (syms_of_console_mswindows):
14063         Define new fun `mswindows-message-box'.
14064         #### I will merge this into `popup-dialog-box'; just give me
14065         a bit of time.
14066
14067         * general.c:
14068         * general.c (syms_of_general):
14069         Some new symbols used in `mswindows-message-box'.
14070
14071         * glyphs.c:
14072         * glyphs.c (Fset_image_instance_property):
14073         put warning in this fun.
14074
14075         * glyphs.h:
14076         * glyphs.h (GLYPH_CACHEL_WIDTH):
14077         * glyphs.h (GLYPH_CACHEL_ASCENT):
14078         * glyphs.h (GLYPH_CACHEL):
14079         * glyphs.h (GLYPH_CACHEL_GLYPH):
14080         define error-checking versions to try to catch a bug i've seen --
14081         redisplay gets in an infinite loop because the glyph width of the
14082         continuation glyph is 65535.
14083
14084         * lisp.h:
14085         Extern message-box stuff.
14086
14087         * window.c (allocate_window):
14088         * window.c (make_dummy_parent):
14089         * window.c (Fset_window_configuration):
14090         Use EQUAL not EQ for subwindow caches to make them work a bit
14091         better. (Something is still very broken.)
14092
14093
14094 2000-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
14095
14096         * glyphs.c (image_instantiate): Suppress gcc warnings.
14097         (Fmake_image_instance): Fix doc string.
14098         * specifier.c (Fmake_specifier): Ditto.
14099
14100 2000-05-02  Yoshiki Hayashi  <yoshiki@xemacs.org>
14101
14102         * paths.h.in (PATH_LOCK): Removed.
14103         * config.h.in (LOCKDIR_USER_DEFINED): Removed.
14104         * emacs.c (complex_vars_of_emacs): Remove configure-lock-directory.
14105
14106 2000-05-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
14107
14108         * fns.c (Ffeaturep): Update e-mail address in doc-string.
14109         Document (featurep '(and xemacs 21.02)).
14110
14111 2000-05-09  Ben Wing  <ben@xemacs.org>
14112
14113         * buffer.c (complex_vars_of_buffer):
14114         update modeline-format doc.
14115
14116         * device.h:
14117         comment about how DFW_DEVICE should be merged with DOMAIN_DEVICE.
14118
14119         * emacs.c:
14120         timeline of all released versions of Emacs, for use in creating
14121         authorship comments and in synching up.
14122
14123         * glyphs-widget.c (image_instantiator_buttons):
14124         * glyphs-widget.c (image_instantiator_edit_fields):
14125         * glyphs-widget.c (image_instantiator_combo_box):
14126         * glyphs-widget.c (image_instantiator_scrollbar):
14127         * glyphs-widget.c (image_instantiator_progress_guage):
14128         * glyphs-widget.c (image_instantiator_tree_view):
14129         * glyphs-widget.c (image_instantiator_tab_control):
14130         * glyphs-widget.c (image_instantiator_labels):
14131         * glyphs-widget.c (image_instantiator_layout):
14132         * glyphs-widget.c (image_instantiator_native_layout):
14133         rename decode_domain method to governing_domain.
14134
14135         * glyphs.c:
14136         * glyphs.c (Fvalid_image_instantiator_format_p): doc update.
14137         * glyphs.c (add_entry_to_device_ii_format_list):
14138         make sure we don't put an entry more than once into the list.
14139         * glyphs.c (check_instance_cache_mapper):
14140         *************************************************************
14141         allow for nil.  THIS SHOULD FIX A REAL CRASH THAT MANY PEOPLE
14142         HAVE BEEN GETTING.
14143         *************************************************************
14144         * glyphs.c (get_image_instantiator_governing_domain):
14145         clean up, expand on new concept of governing domain.
14146         * glyphs.c (instantiate_image_instantiator):
14147         * glyphs.c (allocate_image_instance):
14148         use governing_domain instead of cache_domain in naming.
14149         * glyphs.c (Fvalid_image_instance_type_p): fix docs.
14150         * glyphs.c (make_image_instance_1):
14151         * glyphs.c (Fmake_image_instance):
14152         allow for any domain (not just device), and process the
14153         governing domain correctly.  very big doc fix.
14154         * glyphs.c (Fimage_instance_domain):
14155         new primitive, to retrieve the governing domain of an image instance.
14156         * glyphs.c (image_instantiate):
14157         use new governing_domain stuff.  this fixes a crash you could get
14158         by instantiating certain widget glyphs in frame locales. (should
14159         signal an error instead of crashing.)
14160         * glyphs.c (Fimage_specifier_p): move doc to make-image-specifier.
14161         * glyphs.c (Fglyphp): clean up doc.
14162         * glyphs.c (subwindow_governing_domain): renamed from *_decode_domain.
14163         * glyphs.c (syms_of_glyphs):
14164         declare Fimage_instance_domain, remove unused Qlayout_image_instance_p.
14165         * glyphs.c (image_instantiator_format_create): add some comments about
14166         bogus code.
14167         * glyphs.c (specifier_vars_of_glyphs): totally rewrite the doc string
14168         for current-display-table. (Apparently Hrjove implemented in 1998 a
14169         design I wrote up in 1996, but didn't update the doc string.)
14170
14171         * glyphs.h: clean up a doc string.
14172         * glyphs.h (governing_domain):
14173         * glyphs.h (struct image_instantiator_methods):
14174         changes for governing_domain stuff.
14175
14176         * gutter.c:
14177         * gutter.c (Fgutter_specifier_p):
14178         * gutter.c (Fgutter_size_specifier_p):
14179         * gutter.c (Fgutter_visible_specifier_p):
14180         * objects.c:
14181         * objects.c (Fcolor_specifier_p):
14182         * objects.c (Ffont_specifier_p):
14183         * objects.c (Fface_boolean_specifier_p):
14184         doc strings moved to make-*-specifier.
14185
14186         * redisplay.c (add_disp_table_entry_runes_1):
14187         * redisplay.c (generate_fstring_runes):
14188         * redisplay.c (screen):
14189         add random comments and doc strings.
14190
14191         * specifier.c:
14192         * specifier.c (Fmake_specifier):
14193         major overhaul of this doc string.
14194
14195         * specifier.c (Fvalid_specifier_domain_p):
14196         comment about the bogosity of image instances being domains.
14197         * specifier.c (decode_domain):
14198         now non-static, used in glyphs.c.
14199         * specifier.c (specifier_instance):
14200         comment about the bogosity of image instances being domains.
14201         * specifier.c (Fgeneric_specifier_p):
14202         move doc string to make-generic-specifier.
14203         * specifier.c (VALID_SINGLE_DISPTABLE_INSTANTIATOR_P):
14204         rebackslashify.
14205
14206         * specifier.h:
14207         * specifier.h (DOMAIN_FRAME):
14208         * specifier.h (DOMAIN_LIVE_P):
14209         * specifier.h (DOMAIN_XDEVICE):
14210         rebackslashify.
14211         add comments about problems with these macros.
14212         prototype for decode_domain.
14213
14214         * toolbar.c:
14215         * toolbar.c (Ftoolbar_specifier_p):
14216         move doc string to `make-toolbar-specifier'.
14217
14218         * window.c (window_unmap_subwindows_cache_mapper):
14219         *************************************************************
14220         allow for nil.  THIS SHOULD FIX A REAL CRASH THAT MANY PEOPLE
14221         HAVE BEEN GETTING.
14222         *************************************************************
14223
14224 2000-05-09  Andy Piper  <andy@xemacs.org>
14225
14226         * glyphs.h: declare reset_frame_subwindow_instance_cache.
14227
14228         * window.c (Fset_window_configuration): reset the frame subwindow
14229         cache and re-initialize the window subwindow caches.
14230
14231         * glyphs.c (reset_frame_subwindow_instance_cache): new function.
14232
14233 2000-05-09  Ben Wing  <ben@xemacs.org>
14234
14235         * ntheap.c (recreate_heap): Changed unknown (VC6 only?) SIZE_T to
14236         DWORD.
14237
14238 2000-04-26  Mike Woolley  <mike@bulsara.com>
14239
14240         * ntheap.c: Changed recreate_heap to limit the amount reserved
14241         for the heap to that which is actually available. Also now
14242         displays a message box (with some dignostics) in the event that
14243         it still can't start.
14244
14245 2000-05-07  Jan Vroonhof  <vroonhof@math.ethz.ch>
14246
14247         * callproc.c (Fold_call_process_internal): GCPRO path
14248
14249 2000-05-08  Jan Vroonhof  <jan@xemacs.org>
14250
14251         Patch by Bill Perry.
14252
14253         * scrollbar.c (Fscrollbar_page_up): Conditionalize on type of call
14254         back data instead of #ifdef.
14255         (Fscrollbar_page_down): ditto.
14256
14257 2000-05-07  Ben Wing  <ben@xemacs.org>
14258
14259         * buffer.h:
14260         Kludge for defining Qmswindows_tstr.
14261
14262         * nt.c:
14263         * nt.c (open_input_file):
14264         * nt.c (open_output_file):
14265         * nt.c (rva_to_section):
14266         * nt.c (mswindows_executable_type):
14267         Move all memory-mapped-file routines here (some were in unexnt.c,
14268         which is bad because they are used by process-nt.c, and unexnt
14269         won't be around when portable dumping).  Synched the above routines
14270         with FSF 20.6.
14271
14272         * nt.h:
14273         Removed ifdef'd out bogus code.
14274         Fixed some prototypes.
14275
14276         * nt.h (file_data):
14277         * nt.h (OFFSET_TO_RVA):
14278         * nt.h (RVA_TO_OFFSET):
14279         * nt.h (RVA_TO_PTR):
14280         Moved the memory-mapped-file structures, macros and prototypes
14281         here, to parallel nt.c.  ntheap.h should really be removed
14282         entirely, and it's a non-portable-dumper specific file.
14283
14284         * ntheap.h (round_to_next):
14285         Moved the memory-mapped-file structures, macros and prototypes
14286         to nt.h.
14287
14288         * ntproc.c (compare_env):
14289         Moved rva_to_section and mswindows_executable_type to nt.c.
14290         Moved compare_env to process-nt.c.
14291         ntproc.c will die, one day.
14292
14293         * ntproc.c (sys_spawnve):
14294         Account for win32_ -> mswindows_.
14295
14296         * process-nt.c:
14297         * process-nt.c (struct nt_process_data):
14298         * process-nt.c (ensure_console_window_exists):
14299         * process-nt.c (compare_env):
14300         * process-nt.c (nt_create_process):
14301         * process-nt.c (nt_kill_process_by_pid):
14302         * process-nt.c (syms_of_process_nt):
14303         * process-nt.c (vars_of_process_nt):
14304         Introduce variable `mswindows-quote-process-args', from FSF 20.6.
14305         Copy argument quoting code from FSF 20.6 (with appropriate Mule-ization
14306         changes).  Eliminate our old `nt-quote-process-args' mechanism.
14307         Synch up nt_create_process with FSF 20.6 sys_spawnve.
14308         Move compare_env here from ntproc.c.
14309
14310         * process.c (Fprocess_send_region):
14311         Takes an optional fourth argument, BUFFER, which should fix some
14312         problems with call-process.
14313
14314         * syscommctrl.h:
14315         Move ICC_BAR_CLASSES here from syswindows.h, to avoid a warning.
14316
14317         * syswindows.h:
14318         Move ICC_BAR_CLASSES to syscommctrl.h.
14319         Add preliminary macros for MSWindows/Mule.  More to come.
14320
14321         * unexnt.c:
14322         * unexnt.c (unexec):
14323         open_output_file moved to nt.c.
14324
14325
14326 2000-05-05  Andy Piper  <andy@xemacs.org>
14327
14328         * window.c (window_unmap_subwindows_cache_mapper): remove the dead
14329         instance from the frame cache also since GC may catch up too late
14330         to make frame deletion sane.
14331
14332 2000-05-04  Andy Piper  <andy@xemacs.org>
14333
14334         * glyphs-x.c (x_widget_instantiate): gcpro widget callbacks.
14335         (x_finalize_image_instance): ungcpro on deletion.
14336
14337         * glyphs.c (image_instantiator_format_create): give pointers a
14338         query geometry method so that the geometry is at least set.
14339
14340         * glyphs-x.c (image_instantiator_format_create_glyphs_x): only
14341         initialize layouts if using widgets.
14342
14343 2000-05-03  Andy Piper  <andy@xemacs.org>
14344
14345         * nt.c: remove bogus reference to sysmmsystem.h
14346
14347         * gui-x.c (popup_selection_callback): fix no selection abort.
14348
14349 2000-05-02  Andy Piper  <andy@xemacs.org>
14350
14351         * glyphs-msw.c (mswindows_update_widget): cope with nil text.
14352         (mswindows_widget_instantiate): ditto.
14353
14354         * glyphs-widget.c (initialize_widget_image_instance): initialize
14355         children correctly.
14356         (widget_instantiate): cope with children and items in the same
14357         instance.
14358
14359         * glyphs.c (mark_image_instance): cope with children as a first
14360         class member.
14361         (image_instance_equal): ditto.
14362         (image_instance_hash): ditto.
14363         (image_instance_changed): ditto.
14364
14365 2000-04-30  Andy Piper  <andy@xemacs.org>
14366
14367         * glyphs.c (subwindow_query_geometry): new function. Return some
14368         defaults.
14369         (subwindow_instantiate): don't assign dimensions if none have been
14370         given.
14371         (image_instantiator_format_create): add subwindow_query_geometry.
14372         (print_image_instance): cope with layouts as widgets.
14373
14374 2000-04-29  Andy Piper  <andy@xemacs.org>
14375
14376         * frame.c (delete_frame_internal): call
14377         free_frame_subwindow_instance_cache so that all subwindows are
14378         finalized before their parent.
14379         (mark_frame): remove subwindow_cachels.
14380         (Fmake_frame): remove subwindow_cachel manipulation.
14381         (allocate_frame_core): subwindow_instance_cache is a weak list.
14382         (delete_frame_internal): set subwindow_instance_cache to nil.
14383
14384         * glyphs-msw.c (mswindows_finalize_image_instance): make double
14385         finalization safe.
14386         (mswindows_finalize_image_instance): use the device
14387         not the domain as the domain may have died already.
14388
14389         * glyphs-x.c (x_finalize_image_instance): ditto.
14390         (x_subwindow_instantiate): remove SUBWINDOW_WIDTH &
14391         HEIGHT.
14392
14393         * redisplay-output.c (redisplay_unmap_subwindows): update for
14394         subwindow instance cache as a weak list.
14395         (redisplay_unmap_subwindows_maybe): ditto.
14396         (redisplay_unmap_subwindows_except_us): ditto.
14397
14398         * glyphs.c (unmap_subwindow): error checking will check the domain
14399         so don't deal with it here. Don't use cachels anymore.
14400         (map_subwindow): ditto.
14401         (update_subwindow_cachel_data): remove old accessor names.
14402         (subwindow_instantiate): remove SUBWINDOW_WIDTH & HEIGHT.
14403         (Fresize_subwindow): don't update cachel.
14404         (mark_subwindow_cachels):
14405         (update_subwindow_cachel_data):
14406         (add_subwindow_cachel):
14407         (get_subwindow_cachel_index):
14408         (update_subwindow_cachel):
14409         (reset_subwindow_cachels):
14410         (mark_subwindow_cachels_as_not_updated): deleted.
14411         (cache_subwindow_instance_in_frame_maybe): new function. Add a
14412         subwindow instance to the frame cache.
14413         (find_matching_subwindow): update for subwindow instance cache as
14414         a weak list.
14415         (update_widget_instances): ditto.
14416         (image_instance_type_to_mask):inlined.
14417         (free_frame_subwindow_instance_cache): new function. finalize all
14418         subwindows that are instantiated.
14419
14420         * glyphs.h (struct Lisp_Image_Instance): add display_data instead
14421         of cachel information.
14422         (IMAGE_INSTANCE_DISPLAY_X):
14423         (IMAGE_INSTANCE_DISPLAY_Y):
14424         (IMAGE_INSTANCE_DISPLAY_WIDTH):
14425         (IMAGE_INSTANCE_DISPLAY_HEIGHT):
14426         (XIMAGE_INSTANCE_DISPLAY_X):
14427         (XIMAGE_INSTANCE_DISPLAY_Y):
14428         (XIMAGE_INSTANCE_DISPLAY_WIDTH):
14429         (XIMAGE_INSTANCE_DISPLAY_HEIGHT): new accessors.
14430         remove subwindow_cachel structure and function references.
14431         (image_instance_type_to_mask): inline from glyphs.c
14432
14433         * redisplay.c (redisplay_frame): remove subwindow_cachel
14434         references.
14435
14436         * frame.h (struct frame): remove subwindow_cachels.
14437         (FRAME_SUBWINDOW_CACHE): access subwindow_instance_cache.
14438
14439         * frameslots.h: add subwindow_instance_cache.
14440
14441         * window.c (replace_window): check subwindow cache of replacement.
14442         (window_unmap_subwindows_cache_mapper):
14443         (window_unmap_subwindows): new functions. Unmap all subwindows
14444         cached on this window.
14445         (mark_window_as_deleted): unmap all subwindows.
14446
14447 2000-04-27  Andy Piper  <andy@xemacs.org>
14448
14449         * glyphs.h (IIFORMAT_METH_OR_GIVEN): cope with null meths.
14450
14451         * glyphs-widget.c (widget_layout): return something.
14452         (layout_layout): return something. Fail if not initialized.
14453         (layout_query_geometry): ditto.
14454         (image_instantiator_native_layout): new function. Initialized the
14455         native layout type.
14456         (widget_instantiate): don't do layout stuff here.
14457
14458         * glyphs.c (instantiate_image_instantiator): reorded calling or
14459         instantiate and post_instantiate with layout in between.
14460         (image_instance_layout): be more selective about deciding whether
14461         the layout has been done or not.
14462
14463         * glyphs.h (struct image_instantiator_methods): return a value
14464         from layout_method.
14465
14466 2000-04-26  Andy Piper  <andy@xemacs.org>
14467
14468         * glyphs.c (allocate_image_instance): make initial width and
14469         height unspecified. Set initialized to 0.
14470
14471         * syscommctrl.h new file. Encapsulates commctrl.h.
14472
14473         * syswindows.h new file. Encapsulates windows.h.
14474
14475         * ntplay.c: use new syswindows.h and syscommctrl.h header.
14476         * nt.c: ditto.
14477         * console-msw.h: ditto.
14478
14479         * redisplay-tty.c (tty_output_display_block): remove layout references.
14480
14481         * glyphs-msw.c (mswindows_widget_instantiate): use the domain
14482         window handle rather than just the frame.
14483
14484         * glyphs.c (mark_image_instance): remove layout references.
14485         (print_image_instance): ditto.
14486         (image_instance_equal): ditto.
14487         (image_instance_hash): ditto.
14488         (decode_image_instance_type): ditto.
14489         (encode_image_instance_type): ditto.
14490         (image_instantiate): ditto.
14491         (allocate_glyph): ditto.
14492         (Fimage_instance_height): ditto.
14493         (Fimage_instance_width): ditto.
14494         (update_subwindow): ditto.
14495
14496         * redisplay-x.c (x_output_display_block): recode for layouts as
14497         widgets.
14498
14499         * redisplay-output.c (redisplay_output_layout): recode for layouts
14500         as widgets.
14501         (compare_runes): remove layout references.
14502
14503         * redisplay-msw.c (mswindows_output_display_block): recode for
14504         layouts as widgets.
14505
14506         * glyphs-widget.c (image_instantiator_layout): remove
14507         layout_possible_dest_types.
14508         (layout_possible_dest_types): deleted.
14509
14510         * glyphs.h (image_instance_type): remove layout references.
14511         (struct Lisp_Image_Instance): ditto. Add initialized flag.
14512         (IMAGE_INSTANCE_INITIALIZED): new accessor.
14513         (XIMAGE_INSTANCE_INITIALIZED): ditto.
14514
14515 2000-04-25  Andy Piper  <andy@xemacs.org>
14516
14517         * glyphs-widget.c (image_instantiator_buttons):
14518         (image_instantiator_edit_fields):
14519         (image_instantiator_combo_box):
14520         (image_instantiator_scrollbar):
14521         (image_instantiator_progress_guage):
14522         (image_instantiator_tree_view):
14523         (image_instantiator_tab_control):
14524         (image_instantiator_labels):
14525         (image_instantiator_layout): call default post_instantiate method.
14526         (widget_post_instantiate): new function. Simply lays out the
14527         widgets.
14528
14529         * glyphs.h (struct image_instantiator_methods): add
14530         post_instantiate method.
14531
14532         * glyphs.c (instantiate_image_instantiator): add post_instantiate
14533         method calls.
14534
14535 2000-04-23  Andy Piper  <andy@xemacs.org>
14536
14537         * glyphs.h (struct image_instantiator_methods): add
14538         decode_domain_method.
14539         (struct Lisp_Image_Instance): remove subwindow frame - it can be
14540         derived from the domain.
14541         (IMAGE_INSTANCE_FRAME): new accessor.
14542         (XIMAGE_INSTANCE_FRAME): ditto.
14543
14544         * glyphs.c (print_image_instance): use IMAGE_INSTANCE_FRAME
14545         instead of _SUBWINDOW_FRAME.
14546         (finalize_image_instance): ditto.
14547         (Fimage_instance_foreground): ditto.
14548         (Fimage_instance_background): ditto.
14549         (image_instantiate): ditto.
14550         (update_subwindow_cachel): ditto.
14551         (update_subwindow): ditto.
14552         (unmap_subwindow): ditto.
14553         (map_subwindow): ditto
14554         (subwindow_instantiate): ditto.
14555         * glyphs-msw.c (mswindows_update_widget): ditto.
14556         (mswindows_progress_gauge_instantiate): ditto.
14557         (mswindows_tab_control_update): ditto.
14558         * glyphs-x.c (x_update_widget): ditto.
14559         (x_widget_instantiate): ditto.
14560         (x_tab_control_instantiate): ditto.
14561         (x_tab_control_update): ditto.
14562         * event-msw.c (mswindows_wnd_proc): ditto
14563
14564         * glyphs-widget.c (image_instantiator_layout): use
14565         subwindow_decode_domain.
14566         (image_instantiator_buttons): ditto.
14567         (image_instantiator_edit_fields): ditto.
14568         (image_instantiator_combo_box): ditto.
14569         (image_instantiator_scrollbar): ditto.
14570         (image_instantiator_progress_guage): ditto.
14571         (image_instantiator_tree_view): ditto.
14572         (image_instantiator_tab_control): ditto.
14573         (image_instantiator_labels): ditto.
14574         (image_instantiator_layout): ditto.
14575
14576         * glyphs.c: add instance error checking to many functions.
14577         (instantiate_image_instantiator): decode device from cache_domain.
14578         (image_instantiate): partially rewrite by using
14579         decode_image_instantiator_domain to determine what domain the
14580         instance needs to be cached in.
14581         (decode_image_instantiator_domain): new function. Determine what
14582         domain the image needs to be cached in.
14583         (check_window_subwindow_cache): new error checking function.
14584         (check_instance_cache_mapper): ditto.
14585         (check_image_instance_structure): ditto.
14586         (subwindow_decode_domain): new function. Encodes a window as a
14587         subwindow's cache domain.
14588         (image_instantiator_format_create): use it for text and
14589         subwindows.
14590
14591 2000-04-21  Andy Piper  <andy@xemacs.org>
14592
14593         * glyphs.c (image_instance_device): new function.
14594         (image_instance_frame): new function.
14595         (image_instance_window): new function.
14596         (image_instance_live_p): new function.
14597
14598         * window.c (mark_window_as_deleted): reset the subwindow_instance_
14599         cache to nil.
14600
14601         * glyphs.h (struct Lisp_Image_Instance): device->domain.
14602         (IMAGE_INSTANCE_DOMAIN): new accessor.
14603         (XIMAGE_INSTANCE_DOMAIN): ditto.
14604
14605         * glyphs-x.c (x_finalize_image_instance): device->domain.
14606
14607         * glyphs-msw.c (init_image_instance_geometry): device->domain.
14608         (mswindows_finalize_image_instance): ditto.
14609
14610         * glyphs-eimage.c (jpeg_instantiate): device->domain.
14611         (gif_instantiate): ditto.
14612         (png_instantiate): ditto.
14613         (tiff_instantiate): ditto.
14614
14615         * glyphs.c (instantiate_image_instantiator): use domain rather
14616         than device.
14617         (mark_image_instance): device -> domain.
14618         (print_image_instance): ditto.
14619         (finalize_image_instance): ditto.
14620         (image_instance_equal): ditto.
14621         (allocate_image_instance): ditto.
14622         (Fcolorize_image_instance): ditto.
14623         (query_string_geometry): ditto.
14624         (image_instantiate): ditto
14625         (query_string_font): ditto.
14626         (image_instantiate): ditto.
14627         (update_subwindow): ditto.
14628         (unmap_subwindow): ditto.
14629         (map_subwindow): ditto.
14630         (subwindow_instantiate): ditto.
14631
14632         * specifier.h (DOMAIN_DEVICE): new, semantically correct, decoder.
14633         (DOMAIN_FRAME): ditto.
14634         (DOMAIN_WINDOW): ditto.
14635         (DOMAIN_LIVE_P): ditto.
14636         (XDOMAIN_DEVICE): ditto.
14637         (XDOMAIN_FRAME): ditto.
14638         (XDOMAIN_WINDOW): ditto.
14639
14640         * specifier.c (Fvalid_specifier_domain_p): add image instances as
14641         a valid specifier domain.
14642
14643 2000-04-19  Andy Piper  <andy@xemacs.org>
14644
14645         * glyphs-widget.c (syms_of_glyphs_widget): remove
14646         widget-callback-current-channel.
14647         (vars_of_glyphs_widget): ditto.
14648         * glyphs.h: ditto
14649
14650         * gui.c (get_gui_callback): revert to previous behaviour.
14651
14652 2000-04-18  Andy Piper  <andy@xemacs.org>
14653
14654         * glyphs.h (struct Lisp_Image_Instance): add margin_width.
14655         (IMAGE_INSTANCE_MARGIN_WIDTH): new.
14656         (XIMAGE_INSTANCE_MARGIN_WIDTH): new.
14657
14658         * glyphs.c (image_instance_equal): add margin_width.
14659         (image_instance_hash): ditto.
14660
14661         * glyphs-widget.c (widget_instantiate): deal with margin-width.
14662         (layout_query_geometry): ditto.
14663         (layout_layout): ditto.
14664         (syms_of_glyphs_widget): add margin-width.
14665         (image_instantiator_layout): allow margin-width.
14666
14667         * glyphs.c (update_widget_instances): make a normal function.
14668         (syms_of_glyphs): remove Qupdate_widget_instances.
14669         * glyphs.h: ditto.
14670
14671         * gui-x.c (popup_selection_callback): use enqueue_magic_eval_event
14672         so that we don't corrupt ideas about the last event or
14673         command. Remove widget-callback-current-channel fiddling.
14674         * gui-msw.c (mswindows_handle_gui_wm_command): ditto.
14675
14676 2000-05-01  Martin Buchholz <martin@xemacs.org>
14677
14678         * XEmacs 21.2.33 is released.
14679
14680 2000-05-01  Yoshiki Hayashi  <yoshiki@xemacs.org>
14681
14682         * make-src-depend: Allow dots in header file name.
14683
14684 2000-05-01  Yoshiki Hayashi  <yoshiki@xmacs.org>
14685
14686         * mule-charset.h (struct charset_lookup): Add
14687         next_allocated_1_byte_leading_byte and
14688         next_allocated_2_byte_leading_byte.
14689         * mule-charset.c: Move above two variables so that those values
14690         will be dumped.
14691
14692 2000-04-26  Yoshiki Hayashi  <yoshiki@xemacs.org>
14693
14694         * insdel.c (find_charsets_in_bufbyte_string): Add Vcharset_ascii
14695         when string length is zero.
14696         (find_charsets_in_emchar_string): Ditto.
14697
14698 2000-04-29  Bjrn Torkelsson  <torkel@hpc2n.umu.se>
14699
14700         * lisp.h: extern Qdialog and Qmenubar.
14701
14702         * gui-x.c: added events.h.
14703                 also fixed typo which made the file uncompilable.
14704
14705         * general.c: Added Qmenubar and Qdialog
14706
14707 2000-04-28  Ben Wing  <ben@xemacs.org>
14708
14709         * frame-msw.c (mswindows_init_frame_1):
14710         * frame-msw.c (mswindows_mark_frame):
14711         * event-msw.c (mswindows_enqueue_dispatch_event):
14712         * console-msw.h:
14713         * console-msw.h (struct mswindows_frame):
14714         * console-msw.h (FRAME_MSWINDOWS_WIDGET_HASH_TABLE1):
14715         there are now three hash tables for callbacks.
14716         mswindows_enqueue_dispatch_event is no longer static.
14717
14718         * dialog-x.c (maybe_run_dbox_text_callback):
14719         * dialog-x.c (dbox_descriptor_to_widget_value):
14720         switch to new cons3 form for callbacks.
14721
14722         * glyphs-msw.c (mswindows_register_gui_item):
14723         * glyphs-msw.c (mswindows_widget_instantiate):
14724         * glyphs-msw.c (add_tree_item):
14725         * glyphs-msw.c (add_tab_item):
14726         new image instance parameter, so it can be passed to callback-ex.
14727         respect :callback-ex as well as :callback.
14728
14729         * glyphs-widget.c (VALID_GUI_KEYWORDS):
14730         add :callback-ex.
14731
14732         * glyphs.c (print_image_instance):
14733         prettify, e.g. now prints widget type.
14734
14735         * gui-x.h:
14736         certain funs have new image instance parameter.
14737
14738         * gui.c:
14739         * gui.c (get_gui_callback):
14740         * gui.c (gui_item_add_keyval_pair):
14741         * gui.c (gui_item_init):
14742         * gui.c (gui_add_item_keywords_to_plist):
14743         * gui.c (mark_gui_item):
14744         * gui.c (gui_item_hash):
14745         * gui.c (gui_item_equal):
14746         * gui.c (copy_gui_item):
14747         * gui.c (syms_of_gui):
14748         recognize callback-ex in a number of places.
14749         also, fix the annoying "can't get out of yes-no dialog" bug.
14750
14751         * gui.h:
14752         * gui.h (struct Lisp_Gui_Item):
14753         recognize callback-ex in a number of places.
14754
14755         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
14756         new parameter in button_item_to_widget_value.
14757
14758         * glyphs-x.c (x_update_widget):
14759         * glyphs-x.c (x_button_instantiate):
14760         * glyphs-x.c (x_button_update):
14761         * glyphs-x.c (x_progress_gauge_instantiate):
14762         * glyphs-x.c (x_edit_field_instantiate):
14763         * glyphs-x.c (x_combo_box_instantiate):
14764         * glyphs-x.c (x_tab_control_instantiate):
14765         * glyphs-x.c (x_label_instantiate):
14766         new image instance parameter in various places.
14767
14768         * event-Xt.c:
14769         * event-Xt.c (enqueue_Xt_dispatch_event):
14770         this fun gets exported.
14771
14772         * gui-msw.c:
14773         * gui-msw.c (mswindows_handle_gui_wm_command):
14774         handle both :callback and :callback-ex, and generate our own
14775         event because it's one of the callback-ex arguments.
14776
14777         * gui-x.c:
14778         * gui-x.c (popup_selection_callback):
14779         handle both :callback and :callback-ex, and generate our own
14780         event because it's one of the callback-ex arguments.
14781         * gui-x.c (button_item_to_widget_value):
14782         * gui-x.c (gui_items_to_widget_values_1):
14783         * gui-x.c (gui_item_children_to_widget_values):
14784         * gui-x.c (gui_items_to_widget_values):
14785         new image instance parameter in various places.
14786
14787         * fns.c (Freplace_list):
14788         fix small typo in doc string.
14789
14790         * lisp.h:
14791         declare enqueue_Xt_dispatch_event.
14792
14793 2000-04-28  Ben Wing  <ben@xemacs.org>
14794
14795         * buffer.c:
14796         * buffer.c (Frecord_buffer):
14797         * buffer.c (syms_of_buffer):
14798         delete record-buffer-hook.
14799
14800         * fns.c:
14801         * fns.c (Freplace_list):
14802         * fns.c (syms_of_fns):
14803         new primitive replace-list.
14804
14805         * frameslots.h:
14806         slot for old buffer-alist.
14807
14808         * lisp.h:
14809         exfun replace-list.
14810
14811         * redisplay.c:
14812         * redisplay.c (redisplay_frame):
14813         * redisplay.c (syms_of_redisplay):
14814         * redisplay.c (vars_of_redisplay):
14815         new hook buffer-list-changed-hook.
14816         call it.
14817
14818 2000-04-27  Ben Wing  <ben@xemacs.org>
14819
14820         * extents.h: extern in_modeline_generation.
14821
14822         * redisplay.c (generate_formatted_string_db): set
14823         in_modeline_generation.
14824
14825         * extents.c (extent_changed_for_redisplay): don't mark redisplay
14826         flags if in modeline generation.  otherwise frame-modified-tick
14827         is ticked far too often.
14828         Declare in_modeline_generation.
14829
14830 2000-04-26  Ben Wing  <ben@xemacs.org>
14831
14832         * emacs.c (vars_of_emacs): document quick-build "error-checking"
14833         option.
14834         (vars_of_emacs): add quick-build as an error-checking option.
14835         A bit kludgy, but there doesn't seem much point in creating
14836         a real var for this.
14837
14838         * config.h.in: put in an entry for QUICK_BUILD; remove NO_DOC_FILE.
14839
14840 2000-04-14  IKEYAMA Tomonori  <tomonori@suiyokai.org>
14841
14842         * redisplay.h (struct display_line): Add a new variable,
14843         line_continuation.
14844
14845         * redisplay.c (create_text_block): Set dl->line_continuation if
14846         the line continues.
14847         (create_string_text_block): Ditto.
14848         (regenerate_window_incrementally): Use line_continuation instead
14849         of searching continuation glyph.
14850         (add_margin_runes): Call add_glyph_rune.
14851         (add_glyph_rune): Handle margin glyph.
14852
14853 2000-04-20  Martin Buchholz  <martin@xemacs.org>
14854
14855         * filelock.c (fill_in_lock_file_name):
14856         ANSIfy.
14857         Check for IS_ANY_SEP instead of '/'.
14858         (lock_file_1):
14859         Avoid generating gratuitous garbage.  Call user_login_name() directly.
14860         Never check errno without first seeing that system call failed.
14861         (unlock_file): Add GCPRO.
14862         (Flock_buffer): Fix docstring.
14863         (Ffile_locked_p): Fix docstring.  Add GCPRO.
14864
14865 2000-04-19  Martin Buchholz  <martin@xemacs.org>
14866
14867         * sysdep.c (get_pty_max_bytes):
14868         Fix hangs on DEC OSF 4.0 when (process-send-string) sends
14869         strings longer than 252 bytes.
14870
14871         * md5.c: Unconditionally include ANSI header <limits.h>
14872
14873         * glyphs-x.c (convert_EImage_to_XImage):
14874         * lisp-union.h (union Lisp_Object):
14875         Use consistently the syntax #ifdef FEATURE, not #if FEATURE.
14876
14877 2000-04-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
14878
14879         * filelock.c (current_lock_owner): Remove unused variable o, p.
14880
14881 2000-04-17  Norbert Koch  <n.koch@eai-delta.de>
14882
14883         * callint.c: Remove multiply defined symbol Qlet
14884         (syms_of_callint): ditto.
14885
14886 2000-04-14  Andy Piper  <andy@xemacs.org>
14887
14888         * general.c (syms_of_general): add last-command, this-command, let
14889         and funcall.
14890
14891         * lisp.h: declare various symbols.
14892
14893         * glyphs.h: declare Qwidget_callback_current_channel;
14894
14895         * glyphs-widget.c (syms_of_glyphs_widget): add
14896         Qgui_callback_current_channel.
14897         (vars_of_glyphs_widget): add Vgui_callback_current_channel.
14898
14899         * gui-msw.c (mswindows_handle_gui_wm_command): bind
14900         widget-callback-current-channel when invoking the interactive
14901         arg. Also bind last-command and next-command when invoking the
14902         widget updates.
14903         * gui-x.c (popup_selection_callback): ditto.
14904
14905         * gui.c (get_gui_callback): massage args so that we are always
14906         calling eval. This allows us to add our own variable bindings
14907         outside.
14908
14909         * glyphs-x.c (x_button_instantiate): use
14910         gui_items_to_widget_values since this is GC safe.
14911         (x_progress_gauge_instantiate): ditto.
14912         (x_edit_field_instantiate): ditto.
14913         (x_label_instantiate): ditto.
14914
14915         * event-Xt.c (emacs_Xt_handle_magic_event): remove old printfs.
14916         (emacs_Xt_event_widget_focus_out): new function
14917         (emacs_Xt_event_widget_focus_in): new function. Set the keyboard
14918         focus.
14919         (emacs_Xt_event_add_widget_actions): new function. add focus
14920         functions as actions.
14921         (init_event_Xt_late): use it.
14922
14923 2000-04-14  Hrvoje Niksic  <hniksic@iskon.hr>
14924
14925         * event-stream.c (Fdispatch_event): Doc fix.
14926
14927 2000-03-29  SL Baur  <steve@musashimaru.m17n.org>
14928
14929         * postgresql.c: Remove all references to PQsetenv*.
14930
14931         * postgresql.h: Remove references to PGsetenvHandler object.
14932         * lrecord.h (lrecord_type): Ditto.
14933
14934 2000-04-11  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14935
14936         * glyphs-msw.h (struct mswindows_image_instance_data): Added
14937         real_heigh and real_width members, and accessor macros for these.
14938
14939         * glyphs-msw.c (init_image_instance_geometry): New function.
14940         (init_image_instance_from_dibitmap): Use it.
14941         (mswindows_resource_instantiate): Use it.
14942         (init_image_instance_from_xbm_inline): Use it.
14943         (mswindows_initialize_image_instance_mask): Use real bitmap
14944         geometry.
14945         (mswindows_create_resized_bitmap): Ditto.
14946         (mswindows_create_resized_mask): Ditto.
14947
14948         * redisplay-msw.c (mswindows_output_dibitmap): Stretch real mask
14949         and bitmap to their surface size.
14950
14951 2000-04-11  Jan Vroonhof  <jan@xemacs.org>
14952
14953         * process-unix.c (unix_send_process): Guard against process MIA
14954         after Faccept_process_output.
14955
14956 2000-04-11  Ben Wing  <ben@xemacs.org>
14957
14958         * eval.c (unbind_to_hairy): fix brokenness introduced by
14959         nanosecond speed improvements.
14960
14961 2000-04-07  Raymond Toy  <toy@rtp.ericsson.se>
14962
14963         * sunplay.c (init_device): To play sounds correctly, the device
14964         apparently needs to be initialized at least once by XEmacs.  Make
14965         it so.
14966
14967 2000-04-10  IKEYAMA Tomonori  <tomonori@suiyokai.org>
14968
14969         * redisplay.c (add_margin_runes): Add text image glyph
14970           handling.
14971
14972 2000-04-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
14973
14974         * lisp.h (DOESNT_RETURN): Don't declare as volatile when
14975         gcc is newer than 2.5.
14976
14977 2000-04-06  Colin Rafferty  <colin@xemacs.org>
14978
14979         * lisp.h (FLEXIBLE_ARRAY_STRUCT_SIZEOF): Created.
14980
14981         * fns.c (size_bit_vector):
14982         * alloc.c (size_vector):
14983         (make_vector_internal):
14984         (make_bit_vector_internal):
14985         (sweep_bit_vectors_1):
14986         Replace calls to offsetof with FLEXIBLE_ARRAY_STRUCT_SIZEOF macro.
14987
14988 2000-04-06  Andy Piper  <andy@xemacs.org>
14989
14990         * gmalloc.c (malloc): undo previous change.
14991         (malloc): ditto.
14992         (free): ditto.
14993         (realloc): ditto.
14994
14995 2000-04-06  IKEYAMA Tomonori <tomonori@suiyokai.org>
14996
14997         * line-number.c (buffer_line_number): Revert to former version.
14998
14999 2000-04-06  Andy Piper  <andy@xemacs.org>
15000
15001         * gmalloc.c (malloc): add error checking.
15002         (malloc): ditto.
15003         (free): ditto.
15004         (realloc): ditto.
15005
15006         * dialog-x.c (dbox_descriptor_to_widget_value): add extra
15007         button_item_to_widget_value arg.
15008
15009         * glyphs-x.c (x_button_instantiate): add extra
15010         button_item_to_widget_value arg.
15011         (x_progress_gauge_instantiate): ditto.
15012         (x_edit_field_instantiate): ditto.
15013         (x_label_instantiate): ditto.
15014
15015         * gui-x.c (gui_items_to_widget_values_1): add extra
15016         button_item_to_widget_value arg.
15017         (button_item_to_widget_value): add extra menu_item_p arg.
15018
15019         * gui-x.h: change signature of button_item_to_widget_value.
15020
15021         * menubar-x.c (menu_item_descriptor_to_widget_value_1): add extra
15022         button_item_to_widget_value arg.
15023
15024 2000-04-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
15025
15026         * buffer.h (struct buffer): auto_save_modified should be long.
15027
15028 2000-04-05  Andy Piper  <andy@xemacs.org>
15029
15030         * glyphs-widget.c (widget_instantiate): pixwidth != pixheight
15031         type.
15032         (button_query_geometry): give a little more room so that athena
15033         buttons fit.
15034
15035 2000-04-05  Andy Piper  <andy@xemacs.org>
15036
15037         * faces.c (complex_vars_of_faces): The widget face should inherit
15038         the font of the gui-element face.
15039
15040 2000-04-04  Andy Piper  <andy@xemacs.org>
15041
15042         * glyphs-x.c (x_button_update): new function. unconditionally
15043         update a button's state when the instance is dirty.
15044         (image_instantiator_format_create_glyphs_x): add x_button_update.
15045         (x_widget_instantiate): remove old resize cruft.
15046
15047 2000-04-02  Andy Piper  <andy@xemacs.org>
15048
15049         * frame.c (change_frame_size_1): The introduction of gutters means
15050         that we need to allow 0 as a potential frame dimension.
15051
15052 2000-04-02  IKEYAMA Tomonori  <tomonori@suiyokai.org>
15053
15054         * redisplay.c (add_glyph_rune): Don't set 0 to bufpos for text
15055         image glyph if allow_cursor.
15056         (add_hscroll_rune): Don't allow cursor to border glyph.
15057         (create_text_block): Ditto.
15058
15059         * redisplay-output.c (redisplay_move_cursor): Do nothing even if
15060         text not in buffer.
15061         (redisplay_output_layout): Call ensure_face_cachel_complete for
15062         text image glyph.
15063
15064
15065 2000-03-16  IKEYAMA Tomonori  <tomonori@suiyokai.org>
15066
15067         * redisplay.c (add_glyph_rune): Adding text image as text runes.
15068
15069         * redisplay-output.c (redisplay_move_cursor): NO_CURSOR if text
15070         not in buffer
15071
15072         * redisplay-tty.c (tty_output_display_block): Delete the routine
15073         for text image glyph
15074         * redisplay-x.c (x_output_display_block): ditto
15075         * redisplay-msw.c (mswindows_output_display_block): ditto
15076
15077 2000-02-02  Mike Alexander  <mta@arbortext.com>
15078
15079         Note: Some of these were committed by accident as part of other
15080         patches.
15081
15082         * regex.c (regex_compile): Avoid compiler warnings.
15083
15084         * ntproc.c (sys_spawnve): Avoid compiler warnings.
15085
15086         * nt.h: Declare term_ntproc correctly.
15087
15088         * nt.c: Remove incorrect declaration of get_home_directory which
15089         is declared correctly in lisp.h.
15090
15091         * keymap.c (get_keyelt): Avoid compiler warnings.
15092         (raw_lookup_key_mapper): Avoid compiler warnings.
15093
15094         * gutter.c (gutter_was_visible): Add return statement to avoid warning.
15095
15096         * glyphs-eimage.c (png_instantiate): Avoid compiler warnings.
15097
15098         * filemode.c (mode_string): Avoid compiler warnings.
15099
15100         * file-coding.c (Fcoding_system_aliasee): Add return statement to
15101         avoid warning.
15102
15103         * events-mod.h: Undef some things that winuser.h defines differently.
15104
15105         * data.c (Faset): Avoid compiler warnings.
15106
15107         * alloc.c (Fmake_byte_code): Avoid compiler warnings.
15108
15109 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
15110
15111         * sound.c (Fplay_sound_file): Wrap ESD in start/stop_interrupts.
15112         Fall through to simple beep on error.
15113         Replace "extern" by real header file.
15114
15115         * linuxplay.c: Use nativesound.h
15116         (play_sound_data): Return error code. Be less verbose on error.
15117
15118         * sunplay.c: Use nativesound.h
15119         (play_sound_data): Return error code. Be less verbose on error.
15120
15121         * ntplay.c: Use nativesound.h
15122         (play_sound_data): Return fake error code
15123
15124         * sgiplay.c: Use nativesound.h
15125         (play_sound_data): Return error code
15126
15127         * hpplay.c: Use nativesound.h, partially implement
15128         new error code. Break compilation until finished.
15129         (play_sound_data): error code.
15130
15131         * nativesound.h (play_sound_file):
15132           (play_sound_data): Prototype in new header.
15133
15134 2000-03-31  Andy Piper  <andy@xemacs.org>
15135
15136         * glyphs-widget.c: (button_query_geometry): new function. Adjust
15137         for toggle and radio buttons.
15138         (image_instantiator_buttons): use it.
15139
15140 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
15141
15142         * scrollbar-x.c (x_update_vertical_scrollbar_callback):
15143         (x_update_horizontal_scrollbar_callback): Return if no mirror was
15144         found. Scrollbar event probably belonged to some old config.
15145
15146 2000-03-31  Andy Piper  <andy@xemacs.org>
15147
15148         * glyphs-widget.c (widget_instantiate): use LAYOUT_VERTICAL rather
15149         than 1.
15150         (initialize_widget_image_instance): default layout to
15151         LAYOUT_HORIZONTAL rather than 0.
15152         (widget_instantiate): reverse the item list at the end rather than
15153         every iteration.
15154         (layout_layout): re-code for the border text at the front of the
15155         item list rather than at the end.
15156         (layout_query_geometry): ditto. Pick up fixed and dynamic sizes
15157         provided by the user.
15158         (widget_query_geometry): comment.
15159
15160 2000-03-30  Andy Piper  <andy@xemacs.org>
15161
15162         * glyphs-widget.c (image_instantiator_layout): allow standard
15163         widget keywords in layouts.
15164
15165         * gutter.c (output_gutter): cope with nil gutter contents.
15166
15167         * frame.c (Fset_frame_properties): add gutter docs.
15168
15169 2000-03-29  Andy Piper  <andy@xemacs.org>
15170
15171         * toolbar-msw.c (TBSTYLE_FLAT): add.
15172         (mswindows_output_toolbar): minor fiddling.
15173
15174 2000-03-29  Andy Piper  <andy@xemacs.org>
15175
15176         * gutter.c (output_gutter): force gutter size recalculation if
15177         what we are trying to display won't fit.
15178         (update_gutter_geometry): new function. A per-gutter version of
15179         update_frame_gutter_geometry.
15180         (update_frame_gutter_geometry): use it.
15181         (redraw_exposed_gutter): add extra debugging output.
15182
15183 2000-03-28  Mike Alexander  <mta@arbortext.com>
15184
15185         * dumper.c: Declare pdump_hFile and pdump_hMap (Windows only)
15186         (pdump_file_unmap): Implement it on Windows
15187         (pdump_file_get): Save alocated handles for pdump_file_unmap
15188
15189 2000-03-28  Andy Piper  <andy@xemacs.org>
15190
15191         * gui.c (get_gui_callback): treat Quit specially.
15192
15193 2000-03-27  Andy Piper  <andy@xemacs.org>
15194
15195         * glyphs.c (image_instantiate): be careful to check in the same
15196         way we assigned.
15197
15198 2000-03-27  Didier Verna  <didier@xemacs.org>
15199
15200         * config.h.in: define the proper SMART_INCLUDE macro.
15201         handle renaming of `foo_h_path' to `foo_h_file'.
15202
15203         * database.c: ditto.
15204
15205         * emacs.c: ditto.
15206
15207         * linuxplay.c: ditto.
15208
15209         * terminfo.c: ditto.
15210
15211         * tooltalk.h: ditto.
15212
15213 2000-03-27  Andy Piper  <andy@xemacs.org>
15214
15215         * glyphs-msw.c (mswindows_update_widget): make sure the widget
15216         gets updated whenever the face might have changed.
15217
15218 2000-03-26  Mike Alexander  <mta@arbortext.com>
15219
15220         * dumper.c (pdump_resource_free): Fix the comment.
15221
15222 2000-03-21  Olivier Galibert  <galibert@pobox.com>
15223
15224         * input-method-xlib.c (XIM_init_frame): Remove painful warning.
15225
15226 2000-03-22  Mike Alexander  <mta@arbortext.com>
15227
15228         * dumper.c: Include Windows headers on Windows
15229         (pdump_resource_free): Add a body to the function
15230         (pdump_load): exe_name -> exe_path and add some comments.
15231
15232 2000-03-25  Mike Alexander  <mta@arbortext.com>
15233
15234         * gui.c (copy_gui_item_tree): Return a value in all cases
15235
15236 2000-03-21  Didier Verna  <didier@xemacs.org>
15237
15238         * config.h.in: move INCLUDE_GLUE_1 and INCLUDE_GLUE_2 here from
15239         lwlib/config.h.in.
15240         (SMART_INCLUDE): new macro.
15241         (POSTGRES_INCLUDE): new macro to include postgresql headers from
15242         the proper location.
15243
15244         * postgresql.c: use it.
15245
15246         * inline.c: ditto.
15247
15248 2000-03-24  Andy Piper  <andy@xemacs.org>
15249
15250         * gutter.c (redraw_exposed_gutters): must be "in display" when we
15251         do this.
15252
15253 2000-03-24  Andy Piper  <andy@xemacs.org>
15254
15255         * redisplay-output.c (compare_runes): use image_instance_changed
15256         to detect changes. Do not depend on glyphs_changed, only depend on
15257         dirtiness.
15258          (redisplay_output_layout): add debug messages.
15259         (compare_runes): ditto.
15260
15261         * glyphs.h: declare new functions.
15262         (struct Lisp_Image_Instance): remove percent and associated
15263         accessors.
15264
15265         * gui.h: declare new copying functions.
15266
15267         * gui.c (copy_gui_item_tree): new function.
15268         (copy_gui_item): new function.
15269         (gui_item_id_hash): revert to standard hash.
15270         (gui_item_hash): ditto.
15271         (gui_item_hash_internal): deleted.
15272         (mark_gui_item): mark value.
15273         (gui_item_add_keyval_pair): add value.
15274         (gui_item_init): ditto.
15275         (gui_add_item_keywords_to_plist): ditto.
15276         (gui_item_equal): ditto.
15277         (syms_of_gui): add Q_value.
15278
15279         * glyphs-x.c (x_progress_gauge_update): use pending items and
15280         value for setting the state.
15281         (x_update_widget): don't set items from pending here.
15282
15283         * glyphs-widget.c (update_widget): update items here.
15284         (progress_gauge_set_property): use items for storing value. Put
15285         new value in pending items.
15286
15287         * glyphs-msw.c (mswindows_progress_gauge_update): use pending
15288         items for new value. Convert percent -> value.
15289         (mswindows_tab_control_update): don't update items here.
15290
15291         * glyphs.c (Fupdate_widget_instances): use image_instance_changed.
15292         (update_subwindow): ditto.
15293         (image_instance_changed): new function. Compare hash values and
15294         past and present widget items.
15295         (image_instantiate): We more careful about where we instantiate
15296         things.
15297         (image_instantiate): add error checking.
15298
15299         * gutter.c (syms_of_gutter): use -hook.
15300
15301 2000-03-20  Yoshiki Hayashi  <yoshiki@xemacs.org>
15302
15303         * console-tty.c (Fset_console_tty_input_coding_system): Use
15304         Qkeyboard.
15305         (Fset_console_tty_output_coding_system): Use Qterminal.
15306         (tty_init_console): Use Qkeyboard and Qterminal.
15307
15308 2000-03-21  Ben Wing  <ben@xemacs.org>
15309
15310         * ntproc.c (create_child): remove bogus HAVE_NTGUI's.
15311         From Mike Alexander <mta@arbortext.com>.
15312
15313 2000-03-21  Ben Wing  <ben@xemacs.org>
15314
15315         * event-msw.c (mswindows_need_event): Horrible kludge to fix
15316         process brokenness.  Proper implementation to come.
15317         * callproc.c:
15318         Rename call-process-internal to old-call-process-internal.
15319         New impl. in process.el.
15320
15321 2000-03-21  Martin Buchholz  <martin@xemacs.org>
15322
15323         * Makefile.in.in: Coalesce HAVE_NATIVE_SOUND code fragments.
15324
15325 2000-03-20  Andy Piper  <andy@xemacs.org>
15326
15327         * glyphs.c (full_list_hash): make hashes of the same elements in
15328         different orders return different values.
15329
15330 2000-03-20  Martin Buchholz <martin@xemacs.org>
15331
15332         * XEmacs 21.2.32 is released.
15333
15334 2000-03-20  Martin Buchholz  <martin@xemacs.org>
15335
15336         * buffer.h (DFC_ALLOCA_USE_CONVERTED_DATA):
15337         (DFC_MALLOC_USE_CONVERTED_DATA):
15338         Add aliasing-safe casts to allow use with char* or unsigned char*
15339         lvalues.
15340
15341         * eldap.c (Fldap_open):
15342         (Fldap_search_basic):
15343         (Fldap_add):
15344         (Fldap_modify):
15345         Make C++-compilable.
15346         Make sure GCPRO'ed variables are initialized.
15347         Use temp variables to avoid repeated calls to Flength.
15348
15349 2000-03-16  Martin Buchholz  <martin@xemacs.org>
15350
15351         * sysfile.h:
15352         Make sure PATH_MAX is always defined.
15353         Include limits.h for PATH_MAX.
15354         Deprecate use of MAXPATHLEN.
15355
15356 2000-03-10  Martin Buchholz  <martin@xemacs.org>
15357
15358         * emacs.c: Add reinit_vars_of_fileio.
15359         * symsinit.h: Add reinit_vars_of_fileio.
15360         * fileio.c (reinit_vars_of_fileio): New.
15361         * fileio.c (Fmake_temp_name):
15362         Initialize temp_name random number from microseconds to make
15363         collisions even less likely.  Initialize always at process startup
15364         time.  (make-temp-name) used to return the same file name twice in
15365         a row when PDUMP.
15366         Random stylistic fiddling.
15367         Comment fixes.
15368
15369 2000-03-20  Andy Piper  <andy@xemacs.org>
15370
15371         * glyphs.c (image_instantiate): allow text glyphs to be
15372         instantiated in the minibuffer window.
15373
15374 2000-03-19  Andy Piper  <andy@xemacs.org>
15375
15376         * glyphs.c (image_instance_hash): be careful about which items we
15377         hash on.
15378
15379         * glyphs-widget.c (tab_control_set_property): record into pending
15380         items rather than the actual items.
15381
15382         * glyphs-x.c (x_update_widget): use pending items to update with.
15383
15384         * glyphs-msw.c (mswindows_tab_control_update): use pending items
15385         to update with.
15386
15387         * glyphs.c (mark_image_instance): mark pending items.
15388
15389         * window.c (Fset_window_configuration): record the buffer.
15390         (Fselect_window): totally revert previous change which breaks many
15391         things.
15392
15393 2000-03-18  Andy Piper  <andy@xemacs.org>
15394
15395         * glyphs-msw.c (mswindows_tab_control_update): force selected
15396         item.
15397
15398         * glyphs.c (image_instantiate): don't allow the minibuffer as a
15399         window domain cache, otherwise we get inconsistencies at
15400         startup. There is something fishy at startup which can lead to the
15401         minibuffer being the selected window when the gutter content is
15402         instantiated.
15403
15404         * gui.c (parse_gui_item_tree_list): add probably unnecessary
15405         gcpros.
15406         (parse_gui_item_tree_children): ditto.
15407         (parse_gui_item_tree_item): ditto.
15408
15409         * glyphs.c (Fupdate_widget_instances): return something.
15410
15411 2000-03-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
15412
15413         * window.c (Fselect_window): Undo 2000-03-17 change.
15414
15415 2000-03-17  SL Baur  <steve@musashimaru.m17n.org>
15416
15417         * postgresql.c (Fpq_setenv): Remove this turkey when linking
15418         against v7.0 libraries.  Insta-coredump city until the postgres
15419         folks fix it.
15420
15421 2000-03-17  Andy Piper  <andy@xemacs.org>
15422
15423         * faces.c (complex_vars_of_faces): don't give the widget face an
15424         inherited background pixmap.
15425
15426         * glyphs-msw.c (mswindows_tab_control_instantiate): select the
15427         selected item.
15428
15429         * event-stream.c (Fdispatch_non_command_events): return something.
15430
15431         * gutter.c (output_gutter): use widget face.
15432         (clear_gutter): ditto.
15433
15434         * NEWS: adjust again.
15435
15436         * window.c (Fselect_window): make sure this runs to completion to
15437         avoid oddities with Fset_window_configuration.
15438         (Fcurrent_window_configuration): in general do not save the
15439         minibuffer as the selected window.
15440
15441         * glyphs.h (IMAGE_INSTANCE_HASH_DEPTH): increase.
15442
15443 2000-03-16  Olivier Galibert  <galibert@pobox.com>
15444
15445         * emacs.c (Frunning_temacs_p): Revert previous patch.
15446         (main_1): Reinitialize running_temacs_argc if pdump_load succeeds.
15447
15448 2000-03-16  Andy Piper  <andy@xemacs.org>
15449
15450         * glyphs-x.c (x_tab_control_update): if no widget values then
15451         return.
15452
15453         * NEWS: update for new features.
15454
15455         * event-Xt.c (emacs_Xt_force_event_pending): new function. Post a
15456         synthetic event to the native system.
15457         (reinit_vars_of_event_Xt): set force_event_pending to
15458         emacs_Xt_force_event_pending.
15459
15460         * events.h (struct event_stream): add force_event_pending.
15461
15462         * specifier.c (recompute_one_cached_specifier_in_window): add
15463         comment.
15464
15465         * redisplay.c (redisplay_frame): don't call
15466         update_frame_subwindows. Reset subwindow cachels when
15467         subwindows_changed, removing this was an optimization too far.
15468
15469         * redisplay-output.c (compare_runes): reorganize so that we catch
15470         glyph changes when we want them. Set optimize_output when this
15471         would help layouts.
15472         (redisplay_output_layout): remove frame_really_changed, use
15473         optimize_output instead.
15474
15475         * redisplay-msw.c (mswindows_output_display_block): reset
15476         optimize_output after outputting a glyph.
15477         * redisplay-x.c (x_output_display_block): ditto.
15478         * redisplay-tty.c (tty_output_display_block): ditto.
15479
15480         * gutter.c: (specifier_vars_of_gutter): use new spec changed
15481         functions.
15482         (gutter_specs_changed): do specific gutter positions.
15483         (top_gutter_specs_changed): new function. Only update the
15484         specified gutter specs.
15485         (bottom_gutter_specs_changed): ditto.
15486         (left_gutter_specs_changed): ditto.
15487         (right_gutter_specs_changed): ditto.
15488
15489         * gui.c (gui_item_hash_internal): new function, does a real hash.
15490         (gui_item_id_hash): use it.
15491         (gui_item_hash): hash the eval'ed gui_item.
15492
15493         * gui-x.c (popup_selection_callback): send an eval event to call
15494         Fupdate_widget_instances.
15495
15496         * gui-msw.c (mswindows_handle_gui_wm_command): send an eval event
15497         to call Fupdate_widget_instances.
15498
15499         * glyphs.h (struct Lisp_Image_Instance): add optimize_output flag.
15500         (IMAGE_INSTANCE_OPTIMIZE_OUTPUT): access it.
15501
15502         * glyphs.c: (update_frame_subwindows): deleted.
15503         (Fupdate_widget_instances): new function for updating the dirty
15504         state of widgets that might have changed.
15505         (syms_of_glyphs): add Qupdate_widget_instances.
15506         (full_list_hash): hash a list completely.
15507         (image_instance_hash): use it for items and properties.
15508
15509         * frame-msw.c (mswindows_size_frame_internal): remove unused
15510         variable.
15511
15512         * faces.h (struct face_cachel): fix comment.
15513
15514         * event-stream.c (Fdispatch_non_command_events): new
15515         function. Process non-command events, forcing an event cycle
15516         beforehand.
15517         (syms_of_event_stream): declare.
15518         (event_stream_force_event_pending): new function. Force an event
15519         on the native event queue so that an event cycle will occur next
15520         time we check.
15521
15522         * event-msw.c:
15523         (struct ntpipe_shove_stream):
15524         (mswindows_enqueue_dispatch_event):
15525         (mswindows_dequeue_dispatch_event):
15526         (mswindows_cancel_dispatch_event):
15527         (mswindows_pump_outstanding_events):
15528         (mswindows_drain_windows_queue):
15529         (mswindows_handle_paint):
15530         (mswindows_wnd_proc):
15531         (mswindows_key_to_emacs_keysym):
15532         (get_process_input_waitable):
15533         (emacs_mswindows_delete_stream_pair): re-indent file.
15534         (mswindows_need_event): do not process further fds if the windows
15535         fd is set, otherwise you get endless XM_BUMPQUEUE cycles. This
15536         fixes the 100% cpu problem.
15537         (reinit_vars_of_event_mswindows): set force_event_pending to 0.
15538
15539 2000-03-15  Olivier Galibert  <galibert@pobox.com>
15540
15541         * alloc.h: New.
15542         * dumper.h: New.
15543         * dumper.c: New.
15544
15545         * emacs.c: Moved dump file searching to dumper.c.
15546         (Frunning_temacs_p): Fixed.
15547
15548         * alloc.c: Moved everything pdump-related to dumper.c.  Removed
15549         last_lrecord_type_index_assigned.
15550
15551 2000-02-20  Olivier Galibert  <galibert@pobox.com>
15552
15553         * symsinit.h: Added reinit parameter to init_console_stream
15554         declaration.
15555
15556         * lisp.h: Added file parameter to pdump_load declaration.
15557
15558         * emacs.c (main_1): Added -nd/--nodump-file and -sd/--show-dump-id
15559         support.  Added dump file searching.
15560
15561         * config.h.in: Added EMACS_PROGNAME.
15562
15563         * console-stream.c (init_console_stream): Fix reinitialisation
15564         when running from temacs.
15565
15566         * alloc.c (pdump): Add id support.
15567         (pdump_load): Add file parameter and signature/id support.
15568
15569         * Makefile.in.in: Add full pdump support.
15570
15571 2000-03-15  SL Baur  <steve@musashimaru.m17n.org>
15572
15573         * postgresql.c: Update documentation to reflect latest code
15574         status.
15575         (print_result): Show tuple counts in printed representation when
15576         appropriate.
15577         (Fpq_put_nbytes): MULE-ize.
15578         (Fpq_get_line_async): Ditto.
15579
15580 2000-03-14  SL Baur  <steve@musashimaru.m17n.org>
15581
15582         * postgresql.c (Fpq_lo_import): Fix return value.
15583         Suggested by: Kenji Itoh <keit@tpj.co.jp>.
15584
15585 2000-03-13  Ben Wing  <ben@xemacs.org>
15586
15587         * alloc.c (pdump_load):
15588         Fix compile warning under mswin.
15589
15590 2000-03-14  SL Baur  <steve@musashimaru.m17n.org>
15591
15592         * postgresql.c: Mule-ization, bug fixes.
15593         Use PG_CODING to encapsulate coding system name changes.
15594         Backport a version of TO_EXTERNAL format for 21.1/InfoDock.
15595         (pg-coding-system): Create.
15596
15597         (Fpq_conn_defaults): Mule-ize.
15598         (Fpq_connectdb): Mule-ize & bug fix.
15599         (Fpq_connect_start): Mule-ize.
15600         (Fpq_set_client_encoding): Mule-ize.
15601         (Fpq_finish): Document `DEAD' connection status.
15602         (Fpq_clear): Ditto.
15603         (Fpq_pgconn): Mule-ize.
15604         (Fpq_exec): Mule-ize & bug fix.
15605         (Fpq_send_query): Ditto.
15606         (Fpq_get_result): Ditto.
15607         (Fpq_res_status): Mule-ize.
15608         (Fpq_result_error_message): Mule-ize.
15609         (Fpq_ntuples): fix comments.
15610         (Fpq_fname): Mule-ize.
15611         (Fpq_fnumber): Mule-ize.
15612         (Fpq_ftype): fix comments.
15613         (Fpq_get_value): Mule-ize.
15614         (Fpq_cmd_status): Ditto.
15615         (Fpq_cmd_tuples): Ditto.
15616         (Fpq_oid_value): Ditto.
15617         (Fpq_notifies): Ditto.
15618         (Fpq_lo_import): Ditto.
15619         (Fpq_lo_export): Ditto.
15620         (Fpq_get_line): Ditto.
15621         (Fpq_put_line): Mule-ize and bug fix.
15622         (syms_of_postgresql): Fix ifdef'ing, add pg-coding-system.
15623
15624 2000-03-10  SL Baur  <steve@musashimaru.m17n.org>
15625
15626         * postgresql.c (vars_of_postgresql): Mule-ize.
15627         (Fpq_conn_defaults): Ditto.
15628
15629 2000-03-12  Ben Wing  <ben@xemacs.org>
15630
15631         * alloc.c (Fmake_byte_code):
15632         * alloc.c (debug_string_purity_print):
15633         * alloc.c (pdump_backtrace):
15634         * alloc.c (pdump_get_indirect_count):
15635         * alloc.c (pdump_register_sub):
15636         * alloc.c (pdump_register_object):
15637         * alloc.c (pdump_register_struct):
15638         * alloc.c (pdump_dump_data):
15639         * alloc.c (pdump_reloc_one):
15640         Minor cleanups.
15641
15642         * console-msw.c:
15643         * console-msw.c (GetConsoleHwnd):
15644         * console-msw.c (msw_hide_console):
15645         * console-msw.c (msw_show_console):
15646         * console-msw.c (msw_ensure_console_buffered):
15647         * console-msw.c (msw_output_console_string):
15648         * console-msw.c (console_type_create_mswindows):
15649
15650         a) Added functions to manipulate the console window for use with
15651         shell support.
15652
15653         b) Added support for writing text to the console, which is now
15654         used under Windows when xemacs is not being run non-interactively,
15655         to write text that would otherwise be destined for stdout because
15656         under these circumstances, text written to stdout tends to
15657         disappear and not be seen.
15658
15659         * console-msw.h:
15660         * event-Xt.c:
15661         * event-Xt.c (x_event_to_emacs_event):
15662         * event-Xt.c (describe_event_window):
15663         * events-mod.h (XEMACS_MOD_CONTROL):
15664         * events.c:
15665         * events.c (Fmake_event):
15666         * events.c (character_to_event):
15667         * events.c (event_to_character):
15668         * events.c (format_event_object):
15669         * events.c (Fevent_modifiers):
15670         * events.h:
15671         * events.h (struct key_data):
15672         * events.h (struct button_data):
15673         * events.h (struct misc_user_data):
15674         * frame-x.c (Fcde_start_drag_internal):
15675         * frame-x.c (Foffix_start_drag_internal):
15676         * gpmevent.c (Freceive_gpm_event):
15677         * keymap.c:
15678         * keymap.c (bucky_sym_to_bucky_bit):
15679         * keymap.c (control_meta_superify):
15680         * keymap.c (make_key_description):
15681         * keymap.c (keymap_lookup_directly):
15682         * keymap.c (create_bucky_submap):
15683         * keymap.c (keymap_store):
15684         * keymap.c (define_key_check_and_coerce_keysym):
15685         * keymap.c (define_key_parser):
15686         * keymap.c (define_key_alternate_name):
15687         * keymap.c (Fdefine_key):
15688         * keymap.c (raw_lookup_key_mapper):
15689         * keymap.c (struct map_keymap_unsorted_closure):
15690         * keymap.c (map_keymap_unsorted_mapper):
15691         * keymap.c (map_keymap_sort_predicate):
15692         * keymap.c (map_keymap_sorted):
15693         * keymap.c (accessible_keymaps_mapper_1):
15694         * keymap.c (where_is_recursive_mapper):
15695         * keymap.c (describe_map_mapper):
15696         * keymap.c (describe_map_sort_predicate):
15697         * keymap.c (describe_map):
15698         * keymap.c (complex_vars_of_keymap):
15699         And a number of other files, the key modifier preprocessor
15700         constants that xemacs uses have names that conflict with constants
15701         defined under MS Windows for other purposes, so they were renamed
15702         to begin with the prefix XEMACS_. The variables that hold such
15703         modifiers were changed to consistently be of type int to fix
15704         various compile warnings.
15705
15706         * console.c (complex_vars_of_console):
15707         * device.c:
15708         * device-msw.c:
15709         * device-msw.c (mswindows_finish_init_device):
15710         * device-msw.c (msw_get_workspace_coords):
15711         * device-msw.c (mswindows_device_system_metrics):
15712         and various other files, added support for a new
15713         device property called offset-workspace which returns the position
15714         of the upper left corner of the workspace area and goes along with
15715         the existing size-workspace property.
15716
15717         * dialog-msw.c:
15718         * dialog-msw.c (push_bufbyte_string_as_unicode):
15719         * dialog-msw.c (mswindows_popup_dialog_box):
15720         Added support for XEmacs-style accelerator specifications in
15721         button text.  Note: I didn't add support for this under X Windows,
15722         and somebody needs to do this.
15723
15724         * dialog.c:
15725         * dialog.c (Fpopup_dialog_box):
15726         Documented the support for accelerators that was just mentioned.
15727
15728         editfns.c (get_home_directory): Changed behavior under Windows
15729         when HOME not defined; former behavior was irretrievably broken.
15730
15731         * emacs.c:
15732         * emacs.c (main_1):
15733         * emacs.c (main):
15734         * minibuf.c (clear_echo_area_internal):
15735         * minibuf.c (echo_area_append):
15736         * print.c:
15737         * print.c (std_handle_out_external):
15738         * print.c (std_handle_out_va):
15739         * print.c (fatal):
15740         * print.c (write_string_to_stdio_stream):
15741         * print.c (output_string):
15742         * print.c (debug_print):
15743         * print.c (debug_backtrace):
15744         * print.c (debug_short_backtrace):
15745         Cleaned up the code that prints text to stdout so that this can be
15746         changed to output into a console window instead under MS Windows,
15747         as described above.
15748
15749         * eval.c:
15750         * eval.c (DEFEND_AGAINST_THROW_RECURSION):
15751         * eval.c (internal_catch):
15752         * eval.c (unwind_to_catch):
15753         * eval.c (throw_or_bomb_out):
15754         * eval.c (condition_case_1):
15755         * eval.c (signal_1):
15756         * eval.c (check_error_state_sanity):
15757         * eval.c (call_with_suspended_errors_1):
15758         * eval.c (call_with_suspended_errors):
15759         * eval.c (reinit_vars_of_eval):
15760         Added code to catch throw loops and check for a pesky bug that may
15761         be gone now.
15762
15763         * event-msw.c:
15764         * event-msw.c (key_needs_default_processing_p):
15765         * event-msw.c (mswindows_wnd_proc):
15766         * event-msw.c (mswindows_modifier_state):
15767         * event-msw.c (emacs_mswindows_quit_p):
15768         * event-msw.c (vars_of_event_mswindows):
15769         a) Added support for using the alt key to select menu items as is
15770         standard under MS Windows.  This is controlled using the variable
15771         menu-accelerator-enabled, just like under X Windows.  There is an
15772         option on the options menu to turn this support on.  I really
15773         think that it should be on by default under Windows, but I'm not
15774         going to make this change yet.
15775
15776         b)  Added support for dynamic display size changes under Windows.
15777
15778         * event-stream.c:
15779         * event-stream.c (maybe_echo_keys):
15780         * event-stream.c (Fnext_event):
15781         * event-stream.c (command_builder_find_leaf):
15782         * event-stream.c (lookup_command_event):
15783         * event-stream.c (execute_command_event):
15784         * event-stream.c (pre_command_hook):
15785         * event-stream.c (post_command_hook):
15786         * event-stream.c (syms_of_event_stream):
15787         * event-stream.c (vars_of_event_stream):
15788         * event-stream.c (complex_vars_of_event_stream):
15789         * events.h (struct command_builder):
15790
15791         a) Tried to clean up a little bit the horribly written x-specific
15792         accelerator code that crept into this file.  I moved this code
15793         into menubar-x.c where it belongs. I also needed to move the
15794         command builder structure into the file events.h because it is
15795         accessed directly by this accelerator code.  What I didn't do, but
15796         which should be done at some point, is to properly abstract this
15797         code using device methods instead of the kludgy way that it
15798         currently hooks into the event code.
15799
15800         b) Added the lisp variables this-command-properties and
15801         last-command- properties, which should be used to synchronize two
15802         adjacent commands in preference to playing games with the variable
15803         this-command, which is typically what happens.
15804
15805         c) Added some slightly nasty code to hook into the lisp support
15806         for shifted- motion-key selection.  This is actually necessary for
15807         somewhat complicated reasons, which are described in
15808         simple.el. (NB: I think the proper thing would be to have the code
15809         that calls the pre and post command hooks also call out to generic
15810         lisp functions in simple.el, where all built-in stuff could be
15811         added.  I will think about this more.)
15812
15813         * event-unixoid.c (poll_fds_for_input):
15814         * lread.c (readchar):
15815         * redisplay-tty.c (tty_clear_frame):
15816         * redisplay-x.c (x_get_gc):
15817         * signal.c (interrupt_signal):
15818         And a whole bunch of other files: fixed up places that printed
15819         directly to stderr to instead call the function stderr_out so that
15820         the changes I made under Windows work correctly.
15821
15822         * filemode.c (mode_string):
15823         Warning fixes.
15824
15825         * frame-msw.c:
15826         * frame-msw.c (mswindows_size_frame_internal):
15827         Fixed the computation of frame size and position to keep the frame
15828         within the workspace area, rather than within the physical
15829         dimensions of the screen, so that the frame doesn't overlap window
15830         manager decorations, such as the start menu and toolbar, typically
15831         at the bottom of the screen.
15832
15833         * frame.c (vars_of_frame):
15834         Changed the default frame title format under MS Windows to consist
15835         of buffername-XEmacs, which is standard under MS Windows.  I think
15836         it might be a good idea to change this everywhere because I think
15837         it is superior to the current frame title format, but this is the
15838         kind of change that is likely to cause some people to get annoyed,
15839         so I'm not making it.
15840
15841         * glyphs-eimage.c (png_instantiate): Fixed some compile warnings.
15842
15843         * gui-msw.c (mswindows_handle_gui_wm_command):
15844         Fixed compile warnings.
15845
15846         * gui-x.c:
15847         * gui-x.c (strdup_and_add_accel):
15848         * gui-x.c (button_item_to_widget_value):
15849         * gui-x.h:
15850         Added code to automatically put an accelerator onto the beginning
15851         of menu items that don't have one as is now the standard, and is
15852         described more later.  Also fixed things so that the menu item
15853         name can be an evaluated expression, again a new standard.
15854
15855         * gui.c:
15856         * gui.c (gui_item_add_keyval_pair):
15857         * gui.c (make_gui_item_from_keywords_internal):
15858         * gui.c (gui_add_item_keywords_to_plist):
15859         * gui.c (gui_item_accelerator):
15860         * gui.c (gui_name_accelerator):
15861         * gui.c (gui_item_included_p):
15862         * gui.c (gui_item_display_flush_left):
15863         * gui.c (gui_item_display_flush_right):
15864         * gui.c (parse_gui_item_tree_item):
15865         * gui.c (parse_gui_item_tree_children):
15866         * gui.c (parse_gui_item_tree_list):
15867         Mule-ized.  Cleanup.  GCPRO addition.
15868
15869         * line-number.c (buffer_line_number):
15870         * lisp.h:
15871         * lisp.h (EMACS_INT_MAX):
15872         Added the manifest constant EMACS_INT_MIN corresponding to the
15873         existing constant EMACS_INT_MAX.  This is partially to fix compile
15874         warnings under Windows, and partly for cleanliness.
15875
15876         * menubar-msw.c:
15877         * menubar-msw.c (REPLACE_ME_WITH_GLOBAL_VARIABLE_WHICH_CONTROLS_RIGHT_FLUSH):
15878         * menubar-msw.c (msw_translate_menu_or_dialog_item):
15879         * menubar-msw.c (displayable_menu_item):
15880         * menubar-msw.c (populate_menu_add_item):
15881         * menubar-msw.c (populate_or_checksum_helper):
15882         * menubar-msw.c (populate_menu):
15883         * menubar-msw.c (update_frame_menubar_maybe):
15884         * menubar-msw.c (prune_menubar):
15885         * menubar-msw.c (msw_char_is_accelerator):
15886         * menubar-msw.c (unsafe_handle_wm_initmenu_1):
15887         * menubar-msw.c (mswindows_handle_wm_command):
15888         * menubar-msw.c (mswindows_handle_wm_initmenupopup):
15889         * menubar-msw.c (mswindows_handle_wm_initmenu):
15890         * menubar-msw.c (mswindows_update_frame_menubars):
15891         * menubar-msw.c (mswindows_free_frame_menubars):
15892         * menubar-msw.c (mswindows_popup_menu):
15893         Fixed a bug in handling accelerators where an extra character
15894         would be displayed in the menu item.  Also generalized the
15895         function displayable_menu_item because it is now used by the
15896         dialog box code as well.  And finally, added code in the functions
15897         that create the menubar to extract a list of accelerators for the
15898         top level menubar, which is used in the event code to determine
15899         whether a particular alt-key combination should be used to invoke
15900         a menu item, or should be passed through to access the standard
15901         XEmacs keymap binding for this key combination.
15902
15903         Much needed GCPROing.
15904
15905         * menubar-x.c:
15906         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
15907         * menubar-x.c (menu_item_descriptor_to_widget_value):
15908         * menubar-x.c (restore_in_menu_callback):
15909         * menubar-x.c (x_popup_menu):
15910         * menubar-x.c (menu_move_up):
15911         * menubar-x.c (menu_move_down):
15912         * menubar-x.c (menu_move_left):
15913         * menubar-x.c (menu_move_right):
15914         * menubar-x.c (menu_select_item):
15915         * menubar-x.c (command_builder_operate_menu_accelerator):
15916         * menubar-x.c (menu_accelerator_junk_on_error):
15917         * menubar-x.c (command_builder_find_menu_accelerator):
15918         * menubar-x.c (Faccelerate_menu):
15919         * menubar.h:
15920         Moved a whole bunch of code here that was previously in
15921         event-stream.c as described above.  There is also code connected
15922         to the new standard of adding an accelerator to the beginning of
15923         menu items that don't have one as described above and below.
15924
15925         * menubar.c:
15926         * menubar.c (menu_parse_submenu_keywords):
15927         * menubar.c (Fmenu_find_real_submenu):
15928         * menubar.c (Fnormalize_menu_item_name):
15929         * menubar.c (syms_of_menubar):
15930         * menubar.c (vars_of_menubar):
15931         * menubar.c (complex_vars_of_menubar):
15932
15933         a) Cleaned up a bunch of documentation and improved it.
15934
15935         b) XEmacs now automatically adds an accelerator onto the beginning
15936         of any menu items that don't have one.  I did this because there
15937         will inevitably be some menu items on the main menubar that don't
15938         have accelerators on them because the package that adds that
15939         particular menu item hasn't yet been fixed up to have accelerators
15940         in them and it looked rather strange to have some items with and
15941         some items without accelerators, especially since even in items
15942         without accelerators, you can, at least under windows, still
15943         access the item through an accelerator corresponding to the first
15944         character in the item's name.  If people don't like this behavior,
15945         I can add a variable to turn it off optionally, but I'm not sure
15946         this is a good idea because we really do need to have accelerators
15947         on all of the menu items, and if a package doesn't like the
15948         accelerators being put on the first character, then it should put
15949         the accelerators where they belong.
15950
15951         c) I made a behavior change, which is that the descriptor that
15952         specifies the text of the menu item, which formerly was just a
15953         string, can now also be an evaluated expression.  This makes this
15954         descriptor parallel with all of the others, which could also be
15955         evaluated expressions.  This also obviates the need for the
15956         keyword :label, which was previously listed in the documentation
15957         as unimplemented, and which was for the same purpose.
15958
15959         d) GCPROing.
15960
15961         * ntproc.c:
15962         * ntproc.c (new_child):
15963         * ntproc.c (sys_spawnve):
15964         * ntproc.c (find_child_console):
15965         * ntproc.c (sys_kill):
15966         Fixed compile warnings.  By the way, this file should really go
15967         away entirely, and this will happen as soon as Kirill makes his
15968         final round of process cleanups, which affect the function
15969         call-process.
15970
15971         * process-nt.c:
15972         * process-nt.c (struct nt_process_data):
15973         * process-nt.c (find_process_from_pid):
15974         * process-nt.c (send_signal_the_nt_way):
15975         * process-nt.c (enable_child_signals):
15976         * process-nt.c (find_child_console):
15977         * process-nt.c (send_signal_the_95_way):
15978         * process-nt.c (nt_finalize_process_data):
15979         * process-nt.c (ensure_console_window_exists):
15980         * process-nt.c (nt_create_process):
15981         * process-nt.c (nt_kill_child_process):
15982         * process-nt.c (nt_kill_process_by_pid):
15983         * process-nt.c (nt_open_network_stream):
15984         * process-nt.c (vars_of_process_nt):
15985         Copied over code from Emacs 20.5 to correctly send signals to sub-
15986         processes under Windows 95.  Also added code to automatically
15987         create and hide console window when a sub-process is created under
15988         Windows 95, which obviates the need for the separate runemacs.exe
15989         executable, and finally implemented some variables that were
15990         implemented in Emacs 20.5, but previously not in XEmacs.  These
15991         include mswindows- start-process-share-console and
15992         mswindows-start-process-inherit-error-mode. (Both of these only
15993         apply to Windows 95.)
15994
15995         * regex.c (regex_compile): Fixed a compile warning.
15996
15997         * select-msw.c:
15998         * select-msw.c (mswindows_own_selection):
15999         * select-msw.c (mswindows_get_foreign_selection):
16000         * select-msw.c (mswindows_disown_selection):
16001         * select-msw.c (console_type_create_select_mswindows):
16002         * select-msw.c (syms_of_select_mswindows):
16003         Cleaned up the file and implemented the device method
16004         selection_exists_p, which had accidentally been left out.  Also
16005         removed four lisp functions that were remnants from before the
16006         time when the selection code was properly device abstracted.
16007         These functions are no longer needed because there are generic
16008         equivalents, and because they were added recently and don't exist
16009         in FSF Emacs, I don't think there's any problem with just deleting
16010         them.
16011
16012         * sysdep.c:
16013         * sysdep.c (sys_subshell):
16014         Fixed a compile warning, although in this case there's probably
16015         something wrong with this code, and it ought to be looked into
16016         more thoroughly by somebody who understands it.
16017
16018         * window.c:
16019         * window.c (Fwindow_text_area_height):
16020         * window.c (Fwindow_width):
16021         * window.c (Fwindow_full_width):
16022         * window.c (Fwindow_pixel_width):
16023         * window.c (debug_print_window):
16024         * window.c (syms_of_window):
16025         Added functions window-text-area-height and window-full-width,
16026         which are functions for returning various width and height
16027         characteristics of a window. (One of these functions is necessary
16028         for making the file dialog box work correctly, and the other one
16029         was added for completeness.)  Also added a table to the
16030         documentation for window-height which describes the entire scheme
16031         for accessing width and height characteristics of a window.
16032
16033 2000-03-12  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16034
16035         * nt.c (fstat): Added a comment for another problem with
16036         non-encapsulated [f]stat(), reported by Adrian Aichner
16037         <aichner@ecf.teradyne.com>.
16038
16039 2000-03-11  Andy Piper  <andy@xemacs.org>
16040
16041         * window.c (make_dummy_parent): initialize subwindow instance
16042         cache.
16043         (Fset_window_configuration): zero extent_modiff.
16044
16045 2000-03-10  Andy Piper  <andy@xemacs.org>
16046
16047         * redisplay.c (Fredraw_frame): reset the changed_set flags so that
16048         more changes can be triggered.
16049         (Fredisplay_frame): ditto.
16050         (Fredraw_device): ditto.
16051         (Fredisplay_device): ditto.
16052         (redisplay_frame): make non-static.
16053         (redisplay_frame): call update_frame_gutter_geometry outside of
16054         display proper.
16055
16056         * gutter.h: declare update_frame_gutter_geometry.
16057
16058         * redisplay.h: declare redisplay_frame.
16059
16060         * gutter.c (update_frame_gutter_geometry): move geometry changes
16061         in update_frame_gutters here. Geometry changes can only occur
16062         outside of redisplay.
16063         (update_frame_gutters): remove geometry change code.
16064         (Fredisplay_gutter_area): make sure that we are in display when we
16065         update and that we have flushed any size changes.
16066
16067 2000-03-11  Andy Piper  <andy@xemacs.org>
16068
16069         * alloc.c (pdump_dump_data): remove i & count shadows.
16070
16071 2000-02-27  Mike Alexander  <mta@arbortext.com>
16072
16073         * sysdep.h: Declare pdump_read_file
16074
16075         * sysdep.c (pdump_read_file): New function
16076
16077         * alloc.c (pdump_load): Call pdump_read_file to get the portable
16078         dump data
16079
16080 2000-03-10  SL Baur  <steve@musashimaru.m17n.org>
16081
16082         * lrecord.h: add `lrecord_type_pgsetenv'.
16083
16084 2000-03-08  SL Baur  <steve@musashimaru.m17n.org>
16085
16086         * symsinit.h: declare (vars|syms)_of* functions.
16087         * lrecord.h: add `lrecord_type_pgconn' and 'lrecord_type_pgresult'.
16088
16089 2000-03-06  SL Baur  <steve@musashimaru.m17n.org>
16090
16091         * config.h.in: Add symbols HAVE_POSTGRESQL and HAVE_POSTGRESQLV7
16092
16093         * inline.c: Include postgresql.h lrecord stuffs to placate buggy
16094         GCCs.
16095
16096         * emacs.c (main_1): Call postgres initialization code.
16097
16098         * postgresql.h: New file.  PostgreSQL RDBMS support.
16099         * postgresql.c: New file.
16100
16101 2000-03-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
16102
16103         * redisplay-output.c (redisplay_output_display_block): Disable
16104         redundant code.
16105
16106 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
16107
16108         * mule-canna.c (Fcanna_henkan_region): Translate doc-string.
16109         (Fcanna_henkan_next): Ditto.
16110         (Fcanna_bunsetu_henkou): Ditto.
16111         (Fcanna_henkan_kakutei): Ditto.
16112         (Fcanna_henkan_end): Ditto.
16113         (Fcanna_henkan_quit): Ditto.
16114         (Fcanna_henkan_next): Set retun value correctly.
16115         (c2mu): Use unsigned char instead of signed char.
16116
16117 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
16118
16119         * emacs.c (main_1): Always call syms_of_gui.
16120         * inline.c: include gui.h
16121
16122 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
16123
16124         * redisplay.c (Vvisible_bell): Renamed from visible_bell and
16125         converted to Lisp_Object.
16126         (Qtop_bottom): New variable.
16127         (syms_of_redisplay): Initialize it.
16128         * redisplay.h (Vvisible_bell): Ditto.
16129         * sound.c (ding): Ditto and check if Vvisible_bell is nil.
16130         * redisplay-x.c (x_flash): When Vvisible_bell is top-bottom,
16131         only flash top and bottom.
16132
16133 2000-03-08  Andy Piper  <andy@xemacs.org>
16134
16135         * buffer.c (Frename_buffer): record new buffer name the right way.
16136
16137 2000-03-08  Andy Piper  <andy@xemacs.org>
16138
16139         * glyphs.c (update_subwindow): increase hash depth so that widget
16140         items get picked up properly.
16141
16142         * redisplay-output.c (compare_runes): increase hash depth so that
16143         widget items get picked up properly.
16144
16145 2000-03-08  Andy Piper  <andy@xemacs.org>
16146
16147         * gutter.c (output_gutter): add some debug.
16148
16149         * glyphs.h (struct Lisp_Image_Instance): add display_hash.
16150         (IMAGE_INSTANCE_DISPLAY_HASH): new macro.
16151         (XIMAGE_INSTANCE_DISPLAY_HASH): ditto.
16152
16153         * redisplay-output.c (compare_runes): use display_hash to
16154         determine if glyphs really are not the same.
16155
16156         * glyphs.c (update_subwindow): check display_hash to see if
16157         anything really needs to be updated. If not then do
16158         nothing. Record the display_hash after updating.
16159         (image_instance_equal): compare the image_instance face also.
16160
16161 2000-03-07  Yoshiki Hayashi  <yoshiki@xemacs.org>
16162
16163         * redisplay.h: Fix comment style.
16164
16165 2000-03-08  Jonathan Harris  <jhar@tardis.ed.ac.uk>
16166
16167         * consle-msw.h (struct mswindows_frame):
16168         Added new member paint_pending to indicate whether a WM_PAINT
16169         magic event has been queued for this frame.
16170
16171         * event-msw.c (mswindows_drain_windows_queue):
16172         Don't queue a WM_PAINT magic event if one is already queued.
16173         (emacs_mswindows_handle_magic_event): clear paint_pending flag.
16174
16175         * frame-msw.c (mswindows_init_frame_1): initialise paint_pending flag.
16176
16177 2000-03-07  Didier Verna  <didier@xemacs.org>
16178
16179         * dired.c: #include `regex.h' after `sysfile.h'.
16180
16181 2000-03-06  Martin Buchholz  <martin@xemacs.org>
16182
16183         * sound.c (init_nas_sound): Fix compiler warning.
16184
16185         * alloc.c (ALIASING_VOIDPP_DEREFERENCE): New.
16186         (FREE_STRUCT_P):
16187         (MARK_STRUCT_AS_FREE):
16188         (MARK_STRUCT_AS_NOT_FREE):
16189         Make `gcc -fstrict-aliasing' work properly.
16190
16191 2000-03-07  Jonathan Harris  <jhar@tardis.ed.ac.uk>
16192
16193         * device-msw.c (mswindows_finish_init_device): Call CoInitialize().
16194         (mswindows_delete_device): Call CoUnnitialize().
16195
16196         * event-msw.c (mswindows_wnd_proc): WM_DROPFILES: Decode Shortcuts.
16197
16198 2000-02-25    <CraigL@DyCon.com>
16199
16200         * process-nt.c: MinGW now has <shellapi.h>, but still needs
16201         <errno.h>.
16202
16203         * sysdep.c: This extern declaration for environ prevents MinGW
16204         from finding the variable in CRTDLL.DLL.
16205
16206         * s\mingw32.h (PBS_SMOOTH): Removed, now defined in cygwin's
16207         windows headers.
16208         (SHGFI_EXETYPE): ..
16209         (WM_MOUSEWHEEL): ..
16210         (_WIN32_IE): Added, needed to get the TCS_BOTTOM and TCS_VERTICAL
16211         definitions.
16212         (MMRESULT): Removed, now defined in cygwin's windows headers.
16213         (TIMECAPS): ..
16214         (uid_t,gid_t,pid_t,ssize_t): ..
16215         (_timeb): Removed, MinGW defines both _timeb and timeb.
16216         (HAVE_H_ERRNO): Added.
16217         (HAVE_TZNAME): Added, configure is not detecting this.
16218
16219 2000-02-03  IKEYAMA Tomonori <tomonori@suiyokai.org>
16220
16221         * chartab.h (XCHAR_TABLE_VALUE_UNSAFE): New macro.
16222         * syntax.c (syntax_match): Use it.
16223
16224         * cmds.c: Import auto-fill-chars from FSF Emacs.
16225         (Vauto_fill_chars): New variables.
16226         (internal_self_insert): Check Vauto_fill_chars.
16227         (vars_of_cmds):
16228         Declare auto-fill-chars as a Lisp variable and initialize it.
16229
16230 2000-03-05  Jonathan Harris  <jhar@tardis.ed.ac.uk>
16231
16232         * fileio.c (Fmake_symbolic_link):
16233         (Ffile_symlink_p):
16234         Run handlers even if local machine doesn't have symlinks.
16235
16236 2000-03-05  Jonathan Harris  <jhar@tardis.ed.ac.uk>
16237
16238         * event-msw.c (mswindows_drain_windows_queue):
16239         Don't generate paint magic events for non-XEmacs frames.
16240
16241 2000-03-05  Andy Piper  <andy@xemacs.org>
16242
16243         * redisplay.c (redisplay_frame): generate_displayable_area and
16244         friends assumes that we are not in GC, we therefore have to make
16245         sure that this doesn't happen.
16246
16247         * gutter.c (calculate_gutter_size): generate_displayable_area
16248         assumes that we are not in GC, we therefore have to make sure that
16249         this doesn't happen.
16250
16251 2000-03-05  Martin Buchholz  <martin@xemacs.org>
16252
16253         * opaque.c (DEFINE_LRECORD_IMPLEMENTATION): opaque_ptr ==> opaque-ptr
16254
16255 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
16256
16257         * redisplay.c (regenerate_window): Make sure we set a sane value
16258         for end_pos even if we jump out of the loop.
16259         (regenerate_window): Answer Ben's question :-).
16260         (start_end_of_last_line): Add may_error argument.
16261         (start_of_last_line):
16262         (end_of_last_line): Pass may_error = 0.
16263         (end_of_last_line_may_error): New function.
16264         (pixel_to_glyph_translation): Use it, so we don't crash in
16265         event_to_glyph.
16266
16267 2000-03-04  Andy Piper  <andy@xemacs.org>
16268
16269         * window.h (struct window): add gutter_extent_modiff.
16270
16271         * window.c (allocate_window): zero out gutter_extent_modiff.
16272
16273         * redisplay.h: declare sync_display_line_structs.
16274
16275         * redisplay.c (add_glyph_rune): add a better comment.
16276
16277         * redisplay-output.c (sync_display_line_structs): made non-static.
16278         (compare_runes): remove unneccesary glyph cachel access.
16279
16280         * gutter.h: declare gutter_extent_signal_changed_region_maybe.
16281
16282         * gutter.c (output_gutter): don't output the gutter if extent
16283         changes only involve extents in buffers. use 4 sets of display
16284         lines.
16285         (gutter_extent_signal_changed_region_maybe): new function. Mark
16286         extents in gutters as changed.
16287         (update_frame_gutters): use 4 sets of display lines.
16288         (reset_gutter_display_lines): ditto.
16289         (free_frame_gutters): ditto.
16290         (redraw_exposed_gutter): force output of gutters.
16291
16292         * frame.h (struct frame): add 4 sets of gutter display lines.
16293
16294         * extents.c: (extent_changed_for_redisplay): signal changes to
16295         extents in strings in the gutter as well as extents in buffers.
16296
16297 2000-03-02  Andy Piper  <andy@xemacs.org>
16298
16299         * gutter.c (specifier_vars_of_gutter): cosmetic changes.
16300
16301         * frame.c (Fmake_frame): make sure the gutters get initialized
16302         after the frame is visible.
16303         (set_frame_selected_window): re-arrange compilation macros a
16304         little.
16305         (change_frame_size_1): mark gutters changed.
16306
16307         * device.c (Fset_device_class): mark gutters changed.
16308
16309 2000-03-01  Andy Piper  <andy@xemacs.org>
16310
16311         * window.c (window_top_frame_gutter_height): deleted.
16312         (window_bottom_frame_gutter_height): ditto.
16313         (window_left_frame_gutter_height): ditto.
16314         (window_right_frame_gutter_height): ditto.
16315         (window_top_gutter_height): don't use them.
16316         (window_bottom_gutter_height): ditto.
16317         (window_left_gutter_width): ditto.
16318         (window_right_gutter_width): ditto.
16319         (Fsplit_window): ditto.
16320         (Fwindow_pixel_edges): don't use border dimensions here.
16321
16322         * scrollbar.c (update_scrollbar_instance): don't take gutters into account.
16323         (update_scrollbar_instance): ditto.
16324
16325         * redisplay.c (generate_modeline): don't take gutters into account.
16326         (generate_modeline): ditto.
16327         (redisplay_frame): small gutter display optimization.
16328
16329         * redisplay-x.c (x_output_vertical_divider): don't take gutters into account.
16330
16331         * redisplay-msw.c (mswindows_output_vertical_divider): don't take
16332         gutters into account.
16333
16334         * gutter.h (WINDOW_REAL_*_GUTTER_BOUNDS): remove bogus checks
16335         for window position and type.
16336
16337         * gutter.c (get_gutter_coords): fix for frame gutters.
16338         (update_frame_gutters): update frame geometry if the gutters have
16339         changed.
16340         (init_frame_gutters): record current gutter geometries.
16341
16342         * glyphs-msw.c (mswindows_subwindow_instantiate): remove unused
16343         var.
16344         (mswindows_widget_instantiate): ditto.
16345
16346         * frame.h (struct frame): add current_gutter_bounds.
16347
16348         * frame.c (change_frame_size_1): position window and minibuffer
16349         appropriately taking into account the frame gutters.
16350
16351         * frame-x.c: (x_initialize_frame_size): take into account the
16352         frame gutters.
16353
16354 2000-02-29  Stephen J. Turnbull  <stephen@xemacs.org>
16355
16356         * emacs.c (data-directory):  Xref `locate-data-file' in docstring.
16357
16358 2000-02-29  Stephen J. Turnbull  <stephen@xemacs.org>
16359
16360         * alloc.c (dumpopaquevec): Increase dimension for --with-canna.
16361
16362 1999-12-30  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
16363
16364         * file-coding.c (reset_decoding_stream): Clear previous
16365         detection state when autodetect.
16366
16367 2000-02-29  Didier Verna  <didier@xemacs.org>
16368
16369         * extents.c (set_extent_glyph_1): don't require extents to be
16370         attached.
16371
16372 2000-02-27  Andy Piper  <andy@xemacs.org>
16373
16374         * gutter.c (Fset_default_gutter_position): don't default left and
16375         right gutter visibility to t.
16376         (Fset_default_gutter_position): run
16377         default-gutter-position-changed-hook.
16378         (syms_of_gutter): add default-gutter-position-changed-hook.
16379
16380 2000-02-26  Andy Piper  <andy@xemacs.org>
16381
16382         * specifier.c (Fmake_specifier): add gutter references.
16383
16384         * gutter.h (RAW_WINDOW_GUTTER): new macro.
16385
16386         * lisp.h: declare Fvalid_plist_p.
16387
16388         * gutter.c (gutter_geometry_changed_in_window): mark the modeline
16389         as changed.
16390         (default_gutter_visible_p_changed_in_window): invalidate gutter as
16391         well as its visibility so that it gets reconstructed.
16392         (construct_window_gutter_spec): new function. Construct a string
16393         to be displayed in the gutter from a plist of strings. Take care
16394         to only use elements that are declared as visible.
16395         (calculate_gutter_size): use RAW_WINDOW_GUTTER instead of
16396         WINDOW_GUTTER.
16397         (gutter_validate): allow plists of strings in the specifier.
16398         (gutter_specs_changed): construct the real_gutter from the gutter
16399         specs using construct_window_gutter_spec.
16400         (gutter_visible_validate): gutter-visible is a new specifier type.
16401         (Fgutter_visible_specifier_p): new function for the new specifier.
16402         (syms_of_gutter): declare gutter-visible and
16403         Fgutter_visible_specifier_p.
16404         (specifier_type_create_gutter): intitalize new gutter-visible
16405         specifier.
16406         (reinit_specifier_type_create_gutter): ditto.
16407         (specifier_vars_of_gutter): use new specifier type for gutter
16408         visibility.
16409         (init_frame_gutters): construct real_gutter correctly.
16410         (Fgutter_specifier_p): beef up documentation.
16411         (Fgutter_size_specifier_p): ditto.
16412
16413         * winslots.h: add real_gutter slots.
16414
16415 2000-02-25  Andy Piper  <andy@xemacs.org>
16416
16417         * device-msw.c: Be kind to older cygwin versions. From Raymond
16418         Toy <toy@rtp.ericsson.se>.
16419
16420         * gui-msw.c (Fmswindows_shell_execute): Remove things unknown to
16421         earlier cygwins. From Raymond Toy <toy@rtp.ericsson.se>.
16422
16423 2000-02-25  Martin Buchholz  <martin@xemacs.org>
16424
16425         * elhash.c (MARK_OBJ): Practice macro hygiene.
16426
16427 2000-02-24  Martin Buchholz  <martin@xemacs.org>
16428
16429         * miscplay.c: s/__inline__/inline/g;
16430         * glyphs-msw.c (set_mono_pixel): INLINE ==> static inline
16431         (get_device_compdc): INLINE ==> static inline
16432         * *.[ch]: Change INLINE to INLINE_HEADER globally.
16433         find -name '*.h' | \
16434         xargs global-replace \
16435         's/(^|(?<=[^A-Za-z0-9_]))INLINE((?=[^A-Za-z0-9_])|$)/INLINE_HEADER/g'
16436
16437 2000-02-25  Andy Piper  <andy@xemacs.org>
16438
16439         * window.c (window_top_frame_gutter_height): new function.
16440         (window_top_window_gutter_height): ditto.
16441         (window_top_gutter_height): use them.
16442         (window_bottom_frame_gutter_height): new function.
16443         (window_bottom_window_gutter_height): ditto.
16444         (window_bottom_gutter_height): use them.
16445         (window_left_window_gutter_width): new function.
16446         (window_left_frame_gutter_width): ditto.
16447         (window_left_gutter_width): use them.
16448         (window_right_window_gutter_width): new function.
16449         (window_right_frame_gutter_width): ditto.
16450         (window_right_gutter_width): use them.
16451         (window_pixel_height): new function. calulate window pixel height
16452         with frame gutter involvement.
16453         (Fsplit_window): calculate new sizes taking frame gutters into
16454         account.
16455         (window_char_height_to_pixel_height): don't include frame gutters.
16456         (window_char_height): use window_pixel_height.
16457         (window_pixheight): rename from window_pixel_height.
16458         (change_window_height): use it.
16459         (window_pixel_height_to_char_height): don't include frame gutters.
16460         (window_char_width_to_pixel_width): ditto.
16461
16462 2000-02-25  Andy Piper  <andy@xemacs.org>
16463
16464         * glyphs.h (IMAGE_INSTANCE_FACE): glyph might be nil, don't crash
16465         if it is.
16466
16467 2000-02-24  Martin Buchholz  <martin@xemacs.org>
16468
16469         * alloc.c (staticpro):
16470         (staticpro_nodump):
16471         (dumpstruct):
16472         (dumpopaque):
16473         (pdump_wire):
16474         (pdump_wire_list):
16475         (compact_string_chars):
16476         (pdump_dump_wired):
16477         Convert:  if (foo) abort();  ==>  assert (! foo);
16478
16479         * eldap.c (Fldap_search_basic):
16480         (Fldap_add):
16481         (Fldap_modify):
16482         (Fldap_delete):
16483         Fix compiler warnings, and possible crashes if (random) return
16484         value were to be used.
16485
16486 2000-02-21  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16487
16488         * device-msw.c: Workaround ResetDC failure.
16489
16490         * frame-msw.c (msprinter_init_frame_3): Added an assertion before
16491         applying a devmode.
16492
16493         * redisplay-msw.c (get_frame_dc): Added start_page_p.
16494         (mswindows_text_width): Do not start printer page.
16495
16496         * console-msw.h (CHECK_MSGDI_DEVICE): Added this and friends.
16497
16498         * glyphs-msw.c: Added image methods to msprinter console and
16499         msprinter-specific image instantiation.
16500
16501 2000-02-20  Mike Alexander  <mta@arbortext.com>
16502
16503         * select-msw.c (Fmswindows_set_clipboard): GC protect more things
16504         to avoid crashes when selection-sets-clipboard is on
16505         (mswindows_own_selection): ditto
16506
16507 2000-02-19  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16508
16509         * glyphs-msw.c:
16510         * redisplay-msw.c (get_frame_dc):
16511         (get_frame_compdc):
16512         * console-msw.h:
16513         * device-msw.c (mswindows_init_device):
16514         (mswindows_delete_device):
16515         (msprinter_init_device):
16516         (msprinter_delete_device):
16517         * frame-msw.c (mswindows_init_frame_1):
16518         (mswindows_delete_frame):
16519         (msprinter_init_frame_3):
16520         (msprinter_delete_frame): Move compatible DC to device object from
16521         frame object, for both mswindows and msprinter. Only one at a time
16522         is needed, it is a real waste to have one per frame!
16523
16524 2000-02-23  Andy Piper  <andy@xemacs.org>
16525
16526         * glyphs.c: add dynamic width and height elements.
16527         (image_instance_equal): ditto.
16528
16529         * glyphs-widget.c (widget_query_geometry): calculate width and
16530         height dynamically if required.
16531         (initialize_widget_image_instance): initialize dynamic dimensions.
16532         (widget_instantiate): pick-up dynamic dimensions.
16533
16534         * glyphs.h (struct Lisp_Image_Instance): add width and height for
16535         dynamic determination. Add appropriate macros.
16536
16537         * gutter.h (WINDOW_GUTTER_BORDER_WIDTH): make non-integer
16538         dimensions safe.
16539         (WINDOW_GUTTER_SIZE): ditto.
16540         (WINDOW_GUTTER_SIZE_INTERNAL): ditto.
16541
16542         * redisplay-msw.c (get_frame_compdc): gcc can't cope with this
16543         inline.
16544         (get_frame_dc): ditto.
16545
16546         * redisplay.h (GLOBAL_RESET_CHANGED_FLAGS): don't reset faces
16547         here.
16548
16549 2000-02-23  Martin Buchholz <martin@xemacs.org>
16550
16551         * XEmacs 21.2.31 is released.
16552
16553 2000-02-22  Ben Wing <ben@xemacs.org>
16554
16555         * ntheap.c (allocate_heap): Make sure `ptr' is initialized.
16556
16557 2000-02-22  Andy Piper  <andy@xemacs.org>
16558
16559         * glyphs-x.c (x_widget_instantiate): don't explicitly resize here.
16560
16561 2000-02-21  Mike Sperber <mike@xemacs.org>
16562
16563         * .dbxrc:
16564         * .gdbinit:
16565         * Makefile.in.in: Remove obsolete EMACSBOOTSTRAP... environment
16566         variables.
16567
16568 2000-02-21  Mike Sperber <mike@xemacs.org>
16569
16570         * s/aix4.h: Declare getaddrinfo broken for AIX 4, which it is.
16571
16572 2000-02-21  Martin Buchholz <martin@xemacs.org>
16573
16574         * XEmacs 21.2.30 is released.
16575
16576 2000-02-20  Martin Buchholz  <martin@xemacs.org>
16577
16578         Performance hacking.
16579         * *.c (syms_of_*):
16580         Add INIT_LRECORD_IMPLEMENTATION macros, paired with
16581         DEFINE_LRECORD_IMPLEMENTATION macros in the same file.
16582         * emacs.c (main_1):
16583         * lisp.h (DEFUN):
16584         * console.c (DEFVAR_CONSOLE_LOCAL_1):
16585         * buffer.c (DEFVAR_BUFFER_LOCAL_1):
16586         * symeval.h (DEFVAR_SYMVAL_FWD):
16587         * symbols.c (guts_of_unbound_marker):
16588         Make all c_readonly objects also lisp_readonly and marked for life.
16589         * lrecord.h (struct lrecord_implementation):
16590         Document flags better.
16591         * lrecord.h (DEFINE_LRECORD_SEQUENCE_IMPLEMENTATION_WITH_PROPS):
16592         * lrecord.h (DECLARE_LRECORD):
16593         * lrecord.h (XSETRECORD):
16594         * lrecord.h (RECORDP):
16595         * lrecord.h (RECORD_TYPEP):
16596         * lrecord.h (RECORD_MARKER): New.
16597         * lrecord.h (error_check_*):
16598         * lrecord.h (CONCHECK_NONRECORD):
16599         * lrecord.h (MAKE_LRECORD_IMPLEMENTATION):
16600         * lrecord.h (INIT_LRECORD_IMPLEMENTATION): New.
16601         * lrecord.h (set_lheader_implementation):
16602         * lrecord.h (enum lrecord_type): New.
16603         * symeval.h (SYMBOL_VALUE_MAGIC_P):
16604         * alloc.c (disksave_object_finalization_1):
16605         * alloc.c (mark_object):
16606         * alloc.c (lrecord_type_index):
16607         * alloc.c (tick_lcrecord_stats):
16608         * alloc.c (Fgarbage_collect):
16609         * alloc.c (init_alloc_once_early):
16610         * alloc.c (pdump_load):
16611         * alloc.c (GC_CHECK_LHEADER_INVARIANTS): New.
16612         * alloc.c (lrecord_type_index): Delete.
16613         Make lisp object type indexes be constant.
16614           Makes (byte-compile) 5% faster.
16615         Put all marker functions into their own array.
16616           Makes (garbage-collect) 5% faster.
16617         Optimize SYMBOL_VALUE_MAGIC_P.
16618           Makes (byte-compile) 2-3% faster.
16619         * config.h.in (gc_checking_assert): New.
16620         * alloc.c: Use gc_checking_assert().
16621         * .dbxrc: Make compatible with new object type implementation.
16622         * .gdbinit: Make compatible with new object type implementation.
16623         * alloc.c: Delete all symbols defined only for debugging, such as
16624         Lisp_Type_Vector and lrecord_charset.
16625
16626 2000-02-21  Andy Piper  <andy@xemacs.org>
16627
16628         * gui-msw.c (Fmswindows_shell_execute): fix file location
16629         problems.
16630
16631         * buffer.c (Fkill_buffer): remove buffer from alist buffer
16632         unshowing so that set_window_buffer doesn't undo
16633         kill_buffer_hook's hard work.
16634
16635         * glyphs-widget.c (tab_control_query_geometry): don't count the
16636         first item when calculating geometry.
16637
16638         * glyphs.c (map_subwindow): remove redundant code.
16639         (update_frame_subwindows): be more circumspect about when to
16640         update subwindows.
16641
16642         * glyphs-x.c (x_update_widget): Properly fix sizing bug. Fix bug
16643         when items haven't changed. Update faces if faces have changed as
16644         well as just the widget face.
16645         (x_tab_control_update): Update faces if faces have changed as well
16646         as just the widget face.
16647
16648 2000-02-21  Jonathan Harris  <jhar@tardis.ed.ac.uk>
16649
16650         * device-msw.c: (mswindows_delete_device): Remove redundant DDE
16651         registration.
16652         (build_syscolor_string): Use mswindows_color_to_string to try to
16653         get a named color.
16654         (mswindows_device_system_metrics): Reverse the foreground and
16655         background colors so that they match the documentation.
16656
16657         * objects-msw.c: (mswindows_X_color_map): tweak some values so
16658         they match the default Windows palette.
16659         (mswindows_color_to_string): New function.
16660
16661 2000-02-21  Jonathan Harris  <jhar@tardis.ed.ac.uk>
16662
16663         * s/windowsnt.h: Only use __declspec(noreturn) with MSVC>=6.
16664
16665 2000-02-18  Olivier Galibert  <galibert@pobox.com>
16666
16667         * m/*, s/*: Removed obsolete DATA_SEG_BITS, PURE_SEG_BITS,
16668         WORD_MACHINE, SIGN_EXTEND_CHAR and EXPLICIT_SIGN_EXTEND.
16669
16670         * symbols.c (init_symbols_once_early): Removed obsolete
16671         DATA_SEG_BITS related kludge.
16672         (defvar_magic): Ditto.
16673
16674         * malloc.c: Removed obsolete DATA_SEG_BITS
16675         * ralloc.c: Ditto.
16676         * mem-limits.h: Ditto.
16677
16678         * Makefile.in.in: Removed obsolete HAVE_SHM
16679         * emacs.c: Ditto.
16680
16681 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
16682
16683         *  device-msw.c (mswindows_delete_device): Free DDE string
16684         handles.
16685
16686 2000-02-16  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16687
16688         * keymap.c (get_keyelt):
16689         * unexnt.c (unexec):
16690         * vm-limit.c (memory_warnings):
16691         * ntheap.c (recreate_heap):
16692         * ntheap.h (UNINIT_PTR):
16693         * select-msw.c (Fmswindows_get_clipboard):
16694         (Fmswindows_set_clipboard):
16695         * objects-msw.h (MSWINDOWS_BAD_HFONT):
16696         * objects-msw.c:
16697         * menubar-msw.c (displayable_menu_item):
16698         * glyphs-msw.c:
16699         * glyphs-msw.h (IMAGE_INSTANCE_MSWINDOWS_MASK):
16700         * sysdep.c (sys_subshell):
16701         * process-nt.c (nt_create_process):
16702         * nt.c (normalize_filename):
16703         (dostounix_filename):
16704         (unixtodos_filename):
16705         * ntproc.c (win32_executable_type):
16706         * ntplay.c (play_sound_data_1):
16707         (play_sound_file):
16708         * editfns.c (get_home_directory):
16709         * event-msw.c (struct winsock_stream):
16710         (mswindows_dde_callback):
16711         * device-msw.c (msprinter_init_device):
16712         (msprinter_get_devmode_copy): Frobbed syntax frivolities.
16713
16714         * toolbar-msw.c (mswindows_free_frame_toolbars): Paramters to
16715         mswindows_clear_toolbar were swapped!
16716
16717         * objects-msw.c:(colormap_t):
16718         (fontmap_t):
16719         * emacs.c (struct standard_args): Fixed const jumble.
16720
16721         * glyphs-widget.c (update_widget): Fixed comparison notation.
16722
16723         * event-msw.c (mswindows_dde_callback): Removed extraneous ';'.
16724
16725         * s\windowsnt.h (DOESNT_RETURN): Defined to support the MSVC
16726         __declspec(noreturn) syntax.
16727
16728 2000-02-19  Martin Buchholz  <martin@xemacs.org>
16729
16730         * eldap.c (Fldap_open):
16731         (Fldap_search_basic):
16732         (Fldap_add):
16733         (Fldap_modify):
16734         Use new coding system conversion macros.
16735
16736 2000-01-06  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
16737
16738         * console-tty.c (tty_init_console): Change MULE to FILE_CODING.
16739
16740 1999-11-27  Oscar Figueiredo  <Oscar.Figueiredo@di.epfl.ch>
16741
16742         * eldap.h (Fldap_search) Renamed from Fldap_search_internal:
16743         (Fldap_add, Fldap_modify, Fldap_delete): New functions
16744
16745         * eldap.c (Qadd, Qreplace): New constant symbols
16746         (Fldap_open): Use the LDAP_OPT_RESTART option to avoid
16747         interruptions by XEmacs signals
16748         Remove unnecessary calls to slow_down_interrupts and
16749         speed_up_interrupts
16750         (Fldap_search_basic): Renamed from Fldap_search_internal
16751         Added new optional parameter VERBOSE that triggers the
16752         display of progress messages
16753         Remove unnecessary calls to slow_down_interrupts and
16754         speed_up_interrupts
16755         LDAP result code analysis rewritten
16756         (Fldap_add, Fldap_modify, Fldap_delete): New functions
16757         (syms_of_eldap): Define the new symbols and functions
16758
16759
16760 2000-02-17  Martin Buchholz  <martin@xemacs.org>
16761
16762         * realpath.c: Determine PATH_MAX maximally portably.
16763
16764         * insdel.c (bytecount_to_charcount): Optimize.
16765         The function used to be optimized for entirely ASCII sequences.
16766         Now it is optimized for successive characters from the same
16767         charset.  This also wins big for _mostly_ ASCII sequences.
16768
16769         * fileio.c (Ffile_truename): convert return from realpath() using
16770         Qfile_name, not Qbinary.  Fixes obvious bug with non-ASCII symlinks.
16771         - Rewrite GCPROing slightly.
16772
16773         * sysdep.c (sys_open): Do filename conversion, like all other
16774         sys_* functions.  Fixes bug:
16775         (let ((file-name-coding-system 'iso-8859-2))
16776            (write-region x y latin2-name))
16777         ==> writes filename using internal encoding.
16778
16779 2000-02-18  Martin Buchholz  <martin@xemacs.org>
16780
16781         * buffer.c (DEFVAR_BUFFER_LOCAL_1): Turn on c_readonly. Always const.
16782         * console.c (DEFVAR_CONSOLE_LOCAL_1): Turn on c_readonly. Always const.
16783         * symeval.h (DEFVAR_SYMVAL_FWD): Turn on c_readonly. Always const.
16784         * eval.c (lrecord_subr): Remove this_one_is_unmarkable.
16785         * symbols.c (lrecord_symbol_value_forward): Remove this_one_is_unmarkable.
16786         * symbols.c (guts_of_unbound_marker): Turn on c_readonly.
16787         * lrecord.h (UNMARKABLE_LRECORD_HEADER_P): Delete.
16788         (CONST_IF_NOT_DEBUG): Delete.
16789         * alloc.c (this_one_is_unmarkable): Delete.
16790         (mark_object): Don't check for this_one_is_unmarkable. Use the
16791         c_readonly flag instead.
16792         * lisp.h (DEFUN): Define a Lisp_Subr as c_readonly.
16793
16794 2000-02-18  Jonathan Harris  <jhar@tardis.ed.ac.uk>
16795
16796         * event-msw.c (mswindows_drain_windows_queue):
16797         (emacs_mswindows_handle_magic_event): Remove attempt to optimise
16798         away redundant repaint events.
16799
16800 2000-02-17  Andy Piper  <andy@xemacs.org>
16801
16802         * redisplay.h: declare mark_redisplay_structs.
16803
16804         * redisplay.c (redisplay_window):
16805         (redisplay_frame): don't check subwindows_state_changed.
16806         (mark_redisplay): mark gutters here.
16807
16808         * glyphs.c: (instantiate_image_instantiator): always layout if we
16809         haven't done so already.
16810         (allocate_image_instance): don't mark as dirty.
16811         (update_subwindow): bind inhibit_quit.
16812
16813         * gutter.c (mark_gutters): new function.
16814
16815         * glyphs-x.c (x_update_widget): Always resize to get round a
16816         widget bug.
16817
16818         * glyphs-msw.c (mswindows_tab_control_update): remove `;' that was
16819         breaking absolutely everything.
16820
16821         * gutter.h: declare mark_gutters.
16822
16823 2000-02-16  Martin Buchholz <martin@xemacs.org>
16824
16825         * XEmacs 21.2.29 is released.
16826
16827 2000-02-15  Olivier Galibert  <galibert@pobox.com>
16828
16829         * fns.c (size_bit_vector): Fix computation of the size.
16830
16831 2000-02-15  Martin Buchholz  <martin@xemacs.org>
16832
16833         * *.[ch]: Change CONST to const globally.
16834         find -name '*.[ch]' | \
16835         xargs global-replace \
16836         's/(^|(?<=[^A-Za-z0-9_]))CONST((?=[^A-Za-z0-9_])|$)/const/g'
16837         - Remove vestigial references to CONST_IS_LOSING
16838
16839 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
16840
16841         * event-msw.c (mswindows_drain_windows_queue): Remove hack to
16842         bailout early on quit. Enqueue WM_PAINT events as XEmacs magic
16843         events instead of dispatching them directly.
16844         (mswindows_handle_paint): New function to do repainting.
16845         (mswindows_wnd_proc):
16846         (emacs_mswindows_handle_magic_event): Call above function.
16847
16848 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
16849
16850         * objects-msw.c (mswindows_create_font_variant): Return the new
16851         font handle.
16852         (initialize_font_instance): Get font metrics from the underlined
16853         variant of the font to cope with the case where the underlined
16854         font has a bigger descent.
16855
16856 2000-02-08   Daiki Ueno  <ueno@ueda.info.waseda.ac.jp>
16857
16858         * gui.c (gui_item_accelerator): Return the first underlined
16859         character in item name.
16860
16861 2000-02-11  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16862
16863         * lisp.h: Added Qprinter.
16864
16865         * general.c (syms_of_general): Initialized it.
16866
16867         * redisplay-msw.c (get_frame_dc): Conditionally start a new page.
16868         (get_frame_dc):
16869         (get_frame_compdc): Made inline.
16870
16871         * console.h (struct console_methods): Added eject_page method.
16872
16873         * frame.h: Added FRAME_DISPLAY_P and friends.
16874         Aligned backslahes in many macros in more readable fashion.
16875         Added page_number to struct frame, and an accessor macro
16876         for it.
16877
16878         * defice.h: Added DEVICE_DISPLAY_P and friends.
16879
16880         * device.c (Fdevice_printer_p): Used these.
16881
16882         * frame.c (allocate_frame_core): Initialize page number.
16883         (Fprint_job_page_number):
16884         (Fprint_job_eject_page): Implemented.
16885
16886         * frame-msw.c (msprinter_eject_page): Added method.
16887         (msprinter_start_page): Added.
16888
16889         * window.c (Fwindow_truncated_p): Fixed docstring.
16890         (Fwindow_last_line_visible_height): Implemented.
16891
16892 2000-02-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
16893
16894         * frame.c (change_frame_size_1): Undo 2000-02-03 change.
16895
16896 1999-12-20  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
16897
16898         * syntax.c (scan_words): Always advance at least one character.
16899
16900 2000-02-13  Andy Piper  <andy@xemacs.org>
16901
16902         * redisplay.c (add_glyph_rune): call get_glyph_cachel_index here
16903         to make sure the glyph is in the cachels.
16904
16905         * glyphs.h (struct Lisp_Image_Instance): make layout_changed a
16906         global image instance flag.
16907         (IMAGE_INSTANCE_NEEDS_LAYOUT): new macro.
16908         (XIMAGE_INSTANCE_NEEDS_LAYOUT): ditto.
16909
16910         * glyphs.c (allocate_image_instance): set dirty bits correctly.
16911         (Fset_image_instance_property): mark layout as changed.
16912         (invalidate_glyph_geometry_maybe): mark layout as changed.
16913         (glyph_width): use new NEEDS_LAYOUT macro.
16914         (glyph_ascent): ditto.
16915         (glyph_descent): ditto.
16916         (glyph_height): ditto.
16917         (image_instance_layout): mark layout as clean after laying out.
16918         (update_subwindow): don't mark layout as clean here.
16919
16920         * glyphs-x.h (IMAGE_INSTANCE_X_WIDGET_ID): undo C++ changes, they
16921         should no longer be needed.
16922
16923         * glyphs-x.c (x_update_widget): sanitize asserts.
16924         (x_finalize_image_instance): sanitize assignment to widgets.
16925
16926         * glyphs-widget.c (widget_instantiate): don't need to clear the
16927         layout flag here.
16928
16929 2000-02-13  Martin Buchholz  <martin@xemacs.org>
16930
16931         * sysdep.c (getcwd): Use standard prototype.
16932         * sysdep.h (getcwd): Use standard prototype.
16933
16934         * fns.c (Fsubseq): Change parameters to more natural ANSI Lisp
16935         (sequence, start, end).
16936         Remove redundant type checking.
16937         (Fmapconcat): Remove useless GCPRO, a wrong-headed attempt (in
16938         view of `caller-protects') to avoid a crash where the real fix was
16939         found elsewhere.
16940
16941 2000-02-12  Martin Buchholz  <martin@xemacs.org>
16942
16943         * glyphs-x.c (x_finalize_image_instance): Compile error fixes.
16944
16945         * s/sol2.h: Remove feature macro initialization.
16946
16947         * alloc.c (alloc_lcrecord): Add more type checking assertions.
16948         (vector_hash): New.  Code from internal_hash.
16949         * lrecord.h:
16950         Fix up allocation subsystem comments.
16951
16952         * config.h.in: Add __EXTENSIONS__ for Solaris.
16953
16954         * systime.h (EMACS_GETTIMEOFDAY): New.
16955         (EMACS_GET_TIME): Use EMACS_GETTIMEOFDAY.
16956         Remove Solaris-specific code.
16957         Use void* for the (ignored) second arg for gettimeofday().
16958
16959         * elhash.c (hash_table_hash): Implement it, finally.
16960         * elhash.c:  Use hashcode_t.
16961
16962         * linuxplay.c (sighandler): Fix prototypes to use SIGTYPE.
16963         * sunplay.c (sighandler): Fix prototype to use SIGTYPE.
16964
16965         * lisp.h (STRETCHY_STRUCT_SIZEOF): Delete.
16966         * fns.c (size_bit_vector):
16967         * alloc.c (size_vector):
16968         (make_vector_internal):
16969         (make_bit_vector_internal):
16970         (sweep_bit_vectors_1):
16971         Replace calls to STRETCHY_STRUCT_SIZEOF with offsetof expression.
16972
16973 2000-02-10  Martin Buchholz  <martin@xemacs.org>
16974
16975         * s/aix4.h: #define MAP_FAILED if sys/mman.h didn't.
16976         Include strings.h to avoid warnings for bzero and strcasecmp.
16977
16978 2000-02-10  Olivier Galibert  <galibert@pobox.com>
16979
16980         * alloc.c: Move STRETCHY_STRUCT_SIZEOF from here...
16981         * lisp.h (STRETCHY_STRUCT_SIZEOF): ...to here
16982
16983         * fns.c (size_bit_vector): New.  Declare bit vectors as a
16984         sequence.
16985
16986 2000-02-10  Olivier Galibert  <galibert@pobox.com>
16987
16988         * symeval.h (struct symbol_value_magic): Remove "next" kludge and
16989         use a value field instead.
16990         (symbol_value_forward_forward): Use value field.
16991         (DEFVAR_SYMVAL_FWD): Use value field.
16992         (DEFVAR_SYMVAL_FWD_INT): Added.  Dumps the int with dumpopaque.
16993         (DEFVAR_INT): Use DEFVAR_SYMVAL_FWD_INT.
16994         (DEFVAR_CONST_INT): Ditto.
16995         (DEFVAR_BOOL): Ditto.
16996         (DEFVAR_CONST_BOOL): Ditto.
16997         (DEFVAR_INT_MAGIC): Ditto.
16998         (DEFVAR_BOOL_MAGIC): Ditto.
16999
17000         * symbols.c (guts_of_unbound_marker): Use value field.
17001         * console.c (DEFVAR_CONSOLE_LOCAL_1): Ditto.
17002         * buffer.c (DEFVAR_BUFFER_LOCAL_1): Ditto.
17003
17004         * lisp.h: Declare dumpopaque and noninteractive1.
17005
17006         * alloc.c (dumpopaque): Added.
17007         (pdump_dump_opaquevec): Added.
17008         (pdump): Call pdump_dump_opaquevec to dump opaque data.
17009         (pdump_load): Reload opaque data.  Sync noninteractive1 with
17010         noninteractive.
17011
17012 2000-02-10  Andy Piper  <andy@xemacs.org>
17013
17014         * glyphs.c (image_instance_layout): if the size changes, mark it
17015         as such.
17016
17017         * redisplay-output.c (redisplay_output_layout): Update the
17018         subwindow here.
17019         (redisplay_output_subwindow): ditto.
17020
17021         * glyphs.c (update_subwindow): make sure we reset flags for
17022         layouts as well as everything else.
17023
17024         * glyphs-widget.c (layout_layout): don't need to set the instances
17025         dimensions here.
17026
17027 2000-02-09  Martin Buchholz  <martin@xemacs.org>
17028
17029         * device-x.c (x_init_device): Wrap calls to dll_*  in HAVE_SHLIB,
17030         not HAVE_DLOPEN, which is a lower-level thing.
17031
17032         * .cvsignore: Ignore gmon.out
17033
17034 2000-02-09  Hamish Macdonald <hamishm@lucent.com>
17035
17036         * .cvsignore: Ignore portable dumper xemacs.dmp file
17037
17038 2000-02-09  Andy Piper  <andy@xemacs.org>
17039
17040         * redisplay-output.c (redisplay_output_layout): be more clever
17041         about when we output based on the changed flags.
17042
17043         * glyphs.h (struct image_instantiator_methods): add update_method.
17044         (struct Lisp_Image_Instance): add changed flags. Declare new
17045         macros for manipulating them.
17046
17047         * glyphs.c (allocate_image_instance): renamed glyph -> parent.
17048         (image_instance_parent_glyph): find an image_instance's parent
17049         glyph or image_instance.
17050         (image_instance_layout): mark the size as changed.
17051         (set_image_instance_dirty_p): new function. mark an image
17052         instance, plus all of its parents, as dirty.
17053         (Fset_image_instance_property): use it.
17054         (Fglyph_animated_timeout_handler): use it.
17055         (update_subwindow): call update_widget and device methods for
17056         update_subwindow. Mark all changed flags as clean.
17057         (Fresize_subwindow): mark size as changed.
17058
17059         * glyphs-x.c (x_finalize_image_instance): try and detect gc
17060         failures.
17061         (x_update_subwindow): only resize subwindows here.
17062         (x_update_widget): new function. Update all changed properties of
17063         a widget.
17064         (x_resize_subwindow): deleted.
17065         (x_widget_set_property): deleted.
17066         (x_progress_gauge_set_property): deleted.
17067         (x_progress_gauge_update): new function. Implement recorded
17068         changes.
17069         (x_tab_control_update): ditto.
17070         (x_tab_control_set_property): deleted.
17071         (console_type_create_glyphs_x): declare new functions.
17072         (image_instantiator_format_create_glyphs_x): ditto.
17073
17074         * glyphs-widget.c (widget_set_property): mark text changed.
17075         (update_widget): new function. Update properties of a widget.
17076         (widget_instantiate): for layouts make sure we set their
17077         children's parent correctly.
17078         (tab_control_set_property): new function. Record changes that will
17079         take place under redisplay's control.
17080         (progress_gauge_set_property): ditto.
17081         (image_instantiator_progress_guage): declare new functions.
17082         (image_instantiator_tab_control): ditto.
17083
17084         * glyphs-msw.c (mswindows_update_subwindow): just do resizing here
17085         now.
17086         (mswindows_update_widget): new function. Update all properties on
17087         a widget that have changed.
17088         (mswindows_button_update): new function. Update a button's set
17089         state.
17090         (mswindows_tab_control_update): new function. Update the items in
17091         a tab.
17092         (mswindows_tab_control_set_property): deleted.
17093         (mswindows_progress_gauge_update): new function. Update the
17094         progress gauge's progress.
17095         (mswindows_widget_set_property): deleted. This is all done
17096         asynchronously now.
17097         (mswindows_progress_gauge_set_property): ditto.
17098         (console_type_create_glyphs_mswindows): declare new methods.
17099         (image_instantiator_format_create_glyphs_mswindows): ditto.
17100
17101         * frame-msw.c (msprinter_init_frame_1): Remove unused variables.
17102         (msprinter_set_frame_properties): ditto.
17103
17104         * console.h (struct console_methods): Add update_widget_method.
17105
17106 2000-02-09  Andy Piper  <andy@xemacs.org>
17107
17108         * gui-msw.c (Fmswindows_shell_execute): Make
17109         mswindows-shell-execute industrial strength.
17110
17111 2000-02-08  Martin Buchholz  <martin@xemacs.org>
17112
17113         * lrecord.h: Make macro argument `props' match member function `plist'.
17114         * fns.c (Fget):
17115         * fns.c (Fput):
17116         * fns.c (Fremprop):
17117         * fns.c (Fobject_plist):
17118         * alloc.c:
17119         * symbols.c:
17120         Object property list frobbing cleanup.
17121         - Allow any lisp object (compared with `eq'), not just symbols, as
17122           keys in object plists.
17123         - Move symbol plist frobbing into symbols.c, where it belongs.
17124         - Move string plist frobbing into alloc.c, where it belongs.
17125         - Everything's an lrecord now, so no need to test for symbolp, etc.
17126         - Fix up doc strings to refer to PROPERTY, not PROPNAME.
17127
17128         * extents.c: Reorder code to remove declarations.
17129
17130         * frame.h (store_in_alist): Remove useless declaration.
17131
17132 2000-02-07  Martin Buchholz  <martin@xemacs.org>
17133
17134         * event-Xt.c (x_has_keysym): Use XConvertCase only if available.
17135         * config.h.in: Add HAVE_XCONVERTCASE.
17136
17137 2000-02-07  Andy Piper  <andy@xemacs.org>
17138
17139         * glyphs.c (image_instance_layout): undo 2000-01-29 change since
17140         it breaks many things.
17141
17142 2000-02-07  Jan Vroonhof  <vroonhof@math.ethz.ch>
17143
17144         * src/syntax.h (SYNTAX_START_P): Check whether the two chars
17145         actually can start a common comment type.
17146         * src/syntax.h (SYNTAX_END_P): ditto for end.
17147
17148 2000-02-07  Martin Buchholz <martin@xemacs.org>
17149
17150         * XEmacs 21.2.28 is released.
17151
17152 2000-02-06  Martin Buchholz  <martin@xemacs.org>
17153
17154         * event-Xt.c (x_keysym_to_character): New.
17155         (maybe_define_x_key_as_self_inserting_character): New.
17156         (x_has_keysym): New.
17157         Auto-define all keys on the keyboard as self-insert-key.
17158
17159 2000-02-02  Martin Buchholz  <martin@xemacs.org>
17160
17161         * menubar.c (vars_of_menubar): A small code simplification.
17162
17163         * minibuf.c (echo_area_append): Workaround egcs-20000131 c++ compiler bug
17164
17165         * ExternalShell.c:
17166         * ExternalClient.c:
17167         * EmacsShell-sub.c:
17168         * EmacsManager.c:
17169         * EmacsFrame.c:
17170         Use consistent style for specifying X resources.
17171
17172         * symbols.c (Fset): Further implement SYMVAL_LISP_MAGIC.
17173         This makes (dontusethis-set-symbol-value-handler) actually usable.
17174
17175         * lrecord.h (lrecord_decription_type):
17176         * alloc.c (pdump_register_sub):
17177         (pdump_dump_data):
17178         (pdump_reloc_one):
17179         Add XD_LISP_OBJECT_ARRAY to describe multiple Lisp_Objects.
17180         Comply with XEmacs coding style.
17181         All lrecord descriptions updated to use XD_LISP_OBJECT with 2
17182         args, and XD_LISP_OBJECT_ARRAY with 3 args.
17183
17184         * keymap.c (Faccessible_keymaps):
17185         Make (accessible-keymaps map "\C-h") do the Right Thing.
17186         Make (accessible-keymaps map []) do the Right Thing.
17187         Make (accessible-keymaps map "") do the Right Thing.
17188         (check_keymap_definition_loop): New function.
17189         (keymap_store_internal): Keep luser from shooting self in foot,
17190           via (define-key ctl-x-4-map "p" global-map).
17191         Remove fullness slot from struct Lisp_Keymap, since hash tables
17192         are now reliable.
17193         (print_keymap): Remove 'Yuck' factor by simply printing "size %d".
17194
17195 2000-01-30  Martin Buchholz  <martin@xemacs.org>
17196
17197         * redisplay.c (init_redisplay): Fix small memory leak.
17198         * elhash.h:
17199         * elhash.c (pdump_reorganize_hash_table):
17200         Rename from reorganize_hash_table. Change prototype.
17201         Reuse the original memory for hentries.  Save 100k.
17202         * alloc.c (PDUMP_READ): new macro.
17203         * alloc.c (pdump_load): Replace LISP_TO_VOID with higher-level macros.
17204         * alloc.c: No need to #ifndef before #undef.
17205
17206         * print.c: Allow debug_print() to print readably by modifying
17207         debug_print_readably.  Use consistent variable names.
17208
17209         * .dbxrc: Try to get things to work even if stopped in a function
17210         without source available by explicitly specifying source files.
17211 2000-02-03  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17212
17213         * unexnt.c (_start): Removed bogus code which caused loading heap
17214         from differrent executable file.
17215         Removed bogus assignment to _fmode, which caused inconsistencies.
17216
17217 2000-02-03  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17218
17219         * s\windowsnt.h: Removed lots of #if 0 blocks of Emacs heritage.
17220         Have spawnve encapsulation regard DONT_ENCAPSULATE.
17221         Do not preliminary `#define signal sigset'.
17222
17223         * systime.h: Do not prototype environ on windows nt and cygwin,
17224         this conflicts with system header.
17225
17226         * syssignal.h: Use correct define for WINDOWSNT
17227
17228         * sysdep.h: Do not prototype environ on windows nt, this conflicts
17229         with system header.
17230
17231         * sysdep.c (near start of file): Fixed commentary and rearranged
17232         ifdefs in readable order.
17233         (NEED_STARTS): Do not force NEED_STARTS when PDUMPing.
17234         (start_of_text):
17235         (end_of_text):
17236         (end_of_data): Do not compile in if using PDUMP.
17237
17238         * symsinit.h: Prototyped vars_of_nt().
17239
17240         * ntproc.c (windows9x_p): Added, instead of os_subtype.
17241         (find_child_console): Use it.
17242         (sys_kill): Use it.
17243
17244         * ntheap.h: Do not extern os_subtype.
17245
17246         * ntheap.c (cache_system_info): Do not cache unneeded:
17247         nt_major_version, nt_minor_version and os_subtype.
17248         (recreate_heap): Do not compile in when PDUMPing.
17249
17250         * nt.c (geteuid and friends): Use the new varibale
17251         nt_fake_unix_uid, instead of hashing fake uid out of NT RID.
17252         (init_user_info): Removed the above mentioned hackery.
17253         (fstat, stat): Do not compile in if using MSVC 5.0 and above -
17254         stat has been fixed in the C runtime.
17255         (vars_of_nt): Added, defined the nt_fake_unix_uid variable there.
17256
17257         * file-coding.c (struct file_coding_dump): Do not define
17258         ucs_to_mule_table in the struct if not MULE.
17259         (struct struct lrecord_description fcd_description_1): Do not dump
17260         the above.
17261
17262         * emacs.c (main_1): Call vars_of_nt().
17263         (right before Fdump_emacs_data): Don't need lastfile if using both
17264         portabe dumper and system malloc.
17265
17266         * alloc.c (Fmemory_limit): Conditionalized out.
17267         (pdump): Use OPEN_BINARY for the portable dump file.
17268         (pdump_load): Ditto.
17269
17270 2000-02-02  Mike Alexander  <mta@arbortext.com>
17271
17272         * nt.c (convert_time): Set tm_isdst before calling mktime and
17273         avoid calling it at all if the compiler supports 64 bit integers.
17274         Also initialize utc_base_ft before using it.
17275
17276 2000-02-03   Daiki Ueno  <ueno@ueda.info.waseda.ac.jp>
17277
17278         * frame.c (change_frame_size_1): Take f->internal_border_width
17279         into consideration when calculating the width of the frame.
17280
17281 2000-02-01  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17282
17283         * window.c (frame_min_height):
17284         (frame_size_valid_p):
17285         (frame_pixsize_valid_p): Added.
17286         (check_frame_size): Generalized.
17287
17288         * window.h: Prototyped the above.
17289
17290         * lisp.h:
17291         * general.c: Added Qbottom_margin, Qduplex, Qlandscape,
17292         Qleft_margin, Qorientation, Qportrait, Qright_margin, Qtop_margin.
17293         Deleted Vwin32_* and Vbinary_process_* unused variables.
17294
17295         * device-msw.c (msprinter_init_device): Do not get printer font
17296         list; Added DEVMODE functions.
17297
17298         * frame-msw.c: Added lots of printer code.
17299
17300         * faces.c: Moved 'left-margin and 'right-margin defsymbols to
17301         general.c.
17302
17303         * console-msw.h: Added more msprinter device private slots.
17304
17305 2000-02-01  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17306
17307         * event-msw.c (key_needs_default_processing_p): Added.
17308         (mswindows_wnd_proc, WM_KEYUP, KEYDOWN): Call it.
17309
17310 2000-01-29  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17311
17312         * glyphs.c (image_instance_layout): Mark image instance as clean
17313         after layout.
17314         (glyph_dirty_p): Removed redundant function.
17315         (invalidate_glyph_geometry_maybe): Added.
17316         (update_glyph_cachel_data): Call it.
17317
17318         * glyphs.h: Prototyped it.
17319
17320         * redisplay.c (add_glyph_rune): Call it.
17321         (redisplay_window): Reset glyphs cachels when frame faces have
17322         changed, thus forcing recomputation of built-in border glyphs.
17323
17324 2000-01-30  Martin Buchholz  <martin@xemacs.org>
17325
17326         * Makefile.in.in: Make portable dumper and purify play well together.
17327         Add imperfect, but better than nothing, support for pdump.
17328         Remove xemacs.dmp when temacs is re-generated.
17329         Don't ignore errors when dumping xemacs.
17330
17331         * symbols.c (maybe_call_magic_handler): Remove one magic number.
17332
17333 2000-01-28  Andy Piper  <andy@xemacs.org>
17334
17335         * frame.c (allocate_frame_core): Use new Fset_window_buffer signature.
17336         (setup_normal_frame): ditto.
17337         (setup_frame_without_minibuffer): ditto.
17338         (setup_minibuffer_frame): ditto.
17339         (delete_frame_internal): ditto.
17340         (Fmake_frame_invisible): ditto.
17341         (Ficonify_frame): ditto.
17342
17343         * window.h: change Fset_window_buffer signature.
17344
17345         * window.c (Fsplit_window): Use new Fset_window_buffer signature.
17346         (Fset_window_buffer): allow recording of buffer if the window is
17347         the selected window.
17348         (window_loop): Use new Fset_window signature.
17349
17350 2000-01-23  Daniel Pittman  <daniel@danann.net>
17351
17352         * config.h.in: Added template for `HAVE_ATHENA_3D'
17353
17354 2000-01-29  Andy Piper  <andy@xemacs.org>
17355
17356         * glyphs-x.c (x_resize_subwindow): Try and catch bogus resizes.
17357
17358         * gutter.c (output_gutter): Don't output if the window isn't live.
17359
17360 2000-01-28  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17361
17362         * glyphs-msw.c (mswindows_unmap_subwindow): Fix of corrupted patch
17363         of 01/12/00: Moved SetFocus back here where it belongs.
17364
17365 2000-01-23  Andy Piper  <andy@xemacs.org>
17366
17367         * s/cygwin32.h: declare printer things.
17368
17369 2000-01-26  Andy Piper  <andy@xemacs.org>
17370
17371         * select.c (Fown_selection_internal): GCPRO bug fix from Mike
17372         Alexander.
17373
17374 2000-01-24  Andy Piper  <andy@xemacs.org>
17375
17376         * glyphs-msw.c (mswindows_locate_pixmap_file): Expand filename.
17377         (mswindows_button_instantiate): Make sure glyph is a pixmap.
17378
17379         * glyphs-widget.c (widget_instantiate): Avoid shadows.
17380
17381         * frame-msw.c (msprinter_init_frame_3): Nuke warning.
17382
17383         * glyphs-msw.c: (mswindows_string_to_color): remove declaration.
17384
17385         * redisplay-msw.c (mswindows_output_cursor): Avoid shadows.
17386         (mswindows_output_display_block): Avoid local shadows.
17387
17388         * event-msw.c (mswindows_enqueue_magic_event): Avoid shadows.
17389         (mswindows_enqueue_mouse_button_event): ditto.
17390         (mswindows_handle_gui_wm_command): remove declaration.
17391
17392         * console-msw.c (mswindows_canonicalize_console_connection): Avoid
17393         warnings.
17394
17395         * console-msw.h: Avoid shadows.
17396         (mswindows_get_toolbar_button_text):
17397         (emacs_mswindows_create_stream_pair):
17398         (emacs_mswindows_delete_stream_pair):
17399         (mswindows_handle_toolbar_wm_command): declare.
17400
17401         * device-msw.c (build_syscolor_string): Avoid shadows.
17402
17403 2000-01-23  Andy Piper  <andy@xemacs.org>
17404
17405         * glyphs-widget.c (widget_instantiate): reverse the items for
17406         layouts so that children are in the expected order.
17407
17408 2000-01-28  Martin Buchholz  <martin@xemacs.org>
17409
17410         * ralloc.c: safe_bcopy ==> memmove
17411         * gmalloc.c: Remove MEMMOVE_MISSING conditional code.
17412         * s/msdos.h: Remove BCOPY macros.
17413         * insdel.c (gap_right): Remove BCOPY conditional code.
17414         * insdel.c (gap_left): Remove BCOPY conditional code.
17415         XEmacs demands a working ANSI C compiler - hence memmove.
17416
17417         * regex.c (regex_compile): Remove accidental use of trigraphs.
17418
17419 2000-01-27  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17420
17421         * event-msw.c (mswindows_enqueue_misc_user_event): Initialize
17422         event timestamp.
17423
17424 2000-01-26  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17425
17426         * event-msw.c (mswindows_drain_windows_queue): Added the
17427         parameter.
17428         (mswindows_need_event): Commented the call to
17429         mswindows_drain_windows_queue().
17430         (emacs_mswindows_quit_p): Lookup the windows for keyboard messages
17431         only.
17432
17433         * console-msw.h: Moved a few function prototypes here from
17434         event-msw.c.
17435
17436         * gui-msw.c (mswindows_handle_gui_wm_command): Changed the ID
17437         parameter from unsigned short to unsigned long.
17438         (Fmswindows_shell_execute): Added return value.
17439
17440 2000-01-27  URA Hiroshi <ura@hiru.aoba.yokohama.jp>
17441
17442         * sysdep.c (init_system_name):
17443           process-unix.c (unix_canonicalized_host_name):
17444         Don't call freeaddrinfo() if getaddrinfo() fails.
17445
17446         * process-unix.c (unix_open_unix_network_stream):
17447         Moved the code to get a port # into address loop.
17448
17449 2000-01-27  Martin Buchholz  <martin@xemacs.org>
17450
17451         * buffer.c (reinit_vars_of_buffer):
17452         The right place to initialize conversion_in_dynarr and
17453         conversion_out_dynarr.
17454
17455         * alloc.c (pdump): Use the real open() till sys_open() is functional.
17456
17457         * process-unix.c (unix_canonicalize_host_name): Muleize.
17458         (unix_open_network_stream): Muleize.
17459
17460         * buffer.h: Fix up prototypes for ralloc.c functions.
17461
17462 2000-01-27  URA Hiroshi <ura@hiru.aoba.yokohama.jp>
17463         * config.h.in: added HAVE_GETADDRINFO and HAVE_GETNAMEINFO
17464         * sysdep.c: In init_system_name(), add code to use getaddrinfo()
17465                 instead of gethostbyname()
17466         * process-unix.c: In unix_canonicalize_host_name() and
17467                 unix_open_network_stream(), add code to use getaddrinfo()
17468                 instead of gethostbyname().
17469
17470 2000-01-27  Daniel Pittman <daniel@danann.net>
17471
17472         * device-x.c (x_init_device): Warn at run-time if using Athena 3d
17473         libs when built with flat Athena.
17474
17475 2000-01-27  Martin Buchholz  <martin@xemacs.org>
17476
17477         * ralloc.c: Replace SIZE (conflicts with Windows headers) with size_t.
17478         Use coding standards for function prototypes.
17479
17480 2000-01-25  Martin Buchholz  <martin@xemacs.org>
17481
17482         * dialog-msw.c (push_lisp_string_as_unicode):
17483         * doc.c (unparesseuxify_doc_string):
17484         * dired.c (Fuser_name_completion_1):
17485         * dired.c (Fuser_name_all_completions):
17486         * dired.c (free_user_cache):
17487         * dired.c (user_name_completion):
17488         * console-x.c (get_display_arg_connection):
17489         * minibuf.c (clear_echo_area_internal):
17490         * minibuf.c (echo_area_append):
17491         * eldap.c (Fldap_open):
17492         * eldap.c (Fldap_search_internal):
17493         * frame-x.c (x_set_frame_text_value):
17494         * frame-x.c (x_set_frame_properties):
17495         * frame-x.c (x_create_widgets):
17496         * redisplay-tty.c (term_get_fkeys_1):
17497         * objects-x.c (x_parse_nearest_color):
17498         * objects-x.c (x_valid_color_name_p):
17499         * objects-x.c (x_initialize_font_instance):
17500         * objects-x.c (x_list_fonts):
17501         * objects-x.c (x_find_charset_font):
17502         * tooltalk.c (Fadd_tooltalk_message_arg):
17503         * tooltalk.c (Fadd_tooltalk_pattern_attribute):
17504         * tooltalk.c (Fadd_tooltalk_pattern_arg):
17505         * process-unix.c (unix_create_process):
17506         * ntproc.c (sys_spawnve):
17507         * sound.c (Fplay_sound_file):
17508         * sound.c (Fplay_sound):
17509         * buffer.c (init_initial_directory):
17510         * buffer.c (init_buffer):
17511         * editfns.c (init_editfns):
17512         * editfns.c (Ftemp_directory):
17513         * editfns.c (Fuser_full_name):
17514         * editfns.c (uncache_home_directory):
17515         * editfns.c (get_home_directory):
17516         * editfns.c (Fuser_home_directory):
17517         * editfns.c (Fformat_time_string):
17518         * editfns.c (Fcurrent_time_string):
17519         * gui-x.c (button_item_to_widget_value):
17520         * database.c (Fopen_database):
17521         * event-Xt.c (x_to_emacs_keysym):
17522         * event-Xt.c (x_event_to_emacs_event):
17523         * event-Xt.c (describe_event_window):
17524         * event-msw.c (mswindows_wnd_proc):
17525         * glyphs-eimage.c (jpeg_instantiate):
17526         * glyphs-eimage.c (gif_instantiate):
17527         * glyphs-eimage.c (png_instantiate):
17528         * glyphs-eimage.c (tiff_instantiate):
17529         * glyphs-x.c (xbm_instantiate_1):
17530         * glyphs-x.c (x_xbm_instantiate):
17531         * glyphs-x.c (x_xface_instantiate):
17532         * glyphs-x.c (autodetect_instantiate):
17533         * glyphs-x.c (cursor_font_instantiate):
17534         * glyphs-x.c (x_widget_instantiate):
17535         * glyphs-x.c (x_widget_set_property):
17536         * glyphs-x.c (x_widget_property):
17537         * glyphs-x.c (BUILD_GLYPH_INST):
17538         * print.c (write_string_to_stdio_stream):
17539         * print.c (output_string):
17540         * print.c (Falternate_debugging_output):
17541         * print.c (Fexternal_debugging_output):
17542         * glyphs-msw.c (extract_xpm_color_names):
17543         * glyphs-msw.c (mswindows_xpm_instantiate):
17544         * glyphs-msw.c (bmp_instantiate):
17545         * glyphs-msw.c (resource_name_to_resource):
17546         * glyphs-msw.c (mswindows_resource_instantiate):
17547         * glyphs-msw.c (xbm_instantiate_1):
17548         * glyphs-msw.c (mswindows_xbm_instantiate):
17549         * glyphs-msw.c (mswindows_xface_instantiate):
17550         * glyphs-msw.c (mswindows_widget_instantiate):
17551         * glyphs-msw.c (add_tree_item):
17552         * glyphs-msw.c (add_tab_item):
17553         * glyphs-msw.c (mswindows_combo_box_instantiate):
17554         * glyphs-msw.c (mswindows_widget_property):
17555         * glyphs-msw.c (mswindows_combo_box_property):
17556         * glyphs-msw.c (mswindows_widget_set_property):
17557         * console.c (stuff_buffered_input):
17558         * objects-msw.c (mswindows_initialize_color_instance):
17559         * objects-msw.c (mswindows_valid_color_name_p):
17560         * objects-msw.c (mswindows_list_fonts):
17561         * objects-msw.c (mswindows_font_instance_truename):
17562         * bytecode.c (optimize_compiled_function):
17563         * select-x.c (symbol_to_x_atom):
17564         * select-x.c (x_atom_to_symbol):
17565         * select-x.c (hack_motif_clipboard_selection):
17566         * select-x.c (selection_data_to_lisp_data):
17567         * select-x.c (lisp_data_to_selection_data):
17568         * select-x.c (Fx_get_cutbuffer_internal):
17569         * select-x.c (Fx_store_cutbuffer_internal):
17570         * buffer.h (TO_EXTERNAL_FORMAT): New function.
17571         * buffer.h (TO_INTERNAL_FORMAT): New function.
17572         * emacs.c (make_arg_list_1):
17573         * emacs.c (make_argc_argv):
17574         * emacs.c (main_1):
17575         * emacs.c (Fdump_emacs):
17576         * emacs.c (split_string_by_emchar_1):
17577         * file-coding.h:
17578         * lisp.h:
17579         * lstream.h:
17580         * symsinit.h:
17581         * device-x.c (x_init_device):
17582         * device-x.c (Fx_valid_keysym_name_p):
17583         * device-x.c (Fx_get_font_path):
17584         * device-x.c (Fx_set_font_path):
17585         * glyphs.c (bitmap_to_lisp_data):
17586         * glyphs.c (pixmap_to_lisp_data):
17587         * alloc.c (make_ext_string): Use coding system arguments.  Update
17588         all callers.
17589         * alloc.c (build_string):
17590         * callproc.c (child_setup):
17591         * callproc.c (init_callproc):
17592         * fileio.c (lisp_strerror):
17593         * fileio.c (directory_file_name):
17594         * fileio.c (Fexpand_file_name):
17595         * fileio.c (Ffile_truename):
17596         * fileio.c (Fsysnetunam):
17597         * fileio.c (Fdo_auto_save):
17598         * sysdep.c (sys_readdir):
17599         * tests.c: New file.  Allow adding C tests.
17600         Replace GET_* macros with a more comprehensible and flexible
17601         interface, TO_INTERNAL_FORMAT() and TO_EXTERNAL_FORMAT().
17602         Modify all calls.
17603         Any coding system can be used to do format conversion.
17604         Eliminate enum external_data_format.
17605         Eliminate convert_to_external_format.
17606         Eliminate convert_to_internal_format.
17607         Make sure file-name, keyboard, terminal, and ctext are always
17608         defined as coding systems or aliases.  Make
17609         file-name-coding-system, terminal-coding-system, and
17610         keyboard-coding-system magical variables that are equivalent to
17611         defining the corresponding coding system aliases.
17612
17613         * file-coding.c (Fcoding_system_canonical_name_p): New function.
17614         * file-coding.c (Fcoding_system_alias_p): New function.
17615         * file-coding.c (Fcoding_system_aliasee): New function.
17616         * file-coding.c (append_suffix_to_symbol): New function.
17617         * file-coding.c (dangling_coding_system_alias_p): New function.
17618         * file-coding.c (Ffind_coding_system):
17619         * file-coding.c (Fcopy_coding_system):
17620         * file-coding.c (encode_coding_no_conversion):
17621         * file-coding.c (syms_of_file_coding):
17622         * file-coding.c (vars_of_file_coding):
17623         Rewrite coding system alias code.
17624         Allow nested aliases, like symbolic links.
17625         Allow redefinition of coding system aliases.
17626         Prevent existence of dangling coding system aliases.
17627
17628         * dired.c (Fuser_name_completion_1):
17629         * dired.c (Fuser_name_all_completions):
17630         A crash would happen if user did QUIT in the middle of building
17631         user_name_cache.  Remove redundant code in mainline and unwind_protect.
17632
17633         * lisp.h:
17634         * dynarr.c (Dynarr_min_size): Make static.  Increase value to 8.
17635
17636         * lstream.c (make_fixed_buffer_input_stream): Take a void *, not
17637         an unsigned char *.  Update all callers.
17638
17639 2000-01-26  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17640
17641         * callproc.c (Fcall_process_internal): Ignore Vbinary-process_output.
17642
17643 2000-01-25  Martin Buchholz  <martin@xemacs.org>
17644
17645         * elhash.c (hentry_description): Use more portable definition.
17646         (resize_hash_table): Initialize new hentries using
17647         xnew_array_and_zero, thereby simplifying the code.
17648
17649         * mule-charset.c (make_charset): Make sure entire object is
17650         initialized, to avoid Purify warnings.
17651
17652         * alloc.c (resize_string): Fix unlikely crash with big strings.
17653
17654 2000-01-24  Martin Buchholz  <martin@xemacs.org>
17655
17656         * realpath.c (xrealpath):
17657         Don't call getwd().
17658
17659 2000-01-25  Martin Buchholz  <martin@xemacs.org>
17660
17661         * lread.c (read_bit_vector): Fix memory leak reading literal bit vectors.
17662
17663 1999-12-28  Max Matveev  <max@melbourne.sgi.com>
17664
17665         * unexelfsgi.c (unexec): Change the way we decide which segment
17666         should be extended.
17667
17668         Assumption that .bss section should be outside the PT_LOADable
17669         segment. On IRIX with version 6.2 and above, .bss (or .sbss, if
17670         it's present) is inside the 'data' segment. This would fail the
17671         test which was used to find a segment to grow and cover new
17672         heap. Instead of this assumption, I created another one - on IRIX
17673         the segment to grow should start below .bss and it's address
17674         should extent above the end of .bss. Once this segment is
17675         identified, it's grown to accommodate the new heap and new
17676         zero-length .bss section is added at the end of .data2.
17677
17678 2000-01-25  Martin Buchholz  <martin@xemacs.org>
17679
17680         * eval.c (Feval): Wrong number of arguments should use original
17681         function, not the indirect_function version of it.
17682
17683 2000-01-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
17684
17685         * glyphs-x.c (x_button_instantiate): Don't add image if
17686         it is not a pixmap.
17687         (x_locate_pixmap_file): Call Fexpand_file_name when file name
17688         is relative.
17689
17690 2000-01-21  Yoshiki Hayashi  <yoshiki@xemacs.org>
17691
17692         * symeval.h (DEFVAR_LISP_MAGIC): Remove semicolon after macro
17693         declaration.
17694         (DEFVAR_INT_MAGIC): Ditto.
17695         (DEFVAR_BOOL_MAGIC): Ditto.
17696         * glyphs.h: Reindent backslash.
17697
17698 2000-01-24  Martin Buchholz  <martin@xemacs.org>
17699
17700         * glyphs-widget.c (layout_query_geometry):
17701         (layout_layout): Use correct types for gheight, gwidth.
17702
17703 2000-01-24  Martin Buchholz  <martin@xemacs.org>
17704
17705         * EmacsManager.c (QueryGeometry): Purified.
17706
17707 2000-01-23  Martin Buchholz  <martin@xemacs.org>
17708
17709         * alloc.c (make_float): Make sure entire object is initialized, to
17710         avoid Purify warnings.
17711         (pdump_register_sub): Remove useless assignment.
17712         (pdump): Use xmalloc, not malloc.
17713         (pdump_load): Use xmalloc, not malloc.
17714
17715 2000-01-23  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17716
17717         * callproc.c:
17718         * dired-msw.c:
17719         * fileio.c:
17720         * process-nt.c:
17721         * redisplay-msw.c:
17722         * sysdep.c: Removed redundant #include <windows.h>
17723
17724 2000-01-22  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17725
17726         * frame.c (delete_frame_internal): Do not delete device when its
17727         implementation so declares.
17728         (delete_frame_internal): Set device selected frame to nil when
17729         last frame goes away.
17730
17731         * device-msw.c (msprinter_device_system_metrics): Implemented.
17732         (mswindows_device_system_metrics): Added 'device-dpi property.
17733
17734         * device.c: (Fdevice_printer_p): Added.
17735         Added 'offset-workspace device metric.
17736
17737         * console.h (device_metrics): Declared DM_offset_workspace.
17738
17739 2000-01-23  Martin Buchholz  <martin@xemacs.org>
17740
17741         * fileio.c (Ffile_truename): Remove pointless and confusing
17742         initialization of elen.
17743
17744         * glyphs-widget.c: Compiler warning fixes.
17745
17746 2000-01-23  Gunnar Evermann  <ge204@eng.cam.ac.uk>
17747
17748         * process.h (PROCESS_LIVE_P): Modify to take a Lisp_Process
17749         instead of a Lisp_Object as argument to make it consistent with
17750         the other LIVE_P macros.
17751         (CHECK_LIVE_PROCESS): New macro.
17752
17753         * process.c: Declare Qprocess_live_p.
17754         (Fprocess_live_p): New function.
17755         (create_process): Use PROCESS_LIVE_P.
17756         (read_process_output): Ditto.
17757         (set_process_filter): Ditto.
17758         (Fdelete_process): Ditto.
17759         (kill_buffer_processes): Ditto
17760         (process_send_signal): Use CHECK_LIVE_PROCESS.
17761         (Fprocess_input_coding_system): Check whether process is still
17762         alive (fix PR#1061).
17763         (Fprocess_output_coding_system): Ditto.
17764         (Fprocess_coding_system): Ditto.
17765         (Fset_process_input_coding_system): Ditto.
17766         (Fset_process_output_coding_system): Ditto.
17767
17768 2000-01-23  Andy Piper  <andy@xemacs.org>
17769
17770         * glyphs.h (struct Lisp_Image_Instance): change format by unifying
17771         layout and widget.
17772
17773         * glyphs.c (mark_image_instance): take into account changed
17774         image_instance format.
17775         (image_instance_equal): ditto.
17776         (image_instance_hash): ditto.
17777
17778         * glyphs-widget.c (widget_instantiate): Incorporate layout
17779         instantiation here. Delay layout of the layout until later.
17780         (layout_instantiate): deleted.
17781         (layout_query_geometry): new function. get the geometry of a
17782         layout.
17783         (layout_layout): layout a layout dynamically.
17784         (image_instantiator_widget): New function - splitting up
17785         image_instantiator_format_create_glyphs_widget for netwinder
17786         compilation.
17787         (image_instantiator_buttons):
17788         (image_instantiator_edit_fields):
17789         (image_instantiator_combo_box):
17790         (image_instantiator_scrollbar):
17791         (image_instantiator_progress_guage):
17792         (image_instantiator_tree_view):
17793         (image_instantiator_tab_control):
17794         (image_instantiator_labels):
17795         (image_instantiator_layout): ditto.
17796         (image_instantiator_format_create_glyphs_widget): Call preceding
17797         functions.
17798
17799 2000-01-22  Martin Buchholz  <martin@xemacs.org>
17800
17801         * process.c (Fset_process_coding_system):
17802         * device-x.c (Fx_keysym_hash_table):
17803         Docstring fixes.
17804
17805         * lstream.c (Lstream_write): Return documented value, not 0.
17806
17807         * fileio.c (directory_file_name):
17808         (Fsubstitute_in_file_name):
17809         (Fsubstitute_insert_file_contents_internal):
17810         (Fwrite_region_internal):
17811         * emacs.c:
17812         * sysdep.c:
17813         * getloadavg.c:
17814         * systty.h:
17815         Remove vestigial APOLLO-conditional code.
17816
17817 2000-01-21  Martin Buchholz  <martin@xemacs.org>
17818
17819         * getpagesize.h: Add guard macros.
17820         * libsst.h: Add guard macros.
17821         * libst.h: Add guard macros.
17822         * line-number.h: Add guard macros.
17823         * ndir.h: Add guard macros.
17824         * sysfloat.h: Add guard macros.
17825         * sysfile.h: Add guard macros.
17826         * sysproc.h: Add guard macros.
17827         * syswait.h: Add guard macros.
17828         * xintrinsic.h: Add guard macros.
17829         * xintrinsicp.h: Add guard macros.
17830         * xmmanager.h: Add guard macros.
17831         * xmmanagerp.h: Add guard macros.
17832         * xmprimitive.h: Add guard macros.
17833         * xmu.h: Add guard macros.
17834         * gpmevent.h: Add copyright statement. Add guard macros.
17835         * miscplay.h: Add guard macros.
17836         * *.h: Use consistent C-standards-approved guard macro names.
17837
17838         * opaque.c (make_opaque): Switch parameter order.
17839         * opaque.h (make_opaque): Switch parameter order.
17840         Update all callers.
17841         * buffer.h (MAKE_MIRROR_TRT_TABLE): Use symbolic constant OPAQUE_CLEAR.
17842
17843         * config.h.in (type_checking_assert): Added.
17844         (bufpos_checking_assert): Added.
17845
17846 2000-01-21  Martin Buchholz  <martin@xemacs.org>
17847
17848         * alloc.c: Harmless pdump changes.
17849         - Use countof().
17850         - spell alignment correctly.
17851         * sysdep.c: Use countof()
17852
17853 2000-01-20  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17854
17855         * console.c (create_console): Use CONMETH_OR_GIVEN when calling
17856         initially_selected_for_input() console method, default to 0.
17857         (semi_canonicalize_console_connection): Try to delegate to
17858         canonicalize_console_connection if no such console method.
17859         (canonicalize_console_connection): Vice versa.
17860         (print_console): Do not print nil connection.
17861
17862         * console.h (XDEVIMPF_IS_A_PRINTER): Added.
17863         (XDEVIMPF_NO_AUTO_REDISPLAY): Added.
17864         (XDEVIMPF_FRAMELESS_OK): Added.
17865         (CONSOLE_INHERITS_METHOD): Added.
17866
17867         * console-msw.c (mswindows_canonicalize_console_connection):
17868         Added.
17869         (mswindows_canonicalize_device_connection): Added.
17870
17871         * console-msw.h (struct msprinter_device): Added this struct and
17872         accessor macros.
17873         (mswindows_device): Made fontlist a lisp object.
17874
17875         * device.c (semi_canonicalize_device_connection):  Try to delegate
17876         to canonicalize_device_connection if no such console method.
17877         (canonicalize_device_connection): Vice versa.
17878         (print_device): Do not print nil connection.
17879
17880         * device-msw.c (mswindows_init_device): Call InitCommonControls
17881         when have widgets.
17882         (mswindows_delete_device): Removed fontlist deallocation.
17883         (mswindows_mark_device): Added.
17884
17885         * events.c (event_equal): Added abort() at unreached code.
17886         (event_hash): Ditto.
17887
17888         * faces.c (complex_vars_of_faces): Added Qmsprinter to the list of
17889         fallback tags of Windows devices.
17890
17891         * general.c (syms_of_general): Initialized Qmsprinter.
17892
17893         * gutter.c (complex_vars_of_gutters): Added Qmsprinter to the list
17894         of fallback tags of Windows devices.
17895
17896         * lisp.h: Declared Qmsprinter.
17897
17898         * objects-msw.c (font_enum_callback_2): Rewrote to build lisp list
17899         of strings.
17900         (mswindows_list_fonts): Ditto.
17901         (mswindows_enumerate_fonts): Removed dependency on XDEVICE, so
17902         that it can be used by both mswindows and msprinter devices.
17903         (initialize_font_instance): Added.
17904         (mswindows_initialize_font_instance): Use it.
17905         (msprinter_initialize_font_instance): Added.
17906
17907         * redisplay.c (redisplay_device): Added the parameter AUTOMATIC
17908         and implementation flags check.
17909         (redisplay_without_hooks): Changed the call to the above.
17910         (Fredraw_device): Ditto.
17911         (Fredisplay_device): Ditto.
17912
17913         * redisplay-msw.c (get_frame_dc): Implemented.
17914         (get_frame_compdc): Implemented.
17915         (many functions): Use the two functions above to get device
17916         contexts, ether for a window or a printer.
17917
17918 2000-01-21  Olivier Galibert  <galibert@pobox.com>
17919
17920         * symbols.c (reinit_symbols_once_early): Put Qzero/Qnull_pointer
17921         initialization here.
17922         (init_symbols_once_early): Call it.
17923         * emacs.c (main_1): Call it.
17924         * symsinit.h: Declare it.
17925
17926 2000-01-19  Olivier Galibert  <galibert@pobox.com>
17927
17928         * alloc.c: Use a lrecord_header * in the backtrace instead of a
17929         Lisp_Object.
17930         (pdump_backtrace): Ditto.
17931         (pdump_register_object): Ditto.  Cleanup use of the pointers.
17932         (pdump_get_entry): Abort if trying to register a null pointer.
17933         (pdump_dump_data): Cleanup types when relocating.
17934         (pdump_dump_staticvec): Cleanup types w.r.t the reloc table.
17935         (pdump_dump_rtables): Remove bad casts.
17936         (pdump_load): Cleanup relocation w.r.t union type.  Use a
17937         Lisp_Object instead of a EMACS_INT for the hashtable
17938         reorganization.
17939
17940 2000-01-20  Martin Buchholz  <martin@xemacs.org>
17941
17942         * emacs.c (main_1): Rearrange morass of #ifdef's for correctness.
17943
17944         * callproc.c (call_process_cleanup): Isolate WINDOWSNT code for clarity.
17945
17946         * EmacsManager.c (GeometryManager): Avoid use of CPP for clarity.
17947
17948         * *.[ch]: global-replace 's/_of_xselect/_of_select_x/g' *.[ch]
17949
17950 2000-01-17  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17951
17952         * faces.h (FACE_STRIKETHRU_P): Added.
17953
17954         * glyphs-msw.c (mswindows_widget_hfont): Implemented, to take care
17955         of font variants.
17956
17957         * redisplay-msw.c (mswindows_apply_face_effects): Deleted.
17958         (mswindows_set_dc_font): New function, aware of font variants,
17959         separated from mswindows_update_dc.
17960
17961         * objects-msw.h (struct mswindows_font_instance_data): Added
17962         definition.
17963
17964         * objects-msw.c (mswindows_finalize_font_instance): Delete all
17965         cached fonts and the data structure.
17966         (mswindows_initialize_font_instance): Added creation of font data
17967         structure.
17968         (mswindows_print_font_instance): Print at least something.
17969         (mswindows_create_font_variant): Implemented.
17970         (mswindows_get_hfont): Implemented.
17971
17972 2000-01-13  Fabrice Popineau  <Fabrice.Popineau@supelec.fr>
17973
17974         * dired-msw.c: permute "sysdir.h" with "sysfile.h" because of
17975         prototyping problem with msvc.
17976
17977         * emacs.c (main_1): added syms_of_gui_mswindows() call
17978
17979         * gui-msw.c: added "mswindows-shell-execute" lisp subr and
17980         syms_of_gui_mswindows() function
17981
17982         * symsinit.h: added the prototype for syms_of_gui_mswindows()
17983
17984 2000-01-18  Martin Buchholz <martin@xemacs.org>
17985
17986         * XEmacs 21.2.27 is released.
17987
17988 2000-01-18  Martin Buchholz  <martin@xemacs.org>
17989
17990         * glyphs-eimage.c (struct tiff_error_struct):
17991         (tiff_error_func):
17992         (tiff_warning_func):
17993         #if HAVE_VSNPRINTF ==> #ifdef HAVE_VSNPRINTF
17994
17995         * unexmips.c:
17996         * unexhp9k3.c:
17997         * unexfreebsd.c:
17998         * unexec.c: Remove vestigial Lucid C code.
17999         * unexalpha.c:
18000         * unexaix.c:
18001         * termcap.c:
18002         * libsst.c: Ansify.
18003         Remove declarations of errno and strerror().
18004
18005         * eval.c (Fbacktrace): Small Purify-cation.  Fix docstring.
18006
18007         * .dbxrc (run-temacs): Use the horrible ${1+"$@"} instead of "$@".
18008
18009 2000-01-16  Martin Buchholz  <martin@xemacs.org>
18010
18011         * mule-charset.c (Fchar_octet): Resurrect from earlier in 1999.
18012         Optimize.
18013
18014 2000-01-14  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
18015
18016         * md5.c:
18017         * file-coding.c:
18018         * file-coding.h:
18019         Change enum eol_type to eol_type_t.
18020
18021 2000-01-17  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
18022
18023         * gui.c (get_gui_callback): Check cons before accessing car.
18024
18025 2000-01-17  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
18026
18027         * specifier.h (XSPECIFIER_TYPE): Add error checking version.
18028         (XSETSPECIFIER_TYPE): Ditto.
18029
18030 2000-01-17  Didier Verna  <didier@xemacs.org>
18031
18032         * redisplay.c (generate_fstring_runes): compute string size in
18033         characters, not bytes.
18034
18035 2000-01-09  Hrvoje Niksic  <hniksic@iskon.hr>
18036
18037         * window.c (Fwindow_minibuffer_p): Make WINDOW optional.
18038
18039 2000-01-14  Hrvoje Niksic  <hniksic@iskon.hr>
18040
18041         * print.c (print_error_message): Call print_prepare().
18042
18043 2000-01-14  Martin Buchholz  <martin@xemacs.org>
18044
18045         * .dbxrc: Renamed from dbxrc.
18046
18047         * events.c (event_to_character):
18048         Use `assert (foo)' instead of `if (!foo) abort()'
18049
18050         * .gdbinit (xtype): Add documentation.
18051         * .gdbinit (check-temacs): New function.
18052         * .gdbinit (check-xemacs): New function.
18053         * dbxrc (check-xemacs): New function.
18054         * dbxrc (check-xemacs): New function.
18055
18056 2000-01-14  Andy Piper  <andy@xemacs.org>
18057
18058         * glyphs-widget.c (widget_query_geometry): Make sure that we
18059         calculate default dimensions correctly.
18060
18061 2000-01-13  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
18062
18063         * symsinit.h: Added prototype for reinit_vars_of_frame_mswindows.
18064
18065         * event-msw.c (vars_of_event_mswindows): Fixed a mistyped
18066         pdump_wire'd variable.
18067
18068         * emacs.c: (main_1): Conditionalized calls to
18069         reinit_vars_of_scrollbar_x and reinit_vars_of_module.
18070
18071 2000-01-13  Martin Buchholz  <martin@xemacs.org>
18072
18073         * window.c (Fset_window_configuration):
18074         * sysdep.c (_start):
18075         * input-method-motif.c (res):
18076         * event-Xt.c (Xt_process_to_emacs_event):
18077         Simple compiler warning fixes.
18078
18079         * bytecode.c (funcall_compiled_function): Use the original
18080         function symbol on the backtrace list in preference to the
18081         compiled_function object in error messages.
18082
18083 2000-01-13  Andy Piper  <andy@xemacs.org>
18084
18085         * glyphs-x.c (update_widget_face): Make sure we update the widget
18086         background as well as foreground.
18087
18088 2000-01-13  Andy Piper  <andy@xemacs.org>
18089
18090         * glyphs.h (struct Lisp_Image_Instance): Move justify and orient
18091         fields to subwindow.
18092         (IMAGE_INSTANCE_SUBWINDOW_JUSTIFY): new macro.
18093         (XIMAGE_INSTANCE_SUBWINDOW_JUSTIFY): ditto.
18094         (IMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
18095         (XIMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
18096
18097         * glyphs-widget.c (check_valid_tab_orientation): new function.
18098         (initialize_widget_image_instance): zero orientation and
18099         justification.
18100         (widget_instantiate): pick up orientation.
18101         (tab_control_query_geometry): return appropriate values for
18102         vertical tabs.
18103
18104         * glyphs-msw.c: (mswindows_tab_control_instantiate): assign
18105         appropriate creation flags for left, right and bottom tabs.
18106
18107         * s/cygwin32.h: add tab definitions.
18108
18109 2000-01-12  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
18110
18111         * glyphs-msw.c (mswindows_unmap_subwindow): Set focus back to the
18112         frame upon hiding a subwindow.
18113         (mswindows_button_instantiate): Changed the push button style to
18114         BS_PUSHBUTTON.
18115         (mswindows_button_instantiate): Removed button BS_NOTIFY
18116         style.
18117         (mswindows_button_instantiate): Removed redundant check for
18118         a disabled gui item.
18119         (mswindows_button_instantiate): Made use of WS_TABSTOP
18120         consistent: "operable" controls (edit, button, tree, scroll) have
18121         this style, "display-only" ones (static, progress gauge) do
18122         not. This style is currently ignored by XEmacs though. Also,
18123         removed the WS_EX_CONTROLPARENT style - it is not for children,
18124         it is for their parents!
18125         (mswindows_edit_field_instantiate): Ditto.
18126         (mswindows_progress_gauge_instantiate): Ditto.
18127         (mswindows_tree_view_instantiate): Ditto.
18128         (mswindows_tab_control_instantiate): Ditto.
18129         (mswindows_scrollbar_instantiate): Ditto.
18130         (mswindows_combo_box_instantiate): Ditto.
18131         (mswindows_widget_instantiate): Added the WS_EX_CONTROLPARENT
18132         style to the "clip" window.
18133         (mswindows_button_instantiate): Removed compilation warning by
18134         equally typing terms of the ?: operator.
18135
18136 2000-01-12  Didier Verna  <didier@xemacs.org>
18137
18138         * redisplay.c (generate_fstring_runes): new parameter holding the
18139         last modeline-format extent.
18140         (add_glyph_to_fstring_db_runes): new parameter holding the glyph
18141         extent, fill the glyph block with it.
18142         (generate_fstring_runes): handle these parameters.
18143         (generate_formatted_string_db): ditto.
18144
18145         * keymap.c (get_relevant_keymaps): retreive the keymaps from the
18146         glyphs'extents in the modeline.
18147
18148 1999-01-11  Mike Woolley  <mike@bulsara.com>
18149
18150         * ntheap.c: Reduced the reserved heap space from 1Gb down to
18151         256Mb, as a workaround for the non-starting problem many people
18152         have experienced.
18153
18154 2000-01-06  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
18155
18156         * console-tty.c (Fset_console_tty_output_coding_system):
18157         Force redrawing tty frame.
18158
18159 2000-01-10  Didier Verna  <didier@xemacs.org>
18160
18161         * redisplay.c (generate_fstring_runes): fix size computation bug.
18162
18163 2000-01-09  William M. Perry <wmperry@aventail.com>
18164
18165         * gpmevent.c: (gpm_next_event_cb): Don't return value from void function.
18166
18167 2000-01-09  Andy Piper  <andy@xemacs.org>
18168
18169         * glyphs-msw.c: index -> i to avoid shadows.
18170         (xbm_create_bitmap_from_data): make static.
18171         (check_valid_string_or_int): deleted.
18172         (mswindows_control_wnd_proc): message -> msg to avoid shadows.
18173
18174         * glyphs-x.c (x_update_subwindow): remove unused args.
18175
18176         * glyphs.c (glyph_image_instance): return the thing. Don't set the
18177         back pointer - this is done in allocate_image_instance.
18178         (query_string_font): return Qnil to make the compiler happy.
18179         (unmap_subwindow): set to ~0 to make the compiler happy.
18180         (glyph_query_geometry): comment out until used.
18181         (glyph_layout): ditto.
18182
18183 2000-01-09  Hrvoje Niksic  <hniksic@iskon.hr>
18184
18185         * insdel.c (signal_after_change): Remove extraneous unbind_to().