update.
[chise/xemacs-chise.git.1] / src / ChangeLog
1 2012-02-17  MORIOKA Tomohiko  <tomo@zinbun.kyoto-u.ac.jp>
2
3         * text-coding.c (DECODE_ADD_UCS_CHAR): Add `static'.
4
5 2012-02-11  MORIOKA Tomohiko  <tomo@zinbun.kyoto-u.ac.jp>
6
7         * text-coding.c (DECODE_ADD_UCS_CHAR): Don't use `INLINE_HEADER'.
8
9         * chartab.c (UINT8_DECODE): Don't use `INLINE_HEADER'.
10         (UINT16_DECODE): Ditto.
11
12         * glyphs-eimage.c (png_instantiate):
13         - Use `png_get_image_height (png_ptr, info_ptr)' instead of
14           `info_ptr->height'.
15         - Use `png_get_image_width (png_ptr, info_ptr)' instead of
16           `info_ptr->width'.
17         - Use `png_get_color_type(png_ptr, info_ptr)' instead of
18           `info_ptr->color_type'.
19         - Use `png_get_bit_depth(png_ptr, info_ptr)' instead of
20           `info_ptr->bit_depth'.
21
22 2011-07-20  MORIOKA Tomohiko  <tomo@zinbun.kyoto-u.ac.jp>
23
24         * mule-charset.c (charset_code_point): If nil is specified as a
25         feature-value, don't find in mother and return -1.
26
27 2011-07-22  MORIOKA Tomohiko  <tomo@zinbun.kyoto-u.ac.jp>
28
29         * chartab.c (Fput_char_attribute): Accept nil as a value of
30         CCS-feature [it means that specified object does not have
31         code-point of the CCS-feature].
32
33 2011-06-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
34
35         * mule-charset.c (complex_vars_of_mule_charset): Use "jisx0208"
36         instead of "jisx0208\\.1990" as the X-registry of `=jis-x0208'.
37
38 2011-05-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
39
40         * text-coding.c (char_encode_as_entity_reference): Don't use
41         `DECODE_CHAR' to detect isolated characters.
42
43         * mule-charset.c (charset_code_point): Change the third argument
44         `defined_only' to `accepted_mode'; `accepted_mode' can be
45         CHAR_ISOLATED_ONLY, CHAR_ALL or CHAR_DEFINED_ONLY.
46
47         * char-ucs.h (CHAR_ISOLATED_ONLY): New macro.
48         (CHAR_ALL): New macro.
49         (CHAR_DEFINED_ONLY): New macro.
50
51 2011-03-14  MORIOKA Tomohiko  <tomo@zinbun.kyoto-u.ac.jp>
52
53         * chartab.c (Fchar_feature_base_name_eq): New function when
54         UTF2000 is enabled.
55         (Fput_char_attribute): Use `Fchar_feature_base_name_eq'.
56         (syms_of_chartab): Add new builtin function
57         `char-feature-base-name=' when UTF2000 is enabled.
58
59 2011-02-17  MORIOKA Tomohiko  <tomo@zinbun.kyoto-u.ac.jp>
60
61         * text-coding.c (Vdecomposition_feature_list): New variable when
62         UTF2000 is defined.
63         (char_encode_utf8): Refer variable `decomposition-feature-list'
64         instead of `=decomposition' feature.
65         (vars_of_file_coding): Add new variable
66         `decomposition-feature-list' when UTF2000 is defined.
67
68 2011-02-16  MORIOKA Tomohiko  <tomo@zinbun.kyoto-u.ac.jp>
69
70         * chartab.c (Fput_char_attribute): Support `=decomposition@FOO' as
71         `=decomposition' feature.
72
73 2011-02-12  MORIOKA Tomohiko  <tomo@zinbun.kyoto-u.ac.jp>
74
75         * mule-charset.c (Fmake_charset): Fix problem for 94^n or 96^n
76         coded-charsets with builtin characters.
77
78 2011-02-09  MORIOKA Tomohiko  <tomo@zinbun.kyoto-u.ac.jp>
79
80         * text-coding.c (Qrep_decomposition): New extern.
81         (char_encode_utf8): Try to encode as combing sequence (or IVS).
82
83 2011-01-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
84
85         * concord.c (Fconcord_genre_ds): Add "#ifdef HAVE_LIBCHISE" ...
86         "#endif" for code to refer Vchise_system_db_directory.
87
88 2010-12-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
89
90         * concord.c (Fconcord_object_put): Use `member' instead of `memq'.
91         (Fconcord_object_adjoin): New function.
92         (Fconcord_object_adjoinX): New function.
93         (syms_of_concord): Defsubred `Fconcord_object_adjoin' and
94         `Fconcord_object_adjoinX'.
95
96 2010-12-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
97
98         * concord.c:
99         - Include "elconcord.h".
100         - Move EXFUNs for `Fconcord_decode_object', `Fconcord_object_put'
101           and `Fconcord_object_get' to elconcord.h.
102         (Lisp_CONCORD_DS): Moved to elconcord.h.
103         (struct Lisp_CONCORD_DS): Ditto.
104         (XCONCORD_DS): Ditto.
105         (XSET_CONCORD_DS): Ditto.
106         (CONCORD_DS_P): Ditto.
107         (CHECK_CONCORD_DS): Ditto.
108         (CONCHECK_CONCORD_DS): Ditto.
109         (Lisp_CONCORD_Object): Ditto.
110         (struct Lisp_CONCORD_Object): Ditto.
111         (XCONCORD_OBJECT): Ditto.
112         (XSET_CONCORD_OBJECT): Ditto.
113         (CONCORD_OBJECT_P): Ditto.
114         (CHECK_CONCORD_OBJECT): Ditto.
115         (CONCHECK_CONCORD_OBJECT): Ditto.
116         (CONCORD_OBJECT_GENRE): Ditto.
117         (CONCORD_OBJECT_ID): Ditto.
118         (XCONCORD_OBJECT_ID): Ditto.
119         (XCONCORD_OBJECT_GENRE): Ditto.
120         (concord_object_equal): New function.
121         (LRECORD_IMPLEMENTATION of "concord_object"): Use
122         `concord_object_equal'.
123
124         * elconcord.h: New file.
125
126 2010-12-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
127
128         * concord.c (print_concord_object): Use readable form even if
129         `print-readably' is nil.
130
131 2010-11-19  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
132
133         * concord.c (print_concord_object): Don't display location of
134         data-source when `print-readably' is nil.
135
136 2010-11-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
137
138         * concord.c (Fconcord_genre_ds): Use Vchise_system_db_directory as
139         the default location of data-source.
140         (complex_vars_of_concord): Use Vchise_system_db_directory to
141         assign genre `character' and `feature'.
142
143         * chartab.h (Vchise_system_db_directory): New extern when
144         HAVE_CONCORD is defined.
145
146 2010-09-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
147
148         * concord.c: Include <chise.h> if HAVE_LIBCHISE is defined.
149         (Qcharacter): New variable when HAVE_LIBCHISE is defined.
150         (Qfeature): Ditto.
151         (Fconcord_object_genre): New function.
152         (syms_of_concord):
153         - Add new builtin symbols `character' and `feature' when
154           HAVE_LIBCHISE is defined.
155         - Add Add new builtin function `concord-object-genre'.  
156         (complex_vars_of_concord): New function; assign genres `character'
157         and `feature' when HAVE_LIBCHISE is defined.
158
159 2010-09-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
160
161         * emacs.c (main_1): Call `complex_vars_of_concord' when
162         HAVE_CONCORD is defined.
163
164         * symsinit.h (complex_vars_of_concord): New prototype.
165
166 2010-07-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
167
168         * chartab.c (allocate_character): Add `static'.
169
170 2010-07-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
171
172         * chartab.c (allocate_character): New function.
173         (Fdefine_char): Use allocate_character().
174
175 2010-06-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
176
177         * mule.c (vars_of_mule): Update `xemacs-chise-version' to 0.25
178         (Ōkawara).
179
180 2010-03-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
181
182         * chartab.c (save_uint8_byte_table): Fixed problem when a property
183         is unloaded.
184         (save_uint16_byte_table): Likewise.
185
186 2010-02-21  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
187
188         * chartab.c (Fchar_feature_property): New function when LIBCHISE
189         is enabled.
190         (Fput_char_feature_property): Likewise.
191         (syms_of_chartab): Add new builtin functions
192         `char-feature-property' and `put-char-feature-property' when
193         LIBCHISE is enabled.
194
195 2009-04-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
196
197         * mule-charset.c (Fmake_charset): Add DOC-string of 'iso-ir and
198         '=>iso-ir.
199         (Fcharset_property): Regard '=>iso-ir as same as `iso_ir.
200
201 2009-04-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
202
203         * mule-charset.c (Qto_iso_ir): New variable for XEmacs CHISE.
204         (make_charset): Add new argument `iso_ir'.
205         (Fmake_charset): Add new property `=>iso-ir' in XEmacs CHISE.
206         (Fmake_reverse_direction_charset): Copy CHARSET_ISO_IR(cs) in
207         XEmacs CHISE.
208         (Fcharset_property): Support `iso-ir' in XEmacs CHISE.
209         (syms_of_mule_charset): Add new builtin symbol `=>iso-ir' in
210         XEmacs CHISE.
211         (complex_vars_of_mule_charset): Specify argument `iso_ir' of
212         function `make_charset'.
213
214         * char-ucs.h (LEADING_BYTE_*): Enclose negative value with ( ).
215         (struct Lisp_Charset): Add new member `iso_ir'.
216         (CHARSET_ISO_IR): New macro.
217
218 2009-03-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
219
220         * mule-charset.c (Fdecode_char): Fix problem when decoding GR
221         code-point by GL charset.
222
223 2008-10-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
224
225         * concord.c (concord_id_validate): New function.
226         (structure_type_create_concord): Use `concord_id_validate' instead
227         of `concord_name_validate' to accept integer and character as =id.
228
229 2008-09-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
230
231         * concord.c (func_for_each_object): Fix bug about GC-protection.
232
233 2008-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
234
235         * concord.c (Fconcord_object_put): Check argument FEATURE is a
236         symbol.
237
238 2008-09-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
239
240         * text-coding.c (struct decoding_stream): Add new member
241         `bom_flag' in XEmacs CHISE.
242         (reset_decoding_stream): Ignore U+FEFF in the beginning of stream
243         in XEmacs CHISE.
244
245 2008-09-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
246
247         * mule-charset.c: Move definition of `=jis-x0208@1978' to
248         lisp/mule/mule-conf.el.
249
250 2008-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
251
252         * mule-charset.c (Qpartial): New variable in XEmacs CHISE.
253         (make_charset): Add new argument `partial'.
254         (Fmake_charset): Add new property 'partial in XEmacs CHISE.
255         (Fmake_reverse_direction_charset): Modify for `make_charset'.
256         (syms_of_mule_charset): Add new builtin symbol `partial' in XEmacs
257         CHISE.
258         (complex_vars_of_mule_charset): Modify for `make_charset'; specify
259         `=jis-x0208' as a partial coded-charset.
260
261 2008-08-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
262
263         * text-coding.c (decode_add_er_char): Fix problem when a character
264         represented by an entity-reference is not defined.
265
266 2008-06-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
267
268         * char-ucs.h, chartab.c, fns.c, mule-charset.c: Rename Qmap_* to
269         Qrep_*.
270
271 2007-09-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
272
273         * mule.c (vars_of_mule): Update `xemacs-chise-version' to 0.24
274         (Kasagi).
275
276 2006-06-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
277
278         * concord.c (Fconcord_object_put): Add reversed links when FEATURE
279         is a relation feature.
280
281 2006-06-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
282
283         * chartab.c (syms_of_chartab): Define
284         `{<-|->}{subsumptive|denotational}' when HAVE_CONCORD is defined.
285
286         * chartab.h (Q_denotational): New extern when UTF2000 or
287         HAVE_CONCORD is defined.
288         (Q_denotational_from): Likewise.
289         (Q_subsumptive): Likewise.
290         (Q_subsumptive_from): Likewise.
291
292 2006-06-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
293
294         * concord.c (concord_object_put): New function.
295         (Fconcord_object_put): Use `concord_object_put'.
296
297 2006-06-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
298
299         * concord.c (Fconcord_define_object): New function.
300         (syms_of_concord): Add new builtin function
301         `concord-define-object'.
302
303 2006-05-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
304
305         * mule.c (vars_of_mule): Update `xemacs-chise-version' to 0.23
306         (Kamo).
307
308 2006-04-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
309
310         * concord.c: Add EXFUN for Fconcord_object_get.
311         (Vconcord_genre_object_hash_table): New variable.
312         (concord_genre_cache_get_object): New function.
313         (concord_genre_cache_put_object): New function.
314         (Fconcord_make_object): Use object cache; put object-ID into `=id'
315         feature.
316         (Fconcord_object_put): Call `concord_index_sync' after
317         `concord_index_strid_put_obj'.
318         (vars_of_concord): Setup Vconcord_genre_object_hash_table.
319
320 2006-04-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
321
322         * concord.c (Fconcord_decode_object): Do GCPRO for
323         Fconcord_make_object.
324         (func_for_each_object): Likewise; do GCPRO for
325         for_each_object_closure->function.
326         (Fconcord_foreach_object_in_feature): Use GCPRO4 for
327         for_each_object_closure->function, for_each_object_closure->genre,
328         for_each_object_closure->ds and for_each_object_closure->ret.
329         (concord_object_validate): Do GCPRO for Fconcord_make_object.
330
331 2006-04-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
332
333         * concord.c: Add EXFUNs for Fconcord_decode_object and
334         Fconcord_object_put.
335         (Fconcord_make_object): Change order of arguments.
336         (Fconcord_decode_object): Modify for Fconcord_make_object.
337         (func_for_each_object): Likewise.
338         (concord_object_validate): Likewise.
339         (concord_object_instantiate): Use GCPRO2 for `data' and `retval'.
340
341 2006-04-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
342
343         * concord.c (Fconcord_object_put): Setup index for `=FOO' feature.
344
345 2006-04-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
346
347         * concord.c (Fconcord_decode_object): Try to use readable print
348         form as a key of Concord-index.
349         (Fconcord_object_get): Try to use readable print form as an ID of
350         Concord-object.
351         (Fconcord_object_put): Try to use readable print form as an ID of
352         Concord-object and a feature value.
353         (Fconcord_object_spec): Try to use readable print form as an ID of
354         Concord-object.
355
356 2006-04-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
357
358         * concord.c (print_concord_object): Support readable form.
359
360 2006-04-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
361
362         * emacs.c (main_1): Call `structure_type_create_concord' when
363         HAVE_CONCORD is defined.
364
365         * symsinit.h (structure_type_create_concord): New prototype.
366
367         * concord.c (Qconcord_object): New variable.
368         (Qgenre): Likewise.
369         (Q_id): Likewise.
370         (Fconcord_ds_directory): Use <char*> instead of <unsigned char*>
371         for directory.
372         (add_feature_to_list_mapper): Use <char*> instead of <unsigned
373         char*> for genre-name.
374         (Fconcord_feature_list): Likewise.
375         (Fconcord_make_object): Likewise.
376         (Fconcord_decode_object): Likewise; use <char*> instead of
377         <unsigned char*> for feature_name and strid.
378         (Fconcord_object_get): Use <char*> instead of <unsigned char*> for
379         c_obj and feature_name.
380         (Fconcord_object_put): Likewise; use <char*> instead of <unsigned
381         char*> for c_value.
382         (struct closure_for_object_spec): Use <char*> instead of <unsigned
383         char*> for member `object_id'.
384         (add_feature_to_spec_mapper): Use <char*> instead of <unsigned
385         char*> for feature-name.
386         (Fconcord_object_spec): Use <char*> instead of <unsigned char*>
387         for c_obj.
388         (func_for_each_object): Cast to avoid warnings.
389         (Fconcord_foreach_object_in_feature): Use <char*> instead of
390         <unsigned char*> for genre_name and feature_name.
391         (concord_name_validate): New function.
392         (concord_object_validate): Likewise.
393         (concord_object_instantiate): Likewise.
394         (syms_of_concord): Add new builtin symbols `concord-object',
395         `genre' and `=id'.
396         (structure_type_create_concord): New function.
397
398 2006-04-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
399
400         * concord.c (Vconcord_ds_hash_table): New variable.
401         (Vconcord_genre_hash_table): New variable.
402         (Fconcord_open_ds): Use Vconcord_ds_hash_table.
403         (Fconcord_ds_directory): New function.
404         (Fconcord_assign_genre): New function.
405         (Fconcord_genre_directory): New function.
406         (Fconcord_genre_ds): New function.
407         (Fconcord_feature_list): Allow to omit `ds'.
408         (Fconcord_make_object): Likewise.
409         (Fconcord_decode_object): Likewise.
410         (Fconcord_foreach_object_in_feature): Likewise.
411         (syms_of_concord): Add new builtin function Fconcord_ds_directory,
412         Fconcord_assign_genre, Fconcord_genre_directory and
413         Fconcord_genre_ds.
414         (vars_of_concord): Setup Vconcord_ds_hash_table and
415         Vconcord_genre_hash_table.
416
417 2006-02-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
418
419         * concord.c (struct closure_for_each_object): Add new member
420         `ret'.
421         (func_for_each_object): Setup the return value to
422         `for_each_object_closure->ret'.
423         (Fconcord_foreach_object_in_feature): If FUNCTION returns non-nil,
424         returns the value instead of Qt.
425
426 2005-12-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
427
428         * concord.c: New file.
429
430 2005-12-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
431
432         * lrecord.h (enum lrecord_type): Add `lrecord_type_concord_ds' and
433         `lrecord_type_concord_object'.
434
435 2005-09-21  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
436
437         * symsinit.h (syms_of_concord): New prototype.
438         (vars_of_concord): New prototype.
439
440         * emacs.c (main_1): Setup symbols and variable about concord if
441         HAVE_CONCORD is defined.
442
443         * config.h.in (HAVE_CONCORD): New macro.
444
445 2005-09-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
446
447         * chartab.c (Fput_char_attribute): For each character relation
448         feature `{<-|->}FOO', set up the reversed link `{->|<-}FOO'.
449
450 2005-08-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
451
452         * chartab.c (Fput_char_attribute): Use
453         `Fchar_refs_simplify_char_specs' for `=>decomposition' before
454         calling `put_char_composition'.
455
456 2005-08-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
457
458         * chartab.c (Q_halfwidth_of): New variable.
459         (put_char_composition): Return `<-halfwidth' instead of
460         `=decomposition' for compatibility mapping to single character
461         tagged `narrow'.
462         (Fput_char_attribute): Convert char-specs in value of
463         `{<-|->}halfwidth[^*]*' to characters and put reverse links.
464         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
465         for `<-halfwidth'.
466         (syms_of_chartab): Add new symbol `<-halfwidth'.
467
468 2005-08-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
469
470         * chartab.c (put_char_composition): Return
471         `<-formed@{isolated|initial|medial|final}' for compatibility
472         mapping to single character tagged
473         `{isolated|initial|medial|final}'.
474
475 2005-08-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
476
477         * chartab.c (Q_compat_of): Deleted.
478         (put_char_composition): Return `<-FOO' for compatibility mapping
479         to single character tagged `FOO'; use `Fsymbol_name (...)' instead
480         of `symbol_name (XSYMBOL(...))'.
481         (Fput_char_attribute): Convert char-specs in value of
482         `{<-|->}font[^*]*' to characters and put reverse links.
483         (Fsave_char_attribute_table): Don't refer Q_compat_of.
484         (syms_of_chartab): Delete builtin symbol `<-compat'.
485
486 2005-08-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
487
488         * chartab.c (Q_circled_of): New variable.
489         (put_char_composition): Return `<-circled' instead of
490         `=decomposition' for compatibility mapping to single character
491         tagged `circle'.
492         (Fput_char_attribute): Convert char-specs in value of
493         `{<-|->}circled[^*]*' to characters and put reverse links.
494         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
495         for `<-circled'.
496         (syms_of_chartab): Add new symbol `<-circled'.
497
498 2005-08-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
499
500         * chartab.c (Qto_decomposition_at_circled): New variable.
501         (put_char_composition): Return `=>decomposition@circled' instead
502         of `=decomposition' for compatibility decomposition mapping tagged
503         `circle'.
504         (syms_of_chartab): Add new symbol `=>decomposition@circled'.
505
506 2005-08-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
507
508         * chartab.c (Q_subscript_of): New variable.
509         (put_char_composition): Return `<-subscript' instead of
510         `=decomposition' for compatibility mapping to single character
511         tagged `sub'.
512         (Fput_char_attribute): Convert char-specs in value of
513         `{<-|->}subscript[^*]*' to characters and put reverse links.
514         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
515         for `<-subscript'.
516         (syms_of_chartab): Add new symbol `<-subscript'.
517
518 2005-08-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
519
520         * chartab.c (Q_superscript_of): New variable.
521         (put_char_composition): Return `<-superscript' instead of
522         `=decomposition' for compatibility mapping to single character
523         tagged `super'.
524         (Fput_char_attribute): Convert char-specs in value of
525         `{<-|->}superscript[^*]*' to characters and put reverse links.
526         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
527         for `<-superscript'.
528         (syms_of_chartab): Add new symbol `<-superscript'.
529
530 2005-08-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
531
532         * chartab.c (Qto_decomposition_at_compat): Deleted.
533         (Qto_decomposition_at_superscript): New variable.
534         (put_char_composition): Use `=>decomposition@superscript' instead
535         of `=decomposition' for compatibility decomposition mapping tagged
536         `super'.
537         (Fput_char_attribute): Fix condition about `put_char_composition'.
538         (syms_of_chartab): Delete builtin symbol `=>decomposition@compat';
539         add news symbol `=>decomposition@superscript'.
540
541 2005-07-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
542
543         * chartab.c (put_char_composition): Return `=>decomposition@FOO'
544         for compatibility decomposition mapping tagged FOO.
545         (Fput_char_attribute): Modify for `put_char_composition'.
546
547 2005-07-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
548
549         * chartab.c (Qto_decomposition_at_compat): New variable.
550         (Q_compat_of): Renamed from `Q_compatibility_of'.
551         (put_char_composition): Rename `Q_compatibility_of' to
552         `Q_compat_of'; return `=>decomposition@compat' for compatibility
553         decomposition mapping.
554         (Fsave_char_attribute_table): Rename `Q_compatibility_of' to
555         `Q_compat_of'.
556         (syms_of_chartab): Add new symbol `=>decomposition@compat'; rename
557         `<-compatibility' to `<-compat'.
558
559 2005-07-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
560
561         * chartab.c (Q_compatibility_of): New variable.
562         (put_char_composition): Use XCAR/XCDR instead of Fcar/Fcdr if an
563         object is proved to be a cons cell; return `<-compatibility' if
564         the first element of argument `value' is `compat'.
565         (Fput_char_attribute): Eliminate the first value if
566         `put_char_composition' returns `<-compatibility'.
567         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
568         for `<-compatibility'.
569         (syms_of_chartab): Add new symbol `<-compatibility'.
570
571 2005-07-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
572
573         * chartab.c (Q_canonical): New variable.
574         (put_char_composition): Return a feature name: return
575         `->canonical' if argument `value' specifies single character.
576         (Fput_char_attribute): Use `put_char_composition' to determine
577         feature name for `=decomposition' or `->denotational'.
578         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
579         for `->canonical'.
580         (syms_of_chartab): Add new symbol `->canonical'.
581
582 2005-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
583
584         * chartab.c (Qmap_decomposition): New variable.
585         (Fput_char_attribute): Convert `->decomposition' to
586         `=decomposition'.
587         (syms_of_chartab): Add new symbol `=decomposition'.
588
589 2005-07-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
590
591         * chartab.c (Fget_range_char_table): Fix serious problem when
592         `range' is nil.
593
594 2005-06-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
595
596         * chartab.c (char_table_get_db): Use `read_from_c_string'.
597
598 2005-06-19  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
599
600         * lread.c (read_from_c_string): New function.
601
602         * lisp.h (read_from_c_string): New prototype.
603
604 2005-05-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
605
606         * chartab.c (Fput_char_attribute): Convert char-specs in value of
607         `{<-|->}Oracle-Bones[^*]*' to characters and put reverse links.
608         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
609         for `{<-|->}Oracle-Bones[^*]*'.
610
611 2005-05-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
612
613         * mule.c (vars_of_mule): Update `xemacs-chise-version' to 0.22
614         (Kizu).
615
616 2005-02-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
617
618         * text-coding.c (Qccs_priority_list): New variable in XEmacs
619         CHISE.
620         (Fmake_coding_system): Support new property `ccs-priority-list' in
621         XEmacs CHISE.
622         (Fcoding_system_property): Likewise.
623         (char_encode_iso2022): Prefer CODING_SYSTEM_CCS_PRIORITY_LIST than
624         Vdefault_coded_charset_priority_list in XEmacs CHISE.
625         (syms_of_file_coding): Add builtin symbol `ccs-priority-list' in
626         XEmacs CHISE.
627         (complex_vars_of_file_coding): Define new coding-system-property
628         `ccs-priority-list' in XEmacs CHISE.
629
630         * file-coding.h (XCODING_SYSTEM_CCS_PRIORITY_LIST): New macro.
631
632 2004-12-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
633
634         * char-ucs.h (decoding_table_put_char): Moved to mule-charset.c;
635         changed to normal function.
636         (encode_char_2): Likewise.
637
638         * mule-charset.c (decoding_table_put_char): Copied from
639         char-ucs.h; changed to normal function.
640         (encode_char_2): Likewise.
641
642 2004-12-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
643
644         * char-ucs.h (Vdisplay_coded_charset_priority_use_inheritance):
645         New extern.
646         (Vdisplay_coded_charset_priority_use_hierarchy_order): Likewise.
647         (encode_char_2_search_children): New inline function.
648         (encode_char_2): Refer
649         `Vdisplay_coded_charset_priority_use_{inheritance|hierarchy_order}'
650         and use `encode_char_2_search_children'.
651
652 2004-12-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
653
654         * mule-charset.c
655         (Vdisplay_coded_charset_priority_use_inheritance): New variable.
656         (Vdisplay_coded_charset_priority_use_hierarchy_order): Likewise.
657         (vars_of_mule_charset): Add new variable
658         `display-coded-charset-priority-use-inheritance' and
659         `display-coded-charset-priority-use-hierarchy-order'.
660
661 2004-11-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
662
663         * char-ucs.h (Q_subsumptive): New extern.
664         (Q_denotational): Likewise.
665         (encode_char_2): Search children specified by `->subsumptive' and
666         `->denotational'.
667
668 2004-11-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
669
670         * mule-charset.c (complex_vars_of_mule_charset): Modify the
671         X-registry of `ucs-bmp'.
672
673 2004-10-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
674
675         * chartab.c (char-variants): Refer `->subsumptive',
676         `->denotational' and `->identical' as same as `->ucs-unified'.
677
678 2004-10-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
679
680         * chartab.c (Fput_char_attribute): Convert char-specs in value of
681         `{<-|->}{fullwidth|halfwidth}[^*]*' to characters and put reverse
682         links.
683
684 2004-09-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
685
686         * text-coding.c: Add EXFUN for `Fregexp_quote'.
687         (decode_add_er_char): Fix problem about infinite loop when a CCS
688         specified in `coded-charset-entity-reference-alist' is not
689         existed.
690
691 2004-09-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
692
693         * mule-charset.c (syms_of_mule_charset): Rename
694         `=jis-x0208-{1978|1983|1990}' to `=jis-x0208@{1978|1983|1990}'.
695
696 2004-08-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
697
698         * fns.c (simplify_char_spec): Don't allocate new character-object
699         if specified char_spec does not have any CCS-features.
700
701         * chartab.h: Add EXFUN for Fdefine_char.
702
703         * chartab.c: Delete EXFUN for Fdefine_char.
704
705 2004-08-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
706
707         * fns.c (simplify_char_spec): Use Fdefine_char instead of
708         Ffind_char for char-spec.
709
710 2004-07-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
711
712         * lisp-disunion.h (XCHARVAL): Fix condition about
713         SIZEOF_EMACS_INT.
714
715 2004-07-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
716
717         * mule-charset.c (decode_builtin_char): Use <EMACS_INT> instead of
718         <int> for `code'.
719         (Fdecode_builtin_char): Use <EMACS_INT> instead of <int> for code
720         point; use <Emchar> instead of <int> for character-id.
721
722 2004-07-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
723
724         * lisp-disunion.h (make_int): Cast the argument into <EMACS_INT>.
725         (make_char): Likewise.
726         (XCHARVAL): Don't use the inline function for UTF-2000 in 64 bit
727         environment.
728         (XCHARVAL[for UTF-2000 in 32 bit environment]): Use <Emchar>
729         instead of <int> as the type of return value; use <Lisp_Object>
730         instead of <Emchar> as the type of argument.
731         (XCHARVAL[macro version]): Cast the result into <Emchar>.
732
733         * syntax.h (SYNTAX_CODE_UNSAFE): Use <Lisp_Object> and <enum
734         syntaxcode> instead of <int>.
735
736 2004-07-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
737
738         * chartab.c (put_char_composition): Use DECODE_CHAR to get
739         character corresponding with UCS code point.
740         (Fput_char_attribute): Likewise.
741
742         * mule-charset.c (put_char_ccs_code_point): Don't omit a UCS
743         character in the UCS decoding-table if the char-id is not equal to
744         the UCS code point.
745
746 2004-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
747
748         * mule-charset.c (Fsave_charset_properties): Use `true-name' only
749         for aliases; write `description'; write
750         `mother-code-{min|max|offset|conversion}' if CHARSET_MAX_CODE is
751         not 0.
752
753 2004-07-21  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
754
755         * chartab.c (Fsave_char_attribute_table): Don't use
756         `save_charset_properties'.
757
758         * mule-charset.c (Fsave_charset_properties): Renamed from
759         `save_charset_properties' and changed to Lisp function again;
760         write property `type' as `CCS'; write properties `final-byte' and
761         `mother' if they exists.
762         (syms_of_mule_charset): Revive builtin function
763         `save-charset-properties' when HAVE_LIBCHISE is defined.
764
765 2004-07-21  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
766
767         * chartab.c (open_chise_data_source_maybe): Use Vdata_directory
768         instead of Vexec_directory.
769         (char_attribute_system_db_file): Likewise.
770
771 2004-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
772
773         * chartab.c (Fsave_char_attribute_table): Use
774         `save_charset_properties' for CCS features when HAVE_LIBCHISE is
775         defined.
776
777         * mule-charset.c (save_charset_properties): Renamed from
778         `Fsave_charset_properties'; changed to non-Lisp function.
779         (syms_of_mule_charset): Abolish builtin function
780         `save-charset-properties'.
781
782 2004-07-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
783
784         * mule-charset.c (Fsave_charset_properties): New function when
785         HAVE_LIBCHISE is defined.
786         (syms_of_mule_charset): Add new builtin function
787         `save-charset-properties' when HAVE_LIBCHISE is defined.
788
789 2004-06-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
790
791         * chartab.c (Fput_char_attribute): Convert char-specs in value of
792         `{<-|->}ancient[^*]*' to characters and put reverse links.
793         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
794         for `{<-|->}ancient[^*]*'.
795
796 2004-06-19  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
797
798         * chartab.c (Fput_char_attribute): Convert char-specs in value of
799         `{<-|->}original[^*]*' to characters and put reverse links.
800         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
801         for `{<-|->}original[^*]*'.
802
803 2004-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
804
805         * mule-canna.c (m2c): Fix problem with XEmacs CHISE.
806
807 2004-06-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
808
809         * mule-charset.c (Qsystem_char_id): New variable.
810
811         * chartab.c (Qsystem_char_id): Deleted even if HAVE_CHISE is
812         defined and HAVE_LIBCHISE_LIBCHISE is not defined.
813
814 2004-05-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
815
816         * chartab.c (Fput_char_attribute): When processing a reference of
817         a character, put into the end of the reversed reference of each
818         target character.
819
820 2004-05-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
821
822         * chartab.c (Q_same): Deleted.
823         (Q_same_of): Deleted.
824         (Fput_char_attribute): Use Fstring_match to find `{<-|->}same'.
825         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
826         for `{<-|->}same'.
827         (syms_of_chartab): Delete builtin symbol `{<-|->}same'.
828
829 2004-05-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
830
831         * chartab.c (Q_vulgar): Deleted.
832         (Q_vulgar_of): Deleted.
833         (Fput_char_attribute): Use Fstring_match to find `{<-|->}vulgar'.
834         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
835         for `{<-|->}vulgar'.
836         (syms_of_chartab): Don't define `{<-|->}vulgar'.
837
838 2004-04-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
839
840         * chartab.c (Fput_char_attribute): Convert char-specs in value of
841         `{<-|->}wrong[^*]*' to characters and put reverse links.
842         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
843         for `{<-|->}wrong[^*]*'.
844
845 2004-04-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
846
847         * chartab.c (Q_vulgar): New variable.
848         (Q_vulgar_of): New variable.
849         (Fput_char_attribute): Convert char-specs in value of
850         `{->|<-}vulgar' to characters and put reverse links.
851         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
852         for `{->|<-}vulgar'.
853         (syms_of_chartab): Add new symbols `{->|<-}vulgar'.
854
855 2004-04-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
856
857         * text-coding.c (decode_add_er_char): Must to quote prefix string
858         as regexp.
859
860 2004-04-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
861
862         * mule-charset.c (put_char_ccs_code_point): Store characters of
863         =ucs whose code_points >= 0xF0000.
864
865 2004-04-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
866
867         * mule-charset.c (Vcharset_system_char_id): New variable in XEmacs
868         CHISE.
869         (syms_of_mule_charset): Add new symbol `system-char-id' in XEmacs
870         CHISE.
871         (complex_vars_of_mule_charset): Add new coded-charset
872         `system-char-id' in XEmacs CHISE; modify `=ucs' to eliminate
873         builtin characters over 0xEFFFF.
874
875         * chartab.c (syms_of_chartab): Don't define symbol
876         `system-char-id' in every case.
877
878         * char-ucs.h (Qsystem_char_id): New extern variable.
879         (LEADING_BYTE_SYSTEM_CHAR_ID): New macro.
880
881 2004-04-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
882
883         * text-coding.c (char_encode_utf8): Try to use entity-references
884         for U-000F0000 ...  U-0010FFFF.
885
886 2004-04-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
887
888         * text-coding.c (ER_BUF_SIZE): New macro.
889         (struct decoding_stream): Use `ER_BUF_SIZE' to specify size of
890         `er_buf'.
891         (decode_add_er_char): Use `ER_BUF_SIZE' instead of 16.
892         (char_encode_as_entity_reference): Use `ER_BUF_SIZE'.
893
894 2004-03-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
895
896         * chartab.c (find_char_feature_in_family): New function.
897         (Fchar_feature): Use `find_char_feature_in_family' with
898         `->identical', `<-subsumptive' and `<-denotational'.
899
900 2004-03-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
901
902         * text-coding.c (char_encode_as_entity_reference): Allow prefix
903         within 8 characters; fix infinite loop.
904
905 2004-03-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
906
907         * chartab.c (Q_same): New variable.
908         (Q_same_of): New variable.
909         (Fput_char_attribute): Convert char-specs in value of
910         `{->|<-}same' to characters and put reverse links.
911         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
912         for `{->|<-}same'.
913         (syms_of_chartab): Add new symbols `{->|<-}same'.
914
915 2004-03-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
916
917         * chartab.c (Q_component): New variable.
918         (Q_component_of): Likewise.
919         (Fput_char_attribute): Convert char-specs in value of
920         `{->|<-}ideographic-component-forms' to characters and put reverse
921         links.
922         (syms_of_chartab): Add new symbols
923         `{->|<-}ideographic-component-forms'.
924
925 2004-02-24  MORIOKA Tomohiko  <tomo@m17n.org>
926
927         * chartab.c (Q_identical): New variable.
928         (Q_identical_from): New variable.
929         (Fchar_feature): Regard `->identical' as a feature to find
930         ancestors.
931         (Fput_char_attribute): Add reversed link for `{->|<-}identical'.
932         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
933         for `{->|<-}identical'.
934         (syms_of_chartab): Add new symbols `{->|<-}identical'.
935
936 2004-02-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
937
938         * char-ucs.h (encode_char_2): New inline function.
939         (CHAR_TO_CHARC): Use `encode_char_2' instead of `encode_char_1'.
940
941 2004-02-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
942
943         * chartab.c (Fput_char_attribute): Convert char-specs to
944         characters in value of `ideographic-structure'.
945         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
946         for `{<-|->}simplified(@...)'.
947         (Fdefine_char): Try to use predefined character's id.
948
949 2004-02-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
950
951         * fns.c (simplify_char_spec): Try to convert builtin chars to
952         defined chars.
953
954 2004-02-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
955
956         * chartab.c (Fput_char_attribute): Convert char-specs in value of
957         `<-simplified[^*]*' to characters and put reverse links.
958
959 2004-02-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
960
961         * chartab.c (Q_subsumptive): Renamed from Q_unified.
962         (Q_subsumptive_from): Renamed from Q_unified_from.
963         (Fchar_feature): Use `Q_subsumptive_from' instead of
964         `Q_unified_from'.
965         (Fput_char_attribute): Likewise; Use `Q_subsumptive' instead of
966         `Q_unified'.
967         (syms_of_chartab): Rename `->unified' to `->subsumptive' and
968         `<-unified' to `<-subsumptive'.
969
970 2004-02-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
971
972         * chartab.c (Fchar_feature): Check `<-denotational' to avoid
973         inheritance itself; fix typo; stop recursive search if cyclic
974         inheritance is found.
975
976 2004-02-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
977
978         * chartab.c (Q_denotational): New variable.
979         (Q_denotational_from): New variable.
980         (Fchar_feature): Refer `<-denotational' as same as `<-unified'.
981         (put_char_attribute): New function.
982         (Fput_char_attribute): Use `put_char_attribute'; regard
983         `->denotational' and `<-denotational' as same as `->unified' and
984         `<-unified'.
985         (syms_of_chartab): Add new symbols `->denotational' and
986         `<-denotational'.
987
988 2004-02-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
989
990         * chartab.c (Fget_composite_char): Use `Fchar_feature' instead of
991         `Fget_char_attribute'.
992         (Fchar_variants): Likewise.
993         (get_char_table): Likewise.
994         (Fchar_feature): New function.
995         (put_char_composition): Use `Fchar_feature' instead of
996         `Fget_char_attribute'.
997         (Fput_char_attribute): Likewise; don't put the target character
998         into its `->unified' value.
999         (syms_of_chartab): Add new builtin function `char-feature'.
1000
1001 2004-01-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1002
1003         * text-coding.c (COMPOSE_ADD_CHAR): Use `Fchar_feature' instead of
1004         `Fget_char_attribute'.
1005         (char_encode_utf8): Likewise.
1006
1007         * chartab.h: Add an EXFUN for `Fchar_feature'.
1008
1009 2004-01-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1010
1011         * chartab.c (Vnext_defined_char_id): New variable.
1012         (Fput_char_attribute): Accept characters in `->unified'.
1013         (Fdefine_char): Refer and update Vnext_defined_char_id to allocate
1014         new characters which are not related with builtin char-id ranges.
1015         (vars_of_chartab): Add new variable `next-defined-char-id'.
1016
1017 2004-01-19  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1018
1019         * chartab.c (Q_unified): New variable.
1020         (Q_unified_from): New variable.
1021         (Fput_char_attribute): Add code for `->unified'.
1022         (syms_of_chartab): Add new symbols `->unified' and `<-unified' in
1023         XEmacs CHISE.
1024
1025 2003-11-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1026
1027         * mule-charset.c (decode_ccs_conversion): New function.
1028         (decode_defined_char): Use `decode_ccs_conversion'.
1029         (decode_builtin_char): Likewise.
1030
1031 2003-11-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1032
1033         * char-ucs.h: Change some charset-ids of private coded-charsets.
1034
1035 2003-11-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1036
1037         * text-coding.c (decode_add_er_char): Modify for `DECODE_CHAR'.
1038         (char_encode_as_entity_reference): Likewise.
1039         (decode_coding_big5): Modify for `decode_defined_char' and
1040         `DECODE_CHAR'.
1041         (decode_coding_utf8): Modify for `decode_defined_char'; modify to
1042         avoid compiler warning.
1043         (decode_coding_iso2022): Modify for `DECODE_CHAR'.
1044
1045         * mule-charset.c (decode_defined_char): Add new argument
1046         `without_inheritance'.
1047         (Fdecode_char): Add new optional argument `without_inheritance'.
1048         (Fdecode_builtin_char): Modify for `Fdecode_char'.
1049
1050         * fns.c (ids_format_unit): Modify for `Fdecode_char'.
1051         (simplify_char_spec): Likewise.
1052
1053         * chartab.h (Fdecode_char): Modify number of arguments of EXFUN
1054         setting.
1055
1056         * chartab.c (put_char_table): Modify for `DECODE_CHAR'.
1057         (map_char_table): Likewise.
1058         (Fdefine_char): Use `Fdecode_char' without inheritance.
1059         (Ffind_char): Modify for `Fdecode_char'.
1060
1061         * character.h (CHARC_TO_CHAR): Modify for `DECODE_CHAR'.
1062
1063         * char-ucs.h (decode_defined_char): Add new argument
1064         `without_inheritance'.
1065         (DECODE_CHAR): Likewise.
1066         (MAKE_CHAR): Modify for `DECODE_CHAR'.
1067
1068 2003-10-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1069
1070         * chartab.c (Vchise_system_db_directory): New variable.
1071         (vars_of_chartab): Add new variable `chise-system-db-directory'.
1072
1073 2003-10-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1074
1075         * chartab.c: EXFUN `Fmount_char_attribute_table'.
1076         (print_chartab_range): Don't define when `UTF2000' is defined.
1077         (open_chise_data_source_maybe): Specify 0 instead of DB_HASH for
1078         `CHISE_DS_open'.
1079
1080 2003-10-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1081
1082         * chartab.c (Fchar_attribute_list): When HAVE_LIBCHISE is defined
1083         and optional argument `rehash' is specified, call
1084         `open_chise_data_source_maybe' before
1085         `chise_ds_foreach_char_feature_name' is called.
1086
1087 2003-10-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1088
1089         * chartab.c (char_attribute_list_reset_map_func): New function
1090         when HAVE_LIBCHISE is defined.
1091         (Fchar_attribute_list): Add new optional argument `rehash' when
1092         HAVE_LIBCHISE is defined.
1093         (open_chise_data_source_maybe): Use "chise-db" instead of
1094         "char-db".
1095         (char_attribute_system_db_file): Likewise.
1096         (Fload_char_attribute_table): Use
1097         `chise_feature_foreach_char_with_value' instead of
1098         `chise_char_feature_value_iterate'.
1099
1100 2003-10-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1101
1102         * chartab.c (Vchise_db_directory): New variable.
1103         (vars_of_chartab): Add new built-in variable `chise-db-directory'.
1104
1105 2003-10-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1106
1107         * mule-charset.c (Freset_charset_mapping_table): Use HAVE_LIBCHISE
1108         instead of HAVE_CHISE to specify using with libchise.
1109
1110         * config.h.in (HAVE_CHISE_CLIENT): Deleted.
1111
1112         * chartab.h: Don't use HAVE_CHISE_CLIENT.
1113
1114         * chartab.c (Qsystem_char_id): Don't define when HAVE_CHISE is not
1115         defined or HAVE_LIBCHISE_LIBCHISE is defined.
1116         (char_attribute_system_db_file): Don't define when HAVE_LIBCHISE
1117         is defined.
1118         (Freset_char_attribute_table): Use HAVE_LIBCHISE instead of
1119         HAVE_CHISE to specify using with libchise.
1120         (syms_of_chartab): Don't define symbol `system-char-id' when
1121         HAVE_CHISE is not defined or HAVE_LIBCHISE_LIBCHISE is defined.
1122
1123 2003-10-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1124
1125         * mule-charset.c: Use HAVE_CHISE instead of HAVE_CHISE_CLIENT to
1126         specify CHISE DB support.
1127         (Freset_charset_mapping_table): Use `chise_ccs_setup_db' instead
1128         of `char_attribute_system_db_file' to check feature DB file.
1129
1130         * chartab.h, casetab.c, char-ucs.h: Use HAVE_CHISE instead of
1131         HAVE_CHISE_CLIENT to specify CHISE DB support.
1132
1133         * chartab.c: Use HAVE_CHISE instead of HAVE_CHISE_CLIENT to
1134         specify CHISE DB support.
1135         (open_chise_data_source_maybe): Don't define when HAVE_LIBCHISE is
1136         not defined.
1137         (Freset_char_attribute_table): Use `chise_feature_setup_db'
1138         instead of `char_attribute_system_db_file' to check feature DB
1139         file.
1140
1141 2003-10-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1142
1143         * mule.c (vars_of_mule): Use `HAVE_CHISE' instead of `CHISE' and
1144         `HAVE_CHISE_CLIENT'.
1145
1146 2003-10-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1147
1148         * mule-charset.c: Use HAVE_LIBCHISE instead of CHISE.
1149         (Fsave_charset_mapping_table): Don't use
1150         `char_attribute_system_db_file' when HAVE_LIBCHISE is defined.
1151
1152         * config.h.in (HAVE_CHISE): Renamed from `CHISE'.
1153         (HAVE_LIBCHISE): New macro.
1154
1155         * chartab.h: Use HAVE_LIBCHISE instead of CHISE.
1156
1157         * chartab.c: Use HAVE_LIBCHISE instead of CHISE.
1158         (Fsave_char_attribute_table): Don't use
1159         `char_attribute_system_db_file' when HAVE_LIBCHISE is defined.
1160
1161 2003-10-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1162
1163         * chartab.c (save_uint8_byte_table): Use libchise when CHISE is
1164         defined.
1165         (save_uint16_byte_table): Likewise.
1166         (save_byte_table): Likewise.
1167         (char_table_get_db): Use `chise_ds_load_char_feature_value'
1168         instead of `chise_char_load_feature_value'.
1169         (Fsave_char_attribute_table): Use libchise when CHISE is defined.
1170
1171 2003-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1172
1173         * chartab.h (struct Lisp_Char_Table): Delete member
1174         `feature_table' if CHISE is defined.
1175
1176         * chartab.c (Fmake_char_table): Don't refer `ct->feature_table'.
1177         (Fcopy_char_table): Likewise.
1178         (char_table_open_db_maybe): Likewise.
1179         (char_table_close_db_maybe): Likewise.
1180         (char_table_get_db): Likewise.
1181         (Fmount_char_attribute_table): Likewise.
1182         (Fload_char_attribute_table): Likewise.
1183
1184 2003-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1185
1186         * mule-charset.c (load_char_decoding_entry_maybe): Use
1187         `chise_ds_decode_char' instead of `chise_ds_get_ccs' and
1188         `chise_ccs_decode'.
1189
1190 2003-10-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1191
1192         * chartab.c (open_chise_data_source_maybe): Use `CHISE_DS_open'
1193         instead of `chise_open_data_source'.
1194         (Fclose_char_data_source): Use `CHISE_DS_close' instead of
1195         `chise_ds_close'.
1196
1197 2003-10-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1198
1199         * chartab.c (char_table_open_db_maybe): Use `chise_ds_get_feature'
1200         instead of `chise_ds_open_feature_table'.
1201         (char_table_close_db_maybe): Don't use `chise_ft_close'.
1202
1203 2003-10-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1204
1205         * mule-charset.c (Fsave_charset_mapping_table): Use
1206         `chise_ds_get_ccs' instead of `chise_ds_open_ccs_table'; use
1207         `chise_ccs_set_decoded_char' instead of `chise_ccst_put_char'; use
1208         `chise_ccs_sync' instead of `chise_ccst_close'.
1209         (load_char_decoding_entry_maybe): Modify for `chise_ds_get_ccs'.
1210
1211         * chartab.c (open_chise_data_source_maybe): Modify for
1212         `chise_open_data_source'.
1213         (char_table_open_db_maybe): Modify for
1214         `chise_ds_open_feature_table'.
1215
1216 2003-08-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1217
1218         * mule-charset.c (load_char_decoding_entry_maybe): Use
1219         `chise_ds_get_ccs' instead of `chise_ds_open_ccs_table'; don't use
1220         `chise_ccst_close'.
1221
1222 2003-08-25  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1223
1224         * mule-charset.c (Fsave_charset_mapping_table): Use
1225         `chise_ds_open_ccs_table', `chise_ccst_put_char' and
1226         `chise_ccst_close' instead of `chise_ds_open_decoding_table',
1227         `chise_dt_put_char' and `chise_dt_close'.
1228         (load_char_decoding_entry_maybe): Use `chise_ds_open_ccs_table',
1229         `chise_ccs_decode' and `chise_ccst_close' instead of
1230         `chise_ds_open_decoding_table', `chise_dt_get_char' and
1231         `chise_dt_close'.
1232
1233         * chartab.c (char_table_get_db): Use
1234         `chise_char_load_feature_value' instead of `chise_ft_get_value'.
1235         (load_char_attribute_table_map_func): Modify for
1236         `chise_char_feature_value_iterate'.
1237         (Fload_char_attribute_table): Use
1238         `chise_char_feature_value_iterate' instead of `chise_ft_iterate'.
1239
1240 2003-10-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1241
1242         * text-coding.c (COMPOSE_ADD_CHAR): Fixed.
1243
1244 2003-08-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1245
1246         * chartab.c (put_char_table): Modify for inherited coded-charsets
1247         in XEmacs CHISE.
1248
1249 2003-08-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1250
1251         * chartab.c (Fput_char_table_map_function): Fixed.
1252         (word_boundary_p): Don't check charset in XEmacs CHISE.
1253
1254 2003-08-17  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1255
1256         * mule-charset.c (Fsave_charset_mapping_table): Use
1257         `open_chise_data_source_maybe'; use `chise_ds_open_decoding_table'
1258         instead of `chise_open_decoding_table'; refer
1259         `default_chise_data_source'; use `chise_dt_close' instead of
1260         `chise_close_decoding_table'.
1261         (load_char_decoding_entry_maybe): Likewise.
1262
1263         * chartab.c (default_chise_data_source): New variable when `CHISE'
1264         is defined.
1265         (Fcopy_char_table): `ct->ds' is deleted.
1266         (open_chise_data_source_maybe): New function.
1267         (Fclose_char_data_source): New function.
1268         (char_table_open_db_maybe): Use `open_chise_data_source_maybe';
1269         use `chise_ds_open_feature_table' instead of
1270         `chise_open_feature_table'.
1271         (char_table_close_db_maybe): Use `chise_ft_close' instead of
1272         `chise_close_feature_table'; `cit->ds' is deleted.
1273         (syms_of_chartab): Add new builtin function
1274         `close-char-data-source' when `HAVE_CHISE_CLIENT' is defined.
1275
1276         * chartab.h (default_chise_data_source): New extern variable.
1277         (open_chise_data_source_maybe): New prototype.
1278         (struct Lisp_Char_Table): Delete `ds'.
1279
1280 2003-08-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1281
1282         * mule-charset.c (Fsave_charset_mapping_table): Use libchise when
1283         `CHISE' is defined.
1284
1285 2003-08-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1286
1287         * chartab.c (char_table_open_db_maybe): Defined even if `CHISE' is
1288         not defined; add code for non-libchise setting.
1289         (char_table_close_db_maybe): Likewise.
1290         (char_table_get_db): New function when `HAVE_CHISE_CLIENT' is
1291         defined.
1292         (Fclose_char_attribute_table): Use `char_table_close_db_maybe'
1293         even if `CHISE' is not defined.
1294         (Freset_char_attribute_table): Likewise.
1295         (load_char_attribute_maybe): Use `char_table_open_db_maybe' and
1296         `char_table_close_db_maybe' even if `CHISE' is not defined; use
1297         `char_table_get_db'.
1298         (Fload_char_attribute_table): Use `char_table_open_db_maybe' and
1299         `char_table_close_db_maybe' even if `CHISE' is not defined.
1300
1301 2003-08-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1302
1303         * chartab.c (char_table_open_db_maybe): New function.
1304         (char_table_close_db_maybe): New function.
1305         (Fclose_char_attribute_table): Use `char_table_close_db_maybe'.
1306         (Freset_char_attribute_table): Likewise.
1307         (load_char_attribute_maybe): Use `char_table_open_db_maybe' and
1308         `char_table_close_db_maybe'.
1309         (Fload_char_attribute_table): Likewise.
1310
1311 2003-08-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1312
1313         * chartab.c: Don't include <chise.h> because it is included in
1314         chartab.h.
1315         (Fmake_char_table): Initialize `ct->feature_table' when `CHISE' is
1316         defined.
1317         (Fcopy_char_table): Copy `ct->ds' and `ct->feature_table' when
1318         `CHISE' is defined.
1319         (Fmount_char_attribute_table): Initialize `ct->feature_table' when
1320         `CHISE' is defined.
1321         (Fclose_char_attribute_table): Close `ct->feature_table' and
1322         `ct->ds' when `CHISE' is defined.
1323         (Freset_char_attribute_table): Likewise.
1324         (load_char_attribute_maybe): Use `cit->ds' and
1325         `cit->feature_table' when `CHISE' is defined.
1326         (Fload_char_attribute_table): Likewise.
1327
1328         * chartab.h: Include <chise.h> when `CHISE' is defined.
1329         (struct Lisp_Char_Table): Add new member `ds' and `feature_table'
1330         when `CHISE' is defined.
1331
1332 2003-08-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1333
1334         * chartab.c (mark_char_table): Member `db' is deleted when `CHISE'
1335         is defined.
1336         (char_table_description): Likewise.
1337         (Fmake_char_table): Likewise.
1338         (Fcopy_char_table): Likewise.
1339         (Fmount_char_attribute_table): Likewise.
1340         (Fclose_char_attribute_table): Likewise.
1341         (Freset_char_attribute_table): Likewise.
1342         (load_char_attribute_maybe): Likewise.
1343         (Fload_char_attribute_table): Likewise.
1344
1345         * chartab.h (struct Lisp_Char_Table): Delete `db' when `CHISE' is
1346         defined.
1347
1348 2003-08-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1349
1350         * chartab.c (load_char_attribute_table_map_func): New function
1351         when CHISE is defined.
1352         (Qload_char_attribute_table_map_function): Don't define when CHISE
1353         is defined.
1354         (Fload_char_attribute_table_map_function): Likewise.
1355         (Fload_char_attribute_table): Use libchise when `CHISE' is
1356         defined.
1357         (syms_of_chartab): Don't define
1358         `load-char-attribute-table-map-function' when CHISE is defined.
1359
1360 2003-08-06  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1361
1362         * chartab.c: Include <chise.h> when `CHISE' is defined.
1363         (load_char_attribute_maybe): Use libchise when `CHISE' is defined.
1364
1365 2003-07-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1366
1367         * mule-charset.c (charset_code_point): Fix problem when searching
1368         in mother CCS fails with `defined_only' mode.
1369
1370 2003-06-29  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1371
1372         * chartab.c (Q_ucs_unified): Renamed from `Q_ucs_variants'.
1373         (Fchar_variants): Rename `Q_ucs_variants' to `Q_ucs_unified'.
1374         (put_char_composition): Likewise.
1375         (Fput_char_attribute): Likewise.
1376         (syms_of_chartab): Rename `->ucs-variants' to `->ucs-unified'.
1377
1378 2003-06-29  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1379
1380         * chartab.c (Q_ucs): Deleted.
1381         (Fput_char_attribute): Don't refer `->ucs'.
1382         (Fdefine_char): Likewise.
1383         (Ffind_char): Likewise.
1384         (syms_of_chartab): Delete `->ucs'.
1385
1386 2003-04-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1387
1388         * mule-charset.c (Qmap_cns11643_2): Renamed from
1389         `Qchinese_cns11643_2'.
1390         (syms_of_mule_charset): Add new symbol `=cns11643-2' instead of
1391         `chinese-cns11643-2'.
1392         (complex_vars_of_mule_charset): Rename `chinese-cns11643-2' to
1393         `=cns11643-2'.
1394
1395 2003-04-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1396
1397         * mule-charset.c (Qmap_cns11643_1): Renamed from
1398         `Qchinese_cns11643_1'.
1399         (syms_of_mule_charset): Add new symbol `=cns11643-1' instead of
1400         `chinese-cns11643-1'.
1401         (complex_vars_of_mule_charset): Rename `chinese-cns11643-1' to
1402         `=cns11643-1'.
1403
1404 2003-04-24  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1405
1406         * mule-charset.c (Qmap_gb12345): Renamed from `Qchinese_gb12345'.
1407         (syms_of_mule_charset): Add new symbol `=gb12345' instead of
1408         `chinese-gb12345'.
1409         (complex_vars_of_mule_charset): Rename `chinese-gb12345' to
1410         `=gb12345'.
1411
1412 2003-04-21  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1413
1414         * mule-charset.c (Qmap_gb2312): Renamed from `Qchinese_gb2312'.
1415         (syms_of_mule_charset): Add new symbol `=gb2312' instead of
1416         `chinese-gb2312'.
1417         (complex_vars_of_mule_charset): Rename `chinese-gb2312' to
1418         `=gb2312'.
1419
1420 2003-04-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1421
1422         * mule-charset.c (Qmap_big5): Renamed from `Qchinese_big5'.
1423         (syms_of_mule_charset): Add new symbol `=big5' instead of
1424         `chinese-big5'.
1425         (complex_vars_of_mule_charset): Rename `chinese-big5' to `=big5'.
1426
1427 2003-04-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1428
1429         * mule-charset.c (Qmap_ks_x1001): Renamed from `Qkorean_ksc5601'.
1430         (syms_of_mule_charset): Add new symbol `=ks-x1001' instead of
1431         `korean-ksc5601'.
1432         (complex_vars_of_mule_charset): Rename `korean-ksc5601' to
1433         `=ks-x1001'.
1434
1435 2003-04-15  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1436
1437         * mule-charset.c (Qmap_jis_x0212): Renamed from
1438         `Qjapanese_jisx0212'.
1439         (syms_of_mule_charset): Add new symbol `=jis-x0212' instead of
1440         `japanese-jisx0212'.
1441         (complex_vars_of_mule_charset): Rename `japanese-jisx0212' to
1442         `=jis-x0212'.
1443
1444 2003-04-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1445
1446         * mule-charset.c (Qmap_jis_x0208_1983): Renamed from
1447         `Qjapanese_jisx0208'.
1448         (syms_of_mule_charset): Add new symbol `=jis-x0208-1983' instead
1449         of `japanese-jisx0208'.
1450         (complex_vars_of_mule_charset): Rename `japanese-jisx0208' to
1451         `=jis-x0208-1983'.
1452
1453 2003-04-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1454
1455         * mule-charset.c (Qmap_jis_x0208_1978): Renamed from
1456         `Qjapanese_jisx0208_1978'.
1457         (syms_of_mule_charset): Add new symbol `=jis-x0208-1978' instead
1458         of `japanese-jisx0208-1978'.
1459         (complex_vars_of_mule_charset): Rename `japanese-jisx0208-1978' to
1460         `=jis-x0208-1978'.
1461
1462 2003-04-04  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1463
1464         * chartab.c (decode_char_table_range): CHARTAB_RANGE_DEFAULT is
1465         only for XEmacs CHISE.
1466
1467 2003-04-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1468
1469         * char-ucs.h: Compact non-ISO-IR charset-ids.
1470         (LEADING_BYTE_UCS): Changed to -177.
1471         (LEADING_BYTE_CONTROL_1): Changed to -77.
1472         (LEADING_BYTE_UCS_BMP): Changed to -176.
1473         (LEADING_BYTE_JAPANESE_JISX0208_1990): Changed to -168.
1474
1475 2003-04-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1476
1477         * mule-charset.c (Qiso_ir): New variable.
1478         (Fmake_charset): Recognise new property `iso-ir'.
1479         (syms_of_mule_charset): Add new symbol `iso-ir'.
1480
1481 2003-04-02  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1482
1483         * char-ucs.h: Change charset-id of ISO-IR sets from ISO-IR-number
1484         n to -n; charset-id of non ISO-IR sets are changed to positive
1485         numbers.
1486
1487 2003-03-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1488
1489         * text-coding.c (decode_add_er_char): Use XUINT instead of XINT
1490         for &MCS-XXXXXXXX; values.
1491
1492 2003-03-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1493
1494         * mule.c (Vxemacs_chise_version): Renamed from
1495         `Vutf_2000_version'.
1496         (vars_of_mule): Add new variable `xemacs-chise-version'; define
1497         `utf-2000-version' as an alias for `xemacs-chise-version'.
1498
1499 2003-03-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1500
1501         * mule-charset.c: Include <chise.h> when `CHISE' is defined.
1502         (load_char_decoding_entry_maybe): Use libchise when `CHISE' is
1503         defined.
1504
1505         * config.h.in (CHISE): New macro.
1506
1507 2003-03-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1508
1509         * mule-charset.c (put_char_ccs_code_point): Refer `=ucs' instead
1510         of `ucs'.
1511         (Qmap_ucs): New variable.
1512         (syms_of_mule_charset): Add new symbol `=ucs'.
1513         (complex_vars_of_mule_charset): Rename `ucs' to `=ucs'.
1514
1515         * fns.c (ids_format_unit): Refer `=ucs' instead of `ucs'.
1516         (simplify_char_spec): Likewise.
1517
1518         * chartab.c (Fdefine_char): Refer `=ucs' as same as `ucs'.
1519
1520         * char-ucs.h (Qmap_ucs): New extern variable.
1521
1522 2003-03-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1523
1524         * mule-charset.c (Qmap_jis_x0208): Renamed from `Qjis_x0208'.
1525         (Qmap_jis_x0208_1990): Renamed from `Qjapanese_jisx0208_1990';
1526         don't define it when UTF2000 is not defined.
1527         (syms_of_mule_charset): Modify for `Qmap_jis_x0208'; rename
1528         `japanese-jisx0208-1990' to `=jis-x0208-1990'; don't define it
1529         when UTF2000 is not defined.
1530         (complex_vars_of_mule_charset): Modify for `Qmap_jis_x0208';
1531         rename `japanese-jisx0208-1990' to `=jis-x0208-1990'.
1532
1533 2003-03-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1534
1535         * char-ucs.h (LEADING_BYTE_UCS_GB): Deleted.
1536
1537         * mule-charset.c (Vcharset_ucs_gb): Deleted.
1538         (Qucs_gb): Deleted.
1539         (syms_of_mule_charset): Delete `ucs-gb'.
1540         (complex_vars_of_mule_charset): Likewise.
1541
1542 2003-03-04  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1543
1544         * char-ucs.h (LEADING_BYTE_UCS_CNS): Deleted.
1545
1546         * mule-charset.c (Vcharset_ucs_cns): Deleted.
1547         (Qucs_cns): Deleted.
1548         (syms_of_mule_charset): Delete `ucs-cns'.
1549         (complex_vars_of_mule_charset): Likewise.
1550
1551 2003-03-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1552
1553         * char-ucs.h (LEADING_BYTE_UCS_JIS): Deleted.
1554
1555         * mule-charset.c (Vcharset_ucs_jis): Deleted.
1556         (Qucs_jis): Deleted.
1557         (syms_of_mule_charset): Delete `ucs-jis'.
1558         (complex_vars_of_mule_charset): Likewise.
1559
1560 2003-03-02  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1561
1562         * char-ucs.h (LEADING_BYTE_UCS_KS): Deleted.
1563
1564         * mule-charset.c (Vcharset_ucs_ks): Deleted.
1565         (Qucs_ks): Deleted.
1566         (syms_of_mule_charset): Delete `ucs-ks'.
1567         (complex_vars_of_mule_charset): Likewise.
1568
1569 2003-03-01  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1570
1571         * mule-charset.c (Vcharset_ideograph_daikanwa_2): Deleted.
1572         (Qideograph_daikanwa_2): Deleted.
1573         (syms_of_mule_charset): Delete `ideograph-daikanwa-2'.
1574         (complex_vars_of_mule_charset): Likewise.
1575
1576         * char-ucs.h (LEADING_BYTE_DAIKANWA_0): Deleted.
1577         (LEADING_BYTE_DAIKANWA_1): Deleted.
1578         (LEADING_BYTE_DAIKANWA_2): Deleted.
1579         (MIN_CHAR_DAIKANWA): Deleted.
1580         (MAX_CHAR_DAIKANWA): Deleted.
1581
1582 2003-02-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1583
1584         * char-ucs.h (LEADING_BYTE_DAIKANWA_3): Deleted.
1585         (LEADING_BYTE_HANZIKU_{1..12}): Deleted.
1586         ({MIN|MAX}_CHAR_HANZIKU_{1..12}): Deleted.
1587
1588         * mule-charset.c (Vcharset_ideograph_hanziku_{1..12}): Deleted.
1589         (Vcharset_ideograph_daikanwa): Deleted.
1590         (Qideograph_hanziku_{1..12}): Deleted.
1591         (Qideograph_daikanwa): Deleted.
1592         (encode_builtin_char_1): Don't use {MIN|MAX}_CHAR_DAIKANWA and
1593         Vcharset_ideograph_daikanwa.
1594         (syms_of_mule_charset): Delete `ideograph-daikanwa' and
1595         `ideograph-hanziku-{1..12}'.
1596         (complex_vars_of_mule_charset): Likewise.
1597
1598 2003-02-26  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1599
1600         * char-ucs.h (LEADING_BYTE_GT_PJ_{1..11}): Deleted.
1601
1602         * mule-charset.c (Vcharset_ideograph_gt_pj_{1..11}): Deleted.
1603         (Qideograph_gt_pj_{1..11}): Deleted.
1604         (syms_of_mule_charset): Delete `ideograph-gt-pj-{1..11}'.
1605         (complex_vars_of_mule_charset): Likewise.
1606
1607 2003-02-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1608
1609         * mule-charset.c (Vcharset_ucs_big5): Deleted.
1610         (Vcharset_ideograph_gt): Deleted.
1611         (Qucs_big5): Deleted.
1612         (Qideograph_gt): Deleted.
1613         (syms_of_mule_charset): Delete symbol `ucs-big5' and
1614         `ideograph-gt'.
1615         (complex_vars_of_mule_charset): Delete coded-charset `ucs-big5'
1616         and `ideograph-gt'.
1617
1618         * char-ucs.h (LEADING_BYTE_UCS_BIG5): Deleted.
1619         (LEADING_BYTE_GT): Deleted.
1620         (MIN_CHAR_GT): Deleted.
1621         (MAX_CHAR_GT): Deleted.
1622
1623 2003-02-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1624
1625         * chartab.c (Fput_char_attribute): Canonicalise charset-aliases.
1626
1627 2003-01-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1628
1629         * chartab.c (save_uint8_byte_table): Add new argument `filter'.
1630         (save_uint16_byte_table): Likewise.
1631         (save_byte_table): Likewise; convert values by it.
1632         (Fput_char_attribute): Don't use `char-refs-simplify-char-specs'
1633         for `ideographic-structure'.
1634         (Fsave_char_attribute_table): Use `char-refs-simplify-char-specs'
1635         as the filter for `ideographic-structure'.
1636
1637 2003-01-07  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1638
1639         * chartab.c (put_char_composition): New function.
1640         (Fput_char_attribute): Use `put_char_composition'; use
1641         `Fchar_refs_simplify_char_specs' for `ideographic-structure'.
1642
1643         * fns.c (simplify_char_spec): New function.
1644         (char_ref_simplify_spec): New function.
1645         (Fchar_refs_simplify_char_specs): New function.
1646         (syms_of_fns): Add new builtin function
1647         `char-refs-simplify-char-specs'.
1648
1649 2003-01-05  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1650
1651         * mule-charset.c (Vcharset_ideograph_cbeta): Deleted.
1652         (Qideograph_cbeta): Deleted.
1653         (syms_of_mule_charset): Don't define `ideograph-cbeta'.
1654         (complex_vars_of_mule_charset): Likewise.
1655
1656         * char-ucs.h (LEADING_BYTE_CBETA): Deleted.
1657         (MIN_CHAR_CBETA): Comment out.
1658         (MAX_CHAR_CBETA): Likewise.
1659
1660 2002-12-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1661
1662         * mule-charset.c, chartab.h, casetab.c, char-ucs.h, chartab.c: Use
1663         `HAVE_CHISE_CLIENT' instead of `HAVE_DATABASE' to indicate the
1664         CHISE client feature.
1665
1666 2002-12-25  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1667
1668         * mule.c (vars_of_mule): Update `utf-2000-version' to 0.20.
1669
1670 2002-12-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1671
1672         * mule-charset.c (charset_lookup_description_1): Use
1673         `NUM_LEADING_BYTES' in UTF-2000.
1674
1675 2002-12-18  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1676
1677         * char-ucs.h (GC_CHARSETP): Deleted.
1678
1679 2002-12-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1680
1681         * char-ucs.h (MAX_CHAR_GT): Updated.
1682
1683 2002-12-15  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1684
1685         * text-coding.c: Sync with XEmacs 21.4.10.
1686
1687 2002-11-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1688
1689         * mule-charset.c (Vcharset_china3_jef): Deleted.
1690         (Qchina3_jef): Deleted.
1691         (syms_of_mule_charset): Don't define `china3-jef'.
1692         (complex_vars_of_mule_charset): Likewise.
1693
1694         * char-ucs.h (LEADING_BYTE_CHINA3_JEF): Deleted.
1695         (MIN_CHAR_CHINA3_JEF): Comment out.
1696         (MAX_CHAR_CHINA3_JEF): Comment out.
1697
1698 2002-11-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1699
1700         * mule-charset.c (Vcharset_ucs_gb): New variable.
1701         (Qucs_gb): New variable.
1702         (syms_of_mule_charset): Add new symbol `ucs-gb'.
1703         (complex_vars_of_mule_charset): Add new coded-charset `ucs-gb'.
1704
1705         * char-ucs.h (LEADING_BYTE_UCS_GB): New macro.
1706
1707 2002-11-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1708
1709         * mule-charset.c (charset_code_point): if a coded-charset has a
1710         final-byte, don't inherit the builtin range of the mother CCS.
1711
1712 2002-11-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1713
1714         * mule-charset.c (charset_code_point): Fix problem about
1715         inheritance.
1716
1717 2002-11-14  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1718
1719         * mule-charset.c (decode_builtin_char): Reorganized.
1720
1721 2002-10-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1722
1723         * text-coding.c (char_encode_as_entity_reference): Modify for
1724         `charset_code_point'.
1725         (char_encode_shift_jis): Likewise.
1726         (char_encode_big5): Likewise.
1727         (char_encode_utf8): Likewise.
1728         (char_encode_iso2022): Likewise.
1729
1730         * mule-charset.c (charset_code_point): Add new argument
1731         `defined_only'.
1732         (Fencode_char): Add new optional argument `defined_only'.
1733
1734         * chartab.c (put_char_table): Modify for `charset_code_point'.
1735
1736         * char-ucs.h (charset_code_point): Add new argument
1737         `defined_only'.
1738         (encode_char_1): Modify for `charset_code_point'.
1739
1740 2002-10-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1741
1742         * mule-charset.c (complex_vars_of_mule_charset): Don't specify
1743         `MIN_CHAR_THAI' and `MAX_CHAR_THAI' for `thai-tis620'.
1744
1745 2002-10-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1746
1747         * mule-charset.c (Vcharset_jis_x0208): New variable in UTF-2000.
1748         (Qjis_x0208): Likewise.
1749         (decode_builtin_char): Prefer XCHARSET_MAX_CODE(charset) than
1750         XCHARSET_FINAL(charset).
1751         (charset_code_point): Modify condition for final-byte based
1752         builtin-chars.
1753         (syms_of_mule_charset): Add new symbol `=jis-x0208' in UTF-2000.
1754         (complex_vars_of_mule_charset): Add new coded-charset `=jis-x0208'
1755         in UTF-2000; specify `=jis-x0208' as the mother of
1756         `japanese-jisx0208-1978', `japanese-jisx0208' and
1757         `japanese-jisx0208-1990' in UTF-2000.
1758
1759 2002-10-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1760
1761         * char-ucs.h (LEADING_BYTE_JIS_X0208): New macro.
1762
1763 2002-10-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1764
1765         * text-coding.c (decode_coding_utf16): Support UTF-16.
1766         (char_encode_utf16): Fixed.
1767
1768 2002-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1769
1770         * text-coding.c (Qutf16): New variable in MULE.
1771         (Fmake_coding_system): Accept `utf-16' as `type' in MULE.
1772         (Fcoding_system_type): Add `utf-16' in MULE.
1773         (struct detection_state): Add a structure for utf16 in MULE.
1774         (detect_coding_type): Setup st->utf16.mask in MULE.
1775         (mule_decode): Use `decode_coding_utf16' for `CODESYS_UTF16' in
1776         MULE.
1777         (reset_encoding_stream): Use `char_encode_utf16' and
1778         `char_finish_utf16' for `CODESYS_UTF16' in MULE.
1779         (detect_coding_utf16): New function [incomplete].
1780         (decode_coding_utf16): New function [support only UCS-2].
1781         (char_encode_utf16): New function.
1782         (char_finish_utf16): New function.
1783         (syms_of_file_coding): Add new symbol `utf-16'; setup
1784         `coding_category_symbol[CODING_CATEGORY_UTF16]'.
1785
1786         * file-coding.h (enum coding_system_type): Add `CODESYS_UTF16' in
1787         UTF-2000.
1788         (enum coding_category_type): Add `CODING_CATEGORY_UTF16' in MULE.
1789         (CODING_CATEGORY_UTF16_MASK): New macro in MULE.
1790
1791 2002-10-08  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1792
1793         * chartab.c (put_char_table): When a charset is specified as a
1794         range in UTF-2000, don't support builtin characters.
1795
1796 2002-09-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1797
1798         * mule-charset.c (decode_defined_char): Don't refer external
1799         database if Qunbound or Qnil are found.
1800         (Fsave_charset_mapping_table): Don't define it if
1801         HAVE_CHISE_CLIENT is not defined.
1802         (Freset_charset_mapping_table): New function.
1803         (load_char_decoding_entry_maybe): Store Qnil if a character is not
1804         found in external database.
1805         (syms_of_mule_charset): Don't define `save-charset-mapping-table'
1806         if HAVE_CHISE_CLIENT is not defined; add new builtin function
1807         `reset-charset-mapping-table' if HAVE_CHISE_CLIENT is defined.
1808
1809 2002-09-18  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1810
1811         * text-coding.c (decode_coding_utf8): Check CCS is specified or
1812         not.
1813
1814 2002-08-26  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1815
1816         * chartab.h: Add extern declarations for Qdowncase, Qflippedcase,
1817         Q_lowercase, Q_uppercase in UTF-2000.
1818
1819         * chartab.c (get_char_table): Add special code for the standard
1820         case table to use character attribute `->downcase' and
1821         `->uppercase' for case operations in UTF-2000.
1822
1823         * casetab.c (Qflippedcase): New variable in UTF-2000.
1824         (Q_lowercase): Likewise.
1825         (Q_uppercase): Likewise.
1826         (syms_of_casetab): Add new symbols `flippedcase', `->lowercase'
1827         and `->uppercase' in UTF-2000.
1828         (complex_vars_of_casetab): Assign attribute name `downcase' to
1829         downcase and CANON table of Vstandard_case_table in UTF-2000;
1830         assign attribute name `flippedcase' to upcase and EQV table of
1831         Vstandard_case_table in UTF-2000.
1832
1833 2002-08-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1834
1835         * text-coding.c (decode_add_er_char): Support isolated-chars.
1836         (char_encode_as_entity_reference): Likewise.
1837
1838 2002-08-13  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1839
1840         * emacs.c (Vutf_2000_lisp_directory): New variable.
1841         (Vconfigure_utf_2000_lisp_directory): Likewise.
1842         (complex_vars_of_emacs): Add new variable
1843         `utf-2000-lisp-directory' and `configure-utf-2000-lisp-directory'.
1844
1845 2002-08-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1846
1847         * char-ucs.h (DECODE_CHAR): Delete special code for
1848         `chinese-big5-1' and `chinese-big5-2'.
1849
1850         * mule-charset.c (Qbig5_1): New variable in UTF-2000.
1851         (Qbig5_2): Likewise.
1852         (decode_defined_char): Support CONVERSION_BIG5_1 and
1853         CONVERSION_BIG5_2.
1854         (decode_builtin_char): Likewise.
1855         (charset_code_point): Likewise.
1856         (Fmake_charset): Accept `big5-1' and `big5-2' as a value of
1857         'conversion in UTF-2000.
1858         (syms_of_mule_charset): Add new symbol `big5-1' and `big5-2'.
1859         (complex_vars_of_mule_charset): Define `chinese-big5-1' and
1860         `chinese-big5-2' as children of `chinese-big5'.
1861
1862         * char-ucs.h (CONVERSION_BIG5_1): New macro.
1863         (CONVERSION_BIG5_2): New macro.
1864
1865 2002-08-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1866
1867         * text-coding.c (char_encode_big5): Support entity-reference.
1868
1869 2002-08-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1870
1871         * text-coding.c (char_encode_as_entity_reference): New function.
1872         (char_encode_utf8): Use `char_encode_as_entity_reference'.
1873
1874 2002-08-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1875
1876         * text-coding.c (decode_coding_big5): Support entity-reference
1877         decoding feature.
1878
1879 2002-08-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1880
1881         * text-coding.c (allocate_coding_system): Initialize initial
1882         charsets for CODESYS_UTF8.
1883         (Fmake_coding_system): Accept charset-g0, charset-g1 and
1884         charset-g2 for CODESYS_UTF8.
1885         (decode_coding_utf8): Use charset-g0.
1886         (char_encode_utf8): Use charset-g0; use charset-g1 and charset-g2
1887         to force variants to map to UCS.
1888
1889 2002-07-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1890
1891         * text-coding.c (Qutf_8_mcs): New variable.
1892         (syms_of_file_coding): Add new symbol `utf-8-mcs' in UTF-2000.
1893         (complex_vars_of_file_coding): Define coding-system `utf-8-mcs'
1894         instead of `utf-8' in UTF-2000.
1895
1896 2002-07-22  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1897
1898         * mule-charset.c (charset_code_point): If CHARSET_CONVERSION is
1899         CONVERSION_IDENTICAL, identical conversion is used even if a CCS
1900         is ISO-2022 style; instead of it, CONVERSION_94, CONVERSION_96,
1901         CONVERSION_94x94, CONVERSION_96x96, CONVERSION_94x94x94,
1902         CONVERSION_96x96x96, CONVERSION_94x94x94x94 and
1903         CONVERSION_96x96x96x96 are introduced.
1904         (complex_vars_of_mule_charset): Specify CONVERSION_96 instead of
1905         CONVERSION_IDENTICAL for thai-tis620; Specify CONVERSION_94x94
1906         instead of CONVERSION_IDENTICAL for japanese-jisx0208-1990.
1907
1908         * char-ucs.h (CONVERSION_94): New macro.
1909         (CONVERSION_96): New macro.
1910         (CONVERSION_94x94): New macro.
1911         (CONVERSION_96x96): New macro.
1912         (CONVERSION_94x94x94): New macro.
1913         (CONVERSION_96x96x96): New macro.
1914         (CONVERSION_94x94x94x60): New macro.
1915         (CONVERSION_94x94x94x94): New macro.
1916         (CONVERSION_96x96x96x96): New macro.
1917
1918 2002-07-17  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1919
1920         * chartab.c (Vcharacter_variant_table): Deleted.
1921         (Fchar_variants): Use character-attribute `->ucs-variants' instead
1922         of `Vcharacter_variant_table'.
1923         (Fput_char_attribute): Likewise.
1924         (vars_of_chartab): Don't setup `Vcharacter_variant_table'.
1925         (complex_vars_of_chartab): Likewise.
1926
1927 2002-07-17  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1928
1929         * lisp.h: Add an EXFUN for `Fchar_ref_p'.
1930
1931         * fns.c (Qideographic_structure): New variable.
1932         (Qkeyword_char): New variable.
1933         (ids_format_unit): New function.
1934         (Fideographic_structure_to_ids): New function.
1935         (syms_of_fns): Add new symbols `ideographic-structure' and
1936         `:char'; add new builtin function `ideographic-structure-to-ids'.
1937
1938         * data.c (Fchar_ref_p): New function.
1939         (syms_of_data): Add new builtin function `char-ref-p'.
1940
1941         * chartab.h: Add an EXFUN for `Ffind_char'.
1942
1943 2002-07-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1944
1945         * text-coding.c (Vcharacter_composition_table): Deleted.
1946         (COMPOSE_ADD_CHAR): Use the implementation for external-DB support
1947         in every UTF-2000.
1948
1949         * chartab.c: Add EXFUN for `Fmap_char_attribute' in every
1950         UTF-2000.
1951         (Vcharacter_composition_table): Deleted.
1952         (Fget_composite_char): Use the implementation for external-DB
1953         support in every UTF-2000.
1954         (Fput_char_attribute): Likewise.
1955         (char_attribute_system_db_file): Don't define if external-DB
1956         feature is not available.
1957         (Fsave_char_attribute_table): Likewise.
1958         (Fmount_char_attribute_table): Likewise.
1959         (Fclose_char_attribute_table): Likewise.
1960         (Freset_char_attribute_table): Likewise.
1961         (Fload_char_attribute_table): Likewise.
1962         (syms_of_chartab): Don't define `save-char-attribute-table',
1963         `mount-char-attribute-table', `reset-char-attribute-table',
1964         `close-char-attribute-table' and `load-char-attribute-table' if
1965         external-DB feature is not available.
1966         (vars_of_chartab): Don't setup `Vcharacter_composition_table'.
1967
1968 2002-07-15  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1969
1970         * text-coding.c (Qcomposition): Add extern if external-DB feature
1971         is supported.
1972         (Vcharacter_composition_table): Don't add extern if external-DB
1973         feature is supported.
1974         (COMPOSE_ADD_CHAR): Modify for new data-representation of
1975         character composition rule if external-DB feature is supported.
1976
1977         * chartab.c (Vcharacter_composition_table): Don't define if
1978         external-DB feature is supported.
1979         (Qcomposition): New variable.
1980         (Fget_composite_char): New implementation for external-DB support.
1981         (Fput_char_attribute): Use `composition' property of each
1982         character instead of `Vcharacter_composition_table' to store
1983         character-composition rules if external-DB feature is supported.
1984         (syms_of_chartab): Add new symbol `composition'.
1985         (vars_of_chartab): Don't setup `Vcharacter_composition_table' if
1986         external-DB feature is supported.
1987
1988 2002-07-14  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1989
1990         * chartab.c (Vchar_db_stingy_mode): New variable.
1991         (load_char_attribute_maybe): Close database if
1992         Vchar_db_stingy_mode is not NIL.
1993         (Fload_char_attribute_table_map_function): Use
1994         `get_char_id_table_0' instead of `get_char_id_table'.
1995         (vars_of_chartab): Add new variable `char-db-stingy-mode'.
1996
1997         * chartab.h (get_char_id_table_0): New inline function.
1998         (get_char_id_table): Use `get_char_id_table_0'.
1999
2000 2002-07-07  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2001
2002         * text-coding.c (decode_coding_utf8): Use `COMPOSE_FLUSH_CHARS'
2003         and `COMPOSE_ADD_CHAR'.
2004         (decode_coding_iso2022): Use `decode_flush_er_chars'.
2005
2006 2002-07-07  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2007
2008         * text-coding.c (COMPOSE_FLUSH_CHARS): Use `decode_add_er_char'
2009         instead of `DECODE_ADD_UCS_CHAR'.
2010         (COMPOSE_ADD_CHAR): Likewise.
2011
2012 2002-07-06  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2013
2014         * text-coding.c (decode_flush_er_chars): New inline function.
2015         (decode_add_er_char): New function.
2016         (decode_coding_utf8): Use `decode_flush_er_chars' and
2017         `decode_add_er_char'.
2018
2019 2002-07-06  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2020
2021         * text-coding.c (decode_coding_utf8): Flush for er_buf must be
2022         done before `decode_output_utf8_partial_char'.
2023
2024         * mule-charset.c (complex_vars_of_mule_charset): Specify
2025         `Vcharset_ucs' as the mother of `Vcharset_ucs_cns',
2026         `Vcharset_ucs_ks' and `Vcharset_ucs_big5'.
2027
2028 2002-07-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2029
2030         * mule-charset.c (decode_defined_char): New function; search
2031         mother.
2032         (decode_builtin_char): Don't search mother if
2033         XCHARSET_MAX_CODE(charset) == 0.
2034         (charset_code_point): Search mother if XCHARSET_MAX_CODE(charset)
2035         == 0 even if code >= XCHARSET_MAX_CODE(charset).
2036         (Fdecode_char): Use `decode_defined_char' instead of
2037         `DECODE_DEFINED_CHAR'.
2038         (complex_vars_of_mule_charset): Specify `Vcharset_ucs' as the
2039         mother of `Vcharset_ucs_jis'.
2040
2041         * text-coding.c (decode_coding_big5): Use `decode_defined_char'
2042         instead of `DECODE_DEFINED_CHAR'.
2043
2044         * char-ucs.h (decode_defined_char): Renamed from
2045         `DECODE_DEFINED_CHAR'; changed to normal function.
2046         (DECODE_CHAR): Use `decode_defined_char' instead of
2047         `DECODE_DEFINED_CHAR'.
2048
2049         * lisp.h: Add `EXFUN' for `Fstring_to_number'.
2050
2051 2002-07-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2052
2053         * char-ucs.h: Add `extern' for `Vcharset_ucs'.
2054
2055         * text-coding.c (Vcoded_charset_entity_reference_alist): New
2056         variable.
2057         (Quse_entity_reference): New variable.
2058         (Qd): New variable.
2059         (Qx): New variable.
2060         (QX): New variable.
2061         (coding_system_description): Add description for
2062         `ccs_priority_list'.
2063         (mark_coding_system): Mark `ccs_priority_list' in UTF-2000.
2064         (allocate_coding_system): Initialize `ccs_priority_list' in
2065         UTF-2000.
2066         (Fmake_coding_system): Add description about
2067         'use-entity-reference; setup CODING_SYSTEM_USE_ENTITY_REFERENCE
2068         (codesys).
2069         (Fcoding_system_property): Accept `disable-composition' and
2070         `use-entity-reference' in UTF-2000.
2071         (struct decoding_stream): Add new member `er_counter' and `er_buf'
2072         in UTF-2000.
2073         (reset_decoding_stream): Initialize `str->er_counter' in UTF-2000.
2074         (decode_coding_utf8): Decode entity-reference if
2075         CODING_SYSTEM_USE_ENTITY_REFERENCE (str->codesys).
2076         (char_encode_utf8): Encode non-Unicode characters as
2077         entity-references if CODING_SYSTEM_USE_ENTITY_REFERENCE
2078         (str->codesys).
2079         (syms_of_file_coding): Add new symbols `use-entity-reference',
2080         `d', `x', `X'.
2081         (vars_of_file_coding): Add new variable
2082         `coded-charset-entity-reference-alist'.
2083         (complex_vars_of_file_coding): Declare `disable-composition' and
2084         `use-entity-reference' to be coding-system-properties in UTF-2000.
2085
2086         * file-coding.h (struct Lisp_Coding_System): Add new member
2087         `use_entity_reference' and `ccs_priority_list'.
2088         (CODING_SYSTEM_USE_ENTITY_REFERENCE): New macro.
2089         (CODING_SYSTEM_CCS_PRIORITY_LIST): New macro.
2090         (XCODING_SYSTEM_USE_ENTITY_REFERENCE): New macro.
2091
2092 2002-07-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2093
2094         * chartab.c (save_uint8_byte_table): Don't clear the table.
2095         (save_uint16_byte_table): Likewise.
2096         (save_byte_table): Likewise.
2097         (Fmount_char_attribute_table): New function.
2098         (syms_of_chartab): Add new builtin function
2099         `mount-char-attribute-table'.
2100
2101 2002-07-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2102
2103         * mule-charset.c (Fsave_charset_mapping_table): Open database as
2104         "w+" mode.
2105         (load_char_decoding_entry_maybe): Open database as read-only mode.
2106
2107         * chartab.c (Fsave_char_attribute_table): Don't share `ct->db';
2108         open database as "w+" mode.
2109         (load_char_attribute_maybe): Open database as read-only mode.
2110         (Fload_char_attribute_table): Likewise.
2111
2112 2002-07-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2113
2114         * chartab.c (mark_char_table): Don't refer `ct->db_file'.
2115         (char_table_description): Delete member `db_file'.
2116         (Fmake_char_table): Don't refer `ct->db_file'.
2117         (Fcopy_char_table): Likewise.
2118         (Fsave_char_attribute_table): Likewise.
2119         (Fclose_char_attribute_table): Likewise.
2120         (Freset_char_attribute_table): Likewise.
2121         (load_char_attribute_maybe): Likewise.
2122         (Fload_char_attribute_table): Likewise.
2123
2124         * chartab.h (struct Lisp_Char_Table): Delete member `db_file'.
2125
2126 2002-07-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2127
2128         * chartab.c: Add an EXFUN for `Fmap_char_attribute'.
2129         (Fsave_char_attribute_table): Don't check `ct->db_file' if
2130         `ct->db' is living.
2131         (load_char_attribute_maybe): Likewise.
2132         (Fload_char_attribute_table): Likewise.
2133
2134 2002-07-01  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2135
2136         * chartab.c (Fclose_char_attribute_table): Set Qnil on
2137         `ct->db_file' unconditionally.
2138
2139 2002-07-01  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2140
2141         * chartab.c (mark_char_table): Mark `ct->db_file' and `ct->db' in
2142         UTF-2000.
2143         (char_table_description): Add description for `db_file' and `db'
2144         in UTF-2000.
2145         (Fmake_char_table): Initialize `ct->db_file' and `ct->db' in
2146         UTF-2000.
2147         (Fcopy_char_table): Copy `ct->db_file' and `ct->db' in UTF-2000.
2148         (Fsave_char_attribute_table): Use `ct->db_file' and `ct->db'.
2149         (Fclose_char_attribute_table): New function.
2150         (Freset_char_attribute_table): Reset `ct->db_file' and `ct->db'.
2151         (load_char_attribute_maybe): Change interface; use `cit->db_file'
2152         and `cit->db'.
2153         (Fload_char_attribute_table): Use `ct->db_file' and `ct->db'.
2154         (syms_of_chartab): Add new builtin function
2155         `Fclose_char_attribute_table'.
2156
2157 2002-06-28  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2158
2159         * chartab.h (struct Lisp_Char_Table): Add new member `db_file' and
2160         `db' in UTF-2000.
2161         (load_char_attribute_maybe): Change interface.
2162         (get_char_id_table): Modify for `load_char_attribute_maybe'.
2163
2164 2002-06-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2165
2166         * database.h: Add an EXFUN for `Fdatabase_live_p'.
2167
2168 2002-04-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2169
2170         * mule-charset.c (decode_builtin_char): Use `decode_builtin_char'
2171         instead of `DECODE_CHAR' for mother; don't use special code for
2172         chinese-big5 to use code space of chinese-big5-1 and
2173         chinese-big5-2.
2174         (complex_vars_of_mule_charset): Use `MIN_CHAR_BIG5_CDP' and
2175         `MAX_CHAR_BIG5_CDP' for chinese-big5.
2176
2177         * char-ucs.h (MIN_CHAR_BIG5_CDP): Revival.
2178         (MAX_CHAR_BIG5_CDP): Revival.
2179
2180 2002-04-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2181
2182         * mule-charset.c (complex_vars_of_mule_charset): Use "big5-0" as
2183         the XLFD registry-encoding name of `chinese-big5'.
2184
2185 2002-04-08  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2186
2187         * mule-charset.c (Vcharset_chinese_big5_cdp): Deleted.
2188         (Qchinese_big5_cdp): Deleted.
2189         (syms_of_mule_charset): Delete symbol `chinese-big5-cdp'.
2190         (complex_vars_of_mule_charset): Delete coded-charset
2191         `chinese-big5-cdp'.
2192
2193         * char-ucs.h (CHARSET_ID_OFFSET): Deleted.
2194         (LEADING_BYTE_*): Use `MIN_LEADING_BYTE + n' instead of
2195         `CHARSET_ID_OFFSET - n' for private CCS.
2196         (LEADING_BYTE_CHINESE_BIG5_CDP): Deleted.
2197         (MIN_LEADING_BYTE_PRIVATE): Use `(MIN_LEADING_BYTE + 97)' instead
2198         of `MIN_LEADING_BYTE'.
2199         (MAX_LEADING_BYTE_PRIVATE): Use `-1' instead of
2200         `(CHARSET_ID_OFFSET - 97)'.
2201         (MIN_CHAR_BIG5_CDP): Deleted.
2202         (MAX_CHAR_BIG5_CDP): Deleted.
2203
2204 2002-03-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2205
2206         * mule.c (vars_of_mule): Update `utf-2000-version' to 0.19.
2207
2208 2002-03-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2209
2210         * mule.c (Vutf_2000_version): New variable [moved from chartab.c].
2211         (vars_of_mule): Add new variable `utf-2000-version' [moved from
2212         chartab.c].
2213
2214         * chartab.c (Vutf_2000_version): Moved to mule.c.
2215         (vars_of_chartab): Move code about `utf-2000-version' into mule.c.
2216
2217 2002-03-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2218
2219         * mule-charset.c (load_char_decoding_entry_maybe): Don't define it
2220         when HAVE_CHISE_CLIENT is not defined.
2221
2222         * mule.c (vars_of_mule): Provide feature `chise' when
2223         HAVE_CHISE_CLIENT is defined.
2224
2225 2002-03-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2226
2227         * config.h.in (UTF2000): Add comment.
2228         (HAVE_CHISE_CLIENT): New macro.
2229
2230 2002-02-25  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2231
2232         * chartab.c (Fchar_variants): Check Vcharacter_variant_table is
2233         CONSP.
2234         (Fput_char_attribute): Likewise.
2235         (char_attribute_system_db_file): Encode file-name of attribute.
2236         (vars_of_chartab): Set Qunbound into Vcharacter_variant_table as
2237         the initial value.
2238
2239 2002-02-13  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2240
2241         * mule-charset.c (put_char_ccs_code_point): Delete unused codes.
2242         (Fsave_charset_mapping_table): Use
2243         `char_attribute_system_db_file'.
2244         (load_char_decoding_entry_maybe): Likewise.
2245
2246         * chartab.h (Qsystem_char_id): New external variable.
2247         (char_attribute_system_db_file): New prototype.
2248
2249         * chartab.c (Qsystem_char_id): New variable in UTF-2000.
2250         (char_attribute_system_db_file): New function.
2251         (Fsave_char_attribute_table): Use `char_attribute_system_db_file'.
2252         (Freset_char_attribute_table): Likewise.
2253         (load_char_attribute_maybe): Likewise.
2254         (Fload_char_attribute_table): Likewise.
2255         (syms_of_chartab): Add new symbol `system-char-id'.
2256
2257 2002-02-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2258
2259         * char-ucs.h (DECODE_DEFINED_CHAR): Don't check
2260         `XCHARSET_GRAPHIC(ccs)'.
2261
2262 2002-02-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2263
2264         * mule-charset.c (Fsave_charset_mapping_table): Fixed.
2265
2266 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2267
2268         * chartab.c (Q_ucs_variants): New variable.
2269         (syms_of_chartab): Add new symbol `->ucs-variants'.
2270         (complex_vars_of_chartab): Set `Vcharacter_variant_table' on
2271         `Vchar_attribute_hash_table' as the value of `->ucs-variants'; set
2272         `->ucs-variants' on `XCHAR_TABLE_NAME (Vcharacter_variant_table)'.
2273
2274         * mule-charset.c (load_char_decoding_entry_maybe): New function.
2275
2276         * char-ucs.h (load_char_decoding_entry_maybe): New prototype when
2277         `HAVE_DATABASE' is defined.
2278         (DECODE_DEFINED_CHAR): Use `load_char_decoding_entry_maybe' when
2279         `HAVE_DATABASE' is defined.
2280
2281 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2282
2283         * chartab.c (Fsave_char_attribute_table): Don't clear internal
2284         attribute-table.
2285         (Freset_char_attribute_table): New function.
2286         (syms_of_chartab): Add new builtin function
2287         `reset-char-attribute-table'.
2288
2289 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2290
2291         * chartab.c (load_char_attribute_maybe): Don't make directories.
2292
2293 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2294
2295         * char-ucs.h: Add EXFUN for `Fmake_directory_internal'.
2296
2297         * mule-charset.c (put_char_ccs_code_point): Don't prepare a vector
2298         for decoding-table.
2299
2300 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2301
2302         * mule-charset.c (Fsave_charset_mapping_table): Use
2303         `XCHARSET_BYTE_SIZE' instead of `XCHARSET_CHARS'.
2304
2305         * char-ucs.h (put_ccs_octet_table): Use `XCHARSET_BYTE_SIZE'
2306         instead of `XCHARSET_CHARS'.
2307
2308 2002-02-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2309
2310         * mule-charset.c (CHARSET_BYTE_SIZE): Moved to char-ucs.h.
2311         (XCHARSET_BYTE_SIZE): Likewise.
2312
2313         * char-ucs.h (CHARSET_BYTE_SIZE): New inline function [moved from
2314         mule-charset.c].
2315         (XCHARSET_BYTE_SIZE): Likewise.
2316
2317 2002-02-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2318
2319         * chartab.c (Fput_char_attribute): Use exec-directory instead of
2320         data-directory to store database.
2321         (Fsave_char_attribute_table): Likewise.
2322         (load_char_attribute_maybe): Likewise.
2323         (Fload_char_attribute_table): Likewise.
2324
2325 2002-02-08  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2326
2327         * mule-charset.c (Fsave_charset_mapping_table): New function.
2328         (syms_of_mule_charset): Add new builtin function
2329         `save-charset-mapping-table'.
2330
2331 2002-02-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2332
2333         * char-ucs.h (decoding_table_check_elements): Delete prototype.
2334         (get_ccs_octet_table): New inline function.
2335         (put_ccs_octet_table): Likewise.
2336         (decoding_table_put_char): Use `get_ccs_octet_table' and
2337         `put_ccs_octet_table'.
2338         (decoding_table_remove_char): Use `decoding_table_put_char'.
2339         (DECODE_DEFINED_CHAR): Use `get_ccs_octet_table'.
2340
2341         * mule-charset.c (remove_char_ccs): Store Qunbound instead of Qnil
2342         into encoding_table.
2343         (make_charset): Use Qunbound instead Qnil as initial value of
2344         decoding_table.
2345
2346 2002-02-04  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2347
2348         * chartab.c (map_over_uint8_byte_table): Set Qunbound if an
2349         element is Qunloaded.
2350         (map_over_uint16_byte_table): Likewise.
2351         (map_over_byte_table): Likewise.
2352         (map_char_table): Likewise for CHARTAB_RANGE_ALL in UTF-2000; when
2353         CHARTAB_RANGE_CHARSET is specified in UTF-2000 with external
2354         database support, load encoding-table of the specified
2355         coded-charset if it is not loaded yet.
2356         (save_uint8_byte_table): New function of UTF-2000 with external
2357         database support.
2358         (save_uint16_byte_table): Likewise.
2359         (save_byte_table): Likewise.
2360         (Fput_char_attribute): Don't store value into external database
2361         even if the external database feature is supported in UTF-2000;
2362         set `attribute' as name of char-table if the external database
2363         feature is supported.
2364         (Fsave_char_attribute_table): New function in UTF-2000.
2365         (syms_of_chartab): Add new builtin function
2366         `save-char-attribute-table' in UTF-2000.
2367
2368 2002-02-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2369
2370         * chartab.c (char_attribute_table_to_put): New variable in
2371         UTF-2000.
2372         (Qput_char_table_map_function): Likewise.
2373         (value_to_put): Likewise.
2374         (Fput_char_table_map_function): New function in UTF-2000.
2375         (put_char_table): Use `Fmap_char_attribute' for
2376         CHARTAB_RANGE_CHARSET in UTF-2000.
2377         (Fput_char_attribute): Store symbol instead of string in
2378         `XCHAR_TABLE_NAME (table)'.
2379         (load_char_attribute_maybe): Likewise.
2380         (syms_of_chartab): Add new symbol/function
2381         `put-char-table-map-function'.
2382
2383 2002-01-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2384
2385         * database.h: Add new EXFUN for `Fmap_database'.
2386
2387         * database.c (Fmap_database): Renamed from `Fmapdatabase'.
2388         (syms_of_database): Likewise.
2389
2390         * chartab.h (struct Lisp_Char_Table): Add new member `unloaded' in
2391         UTF-2000.
2392         (CHAR_TABLE_UNLOADED): New macro of UTF-2000.
2393         (XCHAR_TABLE_UNLOADED): Likewise.
2394
2395         * chartab.c (fill_char_table): Initialize `ct->unloaded'.
2396         (Fput_char_attribute): Set XCHAR_TABLE_UNLOADED(table) if
2397         HAVE_DATABASE is defined.
2398         (char_attribute_table_to_load): New variable of UTF-2000 with
2399         external database support.
2400         (Qload_char_attribute_table_map_function): Likewise.
2401         (Fload_char_attribute_table_map_function): New function of
2402         UTF-2000 with external database support.
2403         (Fload_char_attribute_table): New function of UTF-2000.
2404         (Fmap_char_attribute): Call Fload_char_attribute_table if
2405         CHAR_TABLE_UNLOADED(ct) is set when HAVE_DATABASE is defined.
2406         (syms_of_chartab): Add new symbol and function
2407         `load-char-attribute-table-map-function' in UTF-2000 with external
2408         database support; add new function `load-char-attribute-table' in
2409         UTF-2000.
2410
2411 2002-01-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2412
2413         * chartab.h (load_char_attribute_maybe): New prototype for
2414         UTF-2000 with DATABASE support.
2415         (get_char_id_table): Use `load_char_attribute_maybe' if
2416         HAVE_DATABASE is defined.
2417
2418         * chartab.c (load_char_attribute_maybe): New function in UTF-2000
2419         with DATABASE support.
2420
2421 2002-01-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2422
2423         * chartab.c (Fput_char_attribute): Use S-expression as key of
2424         external database.
2425
2426         * chartab.h (get_char_id_table): Use S-expression as key of
2427         external database.
2428
2429 2002-01-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2430
2431         * chartab.c (map_over_uint8_byte_table): Add new argument `root';
2432         if an element is not loaded, load the corresponding attributes
2433         from an external database.
2434         (map_over_uint16_byte_table): Likewise.
2435         (map_over_byte_table): Likewise.
2436         (map_char_table): Modify for `map_over_uint8_byte_table',
2437         `map_over_uint16_byte_table' and `map_over_byte_table'; if an
2438         element is not loaded, load the corresponding attributes from an
2439         external database.
2440         (Fput_char_attribute): Change initial values to Qunloaded.
2441
2442         * chartab.h (get_char_id_table): If a character attribute is not
2443         loaded and the attribute value is not found in an external
2444         database, store Qunbound as the attribute value.
2445
2446 2002-01-22  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2447
2448         * chartab.c (BT_UINT8_unloaded): New macro.
2449         (UINT8_VALUE_P): Accept Qunloaded.
2450         (UINT8_ENCODE): Likewise.
2451         (UINT8_DECODE): Likewise.
2452         (BT_UINT16_unloaded): New macro.
2453         (UINT16_VALUE_P): Accept Qunloaded.
2454         (UINT16_ENCODE): Likewise.
2455         (UINT16_DECODE): Likewise.
2456         (UINT8_TO_UINT16): Convert BT_UINT8_unloaded into
2457         BT_UINT16_unloaded.
2458         (mark_char_table): Mark `ct->name' in UTF-2000.
2459         (char_table_description): Add `name' in UTF-2000.
2460         (Fmake_char_table): Initialize `ct->name'.
2461         (Fcopy_char_table): Copy `ct->name'.
2462         (Fput_char_attribute): Store value into an external database if
2463         HAVE_DATABASE is defined.
2464
2465         * chartab.h (struct Lisp_Char_Table): Add new member `name' in
2466         UTF-2000.
2467         (CHAR_TABLE_NAME): New macro in UTF-2000.
2468         (XCHAR_TABLE_NAME): New macro in UTF-2000.
2469         (get_char_id_table): Try to read an external database if Qunloaded
2470         is stored in a table.
2471
2472         * symbols.c (init_symbols_once_early): Assign '#<unloaded> into
2473         Qunloaded.
2474
2475 2002-01-21  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2476
2477         * database.h: Add EXFUN definitions for Fopen_database,
2478         Fput_database, Fget_database and Fclose_database.
2479
2480         * data.c (Qunloaded): New variable in UTF-2000.
2481
2482         * lisp.h (Qunloaded): New variable in UTF-2000.
2483
2484 2002-01-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2485
2486         * mule-charset.c (put_char_ccs_code_point): Modify for
2487         `decoding_table_remove_char' and `decoding_table_put_char'.
2488         (remove_char_ccs): Modify for `decoding_table_remove_char'.
2489
2490         * char-ucs.h (decoding_table_remove_char): Change arguments to
2491         hide decoding_table vector.
2492         (decoding_table_put_char): Likewise.
2493
2494 2002-01-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2495
2496         * mule-charset.c (decoding_table_remove_char): Moved to
2497         char-ucs.h.
2498         (decoding_table_put_char): Likewise.
2499
2500         * char-ucs.h (decoding_table_check_elements): New prototype [moved
2501         from mule-charset.c].
2502         (decoding_table_remove_char): New inline function [moved from
2503         mule-charset.c].
2504         (decoding_table_put_char): Likewise.
2505
2506 2002-01-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2507
2508         * mule-charset.c (Fmake_charset): Modify DOC-string for UTF-2000
2509         extension.
2510
2511 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2512
2513         * mule-charset.c (decode_builtin_char): Support mother charsets.
2514
2515 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2516
2517         * mule-charset.c (Q94x94x60): New variable.
2518         (charset_code_point): Support conversion `94x94x60'.
2519         (Fmake_charset): Likewise.
2520         (syms_of_mule_charset): Add new symbol `94x94x60'.
2521
2522         * char-ucs.h (CONVERSION_94x94x60): New macro.
2523
2524 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2525
2526         * mule-charset.c (charset_code_point): Unify code about
2527         `code-offset'.
2528
2529 2001-12-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2530
2531         * mule-charset.c (charset_code_point): Merge code about builtin
2532         characters into code about mother charsets; don't use
2533         `range_charset_code_point'.
2534         (range_charset_code_point): Deleted.
2535
2536 2001-12-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2537
2538         * mule-charset.c (Qcode_offset): New variable.
2539         (Fmake_charset): Use `XUINT' to get value of `min-code' and
2540         `max-code'; accept new property `code-offset'.
2541         (syms_of_mule_charset): Add new symbol `code-offset'.
2542
2543 2001-12-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2544
2545         * mule-charset.c (range_charset_code_point): Fixed.
2546
2547 2001-12-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2548
2549         * mule-charset.c (decode_builtin_char): Change semantics of
2550         code-offset of coded-charset.
2551         (charset_code_point): Likewise.
2552         (range_charset_code_point): Likewise.
2553         (complex_vars_of_mule_charset): Modify for the change.
2554
2555 2001-12-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2556
2557         * mule-charset.c (Fencode_char): Reverse arguments.
2558
2559         * mule-charset.c (charset_code_point): Fixed.
2560
2561 2001-12-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2562
2563         * mule-charset.c (Vcharset_mojikyo): Deleted.
2564         (Vcharset_mojikyo_2022_1): Deleted.
2565         (Vcharset_mojikyo_pj_{1..21}): Deleted.
2566         (Qmin_code): New variable in UTF-2000.
2567         (Qmax_code): Likewise.
2568         (Qmother): Likewise.
2569         (Qconversion): Likewise.
2570         (Q94x60): Likewise.
2571         (Qmojikyo): Deleted.
2572         (Qmojikyo_2022_1): Deleted.
2573         (Qmojikyo_pj_{1..22}): Deleted.
2574         (mark_charset): Mark `cs->mother'.
2575         (charset_description): Add description for `mother'.
2576         (make_charset): Rename `ucs_{min|max}' to `{min|max}_code'; add
2577         new arguments `mother' and `conversion'; use
2578         `CHARSET_{MIN|MAX}_CODE' instead of `CHARSET_UCS_{MIN|MAX}'.
2579         (charset_code_point): Moved from char-ucs.h; support `mother'
2580         charset feature.
2581         (range_charset_code_point): use `CHARSET_{MIN|MAX}_CODE' instead
2582         of `CHARSET_UCS_{MIN|MAX}'; delete hard code for `mojikyo-2022-1'.
2583         (Fmake_charset): Allow 3 and 4 as the value of `dimension' in
2584         UTF-2000; allow 128 and 256 as the value of `chars' in UTF-2000;
2585         allow 2 as the value of `graphic' in UTF-2000; add new properties
2586         `min-code', `max-code', `mother', `conversion' in UTF-2000; don't
2587         require `final' in UTF-2000; modify for `make_charset'.
2588         (Fmake_reverse_direction_charset): use `CHARSET_{MIN|MAX}_CODE'
2589         instead of `CHARSET_UCS_{MIN|MAX}'; modify for `make_charset'.
2590         (Fcharset_property): Support `mother', `min-code' and `max-code'.
2591         (Fencode_char): New function.
2592         (syms_of_mule_charset): Add new builtin function `encode-char' in
2593         UTF-2000; add new symbols `min-code', `max-code', `mother',
2594         `conversion' and `94x60'; delete symbols `mojikyo',
2595         `mojikyo-2022-1' and `mojikyo-pj-{1..21}'.
2596         (complex_vars_of_mule_charset): Modify for `make_charset' change;
2597         delete coded-charsets `mojikyo', `mojikyo-2022-1' and
2598         `mojikyo-pj-{1..21}'; delete `DEF_MOJIKYO_PJ'.
2599
2600         * chartab.c (Fdefine_char): Use `XCHARSET_MAX_CODE' instead of
2601         `XCHARSET_UCS_MAX'; regard `chinese-big5' as a base CCS.
2602
2603         * char-ucs.h (Vcharset_mojikyo): Deleted.
2604         (Vcharset_mojikyo_2022_1): Deleted.
2605         (LEADING_BYTE_MOJIKYO): Deleted.
2606         (LEADING_BYTE_MOJIKYO_2022_1): Deleted.
2607         (LEADING_BYTE_MOJIKYO_2022_2): Deleted.
2608         (LEADING_BYTE_MOJIKYO_PJ_{1 .. 21}): Deleted.
2609         (struct Lisp_Charset): Rename `ucs_{min|max}' to `{min|max}_code';
2610         add new member `mother'; add new member `conversion'.
2611         (CHARSET_MIN_CODE): Renamed from `CHARSET_UCS_MIN'.
2612         (CHARSET_MAX_CODE): Renamed from `CHARSET_UCS_MAX'.
2613         (CHARSET_MOTHER): New macro.
2614         (CHARSET_CONVERSION): New macro.
2615         (CONVERSION_IDENTICAL): New macro.
2616         (CONVERSION_94x60): New macro.
2617         (XCHARSET_MIN_CODE): Renamed from `CHARSET_MIN_CODE'.
2618         (XCHARSET_MAX_CODE): Renamed from `CHARSET_MAX_CODE'.
2619         (XCHARSET_MOTHER): New macro.
2620         (XCHARSET_CONVERSION): New macro.
2621         (MIN_CHAR_MOJIKYO): Deleted.
2622         (MAX_CHAR_MOJIKYO): Deleted.
2623         (DECODE_MOJIKYO_2022): Deleted.
2624         (DECODE_CHAR): Delete hard code for builtin Mojikyo characters.
2625         (charset_code_point): Changed to non-inline function.
2626         (encode_char_1): Use `charset_code_point'.
2627         (CHAR_TO_CHARC): Delete hard code for Mojikyo characters.
2628
2629 2001-12-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2630
2631         * lread.c (read_compiled_function): Fix prototype.
2632         (read_vector): Likewise.
2633
2634 2001-12-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2635
2636         * lrecord.h (struct lrecord_header): Delete `older'.
2637         (set_lheader_implementation): Delete code for `older'.
2638         (set_lheader_older_implementation): Deleted.
2639         (enum lrecord_type): Delete `lrecord_type_char_id_table'.
2640         (OLDER_RECORD_P): Deleted.
2641         (OLDER_RECORD_HEADER_P): Deleted.
2642         (alloc_older_lcrecord): Deleted.
2643         (alloc_older_lcrecord_type): Deleted.
2644
2645         * alloc.c (all_older_lcrecords): Deleted.
2646         (alloc_older_lcrecord): Deleted.
2647         (disksave_object_finalization_1): Delete code for older objects.
2648         (mark_object): Don't use `OLDER_RECORD_HEADER_P'.
2649         (reinit_alloc_once_early): Don't initialize `all_older_lcrecords'.
2650
2651 2001-12-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2652
2653         * mule-charset.c (decoding_table_put_char): Use `make_vector'
2654         instead of `make_older_vector'.
2655         (put_char_ccs_code_point): Likewise.
2656         (mark_charset): Mark `cs->decoding_table'.
2657         (Fset_charset_mapping_table): Don't use `make_vector_newer'.
2658
2659         * lisp.h (make_older_vector): Deleted.
2660         (make_vector_newer): Deleted.
2661
2662         * config.h.in (HAVE_GGC): Deleted.
2663
2664         * alloc.c (make_older_vector): Deleted.
2665         (make_vector_newer_1): Deleted.
2666         (make_vector_newer): Deleted.
2667
2668 2001-12-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2669
2670         * mule-charset.c (Vcharset_ideograph_daikanwa_2): New variable.
2671         (Qideograph_daikanwa_2): New variable.
2672         (syms_of_mule_charset): Add new symbol `ideograph-daikanwa-2'.
2673         (complex_vars_of_mule_charset): Add new coded-charset
2674         `ideograph-daikanwa-2'; use `LEADING_BYTE_DAIKANWA_3' instead of
2675         `LEADING_BYTE_DAIKANWA'.
2676
2677         * char-ucs.h (LEADING_BYTE_DAIKANWA_0): New macro.
2678         (LEADING_BYTE_DAIKANWA_1): New macro.
2679         (LEADING_BYTE_DAIKANWA_2): New macro.
2680         (LEADING_BYTE_DAIKANWA_3): Renamed from `LEADING_BYTE_DAIKANWA'.
2681
2682 2001-12-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2683
2684         * mule-charset.c (complex_vars_of_mule_charset): Change
2685         DOC-strings and registry of `ideograph-daikanwa'; now it indicates
2686         the second revised version.
2687
2688 2001-12-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2689
2690         * mule-charset.c (Vcharset_ucs_smp): New variable.
2691         (Vcharset_ucs_sip): New variable.
2692         (Qucs_smp): New variable.
2693         (Qucs_sip): New variable.
2694         (encode_builtin_char_1): Treat MIN_CHAR_{SMP|SIP} to
2695         MAX_CHAR_{SMP|SIP} as `ucs-{smp|sip}'.
2696         (syms_of_mule_charset): Add new symbols `ucs-smp' and `ucs-sip'.
2697         (complex_vars_of_mule_charset): Modify middle-DOC and registry of
2698         `ucs-bmp'; add new coded-charset `ucs-smp' and `ucs-sip'; change
2699         charset width of `ucs-cns', `ucs-jis', `ucs-ks' and `ucs-big5'.
2700
2701         * char-ucs.h (LEADING_BYTE_UCS_SMP): New macro.
2702         (LEADING_BYTE_UCS_SIP): New macro.
2703         (MIN_CHAR_SMP): New macro.
2704         (MAX_CHAR_SMP): New macro.
2705         (MIN_CHAR_SIP): New macro.
2706         (MAX_CHAR_SIP): New macro.
2707
2708 2001-11-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
2709
2710         * dumper.c (PDUMP_HASH_SIZE): Increase the size of hash table when
2711         utf-2000.
2712
2713 2001-11-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2714
2715         * mule-charset.c (put_char_ccs_code_point): Return canonicalized
2716         value; don't store value into `encoding_table' of `Lisp_Charset'.
2717         (mark_charset): `encoding_table' was deleted.
2718         (charset_description): Likewise.
2719         (make_charset): Likewise.
2720         (Fset_charset_mapping_table): Use `Fput_char_attribute' instead of
2721         `put_char_ccs_code_point'.
2722
2723         * chartab.h (Fput_char_attribute): New EXFUN.
2724
2725         * chartab.c (Fchar_attribute_alist): Name space of CCS-attributes
2726         is unified with normal symbol space.
2727         (Fget_char_attribute): Likewise.
2728         (Fput_char_attribute): Likewise; behavior of
2729         `put_char_ccs_code_point' is changed.
2730
2731         * char-ucs.h: Include "elhash.h".
2732         (Vchar_attribute_hash_table): New external variable.
2733         (struct Lisp_Charset): Delete `encoding_table'.
2734         (CHARSET_ENCODING_TABLE): New implementation; refer
2735         `Vchar_attribute_hash_table' instead of `encoding_table' of struct
2736         `Lisp_Charset'.
2737
2738 2001-11-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2739
2740         * mule-charset.c (Fcharset_property): Return Qnil if CHARSET_FINAL
2741         (cs) == 0.
2742
2743 2001-11-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2744
2745         * text-coding.c (char_encode_big5): Prefer charset-g1 than
2746         `chinese-big5'.
2747
2748 2001-11-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2749
2750         * chartab.c (uint8_byte_table_description): New constant.
2751         (uint8-byte-table): Use `uint8_byte_table_description'.
2752         (uint16_byte_table_description): New constant.
2753         (uint16-byte-table): Use `uint16_byte_table_description'.
2754
2755 2001-10-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2756
2757         * mule-charset.c (complex_vars_of_mule_charset): Don't use builtin
2758         range MIN_CHAR_BIG5_CDP .. MAX_CHAR_BIG5_CDP.
2759
2760 2001-10-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2761
2762         * mule-charset.c (Vcharset_ucs_ks): New variable.
2763         (Qucs_ks): New variable.
2764         (syms_of_mule_charset): Add new symbol `ucs-ks'.
2765         (complex_vars_of_mule_charset): Add new coded-charset `ucs-ks'.
2766
2767         * char-ucs.h (LEADING_BYTE_UCS_KS): New macro.
2768
2769 2001-10-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2770
2771         * chartab.h (Fmake_char): New EXFUN; moved from chartab.c.
2772         (Fdecode_char): Likewise.
2773
2774         * chartab.c: Move EXFUN for Fmake_char and Fdecode_char into
2775         chartab.h.
2776         (Fdefine_char): Modify for Fdecode_char.
2777         (Ffind_char): Likewise.
2778
2779         * mule-charset.c (Fdecode_char): Add new optional argument
2780         `defined-only'.
2781         (Fdecode_builtin_char): Modify for `Fdecode_char'.
2782
2783 2001-10-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2784
2785         * text-coding.c (mark_coding_system): Mark initial-charset-g0 and
2786         -g1 of CODESYS_BIG5 in XEmacs UTF-2000.
2787         (allocate_coding_system): Initialize initial-charsets of
2788         CODESYS_BIG5 in XEmacs UTF-2000.
2789         (Fmake_coding_system): Accept `charset-g0' and `charset-g1' for
2790         CODESYS_BIG5 in XEmacs UTF-2000.
2791         (decode_coding_big5): Use initial-charset-g0 and -g1 of
2792         CODESYS_BIG5 in XEmacs UTF-2000; use `DECODE_DEFINED_CHAR'.
2793
2794         * mule-charset.c (Vcharset_ideograph_hanziku_{1 .. 12}): New
2795         variables.
2796         (Qideograph_hanziku_{1 .. 12}): Likewise.
2797         (syms_of_mule_charset): Add new symbols `ideograph-hanziku-{1
2798         .. 12}'.
2799         (complex_vars_of_mule_charset): Use `MIN_CHAR_BIG5_CDP' to
2800         `MAX_CHAR_BIG5_CDP' for `chinese-big5'; add news coded-charsets
2801         `ideograph-hanziku-{1 .. 12}'.
2802
2803         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x200.
2804         (LEADING_BYTE_HANZIKU_{1 .. 12}): New macros.
2805         ({MIN|MAX}_CHAR_BIG5_CDP): New macros.
2806         ({MIN|MAX}_CHAR_HANZIKU_{1 .. 12}): New macros.
2807         (DECODE_DEFINED_CHAR): New inline function.
2808         (DECODE_CHAR): Use `DECODE_DEFINED_CHAR'.
2809
2810 2001-10-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2811
2812         * mule-charset.c (Vcharset_china3_jef): Renamed from
2813         `Vcharset_japanese_jef_china3'.
2814         (Qchina3_jef): Renamed from `Qjapanese_jef_china3'.
2815         (encode_builtin_char_1): Rename `{MIN|MAX}_CHAR_CHINA3_JEF' from
2816         `{MIN|MAX}_CHAR_JEF_CHINA3'..
2817         (syms_of_mule_charset): Rename `china3-jef' from
2818         `japanese-jef-china3'.
2819         (complex_vars_of_mule_charset): Likewise; rename
2820         `LEADING_BYTE_CHINA3_JEF' from `LEADING_BYTE_JEF_CHINA3'.
2821
2822         * char-ucs.h (LEADING_BYTE_CHINA3_JEF): Renamed from
2823         `LEADING_BYTE_JEF_CHINA3'.
2824         (MIN_CHAR_CHINA3_JEF): Renamed from `MIN_CHAR_JEF_CHINA3'.
2825         (MAX_CHAR_CHINA3_JEF): Renamed from `MAX_CHAR_JEF_CHINA3'.
2826
2827 2001-10-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2828
2829         * mule-charset.c (encode_builtin_char_1): Comment out special code
2830         for MIN_CHAR_MOJIKYO_0 ... MAX_CHAR_MOJIKYO_0.
2831
2832         * char-ucs.h (MIN_CHAR_MOJIKYO_0): Comment out.
2833         (MAX_CHAR_MOJIKYO_0): Comment out.
2834         (MIN_CHAR_CBETA): Changed to 0x00E20000.
2835         (MAX_CHAR_CBETA): Changed to 0x00E2FFFF.
2836         (MIN_CHAR_JEF_CHINA3): Changed to 0x00E80000.
2837         (MAX_CHAR_JEF_CHINA3): Changed to 0x00E8FFFF.
2838
2839 2001-10-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2840
2841         * mule-charset.c (Vcharset_ideograph_cbeta): New variable.
2842         (Qideograph_cbeta): New variable.
2843         (encode_builtin_char_1): Comment out special code for
2844         coded-charset `mojikyo' and `japanese-jef-china3'.
2845         (syms_of_mule_charset): Add new symbol `ideograph-cbeta'.
2846         (complex_vars_of_mule_charset): Add new coded-charset
2847         `ideograph-cbeta'.
2848
2849         * char-ucs.h (LEADING_BYTE_CBETA): New macro.
2850         (MIN_CHAR_CBETA): New macro.
2851         (MAX_CHAR_CBETA): New macro.
2852
2853 2001-10-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2854
2855         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x100.
2856         (LEADING_BYTE_JEF_CHINA3): New macro.
2857         (MIN_CHAR_JEF_CHINA3): New macro.
2858         (MAX_CHAR_JEF_CHINA3): Likewise.
2859         (DECODE_CHAR): Fixed.
2860
2861 2001-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2862
2863         * mule-charset.c (Vcharset_japanese_jef_china3): New variable.
2864         (Qjapanese_jef_china3): New variable.
2865         (encode_builtin_char_1): Support `japanese-jef-china3'.
2866         (syms_of_mule_charset): Add new symbol `japanese-jef-china3'.
2867         (complex_vars_of_mule_charset): Add new coded-charset
2868         `japanese-jef-china3'.
2869
2870 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2871
2872         * chartab.c (XCHARSET_CELL_RANGE): New inline function.
2873         (decode_char_table_range): Use `XCHARSET_CELL_RANGE'; accept 94^3,
2874         94^4, 96^3, 96^4, 128^n and 256^n set.
2875         (put_char_table): Use `XCHARSET_CELL_RANGE'.
2876         (map_char_table): Likewise.
2877
2878 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2879
2880         * chartab.c (get_char_table): Use `get_char_id_table' in XEmacs
2881         UTF-2000.
2882
2883 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2884
2885         * chartab.h (get_char_id_table): New inline function.
2886
2887         * chartab.c (get_char_id_table): Moved to chartab.h as an inline
2888         function.
2889
2890 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2891
2892         * chartab.h (decode_char_table_range): New prototype in XEmacs
2893         UTF-2000.
2894         (put_char_id_table): New inline function in XEmacs UTF-2000.
2895
2896         * chartab.c (put_char_id_table): Moved to chartab.h as an inline
2897         function.
2898         (decode_char_table_range): Delete static declaration in XEmacs
2899         UTF-2000.
2900
2901 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2902
2903         * chartab.c (put_char_id_table): Use `put_char_table'.
2904
2905 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2906
2907         * chartab.c (map_over_uint8_byte_table): Delete argument `ccs'.
2908         (map_over_uint16_byte_table): Likewise.
2909         (map_over_byte_table): Likewise.
2910         (map_char_table): Modify for `map_over_uint8_byte_table',
2911         `map_over_uint16_byte_table' and `map_over_byte_table' in XEmacs
2912         UTF-2000.
2913
2914 2001-09-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2915
2916         * chartab.c (struct map_char_table_for_charset_arg): New
2917         structure.
2918         (map_char_table_for_charset_fun): New function.
2919         (map_char_table): Use `map_char_table' for encoding_table of
2920         `range->charset'.
2921
2922 2001-09-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2923
2924         * chartab.c (map_char_table): Check a character is found in
2925         range->charset instead of non default value is defined in
2926         char-table when range is CHARTAB_RANGE_ROW.
2927
2928 2001-09-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2929
2930         * chartab.c (map_char_id_table): Deleted.
2931         (Fmap_char_attribute): Use `map_char_table' instead of
2932         `map_char_id_table'.
2933
2934 2001-09-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2935
2936         * syntax.h (SYNTAX_CODE_UNSAFE): New implementation in XEmacs
2937         UTF-2000.
2938         (update_syntax_table): Deleted in XEmacs UTF-2000.
2939
2940         * syntax.c (find_defun_start): Use `syntax_table' instead of
2941         `mirror_syntax_table' in XEmacs UTF-2000.
2942         (Fset_syntax_table): Don't use `mirror_syntax_table' in XEmacs
2943         UTF-2000.
2944         (Fchar_syntax): Use `syntax_table' instead of `mirror_table' in
2945         XEmacs UTF-2000.
2946         (Fmatching_paren): Likewise.
2947         (scan_words): Use `syntax_table' instead of `mirror_syntax_table'
2948         in XEmacs UTF-2000.
2949         (find_start_of_comment): Likewise.
2950         (find_end_of_comment): Likewise.
2951         (Fforward_comment): Likewise.
2952         (scan_lists): Likewise.
2953         (char_quoted): Likewise.
2954         (Fbackward_prefix_chars): Likewise.
2955         (scan_sexps_forward): Likewise.
2956         (update_just_this_syntax_table): Deleted in XEmacs UTF-2000.
2957         (update_syntax_table): Likewise.
2958
2959         * search.c (skip_chars): Use `syntax_table' instead of
2960         `mirror_syntax_table' in XEmacs UTF-2000.
2961         (wordify): Likewise.
2962         (Freplace_match): Likewise.
2963
2964         * regex.c (re_compile_fastmap): Use `syntax_table' instead of
2965         `mirror_syntax_table' in XEmacs UTF-2000.
2966         (WORDCHAR_P_UNSAFE): Likewise.
2967         (re_match_2_internal): Likewise.
2968
2969         * font-lock.c (find_context): Use `buf->syntax_table' instead of
2970         `buf->mirror_syntax_table' in XEmacs UTF-2000.
2971
2972         * cmds.c (internal_self_insert): Use `buf->syntax_table' instead
2973         of `buf->mirror_syntax_table' in XEmacs UTF-2000.
2974
2975         * chartab.h (struct Lisp_Char_Table): Delete `mirror_table' in
2976         XEmacs UTF-2000.
2977
2978         * chartab.c (mark_char_table): Don't mark `mirror_table' in XEmacs
2979         UTF-2000.
2980         (print_char_table): Print `default_value' in XEmacs UTF-2000.
2981         (char_table_description): Delete `mirror_table' in XEmacs
2982         UTF-2000.
2983         (fill_char_table): Don't call `update_syntax_table' in XEmacs
2984         UTF-2000.
2985         (Fmake_char_table): Don't use `mirror_table' in XEmacs UTF-2000.
2986         (Fcopy_char_table): Likewise.
2987         (put_char_table): Don't call `update_syntax_table' in XEmacs
2988         UTF-2000.
2989
2990         * casefiddle.c (casify_object): Use `buf->syntax_table' instead of
2991         `buf->mirror_syntax_table' in XEmacs UTF-2000.
2992         (casify_region_internal): Likewise.
2993
2994         * bufslots.h: Delete `mirror_syntax_table' in XEmacs UTF-2000.
2995
2996         * buffer.c (common_init_complex_vars_of_buffer): Don't use
2997         `mirror_syntax_table' in XEmacs UTF-2000.
2998
2999         * abbrev.c (abbrev_match): Use `buf->syntax_table' instead of
3000         `buf->mirror_syntax_table' in XEmacs UTF-2000.
3001         (Fexpand_abbrev): Likewise.
3002
3003 2001-09-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3004
3005         * chartab.c (vars_of_chartab): Update `utf-2000-version' to 0.18.
3006
3007 2001-09-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3008
3009         * chartab.c (map_over_uint8_byte_table): Cancel temporary hack.
3010         (map_over_uint16_byte_table): Likewise.
3011         (map_over_byte_table): Likewise.
3012         (get_char_id_table): Refer `cit->default_value'.
3013         (put_char_id_table): Support `CHARTAB_RANGE_DEFAULT'.
3014         (map_char_id_table): Use `1 << 30' instead of `1 << 24' as number
3015         of character-id ranges.
3016         (mark_char_table): Mark `ct->default_value'.
3017         (char_table_description): Add `default_value'.
3018         (fill_char_table): Use `default_value'.
3019         (decode_char_table_range): Decode `nil' as
3020         `CHARTAB_RANGE_DEFAULT'.
3021         (get_char_id_table): Refer `cit->default_value'.
3022         (put_char_id_table): Support `CHARTAB_RANGE_DEFAULT'.
3023         (map_char_table): Support `CHARTAB_RANGE_DEFAULT'; cancel
3024         temporary hack; check value of char-table is bound or not.
3025         (slow_map_char_table_fun): Support `CHARTAB_RANGE_DEFAULT'.
3026
3027         * chartab.h (struct Lisp_Char_Table): Add new member
3028         `default_value' in XEmacs UTF-2000.
3029         (CHAR_TABLE_VALUE_UNSAFE): Use `default_value'.
3030         (enum chartab_range_type): Add `CHARTAB_RANGE_DEFAULT' in XEmacs
3031         UTF-2000.
3032
3033 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3034
3035         * chartab.h (Lisp_Char_ID_Table): Deleted.
3036
3037         * chartab.c (char_table_description): Fix typo.
3038         (Fmap_char_attribute): Use `Lisp_Char_Table' instead of
3039         `Lisp_Char_ID_Table'.
3040
3041 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3042
3043         * text-coding.c (COMPOSE_ADD_CHAR): Use `CHAR_TABLEP' instead of
3044         `CHAR_ID_TABLE_P'.
3045
3046         * mule-charset.c (remove_char_ccs): Use `CHAR_TABLEP' instead of
3047         `CHAR_ID_TABLE_P'.
3048
3049         * chartab.h (XCHAR_ID_TABLE): Deleted.
3050         (XSETCHAR_ID_TABLE): Deleted.
3051         (CHAR_ID_TABLE_P): Deleted.
3052
3053         * chartab.c (put_char_id_table): Use `CHAR_TABLEP' instead of
3054         `CHAR_ID_TABLE_P'.
3055         (Fget_composite_char): Likewise.
3056         (put_char_table): Likewise.
3057         (add_char_attribute_alist_mapper): Fixed.
3058         (Fchar_attribute_alist): Use `CHAR_TABLEP' instead of
3059         `CHAR_ID_TABLE_P'.
3060         (Fget_char_attribute): Likewise.
3061         (Fget_char_attribute): Likewise.
3062         (Fmap_char_attribute): Likewise.
3063
3064         * char-ucs.h (charset_code_point): Use `CHAR_TABLEP' instead of
3065         `CHAR_ID_TABLE_P'.
3066         (encode_char_1): Likewise.
3067
3068 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3069
3070         * text-coding.c (COMPOSE_ADD_CHAR): Use `XCHAR_TABLE' instead of
3071         `XCHAR_ID_TABLE'.
3072
3073         * mule-charset.c (put_char_ccs_code_point): Use `XCHAR_TABLE'
3074         instead of `XCHAR_ID_TABLE'.
3075         (remove_char_ccs): Likewise.
3076
3077         * chartab.c (put_char_id_table): Use `XCHAR_TABLE' instead of
3078         `XCHAR_ID_TABLE'.
3079         (Fget_composite_char): Likewise.
3080         (Fchar_variants): Likewise.
3081         (put_char_table): Likewise.
3082         (add_char_attribute_alist_mapper): Likewise.
3083         (Fchar_attribute_alist): Likewise.
3084         (Fget_char_attribute): Likewise.
3085         (Fput_char_attribute): Likewise.
3086         (Fmap_char_attribute): Likewise.
3087         (Fmap_char_attribute): Likewise.
3088
3089         * char-ucs.h (charset_code_point): Use `XCHAR_TABLE' instead of
3090         `XCHAR_ID_TABLE'.
3091         (encode_char_1): Likewise.
3092
3093 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3094
3095         * chartab.c (map_char_id_table): Use `Lisp_Char_Table' instead of
3096         `Lisp_Char_ID_Table'.
3097         (mark_char_id_table): Deleted.
3098         (print_char_id_table): Likewise.
3099         (char_id_table_equal): Likewise.
3100         (char_id_table_hash): Likewise.
3101         (char_id_table_description): Likewise.
3102         (char_id_table): Likewise.
3103         (make_char_id_table): Use `Fmake_char_table' and
3104         `fill_char_table'.
3105         (get_char_id_table): Use `Lisp_Char_Table' instead of
3106         `Lisp_Char_ID_Table'.
3107         (put_char_id_table): Likewise.
3108         (Fput_char_attribute): Use `XCHAR_TABLE' instead of
3109         `XCHAR_ID_TABLE'.
3110         (Fremove_char_attribute): Likewise.
3111         (syms_of_chartab): Don't define type `char-id-table'.
3112
3113         * chartab.h (struct Lisp_Char_ID_Table): Deleted.
3114         (char_id_table): Likewise.
3115         (GC_CHAR_ID_TABLE_P): Likewise.
3116         (Lisp_Char_ID_Table): Use structure `Lisp_Char_Table'.
3117         (XCHAR_ID_TABLE): Use `XCHAR_TABLE'.
3118         (XSETCHAR_ID_TABLE): Use `XSETCHAR_TABLE'.
3119         (CHAR_ID_TABLE_P): Use `CHAR_TABLEP'.
3120         (get_char_id_table): Use `Lisp_Char_Table' instead of
3121         `Lisp_Char_ID_Table'.
3122         (put_char_id_table_0): Likewise.
3123         (put_char_id_table): Likewise.
3124
3125 2001-09-02  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
3126
3127         * chartab.h: Lisp_Byte_Table related codes are moved from
3128         chartab.h.
3129
3130         * char-ucs.h: Move Lisp_Byte_Table related codes to chartab.h.
3131
3132 2001-09-02  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
3133
3134         * chartab.h: Don't include "chartab.h".
3135         (struct Lisp_Char_ID_Table): Moved from char-ucs.h.
3136         (Lisp_Char_ID_Table): Likewise.
3137         (char_id_table): Likewise.
3138         (XCHAR_ID_TABLE): Likewise.
3139         (XSETCHAR_ID_TABLE): Likewise.
3140         (CHAR_ID_TABLE_P): Likewise.
3141         (GC_CHAR_ID_TABLE_P): Likewise.
3142         (get_char_id_table): Likewise.
3143
3144         * char-ucs.h: Include "chartab.h".
3145         (struct Lisp_Char_ID_Table): Moved to chartab.h.
3146         (Lisp_Char_ID_Table): Likewise.
3147         (char_id_table): Likewise.
3148         (XCHAR_ID_TABLE): Likewise.
3149         (XSETCHAR_ID_TABLE): Likewise.
3150         (CHAR_ID_TABLE_P): Likewise.
3151         (GC_CHAR_ID_TABLE_P): Likewise.
3152         (get_char_id_table): Likewise.
3153
3154 2001-09-01  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
3155
3156         * chartab.c (copy_uint8_byte_table): New function.
3157         (copy_uint16_byte_table): New function.
3158         (copy_byte_table): New function.
3159         (map_over_uint8_byte_table): Modify to avoid huge numbers of
3160         characters to call.
3161         (map_over_uint16_byte_table): Likewise.
3162         (map_over_byte_table): Likewise.
3163         (get_byte_table): Move prototype to chartab.h.
3164         (put_byte_table): Likewise.
3165         (put_char_id_table_0): Moved to chartab.h.
3166         (mark_char_table_entry): Don't define in XEmacs UTF-2000.
3167         (char_table_entry_equal): Likewise.
3168         (char_table_entry_hash): Likewise.
3169         (char_table_entry_description): Likewise.
3170         (char_table_entry): Likewise.
3171         (make_char_table_entry): Likewise.
3172         (copy_char_table_entry): Likewise.
3173         (get_non_ascii_char_table_value): Likewise.
3174         (map_over_charset_ascii): Likewise.
3175         (map_over_charset_control_1): Likewise.
3176         (map_over_charset_row): Likewise.
3177         (map_over_other_charset): Likewise.
3178         (mark_char_table): Modify for new structure in XEmacs UTF-2000.
3179         (print_char_table): Likewise.
3180         (char_table_equal): Likewise.
3181         (char_table_hash): Likewise.
3182         (char_table_description): Likewise.
3183         (fill_char_table): Likewise.
3184         (Fcopy_char_table): Likewise.
3185         (get_char_table): Likewise.
3186         (Fget_range_char_table): Likewise.
3187         (put_char_table): Likewise.
3188         (map_char_table): Likewise.
3189         (syms_of_chartab): Don't define `char_table_entry' in XEmacs
3190         UTF-2000.
3191
3192 2001-08-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3193
3194         * cmds.c (vars_of_cmds): Use `put_char_id_table_0' for
3195         `Vauto_fill_chars' in XEmacs UTF-2000.
3196
3197         * chartab.h (get_byte_table): New prototype [moved from
3198         chartab.c].
3199         (put_byte_table): Likewise [moved from chartab.c].
3200         (put_char_id_table_0): New inline function [moved from chartab.c].
3201         (struct Lisp_Char_Table_Entry): Don't define in XEmacs UTF-2000.
3202         (Lisp_Char_Table_Entry): Likewise.
3203         (char_table_entry): Likewise.
3204         (XCHAR_TABLE_ENTRY): Likewise.
3205         (XSETCHAR_TABLE_ENTRY): Likewise.
3206         (CHAR_TABLE_ENTRYP): Likewise.
3207         (CHECK_CHAR_TABLE_ENTRY): Likewise.
3208         (NUM_ASCII_CHARS): Likewise.
3209         (struct Lisp_Char_Table): New implementation in XEmacs UTF-2000.
3210         (CHAR_TABLE_VALUE_UNSAFE): Likewise.
3211
3212 2001-08-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3213
3214         * chartab.c (get_char_id_table): Change interface.
3215         (put_char_id_table_0): New function.
3216         (put_char_id_table): Change interface; new implementation.
3217         (Fget_composite_char): Modify for interface change of
3218         `get_char_id_table'.
3219         (Fchar_variants): Likewise.
3220         (add_char_attribute_alist_mapper): Likewise.
3221         (Fchar_attribute_alist): Likewise.
3222         (Fget_char_attribute): Likewise.
3223         (Fput_char_attribute): Allow coded-charset or [CODED-CHARSET ROW]
3224         as same as character as the first argument like `put-char-table';
3225         modify for interface change of `put_char_id_table'.
3226         (Fremove_char_attribute): Modify for interface change of
3227         `put_char_id_table'.
3228
3229 2001-08-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3230
3231         * text-coding.c: Sync up with XEmacs 21.2.41.
3232         (COMPOSE_ADD_CHAR): Modify for interface change of
3233         `get_char_id_table'.
3234
3235         * mule-charset.c (put_char_ccs_code_point): Modify for interface
3236         change of `put_char_id_table'.
3237         (remove_char_ccs): Likewise.
3238
3239         * chartab.h (put_char_id_table): Change interface.
3240
3241         * char-ucs.h (get_char_id_table): Change interface.
3242         (charset_code_point): Modify for interface change of
3243         `get_char_id_table'.
3244         (encode_char_1): Likewise.
3245
3246 2001-08-19  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3247
3248         * chartab.c (map_over_uint8_byte_table): Change arguments; add new
3249         argument `ccs'.
3250         (map_over_uint16_byte_table): Likewise.
3251         (map_over_byte_table): Likewise.
3252         (map_char_id_table): Add new argument `range' like
3253         `map_char_table'.
3254         (Fmap_char_attribute): Add new argument `range' like
3255         `Fmap_char_table'.
3256
3257 2001-08-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3258
3259         * chartab.c (map_over_uint8_byte_table): Change interface of
3260         mapping function to use struct chartab_range instead of Emchar.
3261         (map_over_uint16_byte_table): Likewise.
3262         (map_over_byte_table): Likewise.
3263         (map_char_id_table): Likewise.
3264         (struct slow_map_char_id_table_arg): Deleted.
3265         (slow_map_char_id_table_fun): Deleted.
3266         (Fmap_char_attribute): Use struct `slow_map_char_table_arg' and
3267         function `slow_map_char_table_fun' instead of struct
3268         `slow_map_char_id_table_arg' and function
3269         `slow_map_char_id_table_fun'.
3270
3271 2001-08-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3272
3273         * mule-charset.c: Move char-it-table related codes to chartab.c.
3274         (Vutf_2000_version): Moved to chartab.c.
3275         (Fdefine_char): Likewise.
3276         (Ffind_char): Likewise.
3277         (syms_of_mule_charset): Move types `uint8-byte-table',
3278         `uint16-byte-table', `byte-table' and `char-id-table' to
3279         chartab.c; move functions `char_attribute_list,
3280         `find_char_attribute_table, `char_attribute_alist,
3281         `get_char_attribute, `put_char_attribute, `remove_char_attribute,
3282         `map_char_attribute, `define_char, `find_char, `char_variants and
3283         `get_composite_char to chartab.c; move symbols `=>ucs',
3284         `->decomposition', `compat', `isolated', `initial', `medial',
3285         `final', `vertical', `noBreak', `fraction', `super', `sub',
3286         `circle', `square', `wide', `narrow', `small' and `font' to
3287         chartab.c.
3288         (vars_of_mule_charset): Move `utf-2000-version' to chartab.c; move
3289         setting codes for `Vcharacter_composition_table' and
3290         `Vcharacter_variant_table' to chartab.c.
3291         (complex_vars_of_mule_charset): Move setting code for
3292         `Vchar_attribute_hash_table' to chartab.c.
3293
3294         * chartab.h: Include "char-ucs.h" if --with-utf-2000 is specified.
3295         (make_char_id_table): New prototype.
3296         (put_char_id_table): Likewise.
3297         (Fget_char_attribute): Likewise.
3298
3299         * chartab.c: Move char-id-table related code from mule-charset.c.
3300         (Vutf_2000_version): Moved from mule-charset.c.
3301
3302         * char-ucs.h (Qucs): New external variable.
3303         (put_char_ccs_code_point): New prototype.
3304         (remove_char_ccs): Likewise.
3305
3306 2001-08-14  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
3307
3308         * mule-charset.c (Vcharset_ucs_jis): New variable.
3309         (Qucs_jis): Likewise.
3310         (syms_of_mule_charset): Add new symbol `ucs-jis'.
3311         (complex_vars_of_mule_charset): Add new coded-charset `ucs-jis'.
3312
3313         * char-ucs.h (LEADING_BYTE_UCS_JIS): New macro.
3314
3315 2001-08-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3316
3317         * mule-charset.c (map_over_uint8_byte_table): New function.
3318         (map_over_uint16_byte_table): Likewise.
3319         (map_over_byte_table): Likewise.
3320         (map_char_id_table): Likewise.
3321         (slow_map_char_id_table_fun): Likewise.
3322         (Fmap_char_attribute): Likewise.
3323         (syms_of_mule_charset): Add new function `map-char-attribute'.
3324
3325 2001-08-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3326
3327         * mule-charset.c (Ffind_char): New function in XEmacs UTF-2000.
3328         (syms_of_mule_charset): Add new function `find-char'.
3329
3330 2001-08-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3331
3332         * mule-charset.c (Vcharset_chinese_big5_cdp): New variable in
3333         XEmacs UTF-2000.
3334         (Qchinese_big5_cdp): New variable in XEmacs UTF-2000.
3335         (syms_of_mule_charset): Add new symbol `chinese-big5-cdp' in
3336         XEmacs UTF-2000.
3337         (complex_vars_of_mule_charset): Add new coded-charset
3338         `chinese-big5-cdp' in XEmacs UTF-2000; change registry of
3339         `ideograph-gt-pj-*'.
3340
3341         * char-ucs.h (LEADING_BYTE_CHINESE_BIG5_CDP): New macro.
3342
3343 2001-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3344
3345         * mule-charset.c (encode_builtin_char_1): Purge codes about
3346         {MIN|MAX}_CHAR_{GREEK|CYRILLIC}; comment out code about
3347         {MIN|MAX}_CHAR_HEBREW.
3348         (complex_vars_of_mule_charset): Comment out {MIN|MAX}_CHAR_HEBREW;
3349         don't use {MIN|MAX}_CHAR_HEBREW to define `hebrew-iso8859-8'.
3350
3351         * char-ucs.h (MIN_CHAR_GREEK): Purged.
3352         (MAX_CHAR_GREEK): Purged.
3353         (MIN_CHAR_CYRILLIC): Purged.
3354         (MAX_CHAR_CYRILLIC): Purged.
3355         (MIN_CHAR_HEBREW): Commented out.
3356         (MAX_CHAR_HEBREW): Likewise.
3357
3358 2001-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3359
3360         * mule-charset.c (Qto_ucs): New variable.
3361         (Fput_char_attribute): Treat `=>ucs' as same as `->ucs'.
3362         (Fdefine_char): Likewise.
3363         (syms_of_mule_charset): Add new symbol `=>ucs'.
3364
3365 2001-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3366
3367         * mule-charset.c (Fdecode_char): Fixed.
3368
3369 2001-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3370
3371         * mule-charset.c (complex_vars_of_mule_charset): Modify registry
3372         of latin-tcvn5712 to accept "tcvn5712.1993-1" as same as
3373         "tcvn5712-1".
3374
3375 2001-07-21  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3376
3377         * mule-charset.c (Vcharset_ucs_big5): New variable.
3378         (Qucs_big5): Likewise.
3379         (syms_of_mule_charset): Add new symbol `ucs-big5'.
3380         (complex_vars_of_mule_charset): Add new coded-charset `ucs-big5'.
3381
3382         * char-ucs.h (LEADING_BYTE_UCS_BIG5): New macro.
3383
3384 2001-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3385
3386         * mule-charset.c (decode_builtin_char): Check Big5 code range
3387         which can be mapped to `chinese-big5-1' and `chinese-big5-2'.
3388
3389 2001-07-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3390
3391         * mule-charset.c (Vcharset_chinese_gb12345): New variable.
3392         (Qchinese_gb12345): Likewise.
3393         (Fdecode_builtin_char): Fixed.
3394         (syms_of_mule_charset): Add `chinese-gb12345'.
3395         (complex_vars_of_mule_charset): Add coded-charset
3396         `chinese-gb12345'.
3397
3398         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x70.
3399         (LEADING_BYTE_CHINESE_GB12345): New macro.
3400
3401 2001-07-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3402
3403         * mule-charset.c (Fdecode_builtin_char): Use `latin-viscii-lower'
3404         and `latin-viscii-upper' for `latin-viscii'.
3405
3406 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3407
3408         * mule-charset.c (Fdecode_builtin_char): Comment out
3409         regularization code for ISO-IR GR representation.
3410
3411 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3412
3413         * mule-charset.c (decode_builtin_char): New function; renamed from
3414         `make_builtin_char'; return -1 instead of signal.
3415         (Fdecode_builtin_char): Use `decode_builtin_char'.
3416
3417         * char-ucs.h (decode_builtin_char): New prototype; renamed from
3418         `make_builtin_char'.
3419         (DECODE_CHAR): Use `decode_builtin_char' instead of
3420         `make_builtin_char'; use mapping table of `chinese-big5' for
3421         `chinese-big5-{1,2}'.
3422
3423 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3424
3425         * text-coding.c (char_encode_big5): New function.
3426         (char_finish_big5): Likewise.
3427         (reset_encoding_stream): Use `char_encode_big5' and
3428         `char_finish_big5' for CODESYS_BIG5.
3429         (mule_encode): Don't use `encode_coding_big5'.
3430         (encode_coding_big5): Deleted.
3431
3432 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3433
3434         * text-coding.c (BYTE_BIG5_TWO_BYTE_1_P): Support private area
3435         0x81- in XEmacs UTF-2000.
3436         (detect_coding_big5): Likewise.
3437
3438 2001-07-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3439
3440         * mule-charset.c (Fdefine_char): Don't use a CCS property to
3441         generate character-id if the CCS property does not have
3442         corresponding predefined character.
3443         (make_builtin_char): Return -1 if corresponding predefined
3444         character is not found.
3445         (Fdecode_char): Return nil if corresponding character is not
3446         found.
3447         (complex_vars_of_mule_charset): Change `ucs-cns' to 256^3-set and
3448         don't map to builtin ucs space.
3449
3450 2001-07-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3451
3452         * char-ucs.h (MAX_LEADING_BYTE_PRIVATE): Fixed.
3453         (MAX_CHAR_GT): Changed to `(MIN_CHAR_GT + 66773)'.
3454
3455 2001-07-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3456
3457         * mule-charset.c (Vcharset_ideograph_gt): New variable.
3458         (Vcharset_ideograph_gt_pj_{1..11}): Likewise.
3459         (Qideograph_gt): Likewise.
3460         (Qideograph_gt_pj_{1..11}): Likewise.
3461         (syms_of_mule_charset): Add `ideograph-gt', `ideograph-gt-pj-1',
3462         `ideograph-gt-pj-2', ..., `ideograph-gt-pj-10' and
3463         `ideograph-gt-pj-11'.
3464         (complex_vars_of_mule_charset): Add coded-charset `ideograph-gt',
3465         `ideograph-gt-pj-1', `ideograph-gt-pj-2', ...,
3466         `ideograph-gt-pj-10' and `ideograph-gt-pj-11'.
3467
3468         * char-ucs.h (LEADING_BYTE_GT): New macro.
3469         (LEADING_BYTE_GT_PJ_{1..11}): Likewise.
3470         (MIN_CHAR_GT): Likewise.
3471         (MAX_CHAR_GT): Likewise.
3472
3473 2001-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3474
3475         * lisp-disunion.h (XCHARVAL): New implementation for UTF-2000 to
3476         support U-60000000 .. U-7FFFFFFF with 32 bits architecture.
3477
3478         * doprnt.c (unsigned_int_converters): Add `c'.
3479         (emacs_doprnt_1): Use `XUINT' for unsigned integers.
3480
3481         * char-ucs.h (MIN_CHAR_DAIKANWA): Don't refer `MIN_CHAR_MOJIKYO'.
3482         (MAX_CHAR_DAIKANWA): Refer `MIN_CHAR_DAIKANWA' instead of
3483         `MIN_CHAR_MOJIKYO'.
3484         (MIN_CHAR_MOJIKYO_0): New macro; refer `MIN_CHAR_DAIKANWA'.
3485         (MAX_CHAR_MOJIKYO_0): New macro.
3486         (MIN_CHAR_MOJIKYO): Changed to 0x60000000.
3487
3488 2001-06-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3489
3490         * mule-charset.c (Fdefine_char): Delete cemented out code.
3491         (encode_builtin_char_1): Modify for new allocation of builtin
3492         Mojikyo characters.
3493
3494         * lisp-disunion.h (XCHARVAL): Cast the argument into EMACS_UINT.
3495
3496 2001-06-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3497
3498         * mule-charset.c (Vcharset_ucs_cns): New variable.
3499         (Qucs_cns): New variable.
3500         (syms_of_mule_charset): Add new symbol `ucs-cns'.
3501         (complex_vars_of_mule_charset): Add new coded-charset `ucs-cns'.
3502
3503 2001-05-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3504
3505         * char-ucs.h (LEADING_BYTE_UCS_CNS): New macro.
3506
3507 2000-12-09  MORIOKA Tomohiko  <tomo@m17n.org>
3508
3509         * search.c (search_buffer): Make `charset_base_code' as
3510         character-id >> 6 to eliminate the corresponding last byte in
3511         UTF-8 representation [I'm not sure it is right thing].
3512         (boyer_moore): Likewise.
3513
3514 2000-12-09  MORIOKA Tomohiko  <tomo@m17n.org>
3515
3516         * emacs.c (vars_of_emacs): Convert XEMACS_CODENAME to internal
3517         representation in MULE.
3518
3519 2000-11-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3520
3521         * text-coding.c (Fmake_coding_system): Use
3522         `EXTERNAL_PROPERTY_LIST_LOOP_3' instead of
3523         `EXTERNAL_PROPERTY_LIST_LOOP'.
3524
3525 2000-11-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3526
3527         * text-coding.c (decode_output_utf8_partial_char): New function.
3528         (decode_coding_utf8): Use `decode_output_utf8_partial_char'.
3529
3530 2000-11-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3531
3532         * text-coding.c (decode_coding_utf8): Output original byte
3533         sequence if it is broken; change order of conditions.
3534
3535         * mb-utf-8.h (REP_BYTES_BY_FIRST_BYTE): Use Bufbyte; reverse order
3536         of conditions.
3537
3538         * mb-multibyte.h (BYTE_ASCII_P):
3539         Use bit ops for char-signedness safety.
3540         (BYTE_C0_P): Use bit ops for char-signedness safety.
3541         (BYTE_C1_P): Use bit ops for char-signedness safety.
3542
3543         * character.h: (XCHAR_OR_CHAR_INT):
3544         Always use inline function.
3545         Remove redundant type checking assert() - XINT will abort quite
3546         nicely.
3547
3548 2000-11-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3549
3550         * text-coding.c: (Fencode_shift_jis_char):
3551         (Fencode_big5_char):
3552         Docstring arglist/Texinfo fixes.  See man/ChangeLog for details.
3553         Replace 0 with '\0' when working with bytes.
3554         Replace initial "(" with "\(" in docstrings.
3555
3556         (Fmake_coding_system):
3557         When type is ccl and value is vector, register it with a proper
3558         symbol.  And checks whether the given ccl program is valid.
3559         (mule_decode): When calling ccl_driver, if src indicates
3560         NULL pointer, set an empty string instead.
3561         (mule_encode): Likewise.
3562
3563         (detect_eol_type):
3564         (detect_coding_sjis):
3565         (decode_coding_sjis):
3566         (detect_coding_big5):
3567         (decode_coding_big5):
3568         (detect_coding_ucs4):
3569         (decode_coding_ucs4):
3570         (detect_coding_utf8):
3571         (decode_coding_utf8):
3572         (detect_coding_iso2022):
3573         (decode_coding_iso2022):
3574         (decode_coding_no_conversion):
3575         (mule_decode):
3576         Make all detecting and decoding functions take an Extbyte * arg.
3577         (text_encode_generic):
3578         (encode_coding_big5):
3579         (encode_coding_no_conversion):
3580         (mule_encode):
3581         Make all encoding functions take a Bufbyte * arg.
3582         Use size_t instead of unsigned int for memory sizes.
3583         Only cast to unsigned char whenever dereferencing Extbyte *.
3584
3585         (struct lrecord_description fcd_description_1): Use countof.
3586         (complex_vars_of_file_coding):
3587         Use countof instead of sizeof.
3588         Use CHECK_NATNUM instead of CHECK_INT.
3589
3590 2000-11-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3591
3592         * mule-charset.c (Fget_char_attribute): Add new optional argument
3593         `default-value'.
3594         (put_char_ccs_code_point): Modify for `Fget_char_attribute'.
3595         (remove_char_ccs): Likewise.
3596
3597 2000-10-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3598
3599         * text-coding.c (char_encode_shift_jis): New implementation in
3600         UTF-2000.
3601         (decode_coding_big5): Use `DECODE_CHAR (Vcharset_chinese_big5,
3602         ...)'.
3603
3604         * mule-charset.c (Vcharset_chinese_big5): New variable in
3605         UTF-2000.
3606         (Qchinese_big5): New variable in UTF-2000.
3607         (BIG5_SAME_ROW): New macro in UTF-2000.
3608         (make_builtin_char): Use builtin characters of
3609         `Vcharset_chinese_big5_1' and `Vcharset_chinese_big5_2' as builtin
3610         characters of `Vcharset_chinese_big5'.
3611         (syms_of_mule_charset): Add new symbol `chinese-big5' in UTF-2000.
3612         (complex_vars_of_mule_charset): Add new coded-charset
3613         `chinese-big5' in UTF-2000.
3614
3615         * char-ucs.h (LEADING_BYTE_CHINESE_BIG5): New macro.
3616         (Vcharset_chinese_big5): New external variable declaration.
3617         (Vcharset_japanese_jisx0208_1990): Likewise.
3618
3619 2000-07-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3620
3621         * mule-charset.c (expand_uint8_byte_table_to_uint16): New
3622         function.
3623         (put_byte_table): Use `expand_uint8_byte_table_to_uint16'.
3624
3625 2000-07-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3626
3627         * mule-charset.c (complex_vars_of_mule_charset): Define new macro
3628         `DEF_MOJIKYO_PJ' in UTF-2000; use `DEF_MOJIKYO_PJ' to define
3629         `mojikyo-pj-*'; add "MojikyoPJ-*" to charset-registry of
3630         `mojikyo-pj-*'.
3631
3632 2000-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3633
3634         * text-coding.c (decode_coding_big5): Modify for UTF-2000.
3635
3636 2000-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3637
3638         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3639         to 0.17.
3640
3641 2000-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3642
3643         * file-coding.c (ucs_to_char): Don't use `CHARSET_TYPE_*'; modify
3644         for `CHARSET_BY_ATTRIBUTES'.
3645         (parse_iso2022_esc): Don't use `CHARSET_TYPE_*'; modify for
3646         `CHARSET_BY_ATTRIBUTES'.
3647
3648         * text-coding.c (struct decoding_stream): Rename member `CH' to
3649         `CPOS'.
3650         (reset_decoding_stream): Use `str->cpos' instead of `str->ch'.
3651         (decode_coding_sjis): Likewise.
3652         (decode_coding_big5): Likewise.
3653         (decode_coding_ucs4): Likewise.
3654         (decode_coding_utf8): Likewise.
3655         (parse_iso2022_esc): Don't use `CHARSET_TYPE_*'; modify for
3656         `CHARSET_BY_ATTRIBUTES'.
3657         (decode_coding_iso2022): Use `str->cpos' instead of `str->ch'; use
3658         `str->counter'; decode 3, 4 bytes sets.
3659         (char_encode_iso2022): Don't use `BREAKUP_CHAR'; encode 3, 4 bytes
3660         sets.
3661         (decode_coding_no_conversion): Use `str->cpos' instead of
3662         `str->ch'.
3663
3664         * mule-charset.c (Vcharset_mojikyo_2022_1): New variable.
3665         (Qmojikyo_2022_1): New variable.
3666         (make_charset): Don't use `CHARSET_TYPE_*'.
3667         (range_charset_code_point): Support coded-charset
3668         `mojikyo-2022-1'.
3669         (encode_builtin_char_1): Modify for `CHARSET_BY_ATTRIBUTES'.
3670         (Fmake_charset): Don't use `CHARSET_TYPE_*'; modify for
3671         `CHARSET_BY_ATTRIBUTES'.
3672         (Fcharset_from_attributes): Don't use `CHARSET_TYPE_*'; modify for
3673         `CHARSET_BY_ATTRIBUTES'.
3674         (syms_of_mule_charset): Add new symbol `mojikyo-2022-1'.
3675         (complex_vars_of_mule_charset): Add new coded-charset
3676         `mojikyo-2022-1'.
3677
3678         * mule-charset.h (CHARSET_BY_ATTRIBUTES): New implementation and
3679         interface; changed to inline function.
3680
3681         * char-ucs.h (Vcharset_mojikyo_2022_1): New variable.
3682         (LEADING_BYTE_MOJIKYO_2022_1): New macro.
3683         (LEADING_BYTE_MOJIKYO_2022_2): New macro.
3684         (CHARSET_TYPE_94): Deleted.
3685         (CHARSET_TYPE_94X94): Deleted.
3686         (CHARSET_TYPE_96): Deleted.
3687         (CHARSET_TYPE_96X96): Deleted.
3688         (CHARSET_TYPE_128): Deleted.
3689         (CHARSET_TYPE_128X128): Deleted.
3690         (CHARSET_TYPE_256): Deleted.
3691         (CHARSET_TYPE_256X256): Deleted.
3692         (CHARSET_BY_ATTRIBUTES): New implementation and interface; changed
3693         to inline function.
3694         (DECODE_MOJIKYO_2022): New inline function.
3695         (DECODE_CHAR): Use `DECODE_MOJIKYO_2022'; decode
3696         `Vcharset_mojikyo_2022_1'.
3697
3698 2000-07-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3699
3700         * mule-charset.c (byte_table_same_value_p): Use `internal_equal'
3701         instead of `EQ'.
3702         (put_byte_table): Likewise.
3703         (char_id_table_equal): Use `get_byte_table' [new implementation].
3704
3705 2000-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3706
3707         * mule-charset.c: Include <limits.h> in UTF-2000.
3708         (BT_UINT8_MIN): New macro in UTF-2000.
3709         (BT_UINT8_MAX): New macro in UTF-2000.
3710         (BT_UINT8_t): New macro in UTF-2000.
3711         (BT_UINT8_nil): New macro in UTF-2000.
3712         (BT_UINT8_unbound): New macro in UTF-2000.
3713         (INT_UINT8_P): New inline function in UTF-2000.
3714         (UINT8_VALUE_P): New inline function in UTF-2000.
3715         (UINT8_ENCODE): New inline function in UTF-2000.
3716         (UINT8_DECODE): New inline function in UTF-2000.
3717         (mark_uint8_byte_table): New function in UTF-2000.
3718         (print_uint8_byte_table): New function in UTF-2000.
3719         (uint8_byte_table_equal): New function in UTF-2000.
3720         (uint8_byte_table_hash): New function in UTF-2000.
3721         (make_uint8_byte_table): New function in UTF-2000.
3722         (uint8_byte_table_same_value_p): New function in UTF-2000.
3723         (BT_UINT16_MIN): New macro in UTF-2000.
3724         (BT_UINT16_MAX): New macro in UTF-2000.
3725         (BT_UINT16_t): New macro in UTF-2000.
3726         (BT_UINT16_nil): New macro in UTF-2000.
3727         (BT_UINT16_unbound): New macro in UTF-2000.
3728         (INT_UINT16_P): New inline function in UTF-2000.
3729         (UINT16_VALUE_P): New inline function in UTF-2000.
3730         (UINT16_ENCODE): New inline function in UTF-2000.
3731         (UINT16_DECODE): New inline function in UTF-2000.
3732         (UINT8_TO_UINT16): New inline function in UTF-2000.
3733         (mark_uint16_byte_table): New function in UTF-2000.
3734         (print_uint16_byte_table): New function in UTF-2000.
3735         (uint16_byte_table_equal): New function in UTF-2000.
3736         (uint16_byte_table_hash): New function in UTF-2000.
3737         (make_uint16_byte_table): New function in UTF-2000.
3738         (uint16_byte_table_same_value_p): New function in UTF-2000.
3739         (print_byte_table): New function in UTF-2000.
3740         (byte-table): Use `print_byte_table' as printer.
3741         (make_byte_table): Delete second argument `older'.
3742         (byte_table_same_value_p): New function in UTF-2000.
3743         (copy_byte_table): Deleted.
3744         (get_byte_table): New function in UTF-2000.
3745         (put_byte_table): New function in UTF-2000.
3746         (print_char_id_table): New function in UTF-2000.
3747         (char-id-table): Use `print_char_id_table' as printer.
3748         (make_char_id_table): Delete second argument `older'.
3749         (get_char_id_table): Use `get_byte_table [new implementation].
3750         (put_char_id_table): Use `get_byte_table and `put_byte_table' [new
3751         implementation].
3752         (Ffind_char_attribute_table): New function in UTF-2000.
3753         (mark_charset): Mark `cs->encoding_table' in UTF-2000.
3754         (syms_of_mule_charset): Add LRECORD_IMPLEMENTATION
3755         `uint8_byte_table' and `uint16_byte_table' in UTF-2000.
3756         (syms_of_mule_charset): Add new function
3757         `find-char-attribute-table' in UTF-2000.
3758
3759         * lrecord.h (enum lrecord_type): Add
3760         `lrecord_type_uint16_byte_table' and
3761         `lrecord_type_uint8_byte_table'.
3762
3763         * char-ucs.h (struct Lisp_Uint8_Byte_Table): New structure.
3764         (Lisp_Uint8_Byte_Table): New type.
3765         (XUINT8_BYTE_TABLE): New macro.
3766         (XSETUINT8_BYTE_TABLE): New macro.
3767         (UINT8_BYTE_TABLE_P): New macro.
3768         (GC_UINT8_BYTE_TABLE_P): New macro.
3769         (struct Lisp_Uint16_Byte_Table): New structure.
3770         (Lisp_Uint16_Byte_Table): New type.
3771         (XUINT16_BYTE_TABLE): New macro.
3772         (XSETUINT16_BYTE_TABLE): New macro.
3773         (UINT16_BYTE_TABLE_P): New macro.
3774         (GC_UINT16_BYTE_TABLE_P): New macro.
3775
3776 2000-07-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3777
3778         * mule-charset.c (Vcharacter_ideographic_radical_table): Deleted.
3779         (Vcharacter_ideographic_strokes_table): Deleted.
3780         (Vcharacter_total_strokes_table): Deleted.
3781         (Vcharacter_morohashi_daikanwa_table): Deleted.
3782         (Vcharacter_decomposition_table): Deleted.
3783         (Qname): Deleted because it is duplicated.
3784         (Qideographic_radical): Deleted.
3785         (Qideographic_strokes): Deleted.
3786         (Qtotal_strokes): Deleted.
3787         (Qmorohashi_daikanwa): Deleted.
3788         (Fchar_attribute_alist): Use `Vchar_attribute_hash_table' for
3789         `ideographic-radical', `ideographic-strokes', `total-strokes',
3790         `morohashi-daikanwa' and `->decomposition'.
3791         (Fget_char_attribute): Likewise.
3792         (Fput_char_attribute): Likewise; use `make-vector' instead of
3793         `make_older_vector' for `->decomposition' value.
3794         (Fdefine_char): Comment out code to check `morohashi-daikanwa' and
3795         `ideograph-daikanwa'.
3796         (syms_of_mule_charset): Delete builtin symbols `name',
3797         `ideographic-radical', `ideographic-strokes', `total-strokes' and
3798         `morohashi-daikanwa'.
3799         (vars_of_mule_charset): Don't setup
3800         `Vcharacter_ideographic_radical_table',
3801         `Vcharacter_ideographic_strokes_table',
3802         `Vcharacter_total_strokes_table',
3803         `Vcharacter_morohashi_daikanwa_table' and
3804         `Vcharacter_decomposition_table'.
3805
3806 2000-06-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3807
3808         * alloc.c: Use `HAVE_GGC' instead of `UTF2000' for
3809         `make_older_vector', `make_vector_newer_1' and
3810         `make_vector_newer'.
3811
3812         * lisp.h: Use `HAVE_GGC' instead of `UTF2000' for
3813         `make_older_vector' and `make_vector_newer'.
3814
3815         * config.h.in (HAVE_GGC): New macro.
3816
3817 2000-06-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3818
3819         * mule-charset.c (struct char_attribute_list_closure): New
3820         structure in UTF-2000.
3821         (add_char_attribute_to_list_mapper): New function in UTF-2000.
3822         (Fchar_attribute_list): Likewise.
3823         (Fset_charset_mapping_table): Use `make_vector_newer'.
3824         (Fdecode_builtin_char): New function in UTF-2000.
3825         (syms_of_mule_charset): Add new function `char-attribute-list' and
3826         `decode-builtin-char' in UTF-2000.
3827
3828         * lisp.h (make_vector_newer): New prototype.
3829
3830         * alloc.c (make_vector_newer_1): New function.
3831         (make_vector_newer): New function.
3832
3833 2000-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3834
3835         * char-ucs.h (MAX_CHAR_DAIKANWA): Changed to `(MIN_CHAR_MOJIKYO +
3836         50100)'.
3837
3838 2000-06-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3839
3840         * mule-charset.c (Vchar_attribute_hash_table): New variable.
3841         (Vcharacter_attribute_table): Deleted.
3842         (Vcharacter_name_table): Deleted.
3843         (put_char_attribute): Deleted.
3844         (remove_char_attribute): Deleted.
3845         (struct char_attribute_alist_closure): New structure.
3846         (add_char_attribute_alist_mapper): New function.
3847         (Fchar_attribute_alist): Use `Vchar_attribute_hash_table' instead
3848         of `Vcharacter_attribute_table' and `Vcharacter_name_table'.
3849         (Fget_char_attribute): Likewise.
3850         (Fput_char_attribute): Likewise.
3851         (Fremove_char_attribute): Use `Vchar_attribute_hash_table' instead
3852         of `remove_char_attribute'.
3853         (Fdefine_char): Return character.
3854         (vars_of_mule_charset): Don't setup `Vcharacter_attribute_table'
3855         and `Vcharacter_name_table'.
3856         (complex_vars_of_mule_charset): Likewise
3857         `Vchar_attribute_hash_table'.
3858
3859 2000-06-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3860
3861         * character.h (CHARC_CHARSET): New macro.
3862         (CHARC_CHARSET_ID): New macro.
3863         (CHARC_CODE_POINT): New macro.
3864         (CHARC_COLUMNS): New macro.
3865         (CHARC_TO_CHAR): New inline function.
3866         (CHARC_EQ): New inline function.
3867         (CHARC_ASCII_EQ): New inline function.
3868         (CHARC_IS_SPACE): New inline function.
3869         (ASCII_TO_CHARC): New inline function.
3870
3871         * char-ucs.h (encode_char_2): Deleted.
3872         (ENCODE_CHAR): Use `encode_char_1' again.
3873         (breakup_char_1): Likewise.
3874         (CHAR_TO_CHARC): New inline function.
3875
3876         * char-lb.h, char-1byte.h (CHAR_TO_CHARC): New inline function.
3877
3878 2000-06-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3879
3880         * redisplay.c (add_emchar_rune): Use `ASCII_TO_CHARC',
3881         `CHAR_TO_CHARC' and `CHARC_CHARSET'.
3882         (create_text_block): Use `CHARC_ASCII_EQ' and `CHARC_IS_SPACE'.
3883         (generate_formatted_string_db): Use `CHARC_TO_CHAR'.
3884         (create_string_text_block): Use `CHARC_ASCII_EQ' and
3885         `CHARC_IS_SPACE'.
3886         (pixel_to_glyph_translation): Use `CHARC_ASCII_EQ'.
3887
3888         * redisplay-x.c (separate_textual_runs): Use `CHARC_CHARSET' and
3889         `CHARC_CODE_POINT'.
3890         (x_output_display_block): Use `CHARC_CHARSET' and
3891         `CHARC_ASCII_EQ'.
3892
3893         * redisplay-tty.c (tty_output_display_block): Use
3894         `CHARC_ASCII_EQ'.
3895         (tty_output_display_block): Likewise; use `ASCII_TO_CHARC'.
3896
3897         * redisplay-output.c (compare_runes): Use `CHARC_EQ'.
3898
3899         * insdel.c (find_charsets_in_charc_string): Use
3900         `CHARC_CHARSET_ID'.
3901         (charc_string_displayed_columns): Use `CHARC_COLUMNS'.
3902         (convert_bufbyte_string_into_charc_dynarr): Use `CHAR_TO_CHARC'.
3903         (convert_charc_string_into_bufbyte_dynarr): Use `CHARC_TO_CHAR'.
3904         (convert_charc_string_into_malloced_string): Likewise.
3905
3906 2000-06-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3907
3908         * toolbar-x.c (x_output_toolbar_button): Use <Charc_dynarr *>
3909         instead of <Emchar_dynarr *> for buf; use
3910         `convert_bufbyte_string_into_charc_dynarr' instead of
3911         `convert_bufbyte_string_into_emchar_dynarr'; use
3912         `find_charsets_in_charc_string' instead of
3913         `find_charsets_in_emchar_string'.
3914
3915         * redisplay.h:
3916         - Include "character.h".
3917         (struct rune): New member `cglyph'; delete member `chr'.
3918
3919         * redisplay.c (redisplay_text_width_charc_string): New function;
3920         delete `redisplay_text_width_emchar_string'.
3921         (rtw_charc_dynarr): New variable; renamed from
3922         `rtw_emchar_dynarr'.
3923         (redisplay_text_width_string): Use `rtw_charc_dynarr' instead of
3924         `rtw_emchar_dynarr'; use
3925         `convert_bufbyte_string_into_charc_dynarr' instead of
3926         `convert_bufbyte_string_into_emchar_dynarr'; use
3927         `redisplay_text_width_charc_string' instead of
3928         `redisplay_text_width_emchar_string'.
3929         (redisplay_frame_text_width_string): Use `rtw_charc_dynarr'
3930         instead of `rtw_emchar_dynarr'; use
3931         `convert_bufbyte_string_into_charc_dynarr' instead of
3932         `convert_bufbyte_string_into_emchar_dynarr'.
3933         (add_emchar_rune): Add <Charc> instead of <Emchar>; use
3934         `redisplay_text_width_charc_string' instead of
3935         `redisplay_text_width_emchar_string'.
3936         (create_text_block): Modify for <struct rune> change.
3937         (generate_formatted_string_db): Likewise.
3938         (create_string_text_block): Likewise.
3939         (pixel_to_glyph_translation): Likewise.
3940
3941         * redisplay-x.c (separate_textual_runs): Use <const Charc *>
3942         instead of <const Emchar *>.
3943         (x_text_width): Likewise.
3944         (x_output_display_block): Use <Charc_dynarr *> instead
3945         <Emchar_dynarr *>; modify for <structure rune> change.
3946         (x_output_string): Use <Charc_dynarr *> instead of <Emchar_dynarr
3947         *>.
3948
3949         * redisplay-tty.c (tty_text_width): Use <const Charc *> instead of
3950         <const Emchar *>; use `charc_string_displayed_columns' instead of
3951         `emchar_string_displayed_columns'.
3952         (tty_output_display_block): Use <Charc_dynarr *> instead of
3953         <Emchar_dynarr *> for buf; modify for <structure rune> change; use
3954         `tty_output_charc_dynarr' instead of `tty_output_emchar_dynarr'.
3955         (tty_output_charc_dynarr_dynarr): New variable; renamed from
3956         `tty_output_emchar_dynarr_dynarr'.
3957         (tty_output_charc_dynarr): New function; delete
3958         `tty_output_charc_dynarr'.
3959
3960         * redisplay-output.c (compare_runes): Modify for `struct rune'.
3961         (redisplay_output_layout): Use <Charc_dynarr *> instead of
3962         <Emchar_dynarr *> for buf; use
3963         `convert_bufbyte_string_into_charc_dynarr' instead of
3964         `convert_bufbyte_string_into_emchar_dynarr'.
3965
3966         * frame.c (title_string_charc_dynarr): New variable; renamed from
3967         `title_string_emchar_dynarr'.
3968         (generate_title_string): Use `title_string_charc_dynarr' instead
3969         of `title_string_emchar_dynarr'; use
3970         `convert_charc_string_into_malloced_string' instead of
3971         `convert_emchar_string_into_malloced_string'.
3972         (init_frame): Use `title_string_charc_dynarr' instead of
3973         `title_string_emchar_dynarr'.
3974
3975         * console.h:
3976         - Include "character.h".
3977         (struct console_methods): Use <const Charc *> instead of <const
3978         Emchar *> in `text_width_method'; use <Charc_dynarr *> instead of
3979         <Emchar_dynarr *> in output_string_method.
3980
3981         * console-x.h (x_output_string): Use <Charc_dynarr *> instead of
3982         <Emchar_dynarr *>.
3983
3984         * console-stream.c (stream_text_width): Use <const Charc *>
3985         instead of <const Emchar *>.
3986
3987         * character.h (Charc_dynarr): New type.
3988
3989         * char-ucs.h (structure Charc): New structure; define new type
3990         `Charc'.
3991
3992         * char-lb.h (DECODE_CHAR): New inline function.
3993         (encode_char_1): New inline function.
3994         (ENCODE_CHAR): New macro.
3995         (structure Charc): New structure; define new type `Charc'.
3996
3997         * char-1byte.h (Vcharset_control_1): New macro.
3998         (Vcharset_latin_iso8859_1): New macro.
3999         (DECODE_CHAR): New inline function.
4000         (encode_char_1): New inline function.
4001         (ENCODE_CHAR): New macro.
4002         (structure Charc): New structure; define new type `Charc'.
4003
4004         * insdel.c (find_charsets_in_charc_string): New function; delete
4005         `find_charsets_in_emchar_string'.
4006         (charc_string_displayed_columns): New function; delete
4007         `emchar_string_displayed_columns'.
4008         (convert_bufbyte_string_into_charc_dynarr): New function; delete
4009         `convert_bufbyte_string_into_emchar_dynarr'.
4010         (convert_charc_string_into_bufbyte_dynarr): New function; delete
4011         `convert_charc_string_into_bufbyte_dynarr'.
4012         (convert_charc_string_into_malloced_string): New function; delete
4013         `convert_charc_string_into_malloced_string'.
4014
4015         * buffer.h (find_charsets_in_charc_string): New prototype; delete
4016         `find_charsets_in_emchar_string'.
4017         (charc_string_displayed_columns): New prototype; delete
4018         `emchar_string_displayed_columns'.
4019         (convert_charc_string_into_bufbyte_dynarr): New prototype; delete
4020         `convert_charc_string_into_bufbyte_dynarr'.
4021         (convert_charc_string_into_malloced_string): New prototype; delete
4022         `convert_charc_string_into_malloced_string'.
4023
4024 2000-06-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4025
4026         * select-x.c (Fx_store_cutbuffer_internal): Modify for UTF-2000.
4027
4028 2000-06-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4029
4030         * chartab.h (get_non_ascii_char_table_value): Use <Charset_ID>.
4031
4032         * char-ucs.h: Use <short> for <Charset_ID>.
4033
4034         * mule-charset.h, char-1byte.h: Use <unsigned char> for
4035         <Charset_ID>.
4036
4037 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4038
4039         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
4040         to 0.16.
4041
4042 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4043
4044         * mule-charset.c (Vcharacter_morohashi_daikanwa_table): New
4045         variable.
4046         (Qmorohashi_daikanwa): New variable.
4047         (Fchar_attribute_alist): Use `Vcharacter_morohashi_daikanwa_table'
4048         for `morohashi-daikanwa' attribute.
4049         (Fget_char_attribute): Likewise.
4050         (Fput_char_attribute): Likewise.
4051         (Fdefine_char): Don't setup `morohashi-daikanwa' attribute if it
4052         has the same value of `ideograph-daikanwa'.
4053         (syms_of_mule_charset): Add new symbol `morohashi-daikanwa'.
4054         (vars_of_mule_charset): Setup
4055         `Vcharacter_morohashi_daikanwa_table'.
4056
4057 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4058
4059         * mule-charset.c (Fchar_attribute_alist): Add coded-charset
4060         attributes.
4061         (add_charset_to_list_mapper): Add `key' instead of
4062         `XCHARSET_NAME (value)' to return aliases.
4063
4064 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4065
4066         * mule-charset.c (Vcharacter_ideographic_radical_table): New
4067         variable.
4068         (Vcharacter_ideographic_strokes_table): New variable.
4069         (Qideographic_radical): New variable.
4070         (Qideographic_strokes): New variable.
4071         (Fchar_attribute_alist): Use
4072         `Vcharacter_ideographic_radical_table' for `ideographic-radical'
4073         attribute; use `Vcharacter_ideographic_strokes_table' for
4074         `ideographic-strokes' attribute.
4075         (Fget_char_attribute): Likewise.
4076         (Fput_char_attribute): Likewise.
4077         (syms_of_mule_charset): Add new symbol `ideographic-radical' and
4078         `ideographic-strokes'.
4079         (vars_of_mule_charset): Setup
4080         `Vcharacter_ideographic_radical_table' and
4081         `Vcharacter_ideographic_strokes_table'.
4082
4083 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4084
4085         * mule-charset.c (Vcharacter_total_strokes_table): New variable.
4086         (Qtotal_strokes): New variable.
4087         (Fchar_attribute_alist): Use `Vcharacter_total_strokes_table' for
4088         `total-strokes' attribute.
4089         (Fget_char_attribute): Likewise.
4090         (Fput_char_attribute): Likewise.
4091         (syms_of_mule_charset): Add new symbol `total-strokes'.
4092         (vars_of_mule_charset): Setup `Vcharacter_total_strokes_table'.
4093
4094 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4095
4096         * mule-charset.c (Vcharacter_decomposition_table): New variable.
4097         (Fchar_attribute_alist): Add `name' and `->decomposition' if they
4098         are found.
4099         (Fget_char_attribute): Use `Vcharacter_decomposition_table' for
4100         `->decomposition' attribute.
4101         (Fput_char_attribute): Likewise.
4102         (vars_of_mule_charset): Setup `Vcharacter_decomposition_table'.
4103
4104 2000-06-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4105
4106         * mule-charset.c (decoding_table_check_elements): New function.
4107         (Fset_charset_mapping_table): Use `decoding_table_check_elements'.
4108
4109 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4110
4111         * mule-charset.c (Fset_charset_mapping_table): Use
4112         `put_char_ccs_code_point'.
4113
4114 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4115
4116         * mule-charset.c (decoding_table_put_char): New inline function.
4117         (put_char_ccs_code_point): Use `decoding_table_put_char'.
4118
4119 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4120
4121         * mule-charset.c (CHARSET_BYTE_SIZE): New inline function.
4122         (XCHARSET_BYTE_SIZE): New macro.
4123         (decoding_table_remove_char): New inline function.
4124         (put_char_ccs_code_point): Use `XCHARSET_BYTE_SIZE'; use
4125         `decoding_table_remove_char'.
4126         (remove_char_ccs): Use `decoding_table_remove_char'.
4127         (Fset_charset_mapping_table): Use `CHARSET_BYTE_SIZE'.
4128
4129 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4130
4131         * mule-charset.c (Vcharacter_name_table): New variable.
4132         (Qname): New variable.
4133         (Fget_char_attribute): Use `Vcharacter_name_table' for `name'
4134         attribute.
4135         (Fput_char_attribute): Use function `put_char_ccs_code_point'; use
4136         `Vcharacter_name_table' for `name' attribute.
4137         (Fremove_char_attribute): Use function `remove_char_ccs'.
4138         (put_char_ccs_code_point): New function.
4139         (remove_char_ccs): New function.
4140         (syms_of_mule_charset): Add new symbol `name'.
4141         (vars_of_mule_charset): Setup `Vcharacter_name_table'.
4142
4143 2000-05-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4144
4145         * mule-charset.c (make_byte_table): Add new argument `older'.
4146         (make_char_id_table): Likewise.
4147         (copy_char_id_table): Comment out because it is not used.
4148         (put_char_id_table): Modify for `make_byte_table'.
4149         (Fput_char_attribute): Make encoding_table as older object;
4150         inherit older bit of `Vcharacter_composition_table'.
4151         (mark_charset): Don't mark `cs->encoding_table'.
4152         (vars_of_mule_charset): Make `Vcharacter_attribute_table' as a
4153         normal object; make `Vcharacter_composition_table' as an older
4154         object; delete staticpro for `Vcharacter_composition_table'; make
4155         `Vcharacter_variant_table' as a normal object.
4156
4157         * alloc.c (alloc_older_lcrecord): New function in UTF-2000.
4158         (mark_object): Don't check older object in UTF-2000.
4159
4160         * lrecord.h (struct lrecord_header): Add new member `older' in
4161         UTF-2000.
4162         (set_lheader_implementation): Setup `SLI_header->older' in
4163         UTF-2000.
4164         (set_lheader_older_implementation): New macro in UTF-2000.
4165         (OLDER_RECORD_P): New macro in UTF-2000.
4166         (OLDER_RECORD_HEADER_P): New macro in UTF-2000.
4167         (alloc_older_lcrecord): New prototype in UTF-2000.
4168         (alloc_older_lcrecord_type): New macro in UTF-2000.
4169
4170 2000-05-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4171
4172         * mule-charset.c (byte_table_description): Use
4173         `XD_LISP_OBJECT_ARRAY' instead of `XD_LISP_OBJECT'.
4174         (char_id_table_description): Delete bogus `, 1'.
4175         (Fget_char_attribute): Refer encoding_table of each coded-charset
4176         to get value of coded-charset attribute of a character.
4177         (Fput_char_attribute): Use `make_older_vector' instead of
4178         `make_vector'; use encoding_table of each coded-charset to store
4179         value of coded-charset attribute of a character.
4180         (Fremove_char_attribute): Use encoding_table of each coded-charset
4181         to store value of coded-charset attribute of a character.
4182         (mark_charset): Mark `cs->encoding_table'; don't mark
4183         `cs->decoding_table'.
4184         (charset_description): Add description of new member
4185         `encoding_table'.
4186         (make_charset): Initialize `encoding_table'.
4187
4188         * char-ucs.h (struct Lisp_Charset): Add new member
4189         `encoding_table'.
4190         (CHARSET_ENCODING_TABLE): New macro.
4191         (XCHARSET_ENCODING_TABLE): New macro.
4192         (charset_code_point): New implementation.
4193         (encode_char_1): Likewise.
4194
4195         * alloc.c (all_older_lcrecords): New variable in UTF-2000.
4196         (disksave_object_finalization_1): Call finalizers of
4197         `all_older_lcrecords' in UTF-2000.
4198         (make_older_vector): New function in UTF-2000.
4199         (reinit_alloc_once_early): Initialize `all_older_lcrecords' in
4200         UTF-2000.
4201
4202         * lisp.h (make_older_vector): New prototype in UTF-2000.
4203
4204 2000-05-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4205
4206         * lrecord.h (enum lrecord_type): Rename
4207         `lrecord_type_char_code_table' to `lrecord_type_char_id_table'.
4208
4209         * text-coding.c (COMPOSE_ADD_CHAR): Use `CHAR_ID_TABLE_P' and
4210         `get_char_id_table' instead of `CHAR_CODE_TABLE_P' and
4211         `get_char_code_table'.
4212
4213         * mule-charset.c (mark_char_id_table): Renamed from
4214         `mark_char_code_table'.
4215         (char_id_table_equal): Renamed from `char_code_table_equal'.
4216         (char_id_table_hash): Renamed from `char_code_table_hash'.
4217         (make_char_id_table): Renamed from `make_char_code_table'.
4218         (copy_char_id_table): Renamed from `copy_char_code_table'.
4219         (get_char_id_table): Renamed from `get_char_code_table'.
4220         (put_char_id_table): Renamed from `put_char_code_table'.
4221         (to_char_id): Renamed from `to_char_code'.
4222
4223         * char-ucs.h (struct Lisp_Char_ID_Table): Renamed from
4224         `Lisp_Char_Code_Table'.
4225         (char_id_table): Renamed from `char_code_table'.
4226         (XCHAR_ID_TABLE): Renamed from `XCHAR_CODE_TABLE'.
4227         (XSETCHAR_ID_TABLE): Renamed from `XSETCHAR_CODE_TABLE'.
4228         (CHAR_ID_TABLE_P): Renamed from `CHAR_CODE_TABLE_P'.
4229         (GC_CHAR_ID_TABLE_P): Renamed from `GC_CHAR_CODE_TABLE_P'.
4230         (get_char_id_table): Renamed from `get_char_code_table'.
4231
4232 2000-05-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4233
4234         * lrecord.h (enum lrecord_type): Rename
4235         `lrecord_type_char_byte_table' to `lrecord_type_byte_table'.
4236
4237         * mule-charset.c (mark_byte_table): Renamed from
4238         `mark_char_byte_table'.
4239         (byte_table_equal): Renamed from `char_byte_table_equal'.
4240         (byte_table_hash): Renamed from `byte_table_hash'.
4241         (make_byte_table): Renamed from `make_byte_table'.
4242         (copy_byte_table): Renamed from `copy_char_byte_table'.
4243
4244         * char-ucs.h (struct Lisp_Byte_Table): Renamed from
4245         `Lisp_Char_Byte_Table'.
4246         (byte_table): Renamed from `char_byte_table'.
4247         (XBYTE_TABLE): Renamed from `XCHAR_BYTE_TABLE'.
4248         (XSETBYTE_TABLE): Renamed from `XSET_CHAR_BYTE_TABLE'.
4249         (BYTE_TABLE_P): Renamed from `XBYTE_TABLE_P'.
4250         (GC_BYTE_TABLE_P): Renamed from `GC_CHAR_BYTE_TABLE_P'.
4251
4252 2000-05-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4253
4254         * buffer.c (dfc_convert_to_external_format): Modify for UTF-2000.
4255         (dfc_convert_to_internal_format): Likewise.
4256         
4257         * text-coding.c (Fcoding_system_canonical_name_p): New function.
4258         * text-coding.c (Fcoding_system_alias_p): New function.
4259         * text-coding.c (Fcoding_system_aliasee): New function.
4260         * text-coding.c (append_suffix_to_symbol): New function.
4261         * text-coding.c (dangling_coding_system_alias_p): New function.
4262         * text-coding.c (Ffind_coding_system):
4263         * text-coding.c (Fcopy_coding_system):
4264         * text-coding.c (encode_coding_no_conversion):
4265         * text-coding.c (syms_of_file_coding):
4266         * text-coding.c (vars_of_file_coding):
4267         Rewrite coding system alias code.
4268         Allow nested aliases, like symbolic links.
4269         Allow redefinition of coding system aliases.
4270         Prevent existence of dangling coding system aliases.
4271         Eliminate convert_to_external_format.
4272         Eliminate convert_to_internal_format.
4273         
4274         * text-coding.c: Change enum eol_type to eol_type_t.
4275
4276 2000-05-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4277
4278         * mule-charset.c (encode_builtin_char_1): Limit builtin-code-range
4279         of `mojikyo' to MIN_CHAR_MOJIKYO + 94 * 60 * 22.
4280
4281         * char-ucs.h (MAX_CHAR_MOJIKYO): Limit builtin-code-range to
4282         MIN_CHAR_MOJIKYO + 94 * 60 * 22.
4283
4284 2000-04-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4285
4286         * mule-charset.c (encode_builtin_char_1): Use `mojikyo' instead of
4287         `ideograph-daikanwa'.
4288
4289         * char-ucs.h (Vcharset_ucs): Deleted because it is not used.
4290         (Vcharset_ucs_bmp): Likewise.
4291         (Vcharset_mojikyo): Add new extern variable definition.
4292         (Vcharset_latin_iso8859_2): Deleted because it is not used.
4293         (Vcharset_latin_iso8859_3): Likewise.
4294         (Vcharset_latin_iso8859_4): Likewise.
4295         (Vcharset_latin_iso8859_9): Likewise.
4296         (Vcharset_latin_viscii_lower): Likewise.
4297         (Vcharset_latin_viscii_upper): Likewise.
4298         (DECODE_CHAR): If charset is `mojikyo-pj-N', corresponding
4299         `mojikyo' code-point is used to decode.
4300         (encode_char_2): New function [to convert `mojikyo' code-point to
4301         Mojikyo font encoding].
4302         (ENCODE_CHAR): Use `encode_char_2' instead of `encode_code_1'.
4303         (breakup_char_1): Likewise.
4304         (CHAR_CHARSET): Use `ENCODE_CHAR' instead of `BREAKUP_CHAR'.
4305
4306 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4307
4308         * text-coding.c (Fmake_coding_system): Add document about
4309         `disable-composition' property.
4310
4311 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4312
4313         * text-coding.c (Qdisable_composition): New variable; delete
4314         `Qcomposite'.
4315         (Fmake_coding_system): Add new property `disable-composite';
4316         delete property `composite'.
4317         (COMPOSE_ADD_CHAR): Use `CODING_SYSTEM_DISABLE_COMPOSITION'
4318         instead of `!CODING_SYSTEM_COMPOSITE'.
4319         (syms_of_file_coding): Add new symbol `disable-composition';
4320         delete symbol `composite'.
4321
4322         * file-coding.h (struct Lisp_Coding_System): Add
4323         `disable_composition'; delete `enable_composition'.
4324         (CODING_SYSTEM_DISABLE_COMPOSITION): New macro; delete
4325         `CODING_SYSTEM_COMPOSITE'.
4326         (XCODING_SYSTEM_DISABLE_COMPOSITION): New macro; delete
4327         `XCODING_SYSTEM_COMPOSITE'.
4328
4329 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4330
4331         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
4332         to 0.15.
4333
4334 2000-04-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4335
4336         * text-coding.c (Qcomposite): New variable.
4337         (Fmake_coding_system): Add new property `composite'.
4338         (struct decoding_stream): Add `combined_char_count',
4339         `combined_chars' and `combining_table' in UTF-2000.
4340         (COMPOSE_FLUSH_CHARS): New macro.
4341         (COMPOSE_ADD_CHAR): New macro.
4342         (reset_decoding_stream): Reset `str->combined_char_count' and
4343         `str->combining_table' in UTF-2000.
4344         (decode_coding_iso2022): Modify for character-decomposition.
4345         (syms_of_file_coding): Add new symbol `composite'.
4346
4347 2000-04-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4348
4349         * mule-charset.c (Vcharset_latin_tcvn5712): New variable.
4350         (Fput_char_attribute): Set up `Vcharacter_variant_table' instead
4351         of `Vcharacter_composition_table' if `->decomposition' property
4352         has only 1 element.
4353         (Qlatin_tcvn5712): New variable.
4354         (syms_of_mule_charset): Add new symbol `latin-tcvn5712'.
4355         (complex_vars_of_mule_charset): Add new coded-charset
4356         `latin-tcvn5712'.
4357
4358         * char-ucs.h (LEADING_BYTE_LATIN_TCVN5712): New macro.
4359
4360 2000-04-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4361
4362         * file-coding.h (struct Lisp_Coding_System): Add
4363         `enable_composition'.
4364         (CODING_SYSTEM_COMPOSITE): New macro.
4365         (XCODING_SYSTEM_COMPOSITE): New macro.
4366
4367 2000-03-17  MORIOKA Tomohiko  <tomo@m17n.org>
4368
4369         * mule-canna.c (c2mu): Fix problem with UTF-2000.
4370
4371 2000-03-16  MORIOKA Tomohiko  <tomo@m17n.org>
4372
4373         * mule-charset.c (Fput_char_attribute): Don't make mapping-table
4374         if ATTRIBUTE is `ucs' and character-id of CHARACTER = VALUE.
4375
4376 2000-02-24  MORIOKA Tomohiko  <tomo@m17n.org>
4377
4378         * mule-charset.c (Vcharset_mojikyo): New variable.
4379         (Fdefine_char): Don't use coded-charset which does not have
4380         non-builtin character range to allocate character-id.
4381         (Qmojikyo): New variable.
4382         (syms_of_mule_charset): Add new symbol `mojikyo'.
4383         (complex_vars_of_mule_charset): Add new coded-charset `mojikyo'.
4384
4385         * char-ucs.h (LEADING_BYTE_DAIKANWA_EKANJI): New macro.
4386         (LEADING_BYTE_MOJIKYO): New macro.
4387         (MIN_CHAR_MOJIKYO): New macro.
4388         (MIN_CHAR_DAIKANWA): Use `MIN_CHAR_MOJIKYO'.
4389         (MAX_CHAR_MOJIKYO): New macro.
4390
4391 2000-02-12  MORIOKA Tomohiko  <tomo@m17n.org>
4392
4393         * mule-charset.c (remove_char_attribute): Fixed.
4394
4395 2000-02-08  MORIOKA Tomohiko  <tomo@m17n.org>
4396
4397         * mule-charset.c (remove_char_attribute): New function.
4398         (Fremove_char_attribute): New function.
4399         (encode_builtin_char_1): Comment out builtin-support for
4400         greek-iso8859-7 and cyrillic-iso8859-5.
4401         (Fdecode_char): Check `code' is an integer.
4402         (syms_of_mule_charset): Add `remove-char-attribute'.
4403         (MIN_CHAR_GREEK): Deleted.
4404         (MAX_CHAR_GREEK): Likewise.
4405         (MIN_CHAR_CYRILLIC): Likewise.
4406         (MAX_CHAR_CYRILLIC): Likewise.
4407         (complex_vars_of_mule_charset): Don't use MIN_CHAR_GREEK and
4408         MAX_CHAR_GREEK for `greek-iso8859-7'.
4409
4410         * char-ucs.h (MIN_CHAR_GREEK): Comment out.
4411         (MAX_CHAR_GREEK): Likewise.
4412         (MIN_CHAR_CYRILLIC): Likewise.
4413         (MAX_CHAR_CYRILLIC): Likewise.
4414
4415 2000-02-02  MORIOKA Tomohiko  <tomo@m17n.org>
4416
4417         * mule-charset.c (Fdefine_char): Fix problem when new code-point
4418         format is used without `ucs' property.
4419         (Fdecode_char): Fix problem with GR representation.
4420         (complex_vars_of_mule_charset): Don't use `MIN_CHAR_CYRILLIC' and
4421         `MAX_CHAR_CYRILLIC' as range of builtin `cyrillic-iso8859-5'.
4422
4423 2000-01-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
4424
4425         * mule-charset.c (make_builtin_char): New function.
4426         (encode_builtin_char_1): Check ISO-2022-charset is defined or not.
4427         (Fset_charset_mapping_table): Modify for new representation of
4428         code-point.
4429         (Fdecode_char): New function.
4430         (syms_of_mule_charset): Add new builtin function `decode-char' in
4431         UTF-2000.
4432
4433         * char-ucs.h (make_builtin_char): New prototype.
4434         (DECODE_CHAR): New inline function.
4435         (MAKE_CHAR): Use `DECODE_CHAR'.
4436
4437 2000-01-28  MORIOKA Tomohiko  <tomo@m17n.org>
4438
4439         * text-coding.c (parse_charset_conversion_specs): Use
4440         `XCHARSET_CHARS' and `XCHARSET_DIMENSION' instead of
4441         `XCHARSET_TYPE'.
4442         (iso2022_designate): Likewise.
4443
4444         * chartab.c (decode_char_table_range): Use `XCHARSET_CHARS' and
4445         `XCHARSET_DIMENSION' instead of `XCHARSET_TYPE'.
4446
4447         * mule-charset.c (Vcharset_ucs): New variable.
4448         (print_charset): Change design; use `CHARSET_CHARS' and
4449         `CHARSET_DIMENSION' instead of `CHARSET_TYPE'.
4450         (make_charset): Change signature to specify `chars' and
4451         `dimension' instead of `type'.
4452         (range_charset_code_point): Modify for 256^n-set.
4453         (encode_builtin_char_1): Encode as `ucs' in default.
4454         (Fmake_charset): Modify for `make_charset'.
4455         (Fmake_reverse_direction_charset): Likewise.
4456         (Fsplit_char): Use `ENCODE_CHAR' instead of `BREAKUP_CHAR' in
4457         UTF-2000.
4458         (complex_vars_of_mule_charset): Add coded-charset `ucs'; modify
4459         for `make_charset'.
4460
4461         * char-ucs.h (Vcharset_ucs): New variable.
4462         (LEADING_BYTE_UCS): New macro.
4463         (struct Lisp_Charset): Delete `type'; change type of `dimension'
4464         and `chars' to `unsigned short' from `unsigned int'.
4465         (CHARSET_TYPE): Deleted.
4466         (XCHARSET_TYPE): Deleted.
4467
4468 2000-01-27  MORIOKA Tomohiko  <tomo@m17n.org>
4469
4470         * mule-charset.c (charset_code_point): Moved to char-ucs.h.
4471
4472         * char-ucs.h (charset_code_point): Moved from mule-charset.c.
4473         (ENCODE_CHAR): New macro.
4474
4475 2000-01-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
4476
4477         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
4478         to 0.14 (Kawachi-Katakami).
4479
4480 2000-01-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
4481
4482         * text-coding.c (char_encode_shift_jis): Modify for
4483         `charset_code_point'.
4484         (char_encode_iso2022): Likewise.
4485
4486         * mule-charset.c (Fput_char_attribute): Use <Lisp_Object>
4487         (integer) instead of list of <Lisp_Object>s (integers) as the
4488         format of code-point of a coded-charset.
4489         (range_charset_code_point): Return <int> instead of <Lisp_Object>.
4490         (encode_builtin_char_1): New function; delete
4491         `split_builtin_char'.
4492         (charset_code_point): Return <int> instead of <Lisp_Object>.
4493         (Fsplit_char): Don't use `SPLIT_CHAR'.
4494
4495         * char-ucs.h (encode_builtin_char_1): New prototype; delete
4496         prototype for `split_builtin_char'.
4497         (range_charset_code_point): Return <int> instead of <Lisp_Object>.
4498         (charset_code_point): Likewise.
4499         (encode_char_1): New inline function; delete `SPLIT_CHAR'.
4500         (breakup_char_1): Use `encode_char_1' instead of `SPLIT_CHAR'.
4501
4502 2000-01-20  MORIOKA Tomohiko  <tomo@m17n.org>
4503
4504         * mule-charset.c (complex_vars_of_mule_charset): Don't define
4505         `japanese-jisx0208-1990' in non-UTF-2000 Mule.
4506
4507 2000-01-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
4508
4509         * mule-charset.c (split_builtin_char): Don't support OBS_94x94.
4510
4511         * char-ucs.h (MIN_CHAR_OBS_94x94): Deleted.
4512         (MAX_CHAR_OBS_94x94): Deleted.
4513
4514 2000-01-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
4515
4516         * mule-charset.c (split_builtin_char): Use `MAX_CHAR_BMP'.
4517
4518         * char-ucs.h (MAX_CHAR_BMP): New macro.
4519
4520 2000-01-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
4521
4522         * text-coding.c: Sync with r21-2-24.
4523
4524 2000-01-08  MORIOKA Tomohiko  <tomo@etl.go.jp>
4525
4526         * file-coding.c: Modify for UTF-2000.
4527
4528 2000-01-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
4529
4530         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
4531         to 0.13 (Takaida).
4532
4533 2000-01-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
4534
4535         * mule-charset.c (split_builtin_char): Delete builtin support for
4536         `katakana-jisx0201'.
4537         (complex_vars_of_mule_charset): Don't map `katakana-jisx0201' to
4538         BMP area in builtin representation.
4539
4540         * char-ucs.h (MAKE_CHAR): Delete builtin support for
4541         `Vcharset_katakana_jisx0201'.
4542
4543 1999-12-24  MORIOKA Tomohiko  <tomo@etl.go.jp>
4544
4545         * mule-charset.c (Vcharset_mojikyo_pj_[1 .. 21]): New variable.
4546         (Qisolated): New variable.
4547         (Qinitial): New variable.
4548         (Qmedial): New variable.
4549         (Qfinal): New variable.
4550         (Qvertical): New variable.
4551         (Qsmall): New variable.
4552         (to_char_code): Use `Qisolated', `Qinitial', `Qmedial', `Qfinal',
4553         `Qvertical' and `Qsmall'.
4554         (Qmojikyo_pj_[1 .. 21]): New variable.
4555         (syms_of_mule_charset): Add new symbols `isolated', `initial',
4556         `medial', `final', `vertical', `small' and `mojikyo-pj-[1 .. 21]'.
4557         (complex_vars_of_mule_charset): Add new charset `mojikyo-pj-[1
4558         .. 21]'.
4559
4560 1999-11-23  MORIOKA Tomohiko  <tomo@etl.go.jp>
4561
4562         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x60.
4563         (LEADING_BYTE_MOJIKYO_PJ_[1 .. 21]): New macros.
4564         (MAX_LEADING_BYTE_PRIVATE): Changed to `(CHARSET_ID_OFFSET - 32)'.
4565
4566 1999-11-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
4567
4568         * mule-charset.c (Vcharset_japanese_jisx0208_1990): New variable.
4569         (Fdefine_char): Use Group 00 Plane 10 for non-coded variants of
4570         BMP.
4571         (Qjapanese_jisx0208_1990): New variable.
4572         (syms_of_mule_charset): Add new symbol `Qjapanese_jisx0208_1990'.
4573         (complex_vars_of_mule_charset): Add new coded-charset
4574         `japanese-jisx0208-1990'.
4575
4576         * char-ucs.h (LEADING_BYTE_JAPANESE_JISX0208_1990): New macro.
4577         (MIN_CHAR_JIS_X0208_1990): New macro.
4578         (MAX_CHAR_JIS_X0208_1990): New macro.
4579
4580 1999-11-16  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4581
4582         * text-coding.c (char_encode_iso2022): Output `~' if ISO 2022
4583         coded-charset is not found.
4584
4585 1999-11-16  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4586
4587         * mule-charset.c (Fget_char_attribute): Forgot to `CHECK_CHAR'.
4588         (Fdefine_char): Use `Fmake_char'.
4589
4590 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4591
4592         * mule-charset.c (Vcharset_ideograph_daikanwa): New variable.
4593         (Vcharset_hiragana_jisx0208): Deleted.
4594         (Vcharset_katakana_jisx0208): Deleted.
4595         (Qideograph_daikanwa): New variable.
4596         (Qhiragana_jisx0208): Deleted.
4597         (Qkatakana_jisx0208): Deleted.
4598         (split_builtin_char): Split `ideograph-daikanwa'.
4599         (Fsplit_char): New implementation for UTF-2000.
4600         (syms_of_mule_charset): Add new symbol `ideograph-daikanwa';
4601         delete symbol `hiragana-jisx0208' and `katakana-jisx0208'.
4602         (complex_vars_of_mule_charset): Add new coded-charset
4603         `ideograph-daikanwa'; delete coded-charset `hiragana-jisx0208' and
4604         `katakana-jisx0208'.
4605
4606         * char-ucs.h (LEADING_BYTE_DAIKANWA): New macro.
4607         (LEADING_BYTE_HIRAGANA_JISX0208): Deleted.
4608         (LEADING_BYTE_KATAKANA_JISX0208): Deleted.
4609         (MIN_CHAR_DAIKANWA): New macro.
4610         (MAX_CHAR_DAIKANWA): New macro.
4611
4612 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4613
4614         * data.c (Fstring_to_number): Don't recognize floating point if
4615         base is not 10.
4616
4617 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4618
4619         * mule-charset.c (Fput_char_attribute): Forgot to `CHECK_CHAR'.
4620
4621 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4622
4623         * mule-charset.c (Qsquare): New variable.
4624         (to_char_code): Add `Qsquare'.
4625         (syms_of_mule_charset): Add new symbol `square'.
4626
4627 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4628
4629         * mule-charset.c (Qcircle): New variable.
4630         (to_char_code): Add `Qcircle'.
4631         (syms_of_mule_charset): Add new symbol `circle'.
4632
4633 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4634
4635         * mule-charset.c (Qfont): New variable.
4636         (to_char_code): Add `Qfont'.
4637         (syms_of_mule_charset): Add new symbol `font'.
4638
4639 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4640
4641         * mule-charset.c (Qsub): New variable.
4642         (to_char_code): Add `Qsub'.
4643         (syms_of_mule_charset): Add new symbol `sub'.
4644
4645 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4646
4647         * mule-charset.c (Fput_char_attribute): Convert each element of
4648         VALUE to GL position if ATTRIBUTE is a GR-set,
4649
4650 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4651
4652         * mule-charset.c (Fput_char_attribute): Allow GR code-point if a
4653         coded-charset is a GR-set.
4654
4655 1999-11-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4656
4657         * mule-charset.c (Fput_char_attribute): Check each element of
4658         VALUE is a byte if ATTRIBUTE is a coded-charset or its name.
4659
4660 1999-11-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4661
4662         * mule-charset.c (Vcharset_ethiopic_ucs): New variable in
4663         UTF-2000.
4664         (Qethiopic_ucs): New variable in UTF-2000.
4665         (syms_of_mule_charset): Add new symbol `ethiopic-ucs' in UTF-2000.
4666         (complex_vars_of_mule_charset): Add new coded-charset
4667         `ethiopic-ucs' in UTF-2000.
4668
4669         * char-ucs.h (LEADING_BYTE_ETHIOPIC_UCS): New macro.
4670         (LEADING_BYTE_HIRAGANA_JISX0208): Changed to `(CHARSET_ID_OFFSET -
4671         9)'.
4672         (LEADING_BYTE_KATAKANA_JISX0208): Changed to `(CHARSET_ID_OFFSET -
4673         10)'.
4674         (LEADING_BYTE_PRIVATE): Changed to `(CHARSET_ID_OFFSET - 11)'.
4675
4676 1999-11-13  MORIOKA Tomohiko  <tomo@etl.go.jp>
4677
4678         * mule-charset.c (Fset_charset_mapping_table): Fix problem with
4679         `ascii'.
4680
4681 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4682
4683         * mule-charset.c (Vcharacter_variant_table): New variable.
4684         (Q_ucs): New variable.
4685         (Fchar_variants): New function.
4686         (Fput_char_attribute): Register `->ucs' value to
4687         `Vcharacter_variant_table'.
4688         (syms_of_mule_charset): Add new function `char-variants' and new
4689         symbol `->ucs'.
4690         (vars_of_mule_charset): Setup `Vcharacter_variant_table'.
4691
4692 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4693
4694         * mule-charset.c (get_char_code_table): Allow negative character
4695         code.
4696         (put_char_code_table): Likewise.
4697         (Vcharacter_composition_table): New variable.
4698         (Q_decomposition): New variable.
4699         (Qwide): New variable.
4700         (Qnarrow): New variable.
4701         (Qcompat): New variable.
4702         (QnoBreak): New variable.
4703         (Qsuper): New variable.
4704         (Qfraction): New variable.
4705         (to_char_code): New function.
4706         (Fget_composite_char): New function.
4707         (Fput_char_attribute): Register `->decomposition' value to
4708         `Vcharacter_composition_table'.
4709         (syms_of_mule_charset): Add new function `get-composite-char', new
4710         symbol `->decomposition', `wide', `narrow', `compat', `noBreak',
4711         `super' and `fraction'.
4712         (vars_of_mule_charset): Setup `Vcharacter_composition_table'.
4713
4714 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4715
4716         * mule-charset.c (Fchar_attribute_alist): Check the argument is a
4717         character; copy the return value.
4718
4719 1999-11-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
4720
4721         * char-ucs.h (SPLIT_CHAR): Use `split_builtin_char'.
4722
4723         * mule-charset.c (range_charset_code_point): Must use make_int.
4724         (split_builtin_char): New function.
4725
4726 1999-11-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
4727
4728         * mule-charset.c (char_byte_table): Change name from
4729         "char-code-table" to "char-byte-table".
4730         (mark_char_code_table): New function.
4731         (char_code_table_equal): New function.
4732         (char_code_table_hash): New function.
4733         (char_code_table_description): New constant.
4734         (char_code_table): New type.
4735         (make_char_code_table): New function.
4736         (copy_char_code_table): New function.
4737         (get_char_code_table): Modify for `char_code_table' type.
4738         (put_char_code_table): Likewise.
4739         (vars_of_mule_charset): Update `utf-2000-version' to 0.12
4740         (Kashiwara).
4741
4742         * char-ucs.h (char_code_table): New type.
4743         (XCHAR_CODE_TABLE): New macro.
4744         (XSETCHAR_CODE_TABLE): New macro.
4745         (CHAR_CODE_TABLE_P): New macro.
4746         (GC_CHAR_CODE_TABLE_P): New macro.
4747         (struct Lisp_Char_Code_Table): New structure.
4748
4749 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
4750
4751         * mule-charset.c (Fmake_charset): Setup byte_offset for
4752         {94|96}^n-set.
4753
4754 1999-11-09  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4755
4756         * mule-charset.c (Fdefine_char): Fix problem with non-UCS
4757         character.
4758
4759 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
4760
4761         * char-ucs.h (SPLIT_CHAR): Don't make new cell if a charset slot
4762         is found.
4763
4764 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
4765
4766         * mule-charset.c (Fget_char_attribute): If ATTRIBUTE is a name of
4767         charset, it is regarded as a charset.
4768         (put_char_attribute): New function in UTF-2000.
4769         (Fput_char_attribute): If ATTRIBUTE is a charset or a name of
4770         charset, mapping-table of the charset is modified.
4771         (Fdefine_char): New function in UTF-2000.
4772         (Fset_charset_mapping_table): Use `put_char_attribute' instead of
4773         `Fput_char_attribute'.
4774         (syms_of_mule_charset): Add new function `define-char' and new
4775         symbol `ucs' in UTF-2000.
4776         (vars_of_mule_charset): Update `utf-2000-version' to 0.11 (Shiki).
4777
4778 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
4779
4780         * mule-charset.c (Fcharset_name): Define `byte_offset' in
4781         non-UTF-2000 configuration.
4782
4783 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
4784
4785         * text-coding.c (char_encode_shift_jis): Use `charset_code_point'
4786         not to use `XCHARSET_ENCODING_TABLE (Vcharset_latin_jisx0201)'.
4787
4788         * mule-charset.c (mark_charset): `cs->encoding_table' has been
4789         deleted.
4790         (make_charset): Don't use `CHARSET_ENCODING_TABLE(cs)'.
4791         (Fset_charset_mapping_table): Likewise.
4792
4793         * char-ucs.h (struct Lisp_Charset): Delete `encoding_table'.
4794         (CHARSET_ENCODING_TABLE): Delete.
4795         (XCHARSET_ENCODING_TABLE): Delete.
4796         (charset_code_point): New interface.
4797
4798 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
4799
4800         * text-coding.c (char_encode_iso2022): Use `charset_code_point'
4801         instead of `charset_get_byte1' and `charset_get_byte2'.
4802
4803         * mule-charset.c, char-ucs.h (charset_get_byte1): Deleted.
4804         (charset_get_byte2): Deleted.
4805
4806 1999-10-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
4807
4808         * char-ucs.h (SPLIT_CHAR): New inline function.
4809         (breakup_char_1): Use `SPLIT_CHAR'.
4810
4811         * mule-charset.c (range_charset_code_point): New function.
4812         (charset_code_point): New function.
4813
4814         * char-ucs.h (range_charset_code_point): New interface.
4815         (breakup_char_1): Use `range_charset_code_point'.
4816
4817 1999-10-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
4818
4819         * mule-charset.c (Fmake_charset): Delete unused local variable
4820         `code_offset'.
4821
4822         * char-ucs.h (Vcharacter_attribute_table): New extern variable.
4823         (breakup_char_1): Find a charset and code-point in
4824         `Vcharacter_attribute_table'.
4825
4826 1999-10-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
4827
4828         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
4829         to 0.10 (Yao).
4830
4831 1999-10-25  MORIOKA Tomohiko  <tomo@etl.go.jp>
4832
4833         * mule-charset.c (Vcharacter_attribute_table): New variable.
4834         (Fchar_attribute_alist): New function.
4835         (Fget_char_attribute): New function.
4836         (Fput_char_attribute): New function.
4837         (Fset_charset_mapping_table): Setup `Vcharacter_attribute_table'
4838         too.
4839         (syms_of_mule_charset): Add new function `char-attribute-alist',
4840         `get-char-attribute' and `put-char-attribute'.
4841         (vars_of_mule_charset): Setup `Vcharacter_attribute_table'.
4842
4843 1999-10-19  MORIOKA Tomohiko  <tomo@etl.go.jp>
4844
4845         * mule-charset.c (Fmake_charset): Just use
4846         `get_unallocated_leading_byte'.
4847
4848         * char-ucs.h (LEADING_BYTE_*): Use ISO-IR numbers for official
4849         sets; don't use final-byte based number for private sets.
4850
4851 1999-10-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
4852
4853         * doprnt.c (emacs_doprnt_1): Fix problem with %0XXd for a negative
4854         integer.
4855
4856 1999-10-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
4857
4858         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
4859         to 0.9.
4860
4861 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4862
4863         * regex.c (compile_extended_range): Use `CHAR_CHARSET_ID' instead
4864         of `CHAR_LEADING_BYTE' in UTF-2000.
4865
4866         * insdel.c (find_charsets_in_bufbyte_string): Use
4867         `CHAR_CHARSET_ID' instead of `CHAR_LEADING_BYTE' in UTF-2000.
4868         (find_charsets_in_emchar_string): Likewise.
4869
4870         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use
4871         `CHAR_CHARSET_ID' instead of `CHAR_LEADING_BYTE' in UTF-2000.
4872
4873         * char-ucs.h (CHAR_LEADING_BYTE): Deleted.
4874         (CHAR_CHARSET_ID): New macro.
4875
4876 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4877
4878         * chartab.c (get_char_table): Don't use type `Charset_ID' for
4879         charset-id - MIN_LEADING_BYTE.
4880         (put_char_table): Likewise.
4881
4882 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4883
4884         * char-ucs.h (MIN_LEADING_BYTE): Changed to `-0x40'.
4885         (NUM_LEADING_BYTES): Changed to (80 * 3 - MIN_LEADING_BYTE).
4886         (CHARSET_LEADING_BYTE): Don't cast by `Bufbyte'.
4887         (CHARSET_ID_OFFSET): New macro.
4888         (LEADING_BYTE_CONTROL_1): Changed to (CHARSET_ID_OFFSET - 1).
4889         (LEADING_BYTE_UCS_BMP): Changed to (CHARSET_ID_OFFSET - 2).
4890         (LEADING_BYTE_LATIN_VISCII): Changed to (CHARSET_ID_OFFSET - 3).
4891         (LEADING_BYTE_HIRAGANA_JISX0208): Changed to (CHARSET_ID_OFFSET -
4892         4).
4893         (LEADING_BYTE_KATAKANA_JISX0208): Changed to (CHARSET_ID_OFFSET -
4894         5).
4895         (MIN_LEADING_BYTE_PRIVATE): Changed to `MIN_LEADING_BYTE'.
4896         (MAX_LEADING_BYTE_PRIVATE): Changed to (CHARSET_ID_OFFSET - 6).
4897         (CHARSET_ID_OFFSET_94): Changed to (CHARSET_ID_OFFSET - '0').
4898         (CHARSET_ID_OFFSET_96): Changed to (CHARSET_ID_OFFSET_94 + 80).
4899         (CHARSET_ID_OFFSET_94x94): Changed to (CHARSET_ID_OFFSET_96 + 80).
4900
4901 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4902
4903         * mule-charset.c (next_allocated_leading_byte): New variable in
4904         UTF-2000.
4905         (next_allocated_1_byte_leading_byte): Don't define in UTF-2000.
4906         (next_allocated_2_byte_leading_byte): Don't define in UTF-2000.
4907         (get_unallocated_leading_byte): Simply use
4908         `next_allocated_leading_byte' [ignore dimension] in UTF-2000.
4909         (vars_of_mule_charset): Setup `next_allocated_leading_byte' in
4910         UTF-2000.
4911
4912         * char-ucs.h (MIN_LEADING_BYTE_PRIVATE): New macro.
4913         (MAX_LEADING_BYTE_PRIVATE): New macro.
4914         (MIN_LEADING_BYTE_OFFICIAL_2): Deleted.
4915         (MAX_LEADING_BYTE_OFFICIAL_2): Deleted.
4916
4917 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4918
4919         * mule-charset.c (Fmake_charset): Allocate final-byte based
4920         charset-id for 94-set, 96-set and 94x94-set.
4921
4922 1999-10-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
4923
4924         * mule-charset.c (char_byte_table_equal): Fill braces to avoid
4925         ambiguous `else'.
4926         (Fmake_charset): Likewise.
4927         (complex_vars_of_mule_charset): Modify the font registry of
4928         `ucs-bmp' not to match `Ethiopic-Unicode'.
4929
4930 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4931
4932         * mule-charset.c (complex_vars_of_mule_charset): Add font
4933         registory of `ucs-bmp'.
4934
4935 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4936
4937         * text-coding.c (char_encode_iso2022): Ignore non-ISO-2022
4938         coded-charsets in `default-coded-charset-priority-list' when
4939         breaking up a character.
4940
4941         * mule-charset.c (Vcharset_latin_viscii): New variable.
4942         (Qlatin_viscii): New variable.
4943         (make_charset): Don't use `decoding_table'.
4944         (Fmake_charset): Regard graphic = 2 as 256^n-set; setup
4945         byte_offset.
4946         (Fset_charset_mapping_table): New implementation.
4947         (syms_of_mule_charset): Add new symbol `latin-viscii'.
4948         (complex_vars_of_mule_charset): Set `graphic' attribute of charset
4949         `ucs-bmp' and `latin_viscii' to 2; change font registry of charset
4950         `latin-viscii-lower' to "MULEVISCII-LOWER"; change font registry
4951         of charset `latin-viscii-upper' to "MULEVISCII-UPPER"; add new
4952         charset `latin_viscii'.
4953
4954         * char-ucs.h (LEADING_BYTE_LATIN_VISCII): New macro.
4955         (CHARSET_TYPE_94X94): Change to 1 from 2.
4956         (CHARSET_TYPE_96): Change to 2 from 1.
4957         (CHARSET_TYPE_128): New macro.
4958         (CHARSET_TYPE_128X128): Change to 5 from 4.
4959         (CHARSET_TYPE_256): New macro.
4960         (CHARSET_TYPE_256X256): Change to 7 from 5.
4961         (MAKE_CHAR): Use `XCHARSET_BYTE_OFFSET(charset)'.
4962
4963 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4964
4965         * text-coding.c (char_encode_shift_jis): Refer
4966         `XCHARSET_ENCODING_TABLE(Vcharset_latin_jisx0201)' instead of
4967         `XCHARSET_TO_BYTE1_TABLE(Vcharset_latin_jisx0201)'.
4968
4969         * mule-charset.c (mark_char_byte_table): New function in UTF-2000.
4970         (char_byte_table_equal): New function in UTF-2000.
4971         (char_byte_table_hash): New function in UTF-2000.
4972         (char_byte_table_description): New constant in UTF-2000.
4973         (char_byte_table): New type in UTF-2000.
4974         (make_char_byte_table): New function in UTF-2000.
4975         (copy_char_byte_table): New function in UTF-2000.
4976         (make_char_code_table): New macro in UTF-2000.
4977         (get_char_code_table): New function in UTF-2000.
4978         (put_char_code_table): New function in UTF-2000.
4979         (mark_charset): Mark `cs->encoding_table' in UTF-2000.
4980         (charset_description): Add setting in UTF-2000.
4981         (make_charset): Setup `CHARSET_ENCODING_TABLE(cs)' instead of
4982         `CHARSET_TO_BYTE1_TABLE(cs)'.
4983         (charset_get_byte1): Refer `XCHARSET_ENCODING_TABLE(charset)'
4984         instead of `XCHARSET_TO_BYTE1_TABLE(charset)'.
4985         (charset_get_byte2): Refer `XCHARSET_ENCODING_TABLE(charset)'
4986         instead of `XCHARSET_TO_BYTE2_TABLE(charset)'.
4987         (Fset_charset_mapping_table): Setup `CHARSET_ENCODING_TABLE(cs)'
4988         instead of `CHARSET_TO_BYTE1_TABLE(cs)' and
4989         `CHARSET_TO_BYTE2_TABLE(cs)'.
4990
4991         * char-ucs.h (char_byte_table): New type.
4992         (XCHAR_BYTE_TABLE): New macro.
4993         (XSETCHAR_BYTE_TABLE): New macro.
4994         (CHAR_BYTE_TABLE_P): New macro.
4995         (GC_CHAR_BYTE_TABLE_P): New macro.
4996         (struct Lisp_Char_Byte_Table): New structure.
4997         (get_char_code_table): New interface.
4998         (Emchar_to_byte_table): Deleted.
4999         (get_byte_from_character_table): Deleted.
5000         (struct Lisp_Charset): Add `encoding_table'; delete
5001         `to_byte1_table' and `to_byte2_table'.
5002         (CHARSET_ENCODING_TABLE): New macro.
5003         (CHARSET_TO_BYTE1_TABLE): Deleted.
5004         (CHARSET_TO_BYTE2_TABLE): Deleted.
5005         (XCHARSET_ENCODING_TABLE): New macro.
5006         (XCHARSET_TO_BYTE1_TABLE): Deleted.
5007         (XCHARSET_TO_BYTE2_TABLE): Deleted.
5008
5009 1999-10-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
5010
5011         * mule-charset.c (syms_of_mule_charset): Delete charset alias
5012         `vietnamese-viscii-*'.
5013
5014 1999-10-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
5015
5016         * mule-charset.c (Qvietnamese_viscii_lower): New variable.
5017         (Qvietnamese_viscii_upper): New variable.
5018         (Fdefine_charset_alias): New function.
5019         (syms_of_mule_charset): Add new function `define-charset-alias'.
5020         (syms_of_mule_charset): Rename charset `vietnamese-viscii-*' to
5021         `latin-viscii-*'; define `vietnamese-viscii-*' as aliases for
5022         `latin-viscii-*'.
5023
5024 1999-10-04  MORIOKA Tomohiko  <tomo@etl.go.jp>
5025
5026         * char-ucs.h (MIN_CHAR_OBS_94x94): New macro.
5027         (MAX_CHAR_OBS_94x94): New macro.
5028         (breakup_char_1): Support obsolete XEmacs-UCS private code space
5029         for 94x94 sets.
5030
5031         * mule-charset.c (put_byte_from_character_table): Change unit size
5032         from 128 to 256.
5033         (mark_charset): Don't mark `cs->decoding_table' if `UTF2000' is
5034         not defined.
5035         (Fmake_reverse_direction_charset): Modify dummy argument of
5036         `make_charset' for non-UTF-2000 environment.
5037
5038 1999-10-03  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5039
5040         * char-ucs.h (MAKE_CHAR): Allow nested decoding-table.
5041
5042         * mule-charset.c (destroy_byte_from_character_table): New macro.
5043         (latin_jisx0201_to_ucs): Deleted.
5044         (latin_iso8859_2_to_ucs): Deleted.
5045         (latin_iso8859_3_to_ucs): Deleted.
5046         (latin_iso8859_4_to_ucs): Deleted.
5047         (latin_iso8859_9_to_ucs): Deleted.
5048         (latin_viscii_lower_to_ucs): Deleted.
5049         (latin_viscii_upper_to_ucs): Deleted.
5050         (mark_charset): Mark `cs->decoding_table'.
5051         (Fcharset_mapping_table): Fix DOC-string.
5052         (Fset_charset_mapping_table): New function.
5053         (syms_of_mule_charset): Add nwe function
5054         `set-charset-mapping-table'.
5055         (complex_vars_of_mule_charset): Don't setup and use
5056         `latin_*_to_ucs'.
5057
5058 1999-10-01  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5059
5060         * char-ucs.h (MAKE_CHAR): Check the result for range-represented
5061         charset.
5062
5063 1999-09-30  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5064
5065         * mule-charset.c (Vcharset_hiragana_jisx0208): New variable.
5066         (Vcharset_katakana_jisx0208): New variable.
5067         (Qhiragana_jisx0208): New variable.
5068         (Qkatakana_jisx0208): New variable.
5069         (make_charset): Add new argument `byte_offset'.
5070         (charset_get_byte1): Modify for new coded-charset definition; use
5071         `XCHARSET_UCS_MIN', `XCHARSET_UCS_MAX', `XCHARSET_CODE_OFFSET' and
5072         `XCHARSET_BYTE_OFFSET'.
5073         (Fmake_charset): Modify for `make_charset'.
5074         (Fmake_reverse_direction_charset): Likewise.
5075         (syms_of_mule_charset): Add new symbols `hiragana-jisx0208' and
5076         `katakana-jisx0208'.
5077         (complex_vars_of_mule_charset): Modify for `make_charset'; quote
5078         `.'  in font registry of charset `katakana-jisx0201',
5079         `latin-jisx0201', `vietnamese-viscii-lower' and
5080         `vietnamese-viscii-upper'; modify DOC-string of charset
5081         `japanese-jisx0208-1978' and `japanese-jisx0208'; modify font
5082         registry of charset `japanese-jisx0208' not to use font for JIS
5083         X0208:1990; add new charset `hiragana-jisx0208' and
5084         `katakana-jisx0208'.
5085
5086         * char-ucs.h (LEADING_BYTE_HIRAGANA_JISX0208): New macro.
5087         (LEADING_BYTE_KATAKANA_JISX0208): New macro.
5088         (struct Lisp_Charset): Add `byte_offset'.
5089         (CHARSET_BYTE_OFFSET): New macro.
5090         (XCHARSET_UCS_MIN): New macro.
5091         (XCHARSET_UCS_MAX): New macro.
5092         (XCHARSET_CODE_OFFSET): New macro.
5093         (XCHARSET_BYTE_OFFSET): New macro.
5094         (MIN_CHAR_HIRAGANA): New macro.
5095         (MAX_CHAR_HIRAGANA): New macro.
5096         (MIN_CHAR_KATAKANA): New macro.
5097         (MAX_CHAR_KATAKANA): New macro.
5098         (MAKE_CHAR): Modify for new coded-charset definition; use
5099         `XCHARSET_UCS_MIN', `XCHARSET_UCS_MAX', `XCHARSET_CODE_OFFSET' and
5100         `XCHARSET_BYTE_OFFSET'.
5101
5102 1999-09-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
5103
5104         * mule-charset.c (CHAR96): Deleted.
5105         (latin_jisx0201_to_ucs): Type is changed from array of <Emchar> to
5106         <Lisp_Object>.
5107         (latin_iso8859_2_to_ucs): Likewise.
5108         (latin_iso8859_3_to_ucs): Likewise.
5109         (latin_iso8859_4_to_ucs): Likewise.
5110         (latin_iso8859_9_to_ucs): Likewise.
5111         (latin_viscii_lower_to_ucs): Likewise.
5112         (latin_viscii_upper_to_ucs): Likewise.
5113         (latin_tcvn5712_to_ucs): Commented out.
5114         (make_charset): Change type of argument `decoding_table' from
5115         <Emchar*> to <Lisp_Object> [vector of characters].
5116         (Fmake_charset): Modify for `make_charset'.
5117         (Fmake_reverse_direction_charset): Likewise.
5118         (Fcharset_mapping_table): New function in UTF-2000.
5119         (syms_of_mule_charset): Setup `Fcharset_mapping_table' in
5120         UTF-2000.
5121         (complex_vars_of_mule_charset): Modify for type change of
5122         `*_to_ucs'; modify for `make_charset'.
5123
5124         * char-ucs.h (struct Lisp_Charset): Change type of
5125         `decoding_table' from <Emchar*> to <Lisp_Object>.
5126         (MAKE_CHAR): Modify for new specification of `decoding_table'.
5127
5128 1999-09-23  MORIOKA Tomohiko  <tomo@etl.go.jp>
5129
5130         * mule-charset.c (Fmake_reverse_direction_charset): Fix compile
5131         error with non-UTF-2000-Mule.
5132
5133 1999-09-21  MORIOKA Tomohiko  <tomo@etl.go.jp>
5134
5135         * mule-charset.c (Vcharset_chinese_cns11643_3): Deleted [defined
5136         in lisp again].
5137         (Vcharset_chinese_cns11643_4): Likewise.
5138         (Vcharset_chinese_cns11643_5): Likewise.
5139         (Vcharset_chinese_cns11643_6): Likewise.
5140         (Vcharset_chinese_cns11643_7): Likewise.
5141         (Qchinese_cns11643_3): Likewise.
5142         (Qchinese_cns11643_4): Likewise.
5143         (Qchinese_cns11643_5): Likewise.
5144         (Qchinese_cns11643_6): Likewise.
5145         (Qchinese_cns11643_7): Likewise.
5146         (syms_of_mule_charset): Move definitions for `chinese-cns11643-3',
5147         `chinese-cns11643-4', `chinese-cns11643-5', `chinese-cns11643-6'
5148         and `chinese-cns11643-7' to lisp/mule/chinese.el.
5149         (complex_vars_of_mule_charset): Likewise.
5150
5151 1999-09-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
5152
5153         * mule-charset.c (charset_get_byte1): Fix bug about 94- and
5154         96-set.
5155         (Fmake_reverse_direction_charset): Inherit CHARSET_DECODING_TABLE,
5156         CHARSET_UCS_MIN, CHARSET_UCS_MAX and CHARSET_CODE_OFFSET.
5157
5158 1999-09-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
5159
5160         * char-ucs.h (MIN_CHAR_HALFWIDTH_KATAKANA): Changed to 0xFF61 from
5161         0xFF60.
5162         (MAKE_CHAR): Change offset for katakana-jisx0201 to 33 from 0x20.
5163         (breakup_char_1): Likewise.
5164
5165         * text-coding.c (char_encode_iso2022): Keep designated charsets if
5166         one of them includes the specified character.
5167
5168 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
5169
5170         * mule-charset.c: Update `utf-2000-version' to 0.8 (Kami).
5171
5172 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
5173
5174         * char-ucs.h (MAKE_CHAR): Fix problem in 2-dimension charset.
5175
5176 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
5177
5178         * mule-charset.c (latin_iso8859_2_to_ucs NULL): Add pseudo
5179         definition for non-UTF-2000 Mule.
5180         (latin_iso8859_3_to_ucs): Likewise.
5181         (latin_iso8859_4_to_ucs): Likewise.
5182         (latin_iso8859_9_to_ucs): Likewise.
5183         (latin_jisx0201_to_ucs): Likewise.
5184         (MIN_CHAR_THAI): Likewise.
5185         (MAX_CHAR_THAI): Likewise.
5186         (MIN_CHAR_GREEK): Likewise.
5187         (MAX_CHAR_GREEK): Likewise.
5188         (MIN_CHAR_HEBREW): Likewise.
5189         (MAX_CHAR_HEBREW): Likewise.
5190         (MIN_CHAR_HALFWIDTH_KATAKANA): Likewise.
5191         (MAX_CHAR_HALFWIDTH_KATAKANA): Likewise.
5192         (MIN_CHAR_CYRILLIC): Likewise.
5193         (MAX_CHAR_CYRILLIC): Likewise.
5194
5195 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
5196
5197         * char-ucs.h (breakup_char_1): Use
5198         `Vdefault_coded_charset_priority_list' for hebrew-iso8859-8,
5199         thai-tis620 and katakana-jisx0201 area.
5200
5201 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5202
5203         * char-ucs.h (breakup_char_1): Use
5204         `Vdefault_coded_charset_priority_list' for cyrillic-iso8859-5
5205         area.
5206
5207         * text-coding.c (reset_encoding_stream): Fixed.
5208         (char_encode_ucs4): Delete `& 255'.
5209
5210         * char-ucs.h (breakup_char_1): Use
5211         `Vdefault_coded_charset_priority_list' for greek-iso8859-7 area.
5212
5213 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5214
5215         * file-coding.c (Fmake_coding_system): Don't set up
5216         `codesys->fixed.size'.
5217         (encode_coding_no_conversion): Don't refer
5218         `str->codesys->fixed.size'.
5219
5220 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5221
5222         * mule-charset.c, char-ucs.h (latin_a_char_to_charset): Deleted.
5223         (latin_a_char_to_byte1): Deleted.
5224         (latin_a_char_to_byte2): Deleted.
5225
5226 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5227
5228         * mule-charset.c (make_charset): Add new argument `ucs_min',
5229         `ucs_max' and `code_offset'.
5230         (charset_get_byte1): New implementation [delete specific charset
5231         depended implementations].
5232         (Fmake_charset): Modify for `make_charset'.
5233         (Fmake_reverse_direction_charset): Likewise.
5234         (complex_vars_of_mule_charset): Likewise.
5235
5236         * char-ucs.h (struct Lisp_Charset): Add `ucs_min', `ucs_max' and
5237         `code_offset'.
5238         (CHARSET_UCS_MIN): New macro.
5239         (CHARSET_UCS_MAX): New macro.
5240         (CHARSET_CODE_OFFSET): New macro.
5241         (MAKE_CHAR): Delete charset depended definitions [except
5242         katakana-jisx0201].
5243
5244 1999-09-13  MORIOKA Tomohiko  <tomo@etl.go.jp>
5245
5246         * char-ucs.h (breakup_char_1): Use
5247         `Vdefault_coded_charset_priority_list' for C0-Controls,
5248         Basic-Latin, C1-Controls and Latin-1-Supplement area.
5249
5250 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5251
5252         * char-ucs.h (charset_get_byte1): New function.
5253         (XCHARSET_GET_BYTE1): Deleted.
5254         (charset_get_byte2): New function.
5255         (XCHARSET_GET_BYTE2): Deleted.
5256         (Vdefault_coded_charset_priority_list): New external variable.
5257         (breakup_char_1): Use `charset_get_byte1', `charset_get_byte2' and
5258         `Vdefault_preferred_coded_charset_list'.
5259
5260         * mule-charset.c (charset_get_byte1): New function.
5261         (charset_get_byte2): New function.
5262         (Vdefault_coded_charset_priority_list): New variable.
5263         (vars_of_mule_charset): Add new variable
5264         `default-coded-charset-priority-list'.
5265
5266 1999-09-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5267
5268         * char-ucs.h (XCHARSET_GET_BYTE1): New inline function.
5269         (XCHARSET_GET_BYTE2): New inline function.
5270         (breakup_char_1): Use `XCHARSET_GET_BYTE1' and
5271         `XCHARSET_GET_BYTE2'.
5272
5273 1999-09-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5274
5275         * mule-charset.c (make_charset): Initialize
5276         `CHARSET_TO_BYTE1_TABLE(cs)' and `CHARSET_TO_BYTE2_TABLE(cs)' by
5277         NULL if table is not defined.
5278
5279 1999-09-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5280
5281         * text-coding.c (char_encode_shift_jis): Use
5282         `XCHARSET_TO_BYTE1_TABLE' for `Vcharset_latin_jisx0201' instead of
5283         `ucs_to_latin_jisx0201'.
5284
5285         * mule-charset.c (ucs_to_latin_jisx0201): Deleted.
5286         (ucs_to_latin_iso8859_2): Deleted.
5287         (ucs_to_latin_iso8859_3): Deleted.
5288         (ucs_to_latin_iso8859_4): Deleted.
5289         (ucs_to_latin_iso8859_9): Deleted.
5290         (ucs_to_latin_viscii_lower): Deleted.
5291         (ucs_to_latin_viscii_upper): Deleted.
5292         (ucs_to_latin_tcvn5712): Deleted.
5293         (make_charset): Add new argument `decoding_table'; set up
5294         `CHARSET_DECODING_TABLE(cs)' in UTF-2000; set up
5295         `CHARSET_TO_BYTE1_TABLE(cs)' for 94-set and 96-set if
5296         `decoding_table' is defined in UTF-2000.
5297         (Fmake_charset): Modify for `make_charset'.
5298         (Fmake_reverse_direction_charset): Likewise.
5299         (complex_vars_of_mule_charset): Likewise; delete `GENERATE_94_SET'
5300         and `GENERATE_96_SET'.
5301
5302         * char-ucs.h (latin_jisx0201_to_ucs): Deleted.
5303         (ucs_to_latin_jisx0201): Deleted.
5304         (latin_iso8859_2_to_ucs): Deleted.
5305         (ucs_to_latin_iso8859_2): Deleted.
5306         (latin_iso8859_3_to_ucs): Deleted.
5307         (ucs_to_latin_iso8859_3): Deleted.
5308         (latin_iso8859_4_to_ucs): Deleted.
5309         (ucs_to_latin_iso8859_4): Deleted.
5310         (latin_iso8859_9_to_ucs): Deleted.
5311         (ucs_to_latin_iso8859_9): Deleted.
5312         (latin_viscii_lower_to_ucs): Deleted.
5313         (ucs_to_latin_viscii_lower): Deleted.
5314         (latin_viscii_upper_to_ucs): Deleted.
5315         (ucs_to_latin_viscii_upper): Deleted.
5316         (struct Lisp_Charset): Renamed `encoding_table' to
5317         `to_byte1_table'; add `to_byte2_table'.
5318         (CHARSET_DECODING_TABLE): New macro.
5319         (CHARSET_TO_BYTE1_TABLE): New macro.
5320         (CHARSET_TO_BYTE2_TABLE): New macro.
5321         (XCHARSET_DECODING_TABLE): New macro.
5322         (XCHARSET_TO_BYTE1_TABLE): New macro.
5323         (XCHARSET_TO_BYTE2_TABLE): New macro.
5324         (MAKE_CHAR): Use `XCHARSET_DECODING_TABLE'; don't use `*_to_ucs'
5325         tables.
5326         (breakup_char_1): Use `XCHARSET_TO_BYTE1_TABLE' if it is defined;
5327         don't use `ucs_to_*' tables.
5328
5329 1999-09-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5330
5331         * text-coding.c (Fmake_coding_system): Don't set up
5332         `codesys->fixed.size'.
5333         (encode_coding_no_conversion): Use `if' instead of `switch'.
5334
5335         * file-coding.h (struct Lisp_Coding_System): Delete `fixed.size'.
5336
5337 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
5338
5339         * mule-charset.c (make_charset): Delete argument `rep_bytes'.
5340         (Fmake_charset): Modify for `make_charset'.
5341         (Fmake_reverse_direction_charset): Likewise.
5342         (complex_vars_of_mule_charset): Likewise.
5343
5344 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
5345
5346         * text-coding.c (char_encode_shift_jis): Use table
5347         `ucs_to_latin_jisx0201' and BREAKUP_CHAR.
5348
5349 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
5350
5351         * text-coding.c (text_encode_generic): Use `if' instead of
5352         `switch'.
5353         (decode_coding_sjis): Use `MAKE_CHAR' and `DECODE_ADD_UCS_CHAR' to
5354         decode JIS-Latin.
5355
5356 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
5357
5358         * text-coding.c (encode_coding_sjis): Deleted.
5359         (char_encode_shift_jis): New function.
5360         (char_finish_shift_jis): New function.
5361         (reset_encoding_stream): Set up `encode_char' and `finish' for
5362         `CODESYS_UCS4' and `CODESYS_SHIFT_JIS'.
5363         (mule_encode): Use generic encoder for `CODESYS_SHIFT_JIS'.
5364         (char_encode_utf8): Treat `eol_type'.
5365
5366 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
5367
5368         * file-coding.c (decode_coding_iso2022): Use
5369         `DECODE_ADD_UCS_CHAR'; don't use `XCHARSET_REP_BYTES'.
5370
5371 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
5372
5373         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
5374         to 0.7 (Hirano).
5375
5376 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
5377
5378         * char-lb.h (CHAR_COLUMNS): New macro.
5379
5380 1999-09-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
5381
5382         * text-coding.c (char_encode_ucs4): New function.
5383         (char_finish_ucs4): New function.
5384         (encode_coding_ucs4): Deleted.
5385         (mule_encode): Use generic encoder for `CODESYS_UCS4'.
5386         (text_encode_generic): Delete local variable `charset' and `half'.
5387         (ucs_to_mule_table): Deleted.
5388         (mule_to_ucs_table): Deleted.
5389         (Fset_ucs_char): Deleted.
5390         (ucs_to_char): Deleted.
5391         (Fucs_char): Deleted.
5392         (Fset_char_ucs): Deleted.
5393         (Fchar_ucs): Deleted.
5394         (decode_ucs4): Deleted.
5395         (mule_char_to_ucs4): Deleted.
5396         (encode_ucs4): Deleted.
5397         (decode_coding_ucs4): Use `DECODE_ADD_UCS_CHAR'.
5398         (decode_coding_utf8): Likewise.
5399         (decode_coding_iso2022): Likewise; don't use `XCHARSET_REP_BYTES'.
5400         (char_encode_iso2022): Fixed.
5401         (syms_of_file_coding): Delete `Fset_ucs_char', `Fucs_char',
5402         `Fset_char_ucs' and `Fchar_ucs'.
5403         (complex_vars_of_file_coding): Don't initialize
5404         `ucs_to_mule_table'.
5405
5406         * objects-tty.c (tty_initialize_font_instance): Don't use
5407         `XCHARSET_COLUMNS'.
5408
5409         * mule-charset.c (make_charset): Don't set up CHARSET_REP_BYTES in
5410         UTF-2000.
5411
5412         * redisplay-tty.c (tty_output_display_block): Use `CHAR_COLUMNS'
5413         instead of `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
5414
5415         * insdel.c (bufbyte_string_displayed_columns): Use `CHAR_COLUMNS'
5416         instead of `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
5417         (emchar_string_displayed_columns): Likewise.
5418
5419         * indent.c (column_at_point): Use `CHAR_COLUMNS' instead of
5420         `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
5421         (string_column_at_point): Likewise.
5422         (Fmove_to_column): Likewise.
5423
5424         * char-ucs.h (struct Lisp_Charset): Delete `rep_bytes'; add
5425         `encoding_table' and `decoding_table'.
5426         (CHARSET_REP_BYTES): Deleted.
5427         (XCHARSET_REP_BYTES): Deleted.
5428         (XCHARSET_COLUMNS): Deleted.
5429         (CHAR_COLUMNS): New macro.
5430         (lookup_composite_char): Deleted unconditionally.
5431         (composite_char_string): Likewise.
5432
5433 1999-09-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
5434
5435         * char-ucs.h (Emchar_to_byte_table): New type.
5436         (get_byte_from_character_table): New function interface.
5437         (Vcharset_latin_jisx0201): New variable.
5438         (latin_jisx0201_to_ucs): New variable.
5439         (ucs_to_latin_jisx0201): New variable.
5440         (Vcharset_latin_iso8859_2): New variable.
5441         (latin_iso8859_2_to_ucs): New variable.
5442         (ucs_to_latin_iso8859_2): New variable.
5443         (Vcharset_latin_iso8859_3): New variable.
5444         (latin_iso8859_3_to_ucs): New variable.
5445         (ucs_to_latin_iso8859_3): New variable.
5446         (Vcharset_latin_iso8859_4): New variable.
5447         (latin_iso8859_4_to_ucs): New variable.
5448         (ucs_to_latin_iso8859_4): New variable.
5449         (Vcharset_latin_iso8859_9): New variable.
5450         (latin_iso8859_9_to_ucs): New variable.
5451         (ucs_to_latin_iso8859_9): New variable.
5452         (Vcharset_latin_viscii_lower): New variable.
5453         (latin_viscii_lower_to_ucs): New variable.
5454         (ucs_to_latin_viscii_lower): New variable.
5455         (Vcharset_latin_viscii_upper): New variable.
5456         (latin_viscii_upper_to_ucs): New variable.
5457         (ucs_to_latin_viscii_upper): New variable.
5458         (CHARSET_ID_OFFSET_94): Changed from 0x60 to 0x55.
5459         (LEADING_BYTE_LATIN_VISCII_LOWER): New macro.
5460         (LEADING_BYTE_LATIN_VISCII_UPPER): New macro.
5461         (MAKE_CHAR): Map `latin-iso8859-2', `latin-iso8859-3',
5462         `latin-iso8859-4', `latin-iso8859-9', `latin-jisx0201',
5463         `vietnamese-viscii-lower' and `vietnamese-viscii-upper' to BMP.
5464         (breakup_char_1): Use `ucs_to_latin_iso8859_2',
5465         `ucs_to_latin_iso8859_3', `ucs_to_latin_iso8859_4',
5466         `ucs_to_latin_iso8859_9', `ucs_to_latin_viscii_lower',
5467         `ucs_to_latin_viscii_upper' and `ucs_to_latin_jisx0201' tables.
5468
5469         * mule-charset.c (Vcharset_latin_viscii_lower): New variable.
5470         (Vcharset_latin_viscii_upper): New variable.
5471         (make_byte_from_character_table): New function.
5472         (put_byte_from_character_table): New function.
5473         (get_byte_from_character_table): New function.
5474         (CHAR96): New macro.
5475         (ucs_to_latin_jisx0201): New variable.
5476         (latin_jisx0201_to_ucs): New variable.
5477         (ucs_to_latin_iso8859_2): New variable.
5478         (latin_iso8859_2_to_ucs): New variable.
5479         (ucs_to_latin_iso8859_3): New variable.
5480         (latin_iso8859_3_to_ucs): New variable.
5481         (ucs_to_latin_iso8859_4): New variable.
5482         (latin_iso8859_4_to_ucs): New variable.
5483         (ucs_to_latin_iso8859_9): New variable.
5484         (latin_iso8859_9_to_ucs): New variable.
5485         (ucs_to_latin_viscii_lower): New variable.
5486         (latin_viscii_lower_to_ucs): New variable.
5487         (ucs_to_latin_viscii_upper): New variable.
5488         (latin_viscii_upper_to_ucs): New variable.
5489         (ucs_to_latin_tcvn5712): New variable.
5490         (latin_tcvn5712_to_ucs): New variable.
5491         (Qlatin_viscii_lower): New variable.
5492         (Qlatin_viscii_upper): New variable.
5493         (syms_of_mule_charset): Set up new symbol
5494         `vietnamese-viscii-lower' and `vietnamese-viscii-upper'.
5495         (complex_vars_of_mule_charset): Set up new charset
5496         `vietnamese-viscii-lower' and `vietnamese-viscii-upper'; new macro
5497         `GENERATE_94_SET' and `GENERATE_96_SET'; use them to generate
5498         `ucs_to_<CHARSET>' tables.
5499
5500 1999-09-08  MORIOKA Tomohiko  <tomo@etl.go.jp>
5501
5502         * text-coding.c: New file.
5503
5504 1999-09-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
5505
5506         * mule-charset.c (Fmake_char): Fix problem of 256-set.
5507
5508         * char-ucs.h (Vcharset_ucs_bmp): New variable.
5509         (MAKE_CHAR): Modify for `ucs-bmp'.
5510         (breakup_char_1): Return `ucs-bmp' and code point of BMP for
5511         non-MULE characters of BMP.
5512
5513 1999-09-06  MORIOKA Tomohiko  <tomo@etl.go.jp>
5514
5515         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
5516         to 0.6.
5517
5518 1999-09-05  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5519
5520         * lstream.h:
5521         - Include multibyte.h instead of character.h for `BYTE_ASCII_P'.
5522         - Include character.h for `CHAR_ASCII_P'.
5523
5524         * mb-multibyte.h (CHAR_MULTIBYTE_P): Moved from mule-charset.h.
5525
5526         * mule-charset.h (CHAR_MULTIBYTE_P): Moved to mb-multibyte.h.
5527         (CHAR_ASCII_P): Don't use `CHAR_MULTIBYTE_P'.
5528
5529         * mb-multibyte.h (BYTE_ASCII_P): Moved from char-ucs.h.
5530         (BYTE_C0_P): Likewise.
5531         (BYTE_C1_P): Likewise.
5532         (Lstream_get_emchar_1): Likewise.
5533         (Lstream_fput_emchar): Likewise.
5534         (Lstream_funget_emchar): Likewise.
5535         (copy_internal_to_external): Likewise.
5536         (copy_external_to_internal): Likewise.
5537
5538         * char-ucs.h (BYTE_ASCII_P): Moved to mb-multibyte.h.
5539         (BYTE_C0_P): Likewise.
5540         (BYTE_C1_P): Likewise.
5541         (Lstream_get_emchar_1): Likewise.
5542         (Lstream_fput_emchar): Likewise.
5543         (Lstream_funget_emchar): Likewise.
5544         (copy_internal_to_external): Likewise.
5545         (copy_external_to_internal): Likewise.
5546
5547         * mb-1byte.h (BYTE_ASCII_P): Moved from buffer.h.
5548         (REP_BYTES_BY_FIRST_BYTE): Likewise.
5549
5550         * buffer.h (REP_BYTES_BY_FIRST_BYTE): Moved to mb-1byte.h.
5551         (BYTE_ASCII_P): Moved to mb-1byte.h.
5552
5553 1999-09-04  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5554
5555         * mb-utf-8.h, mb-lb.h: Include mb-multibyte.h.
5556
5557         * multibyte.h: Include mb-1byte.h in unibyte-XEmacs.
5558         (MAX_EMCHAR_LEN): Moved to mb-1byte.h.
5559         (VALID_CHARPTR_P): Moved to mb-*byte.h.
5560         (VALIDATE_CHARPTR_BACKWARD): Likewise.
5561         (VALIDATE_CHARPTR_FORWARD): Likewise.
5562         (simple_charptr_emchar): Moved to mb-multibyte.h.
5563         (simple_set_charptr_emchar): Likewise.
5564         (simple_charptr_copy_char): Likewise.
5565         (non_ascii_charptr_emchar): Likewise.
5566         (non_ascii_set_charptr_emchar): Likewise.
5567         (non_ascii_charptr_copy_char): Likewise.
5568         (charptr_emchar): Moved to mb-*byte.h.
5569         (set_charptr_emchar): Likewise.
5570         (charptr_copy_char): Likewise.
5571
5572         * mb-1byte.h, mb-multibyte.h: New files.
5573
5574 1999-09-03  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5575
5576         * mb-utf-8.h (MULTIBYTE): New macro.
5577         (MAX_EMCHAR_LEN): Moved from buffer.h.
5578         (REP_BYTES_BY_FIRST_BYTE): Moved from char-ucs.h.
5579
5580         * char-ucs.h (REP_BYTES_BY_FIRST_BYTE): Moved to mb-utf-8.h.
5581
5582         * mb-lb.h, multibyte.h: New files.
5583
5584         * char-1byte.h (Charset_ID): Moved from buffer.h.
5585         (MIN_LEADING_BYTE): Likewise.
5586         (LEADING_BYTE_ASCII): Likewise.
5587         (NUM_LEADING_BYTES): Likewise.
5588         (CHARSETP): Likewise.
5589         (CHARSET_BY_LEADING_BYTE): Likewise.
5590         (XCHARSET_LEADING_BYTE): Likewise.
5591         (XCHARSET_GRAPHIC): Likewise.
5592         (XCHARSET_COLUMNS): Likewise.
5593         (XCHARSET_DIMENSION): Likewise.
5594         (CHAR_CHARSET): Likewise.
5595         (CHAR_LEADING_BYTE): Likewise.
5596         (BREAKUP_CHAR): Likewise.
5597         (Vcharset_ascii): Likewise.
5598
5599         * buffer.h: Include multibyte.h unconditionally.
5600         (VALID_CHARPTR_P): Moved to multibyte.h.
5601         (ASSERT_VALID_CHARPTR): Likewise.
5602         (REAL_INC_CHARPTR): Likewise.
5603         (REAL_INC_CHARBYTIND): Likewise.
5604         (REAL_DEC_CHARPTR): Likewise.
5605         (INC_CHARPTR): Likewise.
5606         (INC_CHARBYTIND): Likewise.
5607         (DEC_CHARPTR): Likewise.
5608         (VALIDATE_CHARPTR_BACKWARD): Likewise.
5609         (VALIDATE_CHARPTR_FORWARD): Likewise.
5610         (charptr_n_addr): Likewise.
5611         (MAX_EMCHAR_LEN): Moved to mb-*.h.
5612         (simple_charptr_emchar): Moved to multibyte.h.
5613         (simple_set_charptr_emchar): Likewise.
5614         (simple_charptr_copy_char): Likewise.
5615         (non_ascii_charptr_emchar): Likewise.
5616         (non_ascii_set_charptr_emchar): Likewise.
5617         (non_ascii_charptr_copy_char): Likewise.
5618         (charptr_emchar): Likewise.
5619         (set_charptr_emchar): Likewise.
5620         (charptr_copy_char): Likewise.
5621         (charptr_emchar_n): Likewise.
5622         (Charset_ID): Moved to char-1byte.h.
5623         (Vcharset_ascii): Likewise.
5624         (CHAR_CHARSET): Likewise.
5625         (CHAR_LEADING_BYTE): Likewise.
5626         (LEADING_BYTE_ASCII): Likewise.
5627         (NUM_LEADING_BYTES): Likewise.
5628         (MIN_LEADING_BYTE): Likewise.
5629         (CHARSETP): Likewise.
5630         (CHARSET_BY_LEADING_BYTE): Likewise.
5631         (XCHARSET_LEADING_BYTE): Likewise.
5632         (XCHARSET_GRAPHIC): Likewise.
5633         (XCHARSET_COLUMNS): Likewise.
5634         (XCHARSET_DIMENSION): Likewise.
5635         (BREAKUP_CHAR): Likewise.
5636
5637 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5638
5639         * character.h: Add document about interface for characters.
5640
5641         * char-ucs.h (CHAR_ASCII_P): Modify name of argument.
5642         (MAKE_CHAR): Delete comment about
5643         `FIELD2_TO_OFFICIAL_LEADING_BYTE' and
5644         `FIELD2_TO_PRIVATE_LEADING_BYTE'.
5645         (BREAKUP_CHAR): Modify name of arguments.
5646         (CHAR_CHARSET): Modify name of argument.
5647
5648         * buffer.h: Delete document about Emchar accessors.
5649
5650 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5651
5652         * character.h (CHAR_INTP): Moved from buffer.h
5653         (CHAR_OR_CHAR_INTP): Likewise.
5654         (XCHAR_OR_CHAR_INT): Likewise.
5655         (CHECK_CHAR_COERCE_INT): Likewise.
5656
5657         * buffer.h (CHAR_INTP): Moved to character.h
5658         (CHAR_OR_CHAR_INTP): Likewise.
5659         (XCHAR_OR_CHAR_INT): Likewise.
5660         (CHECK_CHAR_COERCE_INT): Likewise.
5661
5662 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5663
5664         * character.h:
5665         - Move definitions about UCS-2000 (UCS-4) to char-ucs.h.
5666         - Include char-1byte.h, char-lb.h or char-ucs.h.
5667
5668         * mb-utf-8.h (CHAR_ASCII_P): Moved to char-ucs.h.
5669
5670         * buffer.h: Include character unconditionally.
5671         (valid_char_p): Moved to char-*.h.
5672         (non_ascii_valid_char_p): Moved to char-lb.h.
5673
5674         * char-1byte.h, char-lb.h, char-ucs.h: New files.
5675
5676 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5677
5678         * mule-ccl.c (ccl_driver): Don't define `CCL_WriteMultibyteChar2'
5679         in UTF-2000 because it is not ported yet and not to use
5680         `FIELD2_TO_OFFICIAL_LEADING_BYTE', `MIN_LEADING_BYTE_OFFICIAL_2',
5681         `FIELD1_TO_OFFICIAL_LEADING_BYTE' and
5682         `FIELD1_TO_PRIVATE_LEADING_BYTE'.
5683
5684         * mb-utf-8.h (CHAR_MULTIBYTE_P): Moved from character.h.
5685         (CHAR_ASCII_P): Moved from character.h.
5686
5687         * character.h (CHAR_MULTIBYTE_P): Moved to mb-utf-8.h.
5688         (CHAR_ASCII_P): Likewise.
5689         (CHAR_FIELD1_MASK): Deleted.
5690         (CHAR_FIELD2_MASK): Deleted.
5691         (CHAR_FIELD3_MASK): Deleted.
5692         (MAX_CHAR_BASIC_LATIN): New macro.
5693         (CHAR_FIELD1): Deleted.
5694         (CHAR_FIELD2_INTERNAL): Deleted.
5695         (CHAR_FIELD3_INTERNAL): Deleted.
5696         (FIELD1_TO_PRIVATE_LEADING_BYTE): Deleted.
5697         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Deleted.
5698         (FIELD2_TO_PRIVATE_LEADING_BYTE): Deleted.
5699         (FIELD2_TO_OFFICIAL_LEADING_BYTE): Deleted.
5700         (MIN_CHAR_FIELD1_OFFICIAL): Deleted.
5701         (MAX_CHAR_FIELD1_OFFICIAL): Deleted.
5702         (MIN_CHAR_FIELD2_PRIVATE): Deleted.
5703         (MAX_CHAR_FIELD2_PRIVATE): Deleted.
5704         (MIN_CHAR_FIELD1_PRIVATE): Deleted.
5705         (MAX_CHAR_FIELD1_PRIVATE): Deleted.
5706         (MULE_CHAR_PRIVATE_OFFSET): Deleted.
5707         (MIN_CHAR_PRIVATE_TYPE9N): Deleted.
5708         (MAX_CHAR_PRIVATE_TYPE9N): Deleted.
5709         (MIN_CHAR_PRIVATE_TYPE9NX9N): Deleted.
5710         (MIN_CHAR_OFFICIAL_TYPE9NX9N): Deleted.
5711         (MIN_CHAR_COMPOSITION): Deleted.
5712         (breakup_char_1): Use `MAX_CHAR_BASIC_LATIN' instead of
5713         `CHAR_ASCII_P'; use `0x7f' instead of `CHAR_FIELD3_INTERNAL'.
5714
5715 1999-09-02  MORIOKA Tomohiko  <tomo@m17n.org>
5716
5717         * buffer.h: Include mb-utf-8.h in UTF-2000.
5718
5719         * character.h (BUFBYTE_FIRST_BYTE_P): Moved to mb-utf-8.h.
5720
5721         * mb-utf-8.h: New file.
5722
5723 1999-09-02  MORIOKA Tomohiko  <tomo@etl.go.jp>
5724
5725         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use `Charset_ID'
5726         instead of `int'.
5727
5728         * mule-charset.h, buffer.h (Charset_ID): New type.
5729
5730 1999-09-01  MORIOKA Tomohiko  <tomo@etl.go.jp>
5731
5732         * mule-canna.c (c2mu): Use `MAKE_CHAR',
5733         `Vcharset_japanese_jisx0212' and `Vcharset_japanese_jisx0208'
5734         instead of `MULE_CHAR_PRIVATE_OFFSET',
5735         `LEADING_BYTE_JAPANESE_JISX0212', `LEADING_BYTE_JAPANESE_JISX0208'
5736         and `FIELD1_TO_OFFICIAL_LEADING_BYTE'.
5737         (m2c): Use `BREAKUP_CHAR' and `XCHARSET_FINAL'.
5738
5739         * character.h (Vcharset_japanese_jisx0212): New variable
5740         definition.
5741
5742 1999-09-01  MORIOKA Tomohiko  <tomo@etl.go.jp>
5743
5744         * mule-charset.c (Vcharset_ucs_bmp): New variable in UTF-2000.
5745         (charset_by_attributes): Delete array about direction.
5746         (latin_a_char_to_charset): New variable in UTF-2000.
5747         (latin_a_char_to_byte1): New variable in UTF-2000.
5748         (latin_a_char_to_byte2): New variable in UTF-2000.
5749         (Qucs_bmp): New variable.
5750         (next_allocated_1_byte_leading_byte): Use `Charset_ID' instead of
5751         `Bufbyte'.
5752         (next_allocated_2_byte_leading_byte): Likewise.
5753         (non_ascii_set_charptr_emchar): Likewise.
5754         (make_charset): Likewise; add `CHARSET_TYPE_128X128' and
5755         `CHARSET_TYPE_256X256' in UTF-2000; modify for
5756         `charset_by_attributes'.
5757         (get_unallocated_leading_byte): Use `Charset_ID' instead of `int'.
5758         (char-charset): Use `CHAR_CHARSET' instead of `CHAR_LEADING_BYTE'
5759         and `CHARSET_BY_LEADING_BYTE'.
5760         (syms_of_mule_charset): Set up `ucs-bmp'; move setting of
5761         `utf-2000-version' to `vars_of_mule_charset'.
5762         (vars_of_mule_charset): Modify for `charset_by_attributes'; don't
5763         define `leading-code-private-11' in UTF-2000; move setting of
5764         `utf-2000-version' from `syms_of_mule_charset'.
5765         (complex_vars_of_mule_charset): Set up charset `ucs-bmp' in
5766         UTF-2000.
5767
5768         * character.h (Charset_ID): New type.
5769         (LEADING_BYTE_UCS_BMP): New macro.
5770         (LEADING_BYTE_CONTROL_1): Changed from 0x8F to 0x81.
5771         (CHARSET_ID_OFFSET_94): New macro.
5772         (MIN_CHARSET_ID_PRIVATE_94): New macro.
5773         (MAX_CHARSET_ID_PRIVATE_94): New macro.
5774         (LEADING_BYTE_ASCII): Changed to use CHARSET_ID_OFFSET_94 and
5775         final-byte.
5776         (LEADING_BYTE_KATAKANA_JISX0201): Likewise.
5777         (LEADING_BYTE_LATIN_JISX0201): Likewise.
5778         (CHARSET_ID_OFFSET_96): New macro.
5779         (LEADING_BYTE_LATIN_ISO8859_1): Changed to use
5780         CHARSET_ID_OFFSET_96 and final-byte.
5781         (LEADING_BYTE_LATIN_ISO8859_2): Likewise.
5782         (LEADING_BYTE_LATIN_ISO8859_3): Likewise.
5783         (LEADING_BYTE_LATIN_ISO8859_4): Likewise.
5784         (LEADING_BYTE_GREEK_ISO8859_7): Likewise.
5785         (LEADING_BYTE_ARABIC_ISO8859_6): Likewise.
5786         (LEADING_BYTE_HEBREW_ISO8859_8): Likewise.
5787         (LEADING_BYTE_CYRILLIC_ISO8859_5): Likewise.
5788         (LEADING_BYTE_LATIN_ISO8859_9): Likewise.
5789         (LEADING_BYTE_THAI_TIS620): Likewise.
5790         (MIN_LEADING_BYTE_PRIVATE_1): Changed from 0x0D0 to 0xD0.
5791         (MAX_LEADING_BYTE_PRIVATE_1): Changed from 0x11f to 0xDF.
5792         (CHARSET_ID_OFFSET_94x94): New macro.
5793         (LEADING_BYTE_CHINESE_BIG5_1): Changed to use
5794         CHARSET_ID_OFFSET_94x94 and final-byte.
5795         (LEADING_BYTE_CHINESE_BIG5_2): Likewise.
5796         (MIN_LEADING_BYTE_PRIVATE_2): Likewise.
5797         (MAX_LEADING_BYTE_PRIVATE_2): Likewise.
5798         (LEADING_BYTE_JAPANESE_JISX0208_1978): Likewise.
5799         (LEADING_BYTE_CHINESE_GB2312): Likewise.
5800         (LEADING_BYTE_JAPANESE_JISX0208): Likewise.
5801         (LEADING_BYTE_KOREAN_KSC5601): Likewise.
5802         (LEADING_BYTE_JAPANESE_JISX0212): Likewise.
5803         (LEADING_BYTE_CHINESE_CCITT_GB): Likewise.
5804         (LEADING_BYTE_CHINESE_CNS11643_*): Likewise.
5805         (LEADING_BYTE_KOREAN_KPS9566): Likewise.
5806         (CHARSET_TYPE_128X128): New macro.
5807         (CHARSET_TYPE_256X256): New macro.
5808         (XCHARSET_PRIVATE_P): Delete unconditionally.
5809         (charset_by_attributes): Delete array about direction.
5810         (CHARSET_BY_LEADING_BYTE): Use `Charset_ID' instead of `int'.
5811         (CHARSET_BY_ATTRIBUTES): Modify for `charset_by_attributes'.
5812         (MIN_CHAR_94): New macro.
5813         (MAX_CHAR_94): New macro.
5814         (MIN_CHAR_96): New macro.
5815         (MAX_CHAR_96): New macro.
5816         (MIN_CHAR_94x94): New macro.
5817         (MAX_CHAR_94x94): New macro.
5818         (MIN_CHAR_96x96): New macro.
5819         (MAX_CHAR_96x96): New macro.
5820         (FIELD1_TO_PRIVATE_LEADING_BYTE): Use `CHARSET_ID_OFFSET_94x94'.
5821         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Likewise.
5822         (FIELD2_TO_PRIVATE_LEADING_BYTE): Use `(MIN_LEADING_BYTE_PRIVATE_1
5823         - 32)'.
5824         (FIELD2_TO_OFFICIAL_LEADING_BYTE): Use `LEADING_BYTE_ASCII'.
5825         (MIN_CHAR_FIELD2_OFFICIAL): Deleted.
5826         (MAX_CHAR_FIELD2_OFFICIAL): Deleted.
5827         (MIN_CHAR_OFFICIAL_TYPE9N): Deleted.
5828         (MAX_CHAR_PRIVATE_TYPE9N): Changed.
5829         (MAKE_CHAR): Use `XCHARSET_FINAL' instead of
5830         `XCHARSET_LEADING_BYTE' to make code-point.
5831         (latin_a_char_to_charset): New variable.
5832         (latin_a_char_to_byte1): New variable.
5833         (latin_a_char_to_byte2): New variable.
5834         (breakup_char_1): Use `latin_a_char_to_{charset|byte1|byte2}' for
5835         Latin Extended-A; use `CHARSET_BY_ATTRIBUTES' instead of
5836         `CHARSET_BY_LEADING_BYTE' to get charset for ISO-2022 characters.
5837
5838         * insdel.c (find_charsets_in_bufbyte_string): Use `Charset_ID'
5839         instead of `unsigned char'; use `MIN_LEADING_BYTE' instead of 128.
5840         (find_charsets_in_emchar_string): Likewise.
5841         (vars_of_insdel): Don't define local variable `i' in UTF-2000.
5842
5843         * file-coding.c (Fdecode_big5_char): Use `Charset_ID' instead of
5844         `int'.
5845         (decode_coding_iso2022): Likewise.
5846
5847         * toolbar-x.c (x_output_toolbar_button): Use `Charset_ID' instead
5848         of `unsigned char'.
5849
5850         * redisplay.c (redisplay_text_width_emchar_string): Use
5851         `Charset_ID' instead of `unsigned char'.
5852         (redisplay_frame_text_width_string): Likewise.
5853
5854         * glyphs.c (glyph_height_internal): Use `Charset_ID' instead of
5855         `unsigned char'.
5856
5857         * faces.h, faces.c (ensure_face_cachel_complete): Use `Charset_ID'
5858         instead of `unsigned char'.
5859         (face_cachel_charset_font_metric_info): Likewise.
5860
5861         * chartab.c (print_char_table): Use `Charset_ID' instead of `int'.
5862         (get_non_ascii_char_table_value): Likewise.
5863         (get_char_table): Likewise.
5864         (put_char_table): Likewise.
5865         (map_over_other_charset): Likewise.
5866         (map_char_table): Likewise.
5867
5868         * buffer.h (find_charsets_in_bufbyte_string): Use `Charset_ID'
5869         instead of `unsigned char'.
5870
5871 1999-08-31  MORIOKA Tomohiko  <tomo@etl.go.jp>
5872
5873         * character.h (PRE_LEADING_BYTE_PRIVATE_1): Deleted.
5874         (PRE_LEADING_BYTE_PRIVATE_2): Deleted.
5875
5876         * mule-charset.c (leading_code_private_11): Don't define in
5877         UTF-2000.
5878
5879         * mule-ccl.c (ccl_driver): Don't define `CCL_ReadMultibyteChar2'
5880         in UTF-2000 because it is not ported yet and not to use
5881         `PRE_LEADING_BYTE_PRIVATE_1' and `PRE_LEADING_BYTE_PRIVATE_2'.
5882
5883 1999-08-30  MORIOKA Tomohiko  <tomo@etl.go.jp>
5884
5885         * character.h (LEADING_BYTE_COMPOSITE): Deleted.
5886
5887 1999-08-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
5888
5889         * regex.c (re_compile_fastmap): Don't use `LEADING_BYTE_PREFIX_P'
5890         in UTF-2000.
5891
5892         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use int instead
5893         of unsigned char to store leading-byte.
5894
5895         * chartab.c (get_non_ascii_char_table_value): Don't use
5896         `BREAKUP_CHAR_1_UNSAFE' in UTF-2000.
5897
5898         * file-coding.c (encode_coding_big5): Delete bogus implementation
5899         in UTF2000.
5900
5901         * character.h (LEADING_BYTE_*): Delete definition for
5902         non-UTF-2000.
5903         (LEADING_BYTE_PRIVATE_P): Deleted unconditionally.
5904         (LEADING_BYTE_PREFIX_P): Deleted.
5905         (PRIVATE_LEADING_BYTE_PREFIX): Deleted.
5906         (BUFBYTE_FIRST_BYTE_P): Delete definition for non-UTF-2000.
5907         (BUFBYTE_LEADING_BYTE_P): Deleted.
5908         (CHARSET_PRIVATE_P): Deleted unconditionally.
5909         (rep_bytes_by_first_byte): Deleted unconditionally.
5910         (REP_BYTES_BY_FIRST_BYTE): Delete definition for non-UTF-2000.
5911         (FIELD1_TO_PRIVATE_LEADING_BYTE): Likewise.
5912         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Likewise.
5913         (FIELD2_TO_PRIVATE_LEADING_BYTE): Likewise.
5914         (CHAR_FIELD2): Deleted.
5915         (CHAR_FIELD3): Deleted.
5916         (MAKE_CHAR): Delete definition for non-UTF-2000.
5917         (BREAKUP_CHAR_1_UNSAFE): Deleted.
5918         (breakup_char_1): New implementation.
5919         (CHAR_CHARSET): Use `BREAKUP_CHAR'.
5920         (CHAR_LEADING_BYTE): Use `CHAR_CHARSET'.
5921
5922 1999-08-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
5923
5924         * character.h (REP_BYTES_BY_FIRST_BYTE): Change order of
5925         condition.
5926
5927 1999-08-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
5928
5929         * character.h (LEADING_BYTE_PRIVATE_P): Don't define in UTF2000.
5930         (CHARSET_PRIVATE_P): Likewise.
5931         (XCHARSET_PRIVATE_P): Likewise.
5932         (MAKE_CHAR): Don't use XCHARSET_PRIVATE_P in UTF2000.
5933
5934         * file-coding.c (encode_coding_ucs4): Delete bogus implement in
5935         UTF2000.
5936         (decode_coding_iso2022): Don't use XCHARSET_PRIVATE_P in UTF2000.
5937
5938 1999-08-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
5939
5940         * character.h (LEADING_BYTE_*): Changed in UTF2000.
5941         (NUM_LEADING_BYTES): Changed from 128 to 256.
5942         (FIELD1_TO_PRIVATE_LEADING_BYTE): Change value to 0x80 in UTF2000.
5943         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Change value to 0x80 in
5944         UTF2000.
5945         (FIELD2_TO_PRIVATE_LEADING_BYTE): Change value to 0x80 in UTF2000.
5946
5947         * mule-charset.c (Vcharset_chinese_cns11643_3): New variable in
5948         UTF2000.
5949         (Vcharset_chinese_cns11643_4): New variable in UTF2000.
5950         (Vcharset_chinese_cns11643_5): New variable in UTF2000.
5951         (Vcharset_chinese_cns11643_6): New variable in UTF2000.
5952         (Vcharset_chinese_cns11643_7): New variable in UTF2000.
5953         (Qchinese_cns11643_3): New variable in UTF2000.
5954         (Qchinese_cns11643_4): New variable in UTF2000.
5955         (Qchinese_cns11643_5): New variable in UTF2000.
5956         (Qchinese_cns11643_6): New variable in UTF2000.
5957         (Qchinese_cns11643_7): New variable in UTF2000.
5958         (syms_of_mule_charset): Define `chinese-cns11643-3',
5959         `chinese-cns11643-4', `chinese-cns11643-5', `chinese-cns11643-6'
5960         and `chinese-cns11643-7' in UTF2000.
5961         (vars_of_mule_charset): Initialize
5962         next_allocated_2_byte_leading_byte by LEADING_BYTE_CHINESE_BIG5_2
5963         + 1 in UTF2000.
5964         (complex_vars_of_mule_charset): Setup charset
5965         `chinese-cns11643-3', `chinese-cns11643-4', `chinese-cns11643-5',
5966         `chinese-cns11643-6' and `chinese-cns11643-7' in UTF2000.
5967
5968 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
5969
5970         * mule-charset.c: Move setting for `leading-code-private-11' from
5971         `syms_of_mule_charset' to `vars_of_mule_charset'.
5972
5973 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
5974
5975         * mule-charset.h (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE'
5976         and `NUM_LEADING_BYTES' in assert.
5977
5978 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
5979
5980         * character.h (charset_by_leading_byte): Use `NUM_LEADING_BYTES'
5981         instead of 128.
5982         (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE' and
5983         `NUM_LEADING_BYTES' instead of 128.
5984
5985 1999-08-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
5986
5987         * mule-charset.h (charset_by_leading_byte): Use
5988         `NUM_LEADING_BYTES' instead of 128.
5989         (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE' instead of 128.
5990
5991         * mule-charset.c (charset_by_leading_byte): Use
5992         `NUM_LEADING_BYTES' instead of 128.
5993         (make_charset): Use `MIN_LEADING_BYTE' instead of 128.
5994
5995         * faces.h (FACE_CACHEL_FONT): Use `MIN_LEADING_BYTE' instead of
5996         128.
5997
5998 1999-08-25  MORIOKA Tomohiko  <tomo@etl.go.jp>
5999
6000         * mule-charset.c (syms_of_mule_charset): Update to
6001         0.4 (Shin-Imamiya).
6002
6003 1999-07-13 Daiki Ueno <ueno@ueda.info.waseda.ac.jp>
6004
6005         * file-coding.c (encode_coding_sjis): New implementation for
6006         UTF2000.  (decode_coding_sjis): Ditto.
6007
6008 1999-06-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
6009
6010         * mule-charset.c, character.h (Bytecount rep_bytes_by_first_byte):
6011         Don't define in UTF2000.
6012
6013         * character.h: Include mule-charset.h if CHAR_IS_UCS4 is not
6014         defined.
6015
6016         * redisplay-msw.c, objects-tty.c, objects-msw.c, mule-wnnfns.c,
6017         mule-ccl.c, lstream.h, buffer.h: Include character.h in every
6018         MULE.
6019
6020 1999-06-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
6021
6022         * config.h.in (CHAR_IS_UCS4): New macro.
6023
6024         * mule-charset.c (rep_bytes_by_first_byte): Modify for
6025         conventional MULE representation.
6026         (syms_of_mule_charset): Update to 0.3 (Imamiya).
6027
6028         * mule-charset.h: Reverted to original.
6029
6030         * redisplay-msw.c, objects-tty.c, objects-msw.c, mule-wnnfns.c,
6031         mule-ccl.c, lstream.h, buffer.h: Use "character.h" instead of
6032         "mule-charset.h" if CHAR_IS_UCS4 is defined.
6033
6034         * character.h: New file.
6035
6036         * file-coding.c (Fmake_coding_system): Set 1 to
6037         `codesys->fixed.size' if TYPE is `no-conversion' and UTF2000 is
6038         defined.
6039         (encode_coding_no_conversion): New implementation for UTF2000.
6040
6041         * file-coding.h (struct Lisp_Coding_System): Add new member
6042         `fixed.size'.
6043
6044 1999-06-16  MORIOKA Tomohiko  <tomo@etl.go.jp>
6045
6046         * file-coding.c (decode_coding_iso2022): Code-point arguments of
6047         `MAKE_CHAR' must be smaller than 0x80 in UTF2000.
6048         (encode_coding_iso2022): New implementation for UTF2000.
6049
6050 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
6051
6052         * mule-canna.c (c2mu): New implementation for UTF2000.
6053         (m2c): Likewise.
6054
6055 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
6056
6057         * file-coding.c (encode_coding_no_conversion): Modify for UTF2000.
6058
6059 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
6060
6061         * file-coding.c (reset_encoding_stream): Set 0 to
6062         `str->iso2022.current_char_boundary' in UTF2000.
6063         (encode_utf8): Don't define in UTF2000.
6064         (encode_coding_utf8): New implementation for UTF-8 representation
6065         of UTF2000.
6066         (complex_vars_of_file_coding): Define coding-system `utf-8'.
6067
6068 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
6069
6070         * mule.c (vars_of_mule): Provide `utf-2000' in UTF2000.
6071
6072         * mule-charset.h (BUFBYTE_FIRST_BYTE_P): Modify for UTF-8 in
6073         UTF2000.
6074         (REP_BYTES_BY_FIRST_BYTE): Likewise.
6075
6076         * buffer.h (non_ascii_valid_char_p): Don't define in UTF2000.
6077
6078         * mule-charset.c (non_ascii_set_charptr_emchar): Don't define
6079         local variables `lb', `c1', `c2' and `charset' in UTF2000; encode
6080         as UTF-8 in UTF2000.
6081         (non_ascii_charptr_emchar): Decode as UTF-8 in UTF2000.
6082         (non_ascii_valid_char_p): Don't define in UTF2000.
6083         (non_ascii_charptr_copy_char): Add case 5 and 6 in UTF2000.
6084         (Lstream_get_emchar_1): Likewise.
6085         (utf-2000-version): New variable in UTF2000.
6086
6087         * lread.c (read_escape): Add new reader `u'.
6088
6089         * insdel.c (three_to_one_table): Don't define in UTF2000.
6090         (bufpos_to_bytind_func): Use `buf->text->mule_size' instead of
6091         `buf->text->mule_shifter' and `buf->text->mule_three_p' in
6092         UTF2000.
6093         (bytind_to_bufpos_func): Likewise.
6094         (buffer_mule_signal_inserted_region): Likewise.
6095         (vars_of_insdel): Don't initialize `three_to_one_table'.
6096         (init_buffer_text): Use `buf->text->mule_size' instead of
6097         `buf->text->mule_shifter' and `buf->text->mule_three_p' in
6098         UTF2000.
6099
6100         * file-coding.c (DECODE_ADD_BINARY_CHAR): New implementation for
6101         UTF-8 representation in UTF2000.
6102         (DECODE_ADD_UCS_CHAR): New macro in UTF2000.
6103         (decode_ucs4): Use `DECODE_ADD_UCS_CHAR' in UTF2000.
6104         (decode_coding_iso2022): Don't define local variable `lb' in
6105         UTF2000; don't use LEADING_BYTE in UTF2000; use
6106         `DECODE_ADD_UCS_CHAR' in UTF2000.
6107         (convert_to_external_format): Decode as UTF-8 in UTF2000.
6108
6109         * config.h.in (UTF2000): New macro.
6110
6111         * buffer.h (struct buffer_text): Add new member `mule_size' and
6112         don't add `mule_shifter' and `mule_three_p' in UTF2000.
6113         (valid_char_p): Return always 1 in UTF2000.
6114         (MAX_EMCHAR_LEN): 6 in UTF2000.
6115         (three_to_one_table): Don't define in UTF2000.
6116         (real_bufpos_to_bytind): Modify for UTF-8 representation in
6117         UTF2000.
6118         (real_bytind_to_bufpos): Likewise.
6119
6120         * alloc.c (Fmake_string): Add case 5 and 6 for UTF2000.
6121
6122 1999-06-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
6123
6124         * mule-charset.c (rep_bytes_by_first_byte): Modified for character
6125         representation change.
6126         (Vutf_2000_version): New variable.
6127         (leading_code_private_11): New variable.
6128         (syms_of_mule_charset): Add new variables `utf-2000-version' and
6129         `leading-code-private-11'.
6130
6131         * mule-charset.h (LEADING_BYTE_CHINESE_CCITT_GB): New macro.
6132         (LEADING_BYTE_CHINESE_BIG5_1): Changed to 0x96 temporally.
6133         (LEADING_BYTE_CHINESE_CNS11643_1): Changed to 0x97.
6134         (LEADING_BYTE_CHINESE_CNS11643_2): Changed to 0x98.
6135         (LEADING_BYTE_CHINESE_CNS11643_3): New macro.
6136         (LEADING_BYTE_CHINESE_CNS11643_4): Likewise.
6137         (LEADING_BYTE_CHINESE_CNS11643_5): Likewise.
6138         (LEADING_BYTE_CHINESE_CNS11643_6): Likewise.
6139         (LEADING_BYTE_CHINESE_CNS11643_7): Likewise [but not used].
6140         (LEADING_BYTE_CHINESE_BIG5_2): Changed to 0x9D temporally.
6141         (LEADING_BYTE_KOREAN_KPS9566): New macro [but not used].
6142         (CHAR_FIELD1_MASK): Changed to (0x7F << 14).
6143         (MIN_CHAR_GREEK): New macro.
6144         (MAX_CHAR_GREEK): New macro.
6145         (MIN_CHAR_CYRILLIC): New macro.
6146         (MAX_CHAR_CYRILLIC): New macro.
6147         (MIN_CHAR_HEBREW): New macro.
6148         (MAX_CHAR_HEBREW): New macro.
6149         (MIN_CHAR_THAI): New macro.
6150         (MAX_CHAR_THAI): New macro.
6151         (MIN_CHAR_HALFWIDTH_KATAKANA): New macro.
6152         (MAX_CHAR_HALFWIDTH_KATAKANA): New macro.
6153         (CHAR_FIELD2_INTERNAL): New macro [renamed from `CHAR_FIELD2'.
6154         (CHAR_FIELD3_INTERNAL): New macro [renamed from `CHAR_FIELD3'.
6155         (FIELD1_TO_PRIVATE_LEADING_BYTE): Changed to 0xc0.
6156         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Changed to 0x50.
6157         (CHAR_FIELD2): New inline function.
6158         (CHAR_FIELD3): New inline function.
6159         (MULE_CHAR_PRIVATE_OFFSET): New macro.
6160         (MIN_CHAR_OFFICIAL_TYPE9N): Shifted to `MULE_CHAR_PRIVATE_OFFSET'.
6161         (MIN_CHAR_PRIVATE_TYPE9N): Likewise.
6162         (MIN_CHAR_PRIVATE_TYPE9NX9N): Likewise.
6163         (MIN_CHAR_OFFICIAL_TYPE9NX9N): Likewise.
6164         (MIN_CHAR_COMPOSITION): Likewise.
6165         (CHAR_LEADING_BYTE): Modified for character representation change.
6166         (MAKE_CHAR): Likewise.
6167
6168         * lisp.h (Vcharset_latin_iso8859_1): New variable.
6169         (Vcharset_greek_iso8859_7): Likewise.
6170         (Vcharset_cyrillic_iso8859_5): Likewise.
6171         (Vcharset_hebrew_iso8859_8): Likewise.
6172         (Vcharset_thai_tis620): Likewise.
6173         (Vcharset_katakana_jisx0201): Likewise.
6174
6175 2008-12-28  Vin Shelton  <acs@xemacs.org>
6176
6177         * XEmacs 21.4.22 is released
6178
6179 2008-12-27  Vin Shelton  <acs@xemacs.org>
6180
6181         * syswindows.h: Don't define wide character interfaces for Cygwin
6182         1.7 and up.
6183
6184 2008-03-05  Dominique Quatravaux  <domq@cpan.org>
6185
6186         * glyphs-gtk.c: Fixed compilation under gcc 4.x.
6187
6188 2008-11-01  Stephen J. Turnbull  <stephen@xemacs.org>
6189
6190         * regex.c (re_search_2): Fix at_dot by changing charpos to bytepos.
6191         From Julian Bradfield <18654.1143.304851.782755@krk.inf.ed.ac.uk>.
6192
6193 2008-12-25  Vin Shelton  <acs@xemacs.org>
6194
6195         * mule-ccl.c (ccl_driver): Fix off-by-one error.
6196         By Julian Bradfield in
6197         <18691.16568.526264.972026@krk.inf.ed.ac.uk>.
6198
6199         * mule-ccl.c (ccl_driver): 
6200
6201 2007-10-07  Vin Shelton  <acs@xemacs.org>
6202
6203         * XEmacs 21.4.21 is released
6204
6205 2007-08-14  Marcus Crestani  <crestani@xemacs.org>
6206
6207         * s/sol2.h: Fix for GCC lossage not needed with SunOS 5.10.
6208
6209 2007-02-17  Stephen J. Turnbull  <stephen@xemacs.org>
6210
6211         * glyphs-eimage.c (png_instantiate_unwind): Avoid recursion.
6212         (png_instantiate): Initialize setjmp_buffer early, and avoid
6213         recursive entry to error handler.
6214
6215 2007-06-23  Stephen J. Turnbull  <stephen@xemacs.org>
6216
6217         * linuxplay.c (linux_play_data_or_file): More 64-bit tweaking, and
6218         a typo fix.
6219
6220 2007-05-12  Aidan Kehoe  <kehoea@parhasard.net>
6221
6222         * event-Xt.c (x_reset_modifier_mapping):
6223         * event-gtk.c (gtk_reset_modifier_mapping):
6224         Zero out the device's modifier map once we've freed it, to prevent
6225         a double free on a re-entrant call. 
6226
6227 2007-05-17  Vin Shelton  <acs@xemacs.org>
6228
6229         * linuxplay.c (linux_play_data_or_file): Fix playing sound on
6230         64-bit linux.  Patch from Hans de Graaff.
6231
6232 2007-05-02  Vin Shelton  <acs@xemacs.org>
6233
6234         * dumper.c (pdump): Don't close pdump_fd (already closed by
6235         fclose() call.  Patch from Steve Higham.
6236         * callproc.c (Fold_call_process_internal): Don't close fd1 if it's
6237         already closed.  Patch inspired by Steve Higham.
6238
6239 2007-05-01  Vin Shelton  <acs@xemacs.org>
6240
6241         * nt.c (mswindows_stat): Tie _S_IEXEC permission to read access.
6242         (mswindows_fstat): Ditto.
6243         * sysfile.h: Under Windows, define X_OK to be the same as R_OK.
6244
6245 2007-02-08  Adrian Aichner  <adrian@xemacs.org>
6246
6247         * postgresql.c: Update Steve Baur's email address by his request.
6248         * postgresql.h: Ditto.
6249
6250 2007-01-04  Vin Shelton  <acs@xemacs.org>
6251
6252         * fileio.c (check_writable): Check old-style readonly bit only for
6253         non-directories.
6254
6255 2006-12-25  Benson I. Margulies  <benson@dchbk.us>
6256
6257         * src/fileio.c (check_writable): 
6258         Cope with the fact that the read-only attribute trumps Windows NTFS
6259         ACLS.
6260
6261
6262 2006-12-09  Vin Shelton  <acs@xemacs.org>
6263
6264         * XEmacs 21.4.20 is released
6265
6266 2006-12-08  Nelson Ferreira  <njsf@sxemacs.org>
6267
6268         * src/fns.c (XMALLOC_OR_ALLOCA,free_malloced_ptr,XMALLOC_UNBIND):
6269         relocated the definitions to be used sooner in file.
6270         (concat,plists_differ,mapcar1,Fmapconcat,Fmapcar): Use
6271         XMALLOC_OR_ALLOCA macro instead of alloca to prevent stack
6272         overflow.
6273
6274 2006-11-29  Aidan Kehoe  <kehoea@parhasard.net>
6275
6276         * sound.c (init_native_sound):
6277         Only X11 and GTK devices can possibly not be on the console of the
6278         associated machine. Fixes a crash when init_native_sound is called
6279         on a msprinter device. 
6280
6281 2006-11-14  Stephen J. Turnbull  <stephen@xemacs.org>
6282
6283         * buffer.c (buffer-file-name): Document invariant.
6284         (buffer-file-truename): Sync wording to buffer-file-name.
6285         Thanks to Nelson Ferreira <nelson.ferreira@ieee.org> for report
6286         and discussion.
6287
6288 2006-11-19  Benson Margulies  <benson@dchbk.us>
6289
6290         * fileio.c: Add code to use full Win32 API to check for write
6291         access.  Win32 has the general design policy that you aren't
6292         supposed to ask this question, since security checks change
6293         depending on asynchronous processes.  Nonetheless, there is a way,
6294         by acting as if we are a server doing interpretive access
6295         control.
6296
6297 2006-07-31  Aidan Kehoe <kehoea@parhasard.net>
6298
6299         * bytecode.c: Use xnew_array instead of alloca.
6300
6301 2006-07-04  Vin Shelton  <acs@xemacs.org>
6302
6303         * redisplay-msw.c: Fix tiny, but crucial typo.
6304
6305 2006-06-22  Jerry James  <james@xemacs.org>
6306
6307         * EmacsShell-sub.c (ChangeManaged):
6308         * device-x.c (x_IO_error_handler): Do not dereference d if it is
6309         NULL.
6310         * dgif_lib.c (DGifCloseFile): Do not dereference GifFile before
6311         checking if it is NULL.  Also fix a memory leak.
6312         * dialog-x.c (dbox_selection_callback): Ensure f is non-NULL, then
6313         dereference it, not the other way around.
6314         * dumper.c (pdump_register_object): Fix off-by-one array bounds
6315         overflow check.
6316         * dumper.c (pdump_register_struct): Ditto.
6317         * editfns.c (Ftemp_directory): Don't let a copy from (long) path
6318         to (short) warnpath overflow warnpath.
6319         * extents.c (detach_all_extents): Call extent_list_delete_all with
6320         a non-NULL parameter only.
6321         * glyphs-widget.c (widget_query_geometry): Guard against possibly
6322         NULL width and height.
6323         * input-method-xlib.c (XIM_SetGeometry): Do not dereference f or
6324         xic before checking if they are NULL.
6325         * keymap.c (where_is_recursive_mapper): Don't throw away the newly
6326         allocated array.
6327         * md5.c (Fmd5): Check whether Lstream_read encountered an error.
6328         * nas.c (Err): Fix a memory leak.
6329         * redisplay-gtk.c (gtk_output_display_block): Fix a Dynarr leak.
6330         Don't create the buffer if there is nothing to do.
6331         * redisplay-msw.c (mswindows_output_display_block): Ditto.
6332         * redisplay-output.c (redisplay_output_layout): Ditto.
6333         * redisplay-tty.c (tty_output_display_block): Ditto.
6334         * redisplay-x.c (x_output_display_block): Ditto.
6335         * scrollbar-gtk.c (gtk_free_scrollbar_instance): Do not
6336         dereference instance->scrollbar_data if it is NULL.
6337         * scrollbar-x.c (x_free_scrollbar_instance): Ditto.
6338         * scrollbar-msw.c (mswindows_free_scrollbar_instance): Ditto, but
6339         for sb->scrollbar_data.
6340         * sound.c (init_native_sound): Avoid a buffer overflow by
6341         allocating a buffer with the appropriate size.
6342
6343 2006-05-08  Stephen J. Turnbull  <stephen@xemacs.org>
6344
6345         * EmacsShell-sub.c (RootGeometryManager):
6346         Change garbage to useful messages under DEBUG_GEOMETRY_MANAGEMENT.
6347         Based on a suggestion by Francois L'Archeveque.
6348
6349 2006-03-21  Malcolm Purvis  <malcolmp@xemacs.org>
6350
6351         * regex.c: Bump INIT_FAILURE_ALLOC and re_max_failures to the
6352         current values found in GNU Emacs.
6353
6354 2006-03-17  Vin Shelton  <acs@xemacs.org>
6355
6356         * dialog-msw.c (handle_directory_dialog_box): Don't declare
6357         Q_title here.  LOCAL_FILE_FORMAT_TO_TSTR requires an lvalue.
6358
6359         * glyphs-msw.c (read_bitmap_data): change 'initialized' to
6360         'hex_initialized' because it conflicts with 'initialized' in
6361         lisp.h.
6362
6363 2006-01-28  Vin Shelton  <acs@xemacs.org>
6364
6365         * XEmacs 21.4.19 is released
6366
6367 2006-01-20  Rick Rankin <rrankin1424-xemacs@yahoo.com>
6368
6369         * sysdir.h: Workaround missing d_ino field from 'struct dirent'.
6370
6371 2005-12-24  Aidan Kehoe  <kehoea@parhasard.net>
6372
6373         * objects-gtk.c (MAX_FONT_COUNT): Increase MAX_FONT_COUNT from
6374         5000 to INT_MAX.
6375
6376 2005-12-05  Dr. Volker Zell  <Dr.Volker.Zell@oracle.com>
6377
6378         * database.c: Suppress compiler warning under Cygwin.
6379         * database.c: Removed __FreeBSD__ check, should be handled by
6380         HAVE_U_xxx_T defines.
6381
6382 2005-12-18  Malcolm Purvis  <malcolmp@xemacs.org>
6383
6384         * console.c (stuff_buffered_input): Compile body only if
6385         HAVE_TTY.
6386
6387 2005-05-10  Aidan Kehoe  <kehoea@parhasard.net>
6388
6389         * callproc.c: #include sysdir.h, so that any appropriate Mule
6390         magic happens with the chdir() call when calling a subprocess. 
6391
6392 2005-12-06  Aidan Kehoe  <kehoea@parhasard.net>
6393
6394         * mule-ccl.c (POSSIBLE_LEADING_BYTE_P): Add.
6395         * mule-ccl.c: Check that a character set exists before using it
6396         to create a character. 
6397
6398 2005-12-06  Vin Shelton  <acs@xemacs.org>
6399
6400         * objects-x.c (MAX_FONT_COUNT): Increase MAX_FONT_COUNT from 5000
6401         to INT_MAX.
6402
6403 2005-12-03  Vin Shelton <acs@xemacs.org>
6404
6405         * XEmacs 21.4.18 is released
6406
6407 2005-11-27  Kean Johnston <kean@armory.com>
6408
6409         * redisplay-tty.c (set_tty_modes):
6410         (reset_tty_modes): disable auto-margins if the terminal supports
6411         them.
6412         (init_tty_for_redisplay): fix cursor shape.
6413
6414 2005-04-05  Aidan Kehoe  <kehoea@parhasard.net>
6415
6416         * mule-ccl.c (ccl_driver): Calculate the charset and position code
6417         for control-1 characters properly, both when reading multibyte
6418         characters and writing them. 
6419
6420 2005-03-12  Aidan Kehoe  <kehoea@parhasard.net>
6421
6422         * config.h.in: Make HAVE_XTREGISTERDRAWABLE available. 
6423         * select-x.c (x_reply_selection_request): Use it; fix the bug we
6424         were seeing with incremental selection transfer failing. 
6425
6426 2005-11-26  Vin Shelton  <acs@xemacs.org>
6427
6428         * callproc.c (Fold_call_process_internal): Create the buffer if it
6429         does not already exist.  The original patch came from Ben Wing in
6430         http://list-archive.xemacs.org/xemacs-patches/200205/msg00117.html
6431
6432 2002-05-13  Adrian Aichner  <adrian@xemacs.org>
6433
6434         * callproc.c: Process-related docstring improvements spurred by
6435         Norbert Koch.
6436
6437 2005-11-25  Vin Shelton  <acs@xemacs.org>
6438
6439         * depend: Regenerated.
6440
6441 2005-07-11  Malcolm Purvis  <malcolmp@xemacs.org>
6442
6443         * glyphs-gtk.c:  Rename a local static variable because gcc 4.0
6444         says it clashes with a global with the same name.
6445
6446 2005-07-11  Atanu Ghosh <atanu@icsi.berkeley.edu>
6447
6448         * sysdll.c (dll_open): Under MacOS X return NULL under the
6449         filename is NULL.  Fixes problems finding local symbols under 10.4
6450         (Tiger)
6451
6452 2005-11-15  Dr. Volker Zell  <Dr.Volker.Zell@oracle.com>
6453         
6454         * config.h.in: New HAVE_U_INT*_T defines.
6455         
6456         * database.c: Only use u_int*_t typedefs if not already
6457         defined.
6458
6459 2005-04-07 15:08  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
6460
6461         * src/process-unix.c (unix_open_network_stream): moved
6462           'portbuf' buffer out of an inner block as it is used in the
6463           entire function. With gcc4, the stack may get corrupted
6464           after leaving this block. This patches adjusts the size of
6465           the used buffer also; static '128' bytes are far too much
6466           currently and might not suffice for future architectures
6467           (e.g. for 512 bit ones ;)). Instead of, use only the really
6468           required space (max octets * ln(256)/ln(10) chars + space
6469           for '\0' and the sign)
6470
6471 2005-04-08  Aidan Kehoe  <kehoea@parhasard.net>
6472
6473         * callproc.c: Include sysdir.h, so any necessary Mule processing
6474         is done on the current directory name before starting a new
6475         process.
6476
6477 2005-04-06  Stephen J. Turnbull  <stephen@xemacs.org>
6478
6479         * chartab.c (Fchar_table_p):
6480         (Fget_range_char_table):
6481         (Fput_char_table):
6482         (Fmap_char_table):
6483         Describe range representation and fix typo.
6484
6485 2005-02-12  Vin Shelton  <acs@xemacs.org>
6486
6487         * emacs.c (shut_down_emacs): Advise users to send email to the
6488         xemacs-beta list instead of crashes@xemacs.org.
6489
6490 2005-02-03  David Evers  <extsw@appliedgenerics.com>
6491
6492         * process-unix.c (unix_send_process): Flush the last chunk, even
6493         when the pipe is blocked.
6494
6495 2005-02-06  Vin Shelton <acs@xemacs.org>
6496
6497         * XEmacs 21.4.17 is released
6498
6499 2005-01-31  Ben Wing  <ben@xemacs.org>
6500
6501         * emacs.c:
6502         Define assert_failed() always.
6503         * lisp.h:
6504         Always define ABORT().
6505
6506 2005-01-25  Ben Wing  <ben@xemacs.org>
6507
6508         * Makefile.in.in:
6509         * Makefile.in.in (%.o):
6510         Don't compile executable as Windows (-mwindows) under Cygwin.
6511         Semi-recent changes to Cygwin's executable-startup handling make
6512         it impossible to access the TTY this way.
6513
6514         Don't use special linker file under Cygwin (cygwin.sc) except
6515         when non-PDUMP (even in this case it is highly questionable); you
6516         get errors like
6517
6518       1 [main] temacs 1364 fhandler_console::fixup_after_exec: error opening input console handle after exec, errno 13, Win32 error 5
6519    5820 [main] temacs 1364 fhandler_console::fixup_after_exec: error opening output console handle after exec, errno 13, Win32 error 5
6520
6521 2005-01-29  Ben Wing  <ben@xemacs.org>
6522
6523         Port this: 2003-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
6524
6525         * mule-charset.c (get_unallocated_leading_byte): Compiler quietus.
6526
6527 2005-01-29  Ben Wing  <ben@xemacs.org>
6528
6529         * bytecode.c (optimize_compiled_function):
6530         * print.c (FROB):
6531         * print.c (long_to_string):
6532         Add casts to avoid warning.
6533         
6534         * glyphs-eimage.c:
6535         Some really nasty hacks to allow TIFF and JPEG to both be compiled.
6536         #### The better solution is to move the TIFF and JPEG code to
6537         different files.
6538         
6539         * glyphs-msw.c (mswindows_xbm_instantiate):
6540         Define __STDC__ to avoid problems with compface.h.
6541         
6542         * EmacsFrame.c (EmacsFrameRecomputeCellSize):
6543         * EmacsShell-sub.c:
6544         * EmacsShell-sub.c (ABORT):
6545         * EmacsShell-sub.c (SuperClassRootGeometryManager):
6546         * EmacsShell-sub.c (RootGeometryManager):
6547         * EmacsShell.c:
6548         * EmacsShell.c (ABORT):
6549         * EmacsShell.c (EmacsShellUpdateSizeHints):
6550         * alloc.c (free_lcrecord):
6551         * alloca.c (i00afunc):
6552         * buffer.c (delete_from_buffer_alist):
6553         * buffer.c (MARKED_SLOT):
6554         * bytecode.c (execute_rare_opcode):
6555         * bytecode.c (optimize_byte_code):
6556         * bytecode.c (Ffetch_bytecode):
6557         * chartab.c (char_table_type_to_symbol):
6558         * chartab.c (Freset_char_table):
6559         * chartab.c (decode_char_table_range):
6560         * chartab.c (Fget_range_char_table):
6561         * chartab.c (check_valid_char_table_value):
6562         * chartab.c (map_char_table):
6563         * chartab.c (slow_map_char_table_fun):
6564         * chartab.c (chartab_instantiate):
6565         * cm.c (cmcheckmagic):
6566         * console-msw.c (DHEADER):
6567         * console.c (MARKED_SLOT):
6568         * data.c (finish_marking_weak_lists):
6569         * data.c (encode_weak_list_type):
6570         * debug.h (DASSERT):
6571         * device-gtk.c (gtk_init_device):
6572         * device-msw.c (mswindows_get_default_margin):
6573         * device-tty.c (tty_init_device):
6574         * device-x.c (get_device_from_display):
6575         * device-x.c (x_get_visual_depth):
6576         * doprnt.c (parse_doprnt_spec):
6577         * doprnt.c (get_doprnt_args):
6578         * dumper.c (pdump_get_indirect_count):
6579         * dumper.c (pdump_register_sub):
6580         * dumper.c (pdump_register_object):
6581         * dumper.c (pdump_register_struct):
6582         * dumper.c (pdump_dump_data):
6583         * dumper.c (pdump_reloc_one):
6584         * elhash.c (print_hash_table):
6585         * elhash.c (make_standard_lisp_hash_table):
6586         * elhash.c (hash_table_instantiate):
6587         * emacs.c:
6588         * emacs.c (Fforce_debugging_signal):
6589         * emacs.c (sort_args):
6590         * emacs.c (main):
6591         * emacs.c (assert_failed):
6592         * eval.c (throw_or_bomb_out):
6593         * eval.c (signal_1):
6594         * eval.c (Fsignal):
6595         * event-Xt.c:
6596         * event-Xt.c (emacs_Xt_mapping_action):
6597         * event-Xt.c (Xt_process_to_emacs_event):
6598         * event-msw.c:
6599         * event-stream.c (check_event_stream_ok):
6600         * event-stream.c (Fadd_timeout):
6601         * event-stream.c (Fadd_async_timeout):
6602         * event-stream.c (Fdiscard_input):
6603         * event-stream.c (execute_internal_event):
6604         * event-stream.c (Frecent_keys):
6605         * event-stream.c (extract_this_command_keys_nth_mouse_event):
6606         * event-stream.c (lookup_command_event):
6607         * event-unixoid.c (poll_fds_for_input):
6608         * events.c:
6609         * events.c (mark_event):
6610         * events.c (event_equal):
6611         * events.c (event_hash):
6612         * events.c (Fmake_event):
6613         * events.c (Fdeallocate_event):
6614         * events.c (event_chain_find_previous):
6615         * events.c (event_to_character):
6616         * events.c (format_event_object):
6617         * events.c (Fevent_type):
6618         * events.c (event_pixel_translation):
6619         * events.c (Fevent_properties):
6620         * extents.c (extent_in_region_p):
6621         * extents.c (print_extent):
6622         * extents.c (process_extents_for_insertion_mapper):
6623         * extents.c (report_extent_modification_mapper):
6624         * extents.c (glyph_layout_to_symbol):
6625         * faces.c (face_validate):
6626         * file-coding.c (eol_type_to_symbol):
6627         * file-coding.c (subsidiary_coding_system):
6628         * file-coding.c (Fcoding_system_type):
6629         * file-coding.c (Fcoding_system_property):
6630         * file-coding.c (mule_decode):
6631         * file-coding.c (mule_encode):
6632         * file-coding.c (encode_coding_ucs4):
6633         * file-coding.c (encode_coding_utf8):
6634         * file-coding.c (parse_iso2022_esc):
6635         * file-coding.c (encode_coding_iso2022):
6636         * fileio.c:
6637         * fns.c (concat):
6638         * fns.c (Fsubseq):
6639         * fns.c (mapcar1):
6640         * fns.c (Fbase64_encode_region):
6641         * fns.c (Fbase64_encode_string):
6642         * fns.c (Fbase64_decode_region):
6643         * fns.c (Fbase64_decode_string):
6644         * font-lock.c (find_context):
6645         * font-lock.c (context_to_symbol):
6646         * frame-gtk.c (gtk_set_frame_pointer):
6647         * frame-gtk.c (gtk_update_frame_external_traits):
6648         * frame-x.c (x_wm_mark_shell_size_user_specified):
6649         * frame-x.c (x_wm_mark_shell_position_user_specified):
6650         * frame-x.c (x_wm_set_shell_iconic_p):
6651         * frame-x.c (x_wm_set_cell_size):
6652         * frame-x.c (x_wm_set_variable_size):
6653         * frame-x.c (x_wm_store_class_hints):
6654         * frame-x.c (x_wm_maybe_store_wm_command):
6655         * frame-x.c (x_initialize_frame_size):
6656         * frame-x.c (x_update_frame_external_traits):
6657         * frame.c:
6658         * frame.c (delete_frame_internal):
6659         * frame.c (mouse_pixel_position_1):
6660         * frame.c (change_frame_size_1):
6661         * free-hook.c (check_free):
6662         * free-hook.c (check_realloc):
6663         * free-hook.c (note_block_input):
6664         * free-hook.c (log_gcpro):
6665         * gccache-gtk.c (gc_cache_lookup):
6666         * glyphs-eimage.c (tiff_memory_write):
6667         * glyphs-gtk.c (gtk_finalize_image_instance):
6668         * glyphs-gtk.c (init_image_instance_from_gdk_pixmap):
6669         * glyphs-gtk.c (init_image_instance_from_xbm_inline):
6670         * glyphs-gtk.c (gtk_xpm_instantiate):
6671         * glyphs-gtk.c (gtk_unmap_subwindow):
6672         * glyphs-gtk.c (gtk_map_subwindow):
6673         * glyphs-gtk.c (gtk_button_redisplay):
6674         * glyphs-msw.c:
6675         * glyphs-msw.c (init_image_instance_from_xbm_inline):
6676         * glyphs-x.c (init_image_instance_from_xbm_inline):
6677         * glyphs-x.c (extract_xpm_color_names):
6678         * glyphs-x.c (x_xpm_instantiate):
6679         * glyphs.c (get_image_instantiator_governing_domain):
6680         * glyphs.c (print_image_instance):
6681         * glyphs.c (image_instance_equal):
6682         * glyphs.c (image_instance_hash):
6683         * glyphs.c (encode_image_instance_type):
6684         * glyphs.c (make_image_instance_1):
6685         * glyphs.c (inherit_instantiate):
6686         * glyphs.c (image_instantiate):
6687         * glyphs.c (allocate_glyph):
6688         * glyphs.c (Fglyph_type):
6689         * glyphs.c (redisplay_subwindow):
6690         * glyphs.c (display_table_entry):
6691         * gtk-glue.c (xemacs_list_to_gtklist):
6692         * gtk-glue.c (xemacs_gtklist_to_list):
6693         * gtk-glue.c (xemacs_list_to_array):
6694         * gutter.c (SET_GUTTER_WAS_VISIBLE_FLAG):
6695         * gutter.c (gutter_was_visible):
6696         * gutter.c (get_gutter_coords):
6697         * input-method-xlib.c (get_XIM_input):
6698         * insdel.c (bufpos_to_bytind_func):
6699         * insdel.c (bytind_to_bufpos_func):
6700         * insdel.c (move_gap):
6701         * intl.c (x_get_composed_input):
6702         * keymap.c (keymap_lookup_directly):
6703         * keymap.c (keymap_delete_inverse_internal):
6704         * keymap.c (ensure_meta_prefix_char_keymapp):
6705         * keymap.c (accessible_keymaps_mapper_1):
6706         * keymap.c (where_is_recursive_mapper):
6707         * lisp.h:
6708         * lisp.h (ABORT):
6709         * lread.c (read_atom):
6710         * lstream.c (Lstream_delete):
6711         * lstream.c (make_lisp_buffer_stream_1):
6712         * macros.c (pop_kbd_macro_event):
6713         * malloc.c (malloc):
6714         * malloc.c (free):
6715         * marker.c (bi_marker_position):
6716         * marker.c (set_bi_marker_position):
6717         * menubar-gtk.c (menu_descriptor_to_widget_1):
6718         * menubar-msw.c (prune_menubar):
6719         * menubar-x.c (set_frame_menubar):
6720         * mule-charset.c (get_unallocated_leading_byte):
6721         * mule-charset.h (CHAR_LEADING_BYTE):
6722         * native-gtk-toolbar.c (SET_TOOLBAR_WAS_VISIBLE_FLAG):
6723         * nt.c (init_environment):
6724         * nt.c (generate_inode_val):
6725         * ntproc.c (delete_child):
6726         * ntproc.c (_sys_read_ahead):
6727         * ntproc.c (create_child):
6728         * objects.c (color_instantiate):
6729         * objects.c (font_instantiate):
6730         * objects.c (face_boolean_instantiate):
6731         * print.c (printing_major_badness):
6732         * process-nt.c (nt_send_process):
6733         * process-unix.c (unix_send_process):
6734         * process.c (get_process):
6735         * ralloc.c (obtain):
6736         * ralloc.c (relinquish):
6737         * ralloc.c (relocate_blocs):
6738         * ralloc.c (resize_bloc):
6739         * ralloc.c (r_alloc_free):
6740         * ralloc.c (r_re_alloc):
6741         * ralloc.c (r_alloc_thaw):
6742         * ralloc.c (init_ralloc):
6743         * ralloc.c (Free_Addr_Block):
6744         * ralloc.c (r_alloc):
6745         * redisplay-gtk.c (gtk_output_display_block):
6746         * redisplay-msw.c (mswindows_output_display_block):
6747         * redisplay-output.c (get_next_display_block):
6748         * redisplay-output.c (get_cursor_size_and_location):
6749         * redisplay-output.c (redisplay_output_layout):
6750         * redisplay-output.c (redisplay_clear_region):
6751         * redisplay-tty.c (tty_output_display_block):
6752         * redisplay-x.c (x_output_display_block):
6753         * redisplay.c (add_propagation_runes):
6754         * redisplay.c (add_glyph_rune):
6755         * redisplay.c (create_text_block):
6756         * redisplay.c (add_margin_runes):
6757         * redisplay.c (create_left_glyph_block):
6758         * redisplay.c (create_right_glyph_block):
6759         * redisplay.c (create_string_text_block):
6760         * redisplay.c (regenerate_window):
6761         * redisplay.c (REGEN_INC_FIND_START_END):
6762         * redisplay.c (redisplay_frame):
6763         * redisplay.c (point_in_line_start_cache):
6764         * regex.c:
6765         * regex.c (ABORT):
6766         * regex.c (re_compile_fastmap):
6767         * regex.c (re_match_2_internal):
6768         * regex.c (regerror):
6769         * scrollbar-gtk.c (gtk_scrollbar_loop):
6770         * scrollbar-gtk.c (scrollbar_cb):
6771         * scrollbar-gtk.c (gtk_update_frame_scrollbars):
6772         * scrollbar-msw.c (mswindows_handle_scrollbar_event):
6773         * scrollbar-x.c (x_update_scrollbar_instance_status):
6774         * scrollbar-x.c (x_scrollbar_loop):
6775         * scrollbar-x.c (x_update_frame_scrollbars):
6776         * search.c (search_command):
6777         * search.c (Fmatch_data):
6778         * select-x.c (motif_clipboard_cb):
6779         * signal.c (interrupt_signal):
6780         * specifier.c (specifier_add_spec):
6781         * specifier.c (specifier_instance_from_inst_list):
6782         * specifier.c (specifier_instance):
6783         * specifier.h:
6784         * specifier.h (struct specifier_methods):
6785         * strftime.c (add_num_time_t):
6786         * sunplay.c (init_device):
6787         * symbols.c (Fsetplist):
6788         * symbols.c (do_symval_forwarding):
6789         * symbols.c (store_symval_forwarding):
6790         * symbols.c (Fset):
6791         * symbols.c (Fbuilt_in_variable_type):
6792         * symbols.c (decode_magic_handler_type):
6793         * symbols.c (handler_type_from_function_symbol):
6794         * syntax.c (update_syntax_cache):
6795         * sysdep.c (init_baud_rate):
6796         * toolbar-gtk.c (SET_TOOLBAR_WAS_VISIBLE_FLAG):
6797         * toolbar-msw.c (SET_TOOLBAR_WAS_VISIBLE_FLAG):
6798         * toolbar-x.c (SET_TOOLBAR_WAS_VISIBLE_FLAG):
6799         * toolbar.c (get_toolbar_coords):
6800         * ui-gtk.c (build_gtk_boxed):
6801         * ui-gtk.c (describe_gtk_arg):
6802         * ui-gtk.c (gtk_type_to_lisp):
6803         * ui-gtk.c (lisp_to_gtk_type):
6804         * ui-gtk.c (lisp_to_gtk_ret_type):
6805         * ui-gtk.c (lisp_to_flag):
6806         * unexnt.c (read_in_bss):
6807         * unexnt.c (map_in_heap):
6808         * window.c (real_window):
6809         * window.c (window_display_lines):
6810         * window.c (window_display_buffer):
6811         * window.c (set_window_display_buffer):
6812         * window.c (window_modeline_height):
6813         * window.c (unshow_buffer):
6814         * window.c (window_loop):
6815         * window.c (Fget_lru_window):
6816         * window.c (Fsplit_window):
6817         * window.c (Fset_window_configuration):
6818         * window.c (saved_window_index):
6819         * xgccache.c (gc_cache_lookup):
6820         abort() -> ABORT().  Eliminate preprocessor games with abort()
6821         since it creates huge problems in VC7, solvable only by including
6822         massive amounts of files in every compile (and not worth it).
6823
6824         * sysdep.c:
6825         * sysproc.h:
6826         Inclusion of process.h does not need to be before lisp.h any more.
6827         Move later and remove comment about abort().
6828
6829 2005-01-26  Arnaud Giersch  <arnaud.giersch@free.fr>
6830
6831         * regex.c (re_match_2_internal):
6832         Correctly initialize loop which clears uninitialized registers.
6833
6834 2005-01-28  Vin Shelton  <acs@xemacs.org>
6835
6836         * sheap.c (more_static_core): Applied Ben's version of the long
6837         string patch.
6838
6839 2005-01-24  Vin Shelton  <acs@xemacs.org>
6840
6841         * sheap.c (more_static_core): Reformatted printf string so
6842         gcc-3.3.3 will compile this on Cygwin.
6843
6844 2004-02-22  Stephen J. Turnbull  <stephen@xemacs.org>
6845
6846         * console.c (function_key_map): Reference `key-binding'.
6847
6848         * keymap.c (Vkey_translation_map): Improve docstring.
6849
6850 2004-03-30  Zajcev Evgeny  <zevlg@yandex.ru>
6851
6852         * window.c: Declare `allow_deletion_of_last_visible_frame' extern.
6853         * window.c (window_loop): [fix] Take into account
6854         `allow-deletion-of-last-visible-frame' variable.
6855         * window.c (replace-buffer-in-windows): Ditto.
6856
6857 2004-12-15  Stephen J. Turnbull  <stephen@xemacs.org>
6858
6859         * EmacsManager.c (EmacsManagerChangeSize): Respect XtGeometryNo.
6860
6861 2005-01-20  Malcolm Purvis  <malcolmp@xemacs.org>
6862
6863         * event-gtk.c: Recognise AltGr as a valid modifier.
6864
6865 2005-01-12  Ville Skyttä  <scop@xemacs.org>
6866
6867         * console-x.h: #include X11/keysym.h before xintrinsic.h.
6868
6869 2005-01-13  Stephen J. Turnbull  <stephen@xemacs.org>
6870
6871         Fix backreference bug caught by test suite.
6872
6873         * regex.c (regex_compile):
6874         Make backref duplicate internal register.
6875
6876 2005-01-13  Stephen J. Turnbull  <stephen@xemacs.org>
6877
6878         Documentation, code clarification, and warning suppression.
6879         
6880         * regex.c (regex_compile):
6881         Improve comments.
6882         (re_match_2_internal):
6883         Improve comments and avoid redundant braces.  [Most of the big hunk
6884         at l. 4710 is indentation; use diff -w to see the real changes.]
6885         (alt_match_null_string_p):
6886         (common_op_match_null_string_p):
6887         Avoid shadowing global on Mac OS X 10.4, at least.
6888
6889 2004-09-08  Stephen J. Turnbull  <stephen@xemacs.org>
6890
6891         * regex.c (regcomp): Fix "unsigned comparison" warning (maybe
6892         introduced with shy groups fix).  [Already applied, probably
6893         with the second "fix shy groups" patch of 2004-10-07.] 
6894
6895 2005-01-10  Steve Youngs  <steve@sxemacs.org>
6896
6897         From Andrey Slusar <anrays@gmail.com>:
6898
6899         * unexelf.c: define `Elfw(type)' for FreeBSD alpha and amd64.
6900
6901 2004-11-21  Malcolm Purvis  <malcolmp@xemacs.org>
6902
6903         * Makefile (RECURSIVE_MAKE): Removed.
6904         * Makefile (RECURSIVE_MAKE_ARGS): New.  The new method for
6905         handling parallel builds.
6906
6907 2004-09-08  Malcolm Purvis  <malcolmp@xemacs.org>
6908
6909         * Makefile.in.in: Enable support for parallel builds.
6910
6911 2005-01-09  Steve Youngs  <steve@sxemacs.org>
6912
6913         From Andrey Slusar <anrays@gmail.com>:
6914
6915         * s/freebsd.h (LIBS_SYSTEM): Only set to "-lutil -lxpg4" if
6916         FreeBSD version is >= 199701 _and_ < 600006.
6917
6918 2005-01-06  Zajcev Evgeny <zevlg@yandex.ru>
6919
6920         * scrollbar.c (compute_scrollbar_instance_usage):
6921         Only call device method compute_scrollbar_instance_usage() if it
6922         is defined.
6923
6924 2004-12-05  Vin Shelton <acs@xemacs.org>
6925
6926         * XEmacs 21.4.16 is released
6927
6928 2004-12-04  Vin Shelton  <acs@xemacs.org>
6929
6930         * depend: Regenerated.
6931
6932 2004-10-07  Stephen J. Turnbull  <stephen@xemacs.org>
6933
6934         * regex.c (re_match_2_internal): Map internal to external
6935         registers.  Fixes bug identified by Steve Youngs 2004-09-30
6936         <microsoft-free.87ekkjhj7t.fsf@youngs.au.com>.
6937
6938 2004-09-02  Yoshiki Hayashi  <yoshiki@xemacs.org>
6939
6940         * buffer.c (Frecord_buffer): Make sure the argument is buffer
6941         to fix a crash.  Also, check the buffer is live and it
6942         really exists in buffer_list.  If the buffer is not in the list,
6943         prepend it.
6944
6945 2004-09-08  Stephen J. Turnbull  <stephen@xemacs.org>
6946
6947         Fix shy groups by implementing recording of all groups for
6948         repetition and backtracking.  Backport from 21.5.
6949         
6950         * regex.h (struct re_pattern_buffer): Add members re_ngroups,
6951         external_to_internal_register, external_to_internal_register_size,
6952         and update comments for re_nsub.
6953
6954         * regex.c (re_opcode_t): Update comments.
6955         (print_compiled_pattern): Ouput external_to_internal_register,
6956         external_to_internal_register_size, and re_ngroups for debugging.
6957         (INIT_REG_TRANSLATE_SIZE): New manifest constant.
6958         (regex_compile): Update header comment.
6959         Ensure that all groups are recorded so that repeat matches and
6960         backtracking work correctly.  Comment related warning for groups >
6961         255.
6962         (re_search_2): Construct map of API indexes (which count only
6963         nonshy groups) to internal register numbers, and keep it updated.
6964
6965 2004-07-27  Malcolm Purvis  <malcolmp@xemacs.org>
6966
6967         * frame-gtk.c (gtk_make_frame_visible):
6968         * frame-gtk.c (gtk_make_frame_invisible): Use map/unmap instead of
6969         show/hide.  This is what X uses and is prevents previously hidden
6970         widgets from suddenly reappearing.
6971         * gtk-xemacs.c (gtk_xemacs_paint):
6972         * gtk-xemacs.c (gtk_xemacs_draw):
6973         * gtk-xemacs.c (gtk_xemacs_expose): Only operate if the widget is
6974         drawable.
6975         * scrollbar-gtk.c (gtk_update_scrollbar_instance_status): Force
6976         size and location changes so that they can be seen before the next
6977         idle event.  Without this rapid changes to scrollbar properties
6978         are not seen.
6979
6980 2004-07-02  Malcolm Purvis  <malcolmp@xemacs.org>
6981
6982         * console-gtk.h:
6983         * console-gtk.h (struct gtk_frame):
6984         * console-gtk.h (FRAME_GTK_WIDGET_INSTANCE_HASH_TABLE):
6985           Add hash tables track tab_control callback data.
6986           Added #defines for GTK object data names.
6987           Declaration of gtk_widget_to_frame().
6988         * event-gtk.c (enqueue_gtk_dispatch_event) No longer static:
6989         * frame-gtk.c (gtk_widget_to_frame): New.
6990         * frame-gtk.c (gtk_create_widgets):
6991         * frame-gtk.c (allocate_gtk_frame_struct):
6992         * frame-gtk.c (gtk_mark_frame):
6993         Manage frame callbakc hash tables.
6994         * glyphs-gtk.c (gtk_map_subwindow): Fix size and moving bugs.
6995         * glyphs-gtk.c (gtk_redisplay_widget): Use correct size for widgets.
6996         * glyphs-gtk.c (gtk_widget_instantiate_1): Force reconsideration
6997         of widget size.
6998         * glyphs-gtk.c (gtk_widget_query_geometry): New
6999         * glyphs-gtk.c (gtk_register_gui_item): New
7000         * glyphs-gtk.c (gtk_add_tab_item): New
7001         * glyphs-gtk.c (gtk_tab_control_callback): New
7002         * glyphs-gtk.c (gtk_tab_control_instantiate): New
7003         * glyphs-gtk.c (gtk_tab_control_redisplay): Set notebook page.
7004         Use correct list when loading item.
7005         * glyphs-gtk.c (image_instantiator_format_create_glyphs_gtk):
7006         Register new methods.
7007         * gtk-xemacs.c (gtk_xemacs_size_allocate): Use XEmacs size, not
7008         default size, for widgets.
7009         * gui-x.c:  Improved comment.
7010         * menubar-gtk.c (__generic_button_callback): Use
7011         gtk_widget_to_frame instead of __get_channel.
7012         * scrollbar-gtk.c:
7013         * ui-gtk.c: Use symbolic names for GTK object data.
7014
7015 2004-06-23  Ilya N. Golubev <gin@mo.msk.ru>
7016
7017         * s/usg5-4.h (NSIG): Define only inside emacs binary.
7018
7019 2002-03-04  Stephen J. Turnbull  <stephen@xemacs.org>
7020
7021         * fileio.c (Fwrite_region_internal): Document use of start == Qnil.
7022
7023 2004-06-16  Malcolm Purvis  <malcolmp@xemacs.org>
7024
7025         * malloc.c (morecore): siz is a long because in some architectures
7026         (eg ia-64) an int cannot hold the address range.  Additional patch
7027         from the SuSe distribution.
7028
7029 2004-06-13  Malcolm Purvis  <malcolmp@xemacs.org>
7030
7031         * emacs.c:
7032         * malloc.c: lim_data is a long because in some architectures
7033         (eg ia-64) an int cannot hold the address range.
7034         * mem-limits.h: lim-data is a long.  Linux uses getrlimit()
7035         instead of ulimit() because ulimit() always returns -1.
7036
7037 2004-06-09  Stephen J. Turnbull  <stephen@xemacs.org>
7038
7039         * search.c: Reenable an ansync semaphore.  Remove bogus comments.
7040
7041 2004-06-11  David Kastrup  <dak@gnu.org>
7042
7043         * search.c (match_limit): Don't flag an error if match-data
7044         exceeding the allocated search_regs.num_regs gets requested, just
7045         return Qnil.
7046
7047 2003-07-21  Malcolm Purvis  <malcolmpurvis@optushome.com.au>
7048
7049         * glyphs-gtk.c (gtk_xpm_instantiate): Rewrite the XPM data to
7050         replace symbolic color entries with the real colors specified in
7051         xpm-color-symbols, before passing the XPM to gtk.
7052         * glyphs-gtk.h: Use the generic pixmap_image_instance.mask for masks,
7053         instead of a GTK specific field, so that it is used in by generic
7054         code.
7055
7056 2004-05-05  Chuck Hines <chuck.hines@baesystems.com>
7057
7058        * dgif_lib.c (DGifSlurp): Changed do-while to while to stop
7059         coredump from deref of NULL ptr (ExtData)
7060
7061 2004-04-19  Jerry James  <james@xemacs.org>
7062
7063         * data.c (sign_extend_lisp_int): Use INT_VALBITS instead of
7064         VALBITS to compute the location of the sign bit.
7065         * event-stream.c (Fcurrent_event_timestamp): Replace incorrect use
7066         of VALBITS with EMACS_INT_MAX.
7067         * events.c (Fevent_timestamp): Ditto.
7068         * events.c (TIMESTAMP_HALFSPACE): Change VALBITS to INT_VALBITS to
7069         compute the halfway point to timestamp wraparound.
7070         * floatfns.c (float_to_int): Compare against EMACS_INT_MAX and
7071         EMACS_INT_MIN instead of using VALBITS.
7072         * floatfns.c (Flogb): Use EMACS_INT_MIN instead of building an
7073         incorrect number with VALBITS.
7074         * fns.c (Frandom): Correct number of integer bits in docstring.
7075         Use INT_VALBITS instead of VALBITS to compute the denominator.
7076         * sysdep.c (get_random): Use INT_VALBITS instead of VALBITS to
7077         build random numbers.
7078
7079 2004-03-23  Malcolm Purvis  <malcolmpurvis@optushome.com.au>
7080         * event-gtk.c:
7081         * event-gtk.c (gtk_event_to_emacs_event):
7082         * menubar-gtk.c:
7083         * menubar-gtk.c (gtk_xemacs_menubar_class_init):
7084         * menubar-gtk.c (gtk_xemacs_menubar_size_request):
7085         * menubar-gtk.c (gtk_xemacs_accel_label_get_type):
7086         * menubar-gtk.c (gtk_xemacs_set_accel_keys):
7087         * menubar-gtk.c (__activate_menu):
7088         * menubar-gtk.c (convert_underscores):
7089         * menubar-gtk.c (remove_underscores):
7090         * menubar-gtk.c (menu_convert):
7091         * menubar-gtk.c (menu_descriptor_to_widget_1):
7092         * menubar-gtk.c (menu_descriptor_to_widget):
7093         * menubar-gtk.c (menu_can_reuse_widget):
7094         * menubar-gtk.c (menu_create_menubar):
7095         * menubar-gtk.c (gtk_popup_menu):
7096         * menubar-gtk.c (Fgtk_build_xemacs_menu):
7097         Added support for Gtk menu bar and menu item mnemonics.
7098
7099 2004-03-23  Malcolm Purvis  <malcolmpurvis@optushome.com.au>
7100
7101         * sysdll.c: (dll_function): Added support for finding symbols in
7102         Darwin shared libraries as well in Darwin bundles.
7103         * sysdll.c (image_for_address): New
7104         * sysdll.c (my_find_image): New
7105         * sysdll.c (search_linked_libs): New
7106
7107 2004-03-23  Malcolm Purvis  <malcolmpurvis@optushome.com.au>
7108
7109         * ui-gtk.c (__internal_callback_marshal): Marshalling data to
7110         return to GTK requires a different API to marshalling data to use
7111         as GTK parameters.
7112         * ui-gtk.c (lisp_to_gtk_ret_type): New.
7113
7114 2004-03-08  Lutz Euler  <lutz.euler@freenet.de>
7115
7116         * lstream.c (Lstream_pseudo_close): Fix test for LSTREAM_FL_IS_OPEN.
7117
7118 2004-02-19  Stephen J. Turnbull  <stephen@xemacs.org>
7119
7120         * glyphs.c (process_image_string_instantiator):
7121         (Fset_console_type_image_conversion_list):
7122         Stop GCC from warning about shadowing of `exp'.
7123
7124         * redisplay-x.c (x_output_string): Fix unsigned lossage.
7125
7126 2004-02-19  Stephen J. Turnbull  <stephen@xemacs.org>
7127
7128         * regex.c (re_match_2_internal): Shut up GCC about syn1, syn2.
7129
7130 2004-02-03  Vin Shelton  <acs@xemacs.org>
7131
7132         * glyphs.c (image_instance_layout): Remove pointless assertion.
7133         * regex.c (regex_grow_registers): Return type is void.
7134
7135 2004-02-02  Vin Shelton <acs@xemacs.org>
7136
7137         * XEmacs 21.4.15 is released
7138
7139 2004-01-30  Glynn Clements  <glynn.clements@virgin.net>
7140
7141         * device-x.c (x_error_handler): Don't call stderr_out
7142
7143 2003-11-07  Katsumi Yamaoka <yamaoka@jpl.org>
7144
7145         * buffer.c (other-buffer): Clarify documentation of order of
7146         arguments for FSF Emacs.
7147
7148 2003-10-11  Olivier Galibert  <galibert@pobox.com>
7149
7150         * window.c (Fdelete_window): Dirty the mirror structure _before_
7151         marking the window deleted.
7152
7153 2003-09-15  Jerry James  <james@xemacs.org>
7154
7155         * event-msw.c (debug_mswin_messages): Conditionally compile
7156         messages missing from the Cygwin headers.
7157
7158 2003-06-16  Stephen J. Turnbull  <stephen@xemacs.org>
7159
7160         * data.c (eq_with_ebola_notice): Fix typo in comment.
7161         (Ftrue_list_p): Improve docstring.
7162
7163 2003-10-13  Stephen J. Turnbull  <stephen@xemacs.org>
7164
7165         * frame-x.c (x_update_frame_external_traits): Fix XtSetArg idiom.
7166
7167 2003-09-27  Stephen J. Turnbull  <stephen@xemacs.org>
7168
7169         * search.c (trivial_regexp_p): Regexps containing "\{" are
7170         nontrivial.  Thanks to Manfred Bartz for reporting the bug and
7171         Stefan Monnier for suggesting a diagnosis.
7172
7173 2003-09-25  Stephen J. Turnbull  <stephen@xemacs.org>
7174
7175         * elhash.c (make-hash-table): Clarify use of :test #'equal.
7176
7177 2003-09-12  Stephen J. Turnbull  <stephen@xemacs.org>
7178
7179         * search.c (Fsearch_forward):
7180         (Fsearch_backward):
7181         Document negative count.
7182
7183 2003-09-13  Stephen J. Turnbull  <stephen@xemacs.org>
7184
7185         * regex.c (re_max_failures): Bump to 20000 for REGEX_MALLOC, too.
7186
7187 2003-09-13  Martin Buchholz  <martin@xemacs.org>
7188
7189         * s/sol2.h: Use OS_RELEASE=os_release_major*100+os_release_minor
7190
7191 2003-09-15  Vin Shelton  <acs@xemacs.org>
7192
7193         * .gdbinit (pobj): Remove Ilya's fix that was only intended for
7194         21.5.
7195
7196 2003-09-12  Yoshiki Hayashi  <yoshiki@xemacs.org>
7197
7198         * regex.c (TRANSLATE_EXTENDED_UNSAFE): Remove.
7199         (re_search_2): Match the first byte of Bufbyte, not Emchar.
7200         (re_match_2_internal): Use TRANSLATE instead of
7201         TRANSLATE_EXTENDED_UNSAFE.  The latter was a hack to bypass
7202         non-ASCII char case conversion.
7203
7204 2003-09-08  Mike Sperber  <mike@xemacs.org>
7205
7206         * symbols.c (Fvariable_binding_locus): Add, as per suggestion from
7207         RMS at: http://article.gmane.org/gmane.emacs.pretest.bugs/1010
7208
7209 2003-06-14  Ilya N. Golubev  <gin@mo.msk.ru>
7210
7211        * .gdbinit (pobj): fix printing of symbol name.
7212
7213 2003-08-01  Ilya N. Golubev  <gin@mo.msk.ru>
7214
7215         * frame-x.c (x_layout_widgets): When resizing is about to cause
7216         frame size slip, mark it for redisplay.
7217
7218 2003-08-18  Jerry James  <james@xemacs.org>
7219
7220         * opaque.h: Remove unused (X)OPAQUE_MARKFUN definitions.
7221
7222 2003-09-03  Vin Shelton <acs@xemacs.org>
7223
7224         * XEmacs 21.4.14 is released
7225
7226 2003-08-15  Stephen J. Turnbull  <stephen@xemacs.org>
7227
7228         * config.h.in (REGEX_MALLOC): Make it configure'able.
7229
7230 2003-08-14  Andrew Begel  <abegel@CS.Berkeley.EDU>
7231
7232         * config.h.in: Add HAVE_DYLD to indicate Darwin/MacOSX dynamic
7233         linking.
7234         * sysdll.c (dll_init):
7235         * sysdll.c (dll_open):
7236         * sysdll.c (dll_close):
7237         * sysdll.c (dll_function):
7238         * sysdll.c (dll_variable):
7239         * sysdll.c (dll_error):
7240         Add support for loading bundles using Darwin/MacOSX
7241         native API.
7242
7243 2003-08-12  Stephen J. Turnbull  <stephen@xemacs.org>
7244
7245         * process.c (start-process-internal): Document coding systems.
7246
7247 2003-07-30  Jerry James  <james@xemacs.org>
7248
7249         * sysdll.c: configure sets HAVE_DLD_INIT, not HAVE_INIT_DLD.
7250
7251 2003-07-31  René Kyllingstad  <listmailxemacs@kyllingstad.com>
7252
7253         * event-msw.c (mswindows_enqueue_mouse_button_event):
7254         * event-msw.c (mswindows_wnd_proc):
7255           enqueue button event when scrollwheel event isn't handled by 
7256           mswindows_handle_mousewheel_event, such as when the scrollbars
7257           are not showing.
7258
7259 2003-07-29  Stephen J. Turnbull  <stephen@xemacs.org>
7260
7261         * EmacsFrame.c (emacsFrameClassRec): Motif groks not XtCompress*.
7262
7263 2003-03-24  Stephen J. Turnbull  <stephen@xemacs.org>
7264
7265         * database.c (Fopen_database): Don't use DB_AUTO_COMMIT.
7266
7267 2003-03-21  Stephen J. Turnbull  <stephen@xemacs.org>
7268
7269         * regex.c (re_match_2_internal): Fix matching degenerate word
7270         boundaries.
7271
7272 2003-05-25  XEmacs Build Bot <builds@cvs.xemacs.org>
7273
7274         * XEmacs 21.4.13 is released
7275
7276 2003-03-20  Stephen J. Turnbull  <stephen@xemacs.org>
7277
7278         * config.h.in (INTPTR_T_IN_CYGWIN_TYPES_H): 
7279         * lisp.h (<inttypes.h>):
7280         Cygwin defines these types in <cygwin/types.h>.  Don't duplicate
7281         the definition.
7282
7283 2003-03-15  Martin Buchholz  <martin@xemacs.org>
7284
7285         * dumper.c (pdump_load): Pdump'ed XEmacs can't find its .dmp file.
7286         Scenario: Prepend ~/bin to PATH; then `mkdir ~/bin/xemacs'
7287         Result: "temacs can only be run in -batch mode."
7288         Fix: Check xemacs executable candidate for directory-ness.
7289
7290 2003-03-03  Robert Pluim  <rpluim@bigfoot.com>
7291
7292         * database.c: Don't use the u_int8_t etc typedefs on FreeBSD,
7293           they conflict with <sys/types.h>.
7294
7295 2003-02-14  Martin Buchholz  <martin@xemacs.org>
7296
7297         * database.c: Berkeley DB wants __STDC__ to be defined.
7298
7299 2003-02-13  Martin Buchholz  <martin@xemacs.org>
7300
7301         * EmacsFrame.c: Use symbolic name `NotUseful' in lieu of `0'.
7302
7303 2003-02-01  Martin Buchholz  <martin@xemacs.org>
7304
7305         * process-unix.c (unix_send_process): Fix C++ compile error.
7306
7307 2003-02-25  Andrew Begel  <abegel@cs.berkeley.edu>
7308
7309         * Added .dylib as an acceptable shared library file extension
7310         * to support MacOSX.
7311
7312 2003-02-01  Martin Buchholz  <martin@xemacs.org>
7313
7314         * EmacsFrameP.h (EmacsFramePart):
7315         Kludge to allow compiling with Motif1, but linking with Motif2.
7316
7317 2003-01-28  Martin Buchholz  <martin@xemacs.org>
7318
7319         * config.h.in (_ALL_SOURCE): Guard against multiple definition.
7320
7321
7322 2003-02-23  Stephen J. Turnbull  <stephen@xemacs.org>
7323
7324         * config.h.in (DLSYM_NEEDS_UNDERSCORE): Define on darwin.
7325
7326 2003-02-06  Andrew Begel  <abegel@CS.Berkeley.EDU>
7327
7328         * sysdll.c: Included lisp.h to define needed alloca_array.
7329
7330 2003-02-13  Martin Buchholz  <martin@xemacs.org>
7331
7332         Make XEmacs redisplay 10 times faster.
7333         If, that is, you're using a slow X connection and MoveOpaque.
7334         Use compress_exposure = XtExposeCompressMaximal | XtExposeNoRegion.
7335         Use compress_motion = TRUE.
7336         * EmacsFrame.c (emacsFrameClassRec): 
7337         * EmacsShell-sub.c (EMACS_SHELL_CLASS_REC):
7338         * EmacsManager.c (emacsManagerClassRec):
7339         * xintrinsicp.h: Make sure XtExposeNoRegion is defined.
7340
7341 2003-01-30  Vin Shelton  <acs@xemacs.org>
7342
7343         * s/linux.h (ORDINARY_LINK): define ORDINARY_LINK for linux.
7344
7345 2003-01-17  Stephen J. Turnbull  <stephen@xemacs.org>
7346
7347         * glyphs-eimage.c (tiff_memory_seek): Lobotomize unsigned typedef.
7348         Patch by Martin Buchholz.
7349
7350 2003-01-16  Stephen J. Turnbull  <stephen@xemacs.org>
7351
7352         * glyphs-eimage.c (tiff_instantiate): Fix unsigned comparison.
7353         Thanks to icc for warning and Martin Buchholz for reporting.
7354
7355 2003-01-29  Vin Shelton <acs@xemacs.org>
7356
7357         Patch courtesy of Andrew Begel <abegel@cs.berkeley.edu>
7358
7359         * dynarr.c (Dynarr_realloc): memcpy copies number of bytes, so
7360         remember to multiply by the element size.
7361
7362 2003-01-15  Stephen J. Turnbull  <stephen@xemacs.org>
7363
7364         * XEmacs 21.4.12 "Portable Code" is released.
7365
7366 2003-01-14  Sergey Okhapkin <sos@prospect.com.ru>
7367
7368         * Makefile.in.in (ldflags): re-order sections for gcc 3.2.
7369         * s/cygwin.sc: new linker file.
7370
7371 2003-01-14  Stephen J. Turnbull  <stephen@xemacs.org>
7372
7373         Build fixes courtesy Martin Buchholz <martin@xemacs.org>:
7374
7375         * redisplay-x.c (x_output_string): Use X11-specified types.
7376         * syntax.c, syntax.h (SYNTAX_CODE): Use enum syntaxcode, not int.
7377         * emacs.c (__free_hook): Use typeof with Intel compiler.
7378         * config.h.in (alloca.h): Quick safe hack to please Intel compiler.
7379
7380 2003-01-08  Andy Piper  <andy@xemacs.org>
7381
7382         * unexcw.c (copy_executable_and_dump_data_section): Set the stack
7383         reserve size during unexec().
7384
7385 2003-01-07  Daiki Ueno  <daiki@xemacs.org>
7386
7387         * process-unix.c (unix_create_process): Don't let outchannel block.
7388
7389 2003-01-05  Rick Rankin  <rick_rankin@yahoo.com>
7390
7391         * emacs.c: Include "syswindows.h" when compiling under Cygwin.
7392         Needed for IsBadReadPtr().
7393
7394 2003-01-03  Stephen J. Turnbull  <stephen@xemacs.org>
7395
7396         * XEmacs 21.4.11 "Native Windows TTY Support" is released.
7397
7398 2002-12-14  Ben Wing  <ben@xemacs.org>
7399
7400         * callint.c: Declaration error.
7401         * dumper.c (pdump):
7402         * dumper.c (pdump_load): Warning fix.
7403         * process.c: GCPRO error.
7404         * glyphs.c (unmap_subwindow):
7405         * glyphs.c (map_subwindow): Parenthesizing errors with ! and &&.
7406         * event-stream.c (maybe_kbd_translate): Wrong argument to
7407         character_to_event().
7408
7409         * alloc.c (garbage_collect_1):
7410         * emacs.c:
7411         * emacs.c (debug_can_access_memory):
7412         * emacs.c (fatal_error_signal):
7413         * emacs.c (mswindows_handle_hardware_exceptions):
7414         * emacs.c (main_1):
7415         * emacs.c (main):
7416         * emacs.c (assert_failed):
7417         * emacs.c (syms_of_emacs):
7418         * lisp.h:
7419         * print.c:
7420         * print.c (std_handle_out_va):
7421         * print.c (write_string_to_stdio_stream):
7422         * print.c (write_fmt_string):
7423         * print.c (printing_badness):
7424         * print.c (printing_major_badness):
7425         * print.c (print_internal):
7426         * print.c (debug_print_no_newline):
7427         * print.c (debug_backtrace):
7428         Be more defensive in handling bad values when printing.  Add code
7429         from trunk involving inhibit_non_essential_printing_operations.
7430         When going down or in debug_print(), don't do external conversion
7431         and such and try really, really hard when printing to avoid core
7432         dumping.  Add force-debugging-signal, debug_break().
7433
7434 2002-12-12  Stephen J. Turnbull  <stephen@xemacs.org>
7435
7436         * dumper.c (pdump_load): Include sysdep.h; retry with truename.
7437         Analysis and original patch by Vin Shelton <acs@xemacs.org>.
7438
7439 2002-12-02  Greg Allen  <greg_allen@westlb-systems.co.uk>
7440
7441         * database.c: Fix open_database. Berkeley DB API has changed in
7442         4.1. see: http://www.sleepycat.com/docs/ref/upgrade.4.1/fop.html
7443
7444 2002-11-26  Stephen J. Turnbull  <stephen@xemacs.org>
7445
7446         * specifier.c (Fvalid_specifier_type_p): Typo in comment.
7447
7448 2002-11-13  Stephen J. Turnbull  <stephen@xemacs.org>
7449
7450         * event-Xt.c (Xt_timeout):
7451         (Xt_timeout_callback):
7452         (emacs_Xt_add_timeout):
7453         (emacs_Xt_remove_timeout):
7454         (Xt_timeout_to_emacs_event):
7455         Turn completed_timeouts from a stack into a queue.  Fixes
7456         deadlocks <15829.21626.171573.994716@sinisa.nasamreza.org>.
7457
7458 2002-11-07  Wolfram Gloger  <wg@malloc.de>
7459
7460         * alloc.c (reinit_alloc_once_early): Disable mmap in Doug Lea malloc.
7461         * emacs.c (main): Assert that mmap'd allocation is disabled.
7462
7463 2002-10-14  Andy Piper  <andy@xemacs.org>
7464
7465         * glyphs-widget.c (layout_query_geometry): add in fiddle
7466         factor. Include border text in width layout calculation.
7467         (layout_layout): use BORDER_FIDDLE_FACTOR instead of 10.
7468
7469 2002-11-02  Stephen J. Turnbull  <stephen@xemacs.org>
7470
7471         * XEmacs 21.4.10 "Military Intelligence" is released.
7472
7473 2002-10-17  Raymond Toy  <toy@rtp.ericsson.se>
7474
7475         * nas.c: Update for NAS 1.6 and later, from Jon Trulson.  Was
7476         using the NAS private array SoundFileInfo that no longer exists in
7477         NAS 1.6 and later.  Preserve backward compatibility with NAS 1.5a
7478         and earlier.  This is broken for some versions between 1.5a and
7479         1.5f.
7480
7481 2002-10-10  Stephen J. Turnbull  <stephen@xemacs.org>
7482
7483         * realpath.c (win32_readlink): Try to fix truename of wildcard bug.
7484
7485         * emacs.c (shut_down_emacs): Improve crash message.
7486
7487 2002-10-09  Stephen J. Turnbull  <stephen@xemacs.org>
7488
7489         * file-coding.c (determine_real_coding_system): Check for coding
7490         cookie in first LINES_TO_CHECK lines (currently 2).  Cater to
7491         shebangs and Python PEP 263.
7492
7493 2002-10-08  Andy Piper  <andy@xemacs.org>
7494
7495         * glyphs-widget.c (layout_query_geometry): only resize dynamically
7496         if static sizes haven't been set.
7497
7498 2002-08-30  Mike Alexander  <mta@arbortext.com>
7499
7500         * event-msw.c (winsock_closer): Use closesocket, not CloseHandle
7501         to close a socket.
7502
7503 2002-10-03  Stephen J. Turnbull  <stephen@xemacs.org>
7504
7505         * callproc.c (child_setup): 21.4 doesn't have retry_close.
7506
7507 2002-09-20  Mike Sperber <mike@xemacs.org>
7508
7509         (This partially gets back my patch from 2002-07-20 without the
7510         bug.)
7511         * callproc.c (child_setup): Remove Ben's comment noting confusion
7512         over the file descriptors >= 3: close_process_descs() doesn't
7513         close those.  Fix fd range to go up to MAXDESC-1 instead of 64.
7514         * process-unix.c (unix_create_process): Call
7515         begin_dont_check_for_quit to inhibit unwanted interaction (and
7516         thus breaking of X event synchronicity) in the child.
7517
7518 2002-09-26  Golubev I. N.  <gin@mo.msk.ru>
7519
7520         * frame-x.c (x_delete_frame): do not call XtDisplay on a destroyed
7521         widget.
7522
7523 2002-08-20  Ben Sigelman  <bhsigelm@cs.brown.edu>
7524
7525         * event-Xt.c (drain_X_queue): loop over while(XEventsQueued())
7526         instead of while(XtAppPending()&XtIMXEvent).  Upon a gdm logout,
7527         the xemacs process did not exit, but looped infinitely here.  This
7528         fixes that problem.
7529
7530 2002-09-28  Stephen J. Turnbull  <stephen@xemacs.org>
7531
7532         * font-lock.c (SYNTAX_START_STYLE, SYNTAX_END_STYLE): Quiet GCC.
7533         (find_context): Improve comments.
7534
7535         * regex.c (re_compile_fastmap):  Gratuitous #ifdef comment fixes.
7536         (re_match_2): An XCHAR_TABLE operation was missing.
7537
7538         Many of the following changes were inspired by Andy Piper's (now
7539         obsolete) patch to make syntax-table text property lookup optional.
7540
7541         [Documentation]
7542
7543         * syntax.h (top level): Document semantics of syntax flags.
7544         * syntax.c (comstr_start, Fforward_comment): Improve comments.
7545         * syntax.c, syntax.h (top level): Document syntax cache better in
7546         comments.
7547
7548         [Instrument syntax caching (temporary change)]
7549
7550         * syntax.h (enum syntax_cache_statistics_functions, struct
7551         syntax_cache_statistics, SCS_STATISTICS_SET_FUNCTION,
7552         SYNTAX_CACHE_STATISTICS_COUNT_INIT): New types and macros.
7553         * syntax.c (scan_words, Fforward_comment, scan_lists,
7554         Fbackward_prefix_characters):
7555         * font-lock.c (find_context):
7556         Use them to instrument syntax caching. 
7557         * syntax.c (struct syntax_cache_statistics, scs_statistics,
7558         syntax_cache_statistics_function_names): New type and variables.
7559         * syntax.c (update_syntax_cache): Update and report statistics.
7560
7561         [Major syntax cache optimizations]
7562
7563         syntax.c (lookup_syntax_properties): Default off.
7564
7565         * syntax.h (UPDATE_SYNTAX_INTERNAL): New, implements UPDATE_SYNTAX*.
7566         * syntax.c (update_syntax_cache):
7567         Move init test from update_syntax_cache to UPDATE_SYNTAX_INTERNAL.
7568
7569         [Minor syntax cache optimizations and code clarifications]
7570
7571         * syntax.h (SYNTAX_COMMENT_BITS, SYNTAX_START_P, SYNTAX_END_P,
7572         SYNTAX_STYLES_MATCH_START_P, SYNTAX_STYLES_MATCH_1CHAR_P,
7573         SYNTAX_STYLES_MATCH_END_P, STYLE_FOUND_1CHAR_P, STYLE_FOUND_P,
7574         SYNTAX_COMMENT_MASK_END, SYNTAX_COMMENT_MASK_START,
7575         SYNTAX_COMMENT_1CHAR_MASK): Remove redundant argument `table'.
7576         (Code clarification.)
7577
7578         * syntax.c (scan_words, find_end_of_comment, scan_sexps_forward,
7579         scan_lists): Compute code from syncode, use Boolean macros instead
7580         of redundant masking operations.  (Code clarification; any decent
7581         compiler can do this optimization.)
7582
7583         * syntax.c (scan_lists): Rearrange switches (case Sstring_fence)
7584         for clarity.
7585
7586         * syntax.h, syntax.c (NEXT_SINGLE_PROPERTY_CHANGE,
7587         PREVIOUS_SINGLE_PROPERTY_CHANGE, update_syntax_cache): Conditionally
7588         use F*_single_property_change instead of F*_extent_change.
7589         Currently F*_single_property_change is _much_ less efficient.
7590
7591         * dired.c (Fdirectory_files): Qt not valid in syntax_cache.object.
7592         * syntax.h (SETUP_SYNTAX_CACHE_FOR_OBJECT):  Initialize
7593         syntax_cache.object properly, don't leave Qt or Qnil.
7594         (SYNTAX_CACHE_BYTE_TO_CHAR): Use SETUP_SYNTAX_CACHE_FOR_OBJECT.
7595         * syntax.c (update_syntax_cache): Use BUFFERP and STRINGP, not
7596         tests for Qt or Qnil.
7597
7598 2002-09-21  Stephen J. Turnbull  <stephen@xemacs.org>
7599
7600         * redisplay.c (point_in_line_start_cache): 
7601         * extents.c (print_extent_1):
7602         Fix warnings.
7603
7604         * extents.c (Fset_extent_property): Document `syntax-table' property.
7605
7606         * extents.h (Fnext_single_property_change): EXFUN it.
7607
7608 2002-09-09  Stephen J. Turnbull  <stephen@xemacs.org>
7609
7610         * search.c (clear_unused_search_regs): New static function.
7611         (search_buffer): 
7612         (simple_search): 
7613         (boyer_moore):
7614         Use it.  Fixes "stale match data" bug reported by Martin Stjernholm.
7615         Minor clarifications in comments.
7616
7617         * regex.c (re_match_2_internal): Ensure no stale submatches.
7618
7619 2002-09-09  Stephen J. Turnbull  <stephen@xemacs.org>
7620
7621         * event-Xt.c (enqueue_focus_event): Add missing prototype.
7622
7623 2002-08-29  Jerry James  <james@xemacs.org>
7624
7625         * lisp.h: structrures -> structures.
7626
7627 2002-06-03  Andy Piper  <andy@xemacs.org>
7628
7629         * frame.c (frame_conversion_internal): add conversion appropriate
7630         for setting frame dimensions in pixels.
7631
7632         * console.h (struct console_methods): add device-specific widget
7633         layout functions.
7634
7635         * emacs.c (main_1): initialize glyph vars.
7636
7637         * event-Xt.c (handle_focus_event_1): call handle_focus_event_2
7638         (handle_focus_event_2): new function. Allow focus to
7639         be set to a particular window and widget.
7640         (enqueue_focus_event): new function. Create a
7641         synthetic focus event.
7642         (emacs_Xt_handle_magic_event): call
7643         handle_focus_event_2.
7644
7645         * frame.c (Fset_frame_pixel_height): new function. Allow
7646         pixel-based sizing. Does the right thing on character-oriented
7647         displays.
7648         (Fset_frame_pixel_width): ditto.
7649         (Fset_frame_pixel_size): ditto.
7650         (syms_of_frame): declare.
7651
7652         * general-slots.h: add :vertically-justify and
7653         :horizontally-justify.
7654
7655         * glyphs-msw.c (xbm_create_bitmap_from_data): warning fix.
7656         (mswindows_widget_border_width): new function.
7657         (mswindows_combo_box_instantiate): set border widths.
7658         (console_type_create_glyphs_mswindows): declare.
7659
7660         * glyphs-widget.c:
7661         (check_valid_justification): allow vertical and horizontal
7662         justification.
7663         (widget_border_width): new function. Call device methods.
7664         (widget_instance_border_width): ditto.
7665         (logical_unit_height): new function. Determine the height of a
7666         logical-unit. Logical units are intended to provide grid-like
7667         layout for subcontrols in a layout. If the layout is
7668         :vertically-justify top then subcontrols will be positioned on
7669         logical-unit boundaries, thus allowing adjacent subcontrols to
7670         line up.
7671         (widget_logical_unit_height): ditto for widgets.
7672         (redisplay_widget): misc cleanup.
7673         (widget_spacing): new function. Call device specific
7674         methods. Intended to be the default gap between adjacent widgets.
7675         (widget_query_geometry): use new spacing functions to determine
7676         appropriate geometry.
7677         (initialize_widget_image_instance): initialize horizontal and
7678         vertical justification.
7679         (widget_instantiate): use logica-units where appropriate for
7680         sizing large widgets.
7681         (button_query_geometry): use widget_instance_border_width.
7682         (tree_view_query_geometry): ditto.
7683         (tab_control_query_geometry): ditto.
7684         (edit_field_query_geometry): new function.
7685         (layout_update): pick up :justify, :horizontally-justify and
7686         :vertically-justify none of which worked previously. :justify is
7687         used as a fallback for both horizontal and vertical justification.
7688         (layout_query_geometry): use logical units to size appropriately.
7689         (layout_layout): ditto.
7690         (Fwidget_logical_to_character_width): new function. Allow users to
7691         convert from logical units to characters so that frame sizes can
7692         be set appropriately.
7693         (Fwidget_logical_to_character_height): ditto.
7694         (syms_of_glyphs_widget): declare.
7695         (image_instantiator_edit_fields): add edit_field_query_geometry.
7696         (VALID_LAYOUT_KEYWORDS): declare :vertically-justify and
7697         :horizontally-justify.
7698         (specifier_vars_of_glyphs_widget): new function. Declare
7699         Vwidget_border_width which is not yet used.
7700
7701         * glyphs-x.c (x_map_subwindow): enqueue appropriate focus events.
7702         (x_widget_border_width): new function.
7703         (x_widget_instantiate): create a sensible name for widgets.
7704         (console_type_create_glyphs_x): declare x_widget_border_width.
7705
7706         * glyphs.h (DEFAULT_WIDGET_BORDER_WIDTH): new macro.
7707         (struct Lisp_Image_Instance): add :vertically-justify and
7708         :horizontally-justify.
7709         (LAYOUT_JUSTIFY_TOP): new.
7710         (IMAGE_INSTANCE_SUBWINDOW_H_JUSTIFY): new.
7711         (ROUND_UP): new macro. Round argument up to next integral
7712         interval.
7713
7714         * redisplay-output.c (redisplay_output_layout): misc formatting.
7715
7716         * symsinit.h: declare specifier_vars_of_glyphs_widget.
7717
7718 2002-08-23  Stephen J. Turnbull  <stephen@xemacs.org>
7719
7720         * XEmacs 21.4.9 "Informed Management" is released.
7721
7722 2002-08-19  Andy Piper  <andy@xemacs.org>
7723
7724         * fileio.c (Ffile_truename): on cygwin using win32 normalize to
7725         win32 format.
7726
7727         * realpath.c (xrealpath): normalize drive spec also so that dir
7728         sep chars are not mixed on cygwin.
7729
7730 2002-08-06  Jerry James  <james@xemacs.org>
7731
7732         * window.c (Fsplit_window): Count only half of the divider width
7733         against the left window when splitting horizontally. 
7734
7735 2002-06-24  Andy Piper  <andy@xemacs.org>
7736
7737         * toolbar-gtk.c (GTK_OUTPUT_BUTTONS_LOOP): output button if whole
7738         toolbar was cleared.
7739
7740         * toolbar-msw.c (mswindows_clear_frame_toolbars): new
7741         function. Split out from mswindows_output_frame_toolbars.
7742         (mswindows_output_frame_toolbars): move clear pieces to
7743         mswindows_output_frame_toolbars.
7744
7745         * toolbar-gtk.c (gtk_clear_frame_toolbars): new function. Split
7746         out from gtk_output_frame_toolbars.
7747         (gtk_output_frame_toolbars): move clear pieces to
7748         gtk_clear_frame_toolbars.
7749
7750         * toolbar-x.c (X_OUTPUT_BUTTONS_LOOP): always output buttons when
7751         the frame is cleared. How this ever worked before is a mystery.
7752         (x_output_frame_toolbars): Only output toolbars.
7753         (x_clear_frame_toolbars): new. Clear previous toolbar locations.
7754
7755         * gutter.c (update_gutter_geometry):
7756         Mark frame layout changed.
7757         (update_frame_gutter_geometry, update_frame_gutters):
7758         Respect frame_layout_changed.
7759
7760         * console.h (struct console_methods): add
7761         clear_frame_toolbars_method.
7762
7763         * redisplay.c (redisplay_frame): call
7764         update_frame_toolbars_geometry and re-order update_frame_toolbars.
7765
7766         * toolbar.h: declare update_frame_toolbars_geometry.
7767
7768         * toolbar.c (update_frame_toolbars_geometry): new function. Split
7769         out from update_frame_toolbars.  Call clear_frame_toolbars.
7770         (update_frame_toolbars): only output, do not change geometry.
7771
7772         * redisplay.c: add frame_layout_changed.
7773
7774         * redisplay.h: add frame_layout_changed.
7775         (CLASS_RESET_CHANGED_FLAGS): set it.
7776         (GLOBAL_RESET_CHANGED_FLAGS): ditto.
7777         (CLASS_REDISPLAY_FLAGS_CHANGEDP): test it.
7778         (GLOBAL_REDISPLAY_FLAGS_CHANGEDP): ditto.
7779
7780         * device.h (struct device): add frame_layout_changed.
7781         (MARK_DEVICE_FRAME_LAYOUT_CHANGED): new.
7782
7783         * frame.h (struct frame): add frame_layout_changed.
7784         (MARK_FRAME_LAYOUT_CHANGED): new.
7785
7786 2002-06-30  Mike Alexander  <mta@arbortext.com>
7787
7788         * event-msw.c (mswindows_need_event): Don't wait for a new message
7789         if the queue is not empty.  Suggested by Paul Moore.
7790
7791 2002-06-12  Andy Piper  <andy@xemacs.org>
7792
7793         * frame-msw.c (msprinter_init_frame_3): calculate the frame size
7794         for printing on accurately.
7795
7796 2002-06-09  Rick Rankin <rick_rankin@yahoo.com>
7797
7798         * event-msw.c (mswindows_wnd_proc): Add a handler for the
7799         WM_ACTIVATE message. Make sure that the frame is visible if the
7800         window is visible. This seemss to fix the problem where XEmacs
7801         appears to freeze after switching desktops with certain virtual
7802         window managers.
7803         (debug_output_mswin_message): Added code to output message
7804         parameters for WM_WINDOWPOSCHANGED, 
7805         WM_WINDOWPOSCHANGING, WM_MOVE, and WM_SIZE messages.
7806
7807 2002-05-25  Andy Piper  <andy@xemacs.org>
7808
7809         * select-x.c (vars_of_select_x): Fix docstring of
7810         x-selection-strict-motif-ownership
7811
7812 2002-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
7813
7814         * keymap.c (get_keymap):
7815         Add comment about do_autoload GCPROs own args.
7816
7817 2002-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
7818
7819         * bytecode.c (execute_optimized_program): check_opcode ifdef
7820         ERROR_CHECK_BYTE_CODE.
7821
7822 2002-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
7823
7824         Thanks to Ben Wing and Michael Sperber.
7825
7826         * eval.c (Fcommand_execute):
7827         (Feval):
7828         (Ffuncall):
7829         (Fmacroexpand_internal):
7830         (function_argcount):
7831         callint.c (Fcall_interactively):
7832         Add comment about do_autoload GCPROs own args.
7833
7834         * (do_autoload): GCPRO both args as well as local Lisp_Object.
7835
7836         * eval.c (Ffuncall): Extra braces to placate GCC.
7837
7838 2002-08-10  Stephen J. Turnbull  <stephen@xemacs.org>
7839
7840         * backtrace.h (grow_specpdl):
7841         (SPECPDL_RESERVE):
7842         * EmacsFrame.c (EmacsFrameSetValues):
7843         * eval.c (grow_specpdl):
7844         * ExternalShell.c (hack_event_masks_1):
7845         * glyphs-x.c (convert_EImage_to_XImage): 
7846         (x_finalize_image_instance):
7847         * ralloc.c (page_size):
7848         (r_alloc_sbrk):
7849         * xgccache.c (gc_cache_hash):
7850         Fix unsigned comparison warnings.
7851
7852 2002-07-29  Jerry James  <james@xemacs.org>
7853
7854         * lread.c (locate_file): Any nonnegative return value indicates
7855         success if MODE is nonnegative.
7856
7857 2002-08-03  Brian A Palmer  <bpalmer@rescomp.Stanford.EDU>
7858
7859         * emacs.c (Fsplit_string_by_char): Make 2nd arg SEPCHAR a required
7860         argument. 
7861
7862 2002-07-17  Stephen J. Turnbull  <stephen@xemacs.org>
7863
7864         * process-unix.c (unix_send_process): #ifdef the coding_stream member.
7865
7866         * dumper.c (pdump_get_indirect_count):
7867         (pdump_scan_by_alignment):
7868         (pdump_dump_root_struct_ptrs):
7869         (pdump_dump_rtables):
7870         (pdump_dump_root_objects):
7871         (pdump):
7872         * nas.c (WaveOpenDataForReading):
7873         * fns.c (print_bit_vector):
7874         * font-lock.c (SINGLE_SYNTAX_STYLE):
7875         * glyphs.c (check_for_ignored_expose):
7876         (find_matching_subwindow):
7877         * glyphs-eimage.c:
7878         * imgproc.c (get_histogram):
7879         * redisplay.c (point_in_line_start_cache):
7880         * redisplay-output.c (redisplay_unmap_subwindows):
7881         * symbols.c (defsymbol_massage_name_1):
7882         (defkeyword_massage_name):
7883         (deferror_massage_name_and_message):
7884         * redisplay-x.c (x_output_string): 
7885         * emacs.c (run_temacs_argv_size, run_temacs_args_size):
7886         * frame.h (struct frame):
7887         * filelock.c (current_lock_owner):
7888         * doprnt.c (emacs_doprnt_1):
7889         * lisp.h (struct Lisp_Bit_Vector):
7890         (DO_REALLOC):
7891         Fix warnings.
7892
7893 2002-02-13  Ben Wing  <ben@xemacs.org>
7894
7895         * event-stream.c (reset_key_echo):
7896         * event-stream.c (reset_this_command_keys):
7897         * event-stream.c (execute_command_event):
7898         If console is dead as a result of C-x 5 0, then post-command stuff
7899         needs to be careful and do only non-console-specific stuff.
7900
7901 2002-07-01  Mike Sperber <mike@xemacs.org>
7902
7903         * process-unix.c (unix_send_process): Mark coding_outstream as
7904         non-open upon SIGPIPE.
7905
7906         * event-stream.c (Fnext_event): Reorder switch cases to something
7907         that makes sense.
7908
7909 2001-08-13  Dmitry Astapov  <adept@umc.com.ua>
7910
7911         * event-Xt.c (maybe_define_x_key_as_self_inserting_character):
7912         Don't bogusly reinitialize ascii_character property.
7913
7914 2002-07-08  Mike Sperber <mike@xemacs.org>
7915
7916         * process.c (Fstart_process_internal): Do error checking before we
7917         fork off the child, so the child can't muck with the state of the
7918         parent.
7919
7920 2002-07-08  Mike Sperber <mike@xemacs.org>
7921
7922         * ralloc.c (init_ralloc): Allocate properly for pdump.
7923
7924 2002-06-12  Andy Piper  <andy@xemacs.org>
7925
7926         * glyphs.c (query_string_geometry): check the string.
7927
7928         * glyphs-widget.c (widget_logical_unit_height): cope with nil
7929         widget names.
7930
7931 2002-06-17  Jerry James  <james@xemacs.org>
7932
7933         * sysdll.c: Remove RTLD_GLOBAL initialization.
7934         * sysdll.c (dll_open): Do not use RTLD_GLOBAL.
7935
7936 2002-06-25  Stephen J. Turnbull  <stephen@xemacs.org>
7937
7938         * search.c (skip_chars): Port Ben's crash fix and efficiency patch.
7939
7940 2002-05-16  Mathias Grimmberger  <mgri@zaphod.sax.de>
7941
7942         * sysdep.c (sys_rename): Make sys_rename work for the case where
7943         Windows rename sets errno to EACCES if target file exists.
7944
7945 2002-05-21  Jonathan Harris  <jonathan@xemacs.org>
7946
7947         * device-msw.c (mswindows_handle_page_setup_dialog_box):
7948         Fix detection of metric units to work on Win95
7949
7950 2002-05-21  Stephen J. Turnbull  <stephen@xemacs.org>
7951
7952         * syswindows.h: #define LOCALE_RETURN_NUMBER.  Why, I don't know.
7953
7954 2002-04-25  Andy Piper  <andy@xemacs.org>
7955
7956         * redisplay.c (create_text_block): Remove extra comment trailer.
7957
7958 2002-04-24  Andy Piper  <andy@xemacs.org>
7959
7960         * redisplay.c (create_text_block): Don't actually add propagation
7961         data if the line ends after we have added a glyph.
7962
7963 2002-04-22  Andy Piper  <andy@xemacs.org>
7964
7965         * extents.c (extent_fragment_update): check for glyphs we have
7966         previously displayed.
7967         * extents.c (print_extent_1): warning removal.
7968         * extents.h: change prototype.
7969         * redisplay-output.c (redisplay_normalize_glyph_area): calculate
7970         widths correctly for wide glyphs.
7971         * redisplay.c (position_redisplay_data_type): add end_glyph_width.
7972         * redisplay.c (prop_type): add PROP_GLYPH.
7973         * redisplay.c (struct prop_block): add glyph type
7974         * redisplay.c (add_glyph_rune): when adding part of a glyph add it
7975         to the propagation data.
7976         * redisplay.c (create_text_block): if there is a glyph in the
7977         propagation data use it to salt extent_fragment_update.
7978         * redisplay.c (create_string_text_block): ditto.
7979
7980 2002-04-13  Nix  <nix@esperi.demon.co.uk>
7981
7982         * redisplay.h (struct rune): Add ascent, descent, and yoffset fields.
7983         * redisplay-output.c (compare_runes): Compare them.
7984         * redisplay.c: Update copyright date.
7985         * redisplay.c (pos_data): Add need_baseline_computation field.
7986         * redisplay.c (add_glyph_rune): Update ascent, descent, and
7987         need_baseline_computation; zero yoffset. Set max_pixmap_height
7988         for all pixmaps, not just automatically positioned ones.
7989         * redisplay.c (calculate_yoffset): New, compute yoffset values.
7990         * redisplay.c (calculate_baseline): New, compute textual baseline.
7991         * redisplay.c (add_glyph_rune): Call them.
7992         * redisplay.c (create_text_block): Likewise.
7993         * redisplay.c (create_overlay_glyph_block): Likewise.
7994         * redisplay.c (add_margin_runes): Likewise.
7995         * redisplay.c (create_string_text_block): Likewise. Fix tabdamage.
7996
7997         * redisplay.h: (redisplay_calculate_display_boxes): Change prototype.
7998         * redisplay-output.c (redisplay_calculate_display_boxes): Use yoffset.
7999         * redisplay-msw.c (mswindows_output_blank): Pass 0 as yoffset.
8000         * redisplay-msw.c (mswindows_output_string): Likewise.
8001         * redisplay-msw.c (mswindows_output_display_block): Pass yoffset.
8002         * redisplay-gtk.c (gtk_output_display_block): Likewise.
8003         * redisplay-x.c (x_output_display_block): Likewise.
8004
8005 2002-03-28  Ben Wing  <ben@xemacs.org>
8006
8007         * redisplay.c: Fixed bug in redisplay
8008         w.r.t. hscroll/truncation/continuation glyphs causing jumping up
8009         and down of the lines, since they're bigger than the line
8010         size. (It was seen most obviously when there's a horizontal scroll
8011         bar, e.g. do C-h a glyph or something like that.) The problem was
8012         that the glyph-contrib-p setting on glyphs was ignored even if it
8013         was set properly, which it wasn't until now.
8014
8015 2002-04-24  Andy Piper  <andy@xemacs.org>
8016
8017         * lisp.h (Dynarr_end): Fix definition.
8018
8019 2002-02-06  Adrian Aichner  <adrian@xemacs.org>
8020
8021         * redisplay.c (mark_redisplay): Remove call to
8022         update_frame_window_mirror.
8023
8024 2001-11-15  Andy Piper  <andy@xemacs.org>
8025
8026         * win32.c (Fmswindows_shell_execute): fix handling of URL's under
8027         cygwin (again).
8028
8029 2002-02-13  Andy Piper  <andy@xemacs.org>
8030
8031         * event-msw.c (mswindows_wnd_proc): only mark the frame visible if
8032         we did in fact enqueue the XM_MAPFRAME event.
8033
8034 2002-01-15  Adrian Aichner  <adrian@xemacs.org>
8035
8036         * event-msw.c (mswindows_wnd_proc): Add handling of WM_SHOWWINDOW
8037         to fix problem switching between virtual desktops under virtuawin
8038         virtual window manager.
8039
8040 2001-07-30  Adrian Aichner  <adrian@xemacs.org>
8041
8042         * event-msw.c: Typo fix.
8043         * event-msw.c (mswindows_wnd_proc): Set FRAME_VISIBLE_P after
8044         magic XM_MAPFRAME event has been sent.
8045
8046 2001-11-23  Andy Piper  <andy@xemacs.org>
8047
8048         * event-msw.c (mswindows_wnd_proc): Don't pump mousewheel events.
8049
8050 2001-11-21  Andy Piper  <andy@xemacs.org>
8051
8052         * scrollbar-msw.c (mswindows_handle_mousewheel_event): cope with
8053         mouse events outside the frame.
8054
8055 2002-03-20  Andy Piper  <andy@xemacs.org>
8056
8057         * menubar-msw.c (mswindows_popup_menu): warning removal.
8058         * dialog-msw.c (dialog_popped_down): ditto.
8059
8060 2001-12-11  Andy Piper  <andy@xemacs.org>
8061
8062         * dialog-msw.c (dialog_popped_down): new function. unset popup_up_p.
8063         * dialog-msw.c (mswindows_make_dialog_box_internal): set
8064         popup_up_p.
8065         * menubar-msw.c (unsafe_handle_wm_initmenupopup_1): ditto.
8066         * menubar-msw.c (mswindows_handle_wm_command): ditto.
8067         * menubar-msw.c (mswindows_popup_menu): ditto.
8068
8069 2001-10-29  Andy Piper  <andy@xemacs.org>
8070
8071         * dialog-msw.c (handle_directory_dialog_box): quit if the user
8072         cancels.
8073
8074 2002-01-03  Andy Piper  <andy@xemacs.org>
8075
8076         * realpath.c (ABS_LENGTH): dtrt for cygwin systems using drive
8077         letters.
8078         (xrealpath): ditto.
8079
8080 2002-03-29  Jonathan Harris  <jonathan@xemacs.org>
8081
8082         * device-msw.c (plist_get_margin): Add arg specifying mm or inches
8083         * device-msw.c (plist_set_margin): Fix multiplicand used for mm
8084         * device-msw.c (mswindows_handle_page_setup_dialog_box):
8085         Detect and handle case where machine is set up for metric units
8086
8087 2002-04-02  Andy Piper  <andy@xemacs.org>
8088
8089         * dired-msw.c (mswindows_get_files): 
8090         * nt.c (mswindows_stat): SetErrorMode() so that file errors are
8091         completely handled by XEmacs. Suggested by Thomas Vogler
8092         <mail@thomas-vogler.de>.
8093
8094 2001-11-14  Andy Piper  <andy@xemacs.org>
8095
8096         * nt.c (REG_ROOT): change registry key to XEmacs.
8097
8098 2002-04-27  Andy Piper  <andy@xemacs.org>
8099
8100         * glyphs-msw.c (mswindows_widget_instantiate): remove dead-code.
8101
8102 2002-04-26  Andy Piper  <andy@xemacs.org>
8103
8104         * glyphs-msw.c (mswindows_map_subwindow): observe :initial-focus
8105         behavior.
8106
8107 2002-03-14  Mike Alexander  <mta@arbortext.com>
8108
8109         * event-msw.c (mswindows_unwait_process): New, remove process from
8110         wait list
8111         * process-nt.c (nt_finalize_process_data): Call
8112         mswindows_unwait_process
8113         * console-msw.h: Declare mswindows_unwait_process
8114
8115 2002-05-14  Stephen J. Turnbull  <stephen@xemacs.org>
8116
8117         * editfns.c (Fdecode_time):
8118         (Fformat_time_string):
8119         Check for invalid time.  Thanks to Nick Pakoulin <npak@ispras.ru>.
8120         (make_time): Warning elimination (change arg name).
8121
8122 2001-11-24  Andy Piper  <andy@xemacs.org>
8123
8124         * window.c (Fsplit_window): Doc return type.
8125
8126 2002-04-01  Andy Piper  <andy@xemacs.org>
8127
8128         * emacs.c (Fkill_emacs): Only output message box in interactive
8129         mode.
8130
8131 2002-04-26  Andy Piper  <andy@xemacs.org>
8132  
8133         * config.h.in: pull in 21.5.x change to stop alloca warnings under
8134         cygwin.
8135
8136 2002-03-18  Gregory Steuck  <greg-xemacs-patch@nest.cx>
8137
8138         * unexelf.c:  Use ELFSIZE or define from _LP64 to indicate a 64
8139         bit platform.
8140
8141 2002-05-09  Stephen J. Turnbull  <stephen@xemacs.org>
8142
8143         * XEmacs 21.4.8 "Honest Recruiter" is released.
8144
8145 2002-05-07  Nix  <nix@esperi.demon.co.uk>
8146
8147         Supersedes 2002-04-17 patch.
8148
8149         * process.h (PROCESS_LIVE_P): Use the process status as
8150         evidence of health, not the state of the input stream.
8151         (PROCESS_READABLE_P): Say if the process is readable
8152         from. (It may be dead nonetheless.)
8153         (CHECK_READABLE_PROCESS): Test for that condition.
8154
8155         * process.c (create_process): Use PROCESS_READABLE_P.
8156         (read_process_output, set_process_filter): Likewise.
8157
8158         * process.c (Fprocess_input_coding_system): Use CHECK_READABLE_PROCESS.
8159         (Fset_process_input_coding_system, Fprocess_coding_system): Likewise.
8160
8161         This code is #if 0'd, this is not the time to add new functions:
8162
8163         * process.c (Fprocess_readable_p): Report readability status.
8164         * process.c (Qprocess_readable_p): New, associated symbol...
8165         * process.c (syms_of_process): ... initialize it.
8166
8167 2002-05-04  Stephen J. Turnbull  <stephen@xemacs.org>
8168
8169         * XEmacs 21.4.7 "Economic Science" is released.
8170
8171 2002-04-17  Nix  <nix@esperi.demon.co.uk>
8172
8173         * process.h (PROCESS_LIVE_P): Use the process status as
8174         evidence of health, not the state of the input stream.
8175
8176 2002-04-30  Charles G. Waldman <cgw@xemacs.org>
8177
8178         * sysdep.c (sys_siglist): change "signum" to "signal"
8179
8180 2001-04-21  Martin Buchholz  <martin@xemacs.org>
8181
8182         * s/darwin.h: New file.
8183         Thanks to Greg Parker <gparker@cs.stanford.edu>.
8184         
8185 2002-04-23  Andreas Jaeger  <aj@suse.de>
8186
8187         * s/linux.h (LIB_STANDARD): Define correctly for x86-64 and s390x
8188         which use lib64 for 64-bit libs.
8189         (START_FILES): Likewise.
8190
8191 2002-02-11  Mike Sperber  <mike@xemacs.org>
8192
8193         * device-x.c: 
8194         (x_IO_error_handler):
8195         (x_init_device): Temporarily keep device in static variable
8196         `device_being_initialized' so we can recover gracefully from
8197         internal XOpenDevice failure.  (XOpenDevice is documented to
8198         return NULL on failure, but sometimes calls the IO error handler
8199         instead.)
8200
8201 2002-01-31  John H. Palmieri  <palmieri@math.washington.edu>
8202
8203         * dired.c (Ffile_name_all_completions): Change documentation --
8204         remove reference to completion-ignored-extensions.
8205         * dired.c (vars_of_dired): Change documentation for
8206         completion-ignored-extensions -- remove reference to
8207         file-name-all-completions.
8208
8209 2002-03-06  Jerry James  <james@xemacs.org>
8210
8211         * emodules.c (emodules_load): Fix multiple loading of same module.
8212
8213 2002-01-25  Andrew Begel <abegel@cs.berkeley.edu>
8214         * sysdll.c (dll_open): Changed to use RTLD_NOW instead of
8215         RTLD_LAZY to avoid incorrect symbol binding when using nested
8216         shared libraries on Solaris.
8217
8218 2002-02-12  Stephen J. Turnbull  <stephen@xemacs.org>
8219
8220         * fileio.c (Ffind_file_name_handler): Improve docstring.
8221
8222 2002-01-20  Stephen J. Turnbull  <stephen@xemacs.org>
8223
8224         * fns.c (Fmapconcat): Improve docstring.
8225
8226 2002-01-03  Eric Gillespie, Jr.  <epg@pretzelnet.org>
8227
8228         * device-gtk.c: Add prototype for
8229         emacs_gtk_selection_clear_event_handle.
8230         (gtk_init_device): Call gtk_selection_add_target for CLIPBOARD
8231         selection.  Setup signal handler for "selection_clear_event"
8232         (emacs_gtk_selection_clear_event_handle).
8233
8234         * select-gtk.c (emacs_gtk_selection_clear_event_handle): Handle
8235         other applications owning the clipboard (based on
8236         x_handle_selection_clear).
8237
8238 2001-12-23  William M. Perry  <wmperry@gnu.org>
8239
8240         * menubar-gtk.c (gtk_popup_menu)  Add sanity checks, fix crash.
8241         
8242 2002-01-04  Martin Buchholz  <martin@xemacs.org>
8243
8244         * keymap.c (define_key_alternate_name): Parenthesize EQ.
8245
8246 2001-12-17  Stephen J. Turnbull  <stephen@xemacs.org>
8247
8248         * XEmacs 21.4.6 "Common Lisp" is released.
8249
8250 2001-12-16  Torsten Duwe  <duwe@caldera.de>
8251
8252         * search.c (Freplace_match): Add missing sub-expression functionality.
8253
8254         * buffer.c (decode_buffer): Add a check for pointer type to
8255         decode_buffer, before gcc's CSE optimization reorders a
8256         dereference in front of the allow_string test.
8257
8258 2001-11-16  Darryl Okahata  <darrylo@xemacs.org>
8259
8260         * window.c (window_loop): Fix bug that sometimes prevented
8261         window_loop() from iterating across multiple devices.  Also, at
8262         Ben's request, changed infloop-detecting code to abort() instead
8263         of silently terminating window_loop().
8264
8265 2001-11-21  Stephen J. Turnbull  <stephen@xemacs.org>
8266
8267         Based on analysis and patch by Simon Josefson <jas@extundo.com>.
8268         * editfns.c (make_time): New function.
8269         (Fencode_time): Use it instead of wasteful_word_to_lisp.
8270         * lisp.h (make_time): Prototype and comment it.
8271         * dired.c (wasteful_word_to_lisp): Deprecate.
8272         (Ffile_attributes): Use make_time() instead of wasteful_word_to_lisp().
8273
8274 2001-10-31  Kyle Jones  <kyle_jones@wonderworks.com>
8275
8276         * fileio.c (auto_save_1): Use current coding system, not
8277         escape-quoted.
8278
8279 2001-11-13  Ben Wing  <ben@xemacs.org>
8280
8281         * window.c:
8282         * window.c (window_truncation_on):
8283         * window.c (syms_of_window):
8284         truncate-partial-width-windows should respect the buffer being
8285         displayed, like other redisplay vars.
8286
8287 2001-11-13  Hirokazu FUKUI  <hfukui@sannet.ne.jp>
8288
8289         * event-stream.c (Fread_key_sequence): save current buffer.
8290
8291 2001-10-29  Andrew Begel  <abegel@eecs.berkeley.edu>
8292
8293         * ntheap.c (_heap_init): Don't redefine in VS.NET (MSC >= 1300).
8294
8295 2001-10-29  Andrew Begel  <abegel@eecs.berkeley.edu>
8296
8297         * alloc.c (lcrecord_stats): Add space for types defined in modules.
8298
8299 2001-10-26  Mike Alexander  <mta@arbortext.com>
8300
8301         * event-msw.c (slurper_free_shared_data_maybe): Free the pipe handle.
8302
8303 2001-10-25  Andy Piper  <andy@xemacs.org>
8304
8305         * ChangeLog:
8306         * dialog-msw.c (handle_directory_proc): new function.
8307          (handle_directory_dialog_box): new fucntion.
8308          (handle_file_dialog_box): use new directory dialog support.
8309          (mswindows_make_dialog_box_internal): ditto.
8310         * event-msw.c (mswindows_wnd_proc): minor fix to scrollbar event
8311         handling.
8312         (mswindows_find_frame): make global.
8313         * fileio.c (Fexpand_file_name): build fix.
8314         * general-slots.h: add Qdirectory.
8315         * scrollbar-msw.c (mswindows_handle_scrollbar_event): fix focus
8316         handling.
8317         * syswindows.h (LOCAL_TO_WIN32_FILE_FORMAT): fix problem with
8318         cygwin not leaving win32 paths unchanged.
8319         * win32.c (Fmswindows_cygwin_to_win32_path): new function. Use the
8320         cygwin runtime to do path conversion.
8321         (Fmswindows_shell_execute): fix cygwin handling of URLs.
8322         (syms_of_win32): add new function.
8323         * window.c (window_loop): build fix.
8324
8325 2001-10-15  Andy Piper  <andy@xemacs.org>
8326
8327         (Fmswindows_shell_execute): fix handling of URL's under cygwin.
8328
8329 2001-10-23  Stephen J. Turnbull  <stephen@xemacs.org>
8330
8331         * XEmacs 21.4.5 "Civil Service" is released.
8332
8333 2001-04-08  Danny Colascione  <qtmstr@optonline.net>
8334
8335         * glyphs-x.c: Force buffer-tab highlight update when moving the
8336         buffer, avoiding an ugly black border, used for keyboard focus
8337         indication, on a widget that can never have keyboard focus, the
8338         buffer tab.
8339
8340 2001-08-30  Daiki Ueno  <ueno@unixuser.org>
8341
8342         * process-unix.c (unix_open_multicast_group): Remove too much
8343         conversion between host and network byte order.
8344
8345 2001-09-10  Nix  <nix@esperi.demon.co.uk>
8346
8347         * src/buffer.c (kill_buffer): Undedicate windows showing BUF
8348         before replacing them.
8349
8350         * src/window.c (window_loop): Implement new UNDEDICATE_BUFFER
8351         operation.
8352
8353         * src/window.c (undedicate_windows): Use it.
8354         * src/window.h: Add prototype.
8355
8356 2001-09-17  Ben Wing  <ben@xemacs.org>
8357
8358         * fileio.c (normalize_filename):
8359         * fileio.c (Fexpand_file_name):
8360         Fix various C++ compile errors in Andy's recent code.
8361         
8362         * callint.c (Fcall_interactively):
8363         * editfns.c (Ftemp_directory):
8364         * editfns.c (Fuser_full_name):
8365         * emacs.c (argmatch):
8366         * lread.c (locate_file_map_suffixes):
8367         * redisplay-x.c (x_ring_bell):
8368         Fix sign-compare warnings.
8369         
8370 2001-09-08  Andy Piper  <andy@xemacs.org>
8371
8372         * fileio.c (normalize_filename): copied from nt.c
8373         * (Ffile_name_directory): enable win32 paths under cygwin.
8374         * (Ffile_name_nondirectory): ditto.
8375         * (directory_file_name): ditto.
8376         * (Fexpand_file_name): ditto.
8377         * (Ffile_truename): ditto.
8378         * (Fsubstitute_in_file_name): ditto.
8379         * (Ffile_name_absolute_p): ditto.
8380         * (Ffile_readable_p): ditto.
8381
8382 2001-09-08  Andy Piper  <andy@xemacs.org>
8383
8384         * device-msw.c (mswindows_finish_init_device): remove dde
8385         initialization.
8386         * device-msw.c (mswindows_init_dde): factor out from
8387         mswindows_finish_init_device()
8388         * device-msw.c (init_mswindows_very_early): new function
8389         initialize but don't enable dde.
8390         * emacs.c (main_1): call init_mswindows_very_early.
8391         * event-msw.c:
8392         * event-msw.c (mswindows_dde_callback): only execute when we are
8393         ready.
8394         * symsinit.h: declare init_mswindows_very_early.
8395
8396 2001-05-02  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
8397
8398         [sjt: This has been in 21.5 for months with no complaints.]
8399
8400         * console.h (struct console_methods): Added flags member.
8401         (CONSOLE_IMPLEMENTATION_FLAGS): Defined.
8402         (CONMETH_IMPL_FLAG):
8403         (CONSOLE_IMPL_FLAG): Macro to check implememntation flags.
8404         Defined XDEVIMPF_DONT_PREEMPT_REDISPLAY.
8405
8406         * device.c (window_system_pixelated_geometry): Use the above macros.
8407
8408         * device.h (DEVICE_IMPL_FLAG): Macro to check a device
8409         implememntation flag.
8410         * device.h (DEVICE_DISPLAY_P): Use it.
8411
8412         * frame.c (delete_frame_internal): Use the above macro.
8413
8414         * redisplay.c (redisplay_device): Use it.
8415         (redisplay_device): Obey XDEVIMPF_DONT_PREEMPT_REDISPLAY.
8416         (redisplay_frame): Ditto.
8417
8418         * device-msw.c (mswindows_device_implementation_flags): Removed.
8419         (msprinter_device_implementation_flags): Removed.
8420         (console_type_create_device_mswindows): Removed references to
8421         implementation_flags methods, set implementation flags here.
8422         (console_type_create_device_mswindows): Added XDEVIMPF_DONT_PREEMPT.
8423
8424         * device-gtk.c (gtk_device_implementation_flags): Removed method.
8425         (console_type_create_device_gtk): Removed method declaration.
8426         Added commented out statement which semantically matches the
8427         commented out statement in the above removed method.
8428
8429 2001-04-14  Gordon Sadler  <gbsadler1@lcisp.com>
8430
8431         The attached patch fixes a few warnings. 
8432
8433         * src/emacs.c: prototype console_type_create_select_gtk for GTK only
8434         * src/frame-gtk.c: guard against GNOME calls in GTK only
8435         * src/redisplay-gtk.c: include <sys/poll.h> #ifdef HAVE_POLL
8436         * src/select-gtk.c: prototype lisp_to_time
8437
8438 2001-06-08  Ben Wing  <ben@xemacs.org>
8439
8440         ------ gc-in-window-procedure fixes ------
8441         
8442         * alloc.c:
8443         * alloc.c (struct post_gc_action):
8444         * alloc.c (register_post_gc_action):
8445         * alloc.c (run_post_gc_actions):
8446         * alloc.c (garbage_collect_1):
8447         Create "post-gc actions", to avoid those dreaded "GC during window
8448         procedure" problems.
8449
8450         * event-msw.c:
8451         Abort, clean and simple, when GC in window procedure.  We want
8452         to flush these puppies out.
8453
8454         * glyphs-msw.c:
8455         * glyphs-msw.c (finalize_destroy_window):
8456         * glyphs-msw.c (mswindows_finalize_image_instance):
8457         Use a post-gc action when destroying subwindows.
8458
8459         * lisp.h:
8460         Declare register_post_gc_action().
8461
8462         * scrollbar-msw.c:
8463         * scrollbar-msw.c (unshow_that_mofo):
8464         Use a post-gc action when unshowing scrollbar windows, if in gc.
8465
8466         * redisplay.c (mark_redisplay):
8467         Add comment about the utter evilness of what's going down here.
8468
8469         ------ cygwin setitimer fixes ------
8470         
8471         * Makefile.in.in (sheap_objs):
8472         * Makefile.in.in (profile_objs):
8473         * Makefile.in.in (objs):
8474         Compile profile.c only when HAVE_SETITIMER.
8475         
8476         * nt.c (mswindows_sigset):
8477         * nt.c (mswindows_sighold):
8478         * nt.c (mswindows_sigrelse):
8479         * nt.c (mswindows_sigpause):
8480         * nt.c (mswindows_raise):
8481         * nt.c (close_file_data):
8482         Style fixes.
8483         
8484         * nt.c:
8485         Move setitimer() emulation to win32.c, because Cygwin needs it too.
8486         
8487         * profile.c:
8488         * profile.c (Fstart_profiling):
8489         * profile.c (Fstop_profiling):
8490         Make sure we don't compile if no setitimer().  Use qxe_setitimer()
8491         instead of just plain setitimer().
8492         
8493         * signal.c:
8494         * signal.c (set_one_shot_timer):
8495         * signal.c (alarm):
8496         Define qxe_setitimer() as an encapsulation around setitimer() --
8497         call setitimer() directly unless Cygwin or MS Win, in which case
8498         we use our simulated version in win32.c.
8499         
8500         * systime.h:
8501         * systime.h (struct itimerval):
8502         * systime.h (ITIMER_REAL):
8503         Prototype mswindows_setitimer() and qxe_setitimer().  Long
8504         comment about "qxe" and the policy regarding encapsulation.
8505
8506         * win32.c:
8507         * win32.c (setitimer_helper_proc):
8508         * win32.c (setitimer_helper_period):
8509         * win32.c (setitimer_helper):
8510         * win32.c (mswindows_setitimer):
8511         Move setitimer() emulation here, so Cygwin can use it.
8512         Rename a couple of functions and variables to be longer and more
8513         descriptive.  In setitimer_helper_proc(), send the signal
8514         using either mswindows_raise() or (on Cygwin) kill().  If for
8515         some reason we are still getting lockups, we'll change the kill()
8516         to directly invoke the signal handlers.
8517
8518         ------ windows shell fixes ------
8519         
8520         * callproc.c:
8521         * ntproc.c:
8522         Comments about how these two files must die.
8523
8524         * callproc.c (init_callproc):
8525         On MS Windows, init shell-file-name from SHELL, then COMSPEC,
8526         not just COMSPEC. (more correct and closer to FSF.) Don't
8527         force a value for SHELL into the environment. (Comments added
8528         to explain why not.)
8529         
8530         * nt.c (init_user_info):
8531         Don't shove a fabricated SHELL into the environment.  See above.
8532
8533 2001-06-01  Ben Wing  <ben@xemacs.org>
8534
8535         * Makefile.in.in (ldflags):
8536         eliminate that pesky "defaulting to 00401000" warning.
8537         * nt.h:
8538         eliminate warnings.
8539
8540 2001-06-15  Golubev I. N.  <gin@mo.msk.ru>
8541
8542         * s/sco5.h (FORCE_ALLOCATE_PTY_THE_OLD_FASHIONED_WAY): #define.
8543         * process-unix.c (allocate_pty): #ifndef "modern" pty allocation.
8544
8545 2001-04-24  Jerry James <james@xemacs.org>
8546
8547         * faces.h: pass parameters to Fadd_spec_to_specifier in the
8548         correct order.
8549
8550 2001-06-01  Ben Wing  <ben@xemacs.org>
8551
8552         * event-msw.c (debug_mswin_messages):
8553         conditionalize the messages that were causing compile errors.
8554         (if only macros could generate #ifdef statements ...)
8555
8556 2001-07-28  Stephen J. Turnbull  <stephen@xemacs.org>
8557
8558         * XEmacs 21.4.4 "Artificial Intelligence" is released.
8559
8560 2001-07-22  Stephen J. Turnbull  <stephen@xemacs.org>
8561
8562         * event-msw.c (mswindows_wnd_proc): Add GC debugging assert.
8563
8564 2001-07-22  Stephen J. Turnbull  <stephen@xemacs.org>
8565
8566         * config.h.in (IPV6_CANONICALIZE): New #define for --with-ipv6-lookup.
8567         * process-unix.c (unix_canonicalize_host_name):
8568         sysdep.c (init_system_name):
8569         Use it to conditionally support IPv6 canonicalization.
8570
8571 2001-05-31  Paul Stodghill  <stodghil@cs.cornell.edu>
8572
8573         * event-msw.c:
8574         Cygwin does not define WM_IME_xxx. Modify the #if's accordingly.
8575
8576 2001-05-19  Paul Krause  <paulkrause1@mediaone.net>
8577
8578         * scrollbar-msw.c: Fixes a crash that occurs on Windows when an
8579         attempt is made to scroll when no scroll bar is available.
8580
8581 2001-04-19  Glynn Clements  <glynn.clements@virgin.net>
8582
8583         * input-method-motif.c (XIM_delete_frame): New callback.
8584         (XIM_init_frame): Register it.  (Reapplied by SJT, it somehow
8585         got deleted from 21.4.3.)
8586
8587 2001-06-01  Ben Wing  <ben@xemacs.org>
8588
8589         * nt.c (mswindows_utime):
8590         * nt.c (close_file_data):
8591         fix off-by-one-indirection error.
8592
8593 2001-05-29  Adrian Aichner  <adrian@xemacs.org>
8594
8595         * fileio.c: Include nt.h.  Remove lisp_string_set_file_times()
8596         because set_file_times() now takes Lisp_Object path, instead of
8597         char*.
8598         * nt.c: Include buffer.h.
8599         * nt.c (convert_from_time_t): New.
8600         * nt.c (mswindows_utime): New.  Use utime, since SetFileTime does
8601         not set mtime correctly.
8602         * nt.h: Declare mswindows_utime().
8603         * sysdep.c (set_file_times): set_file_times() now takes Lisp_Object
8604         path, instead of char*.
8605         * systime.h: Include <sys/utime.h> on WIN32_NATIVE.
8606
8607 2001-05-30  Ben Wing  <ben@xemacs.org>
8608
8609         For 21.4:
8610
8611         (Stephen, just take all event-msw.c patches.  This includes
8612         the "iconify" fix below.)
8613
8614         * event-msw.c:
8615         * event-msw.c (mswindows_dequeue_dispatch_event):
8616         * event-msw.c (assert):
8617         * event-msw.c (emacs_mswindows_quit_p):
8618         * event-msw.c (debug_mswin_messages):
8619         * event-msw.c (debug_output_mswin_message):
8620         * event-msw.c (vars_of_event_mswindows):
8621         Fix yet more problems with C-g handling.
8622         Implement debug-mswindows-events.
8623         
8624 2001-05-24  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
8625
8626         * event-msw.c (WM_DROPFILES): Use correct type for OLE characters.
8627         
8628 2001-05-23  Ben Wing  <ben@xemacs.org>
8629
8630         * event-msw.c (winsock_writer):
8631         * event-msw.c (winsock_closer):
8632         prior kludgy code was clobbering the buffer, thinking it was
8633         "unused" space to store an unneeded return value; instead, use
8634         the variable we've already got staring us in the face.
8635
8636 2001-05-17  Andy Piper  <andy@xemacs.org>
8637
8638         * sysfile.h: don't assume that file attributes are boolean
8639
8640 2001-05-23  Ben Wing  <ben@xemacs.org>
8641
8642         * device-msw.c (msprinter_init_device):
8643         signal an error rather than crash with an unavailable network
8644         printer (from Mike Alexander).
8645         
8646         * event-msw.c:
8647         * event-msw.c (struct winsock_stream):
8648         * event-msw.c (winsock_writer):
8649         * event-msw.c (winsock_closer):
8650         * event-msw.c (make_winsock_stream_1):
8651         cleanup headers.  fix (hopefully) an error with data corruption
8652         when sending to a network connection.
8653
8654         * fileio.c (Fexpand_file_name): Fix evil code that attempts
8655         to handle the ~user prefix by (a) always assuming we're referencing
8656         ourselves and not even verifying the user -- hence any file with
8657         a tilde as its first char is invalid! (b) if there wasn't a slash
8658         following the filename, the pointer was set *past* the end of
8659         file and we started reading from uninitialized memory.  Now we
8660         simply treat these as files, always.
8661
8662         * buffer.c (common_init_complex_vars_of_buffer): comment change.
8663         
8664 2001-05-19  Ben Wing  <ben@xemacs.org>
8665
8666         * eval.c: doc comment about gcpro'ing in record_unwind_protect.
8667
8668         * process-nt.c:
8669         * process-nt.c (vars_of_process_nt):
8670         remove unused mswindows-quote-process-args.  rec for 21.4.
8671         
8672 2001-05-12  Ben Wing  <ben@xemacs.org>
8673
8674         * event-msw.c (mswindows_dde_callback):
8675         * event-msw.c (mswindows_wnd_proc):
8676         eliminate cygwin warnings.
8677
8678 2001-05-06  Ben Wing  <ben@xemacs.org>
8679
8680         * console-msw.h:
8681         * device-msw.c:
8682         * device-msw.c (print_dialog_worker):
8683         * device-msw.c (mswindows_handle_print_dialog_box):
8684         * device-msw.c (syms_of_device_mswindows):
8685         * dialog-msw.c (mswindows_make_dialog_box_internal):
8686         * general-slots.h:
8687         implement printing the selection when it's selected.
8688
8689 2001-05-20  Drazen Kacar  <dave@arsdigita.com>
8690
8691         * glyphs-gtk.c (gtk_resource_instantiate): C++ comment -> #if 0
8692
8693 2001-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
8694
8695         * lisp.h (EMACS_INT_MAX): This should be one bit less since
8696         EMACS_INT is signed.
8697
8698 2001-04-15  Michael Lausch  <mla@1012surf.net>
8699
8700         * scrollbar-gtk.c (gtk_create_scrollbar_instance): Call
8701         gtk_widget_request_size() to give scrollbar >0 width for
8702         GTK >1.2.8.
8703
8704 2001-05-30  William M. Perry  <wmperry@gnu.org>
8705
8706         * event-gtk.c: Check for buttons as modifier keys.
8707
8708 2001-05-25  Craig Lanning  <CraigL@Knology.net>
8709
8710         * s\mingw32.h:
8711         Properly find MinGW's <process.h> inside Cygwin's restructured
8712         include directories.  Don't try to include <cygwin/version.h>
8713         since we are dropping support for MinGW in versions of Cygwin
8714         earlier than b21.
8715         * nt.c:
8716         Drop support for MinGW in versions of Cygwin before b21.
8717         * sysdep.c:
8718         Properly find MinGW's <process.h> inside Cygwin's restructured
8719         include directories.
8720         * syswindows.h:
8721         Drop support for MinGW in versions of Cygwin before b21.
8722         * unexcw.c:
8723         Even though a.out.h is no longer detected by configure, allow
8724         MinGW to use it until we figure out how to do the job with Win32.
8725
8726 2001-07-11  Matt Tucker  <tuck@whistlingfish.net>
8727
8728         * syntax.c (find_start_of_comment):
8729         Fix `unbalanced parentheses' bug when dealing with mixed comment
8730         styles in c++/java/etc. mode
8731
8732 2001-05-29  Mike Alexander  <mta@arbortext.com>
8733
8734         * console-msw.h (FRAME_MSPRINTER_CHARHEIGHT): Unswap
8735         FRAME_MSPRINTER_CHARWIDTH and FRAME_MSPRINTER_CHARHEIGHT
8736
8737 2001-05-17  Andrew Begel  <abegel@eecs.berkeley.edu>
8738
8739         * lrecord.h (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): Add needed cast.
8740
8741 2001-03-31  Mike Sperber <mike@xemacs.org>
8742
8743         * search.c (Freplace_match): Support FSF-style specification of
8744         match subexpression when applied to a buffer.
8745
8746 2001-05-27  Karl M. Hegbloom  <karlheg@hegbloom.net>
8747
8748         * event-stream.c (is_scrollbar_event): add missing semicolon
8749
8750 2001-05-22  Isaac Hollander  <ysh@mindspring.com>
8751
8752         * Makefile.in.in: Use TAR macro instead of hardcoding
8753           tar.  Allows use of GNU tar instead of system tar
8754
8755 2001-05-27  Karl M. Hegbloom  <karlheg@hegbloom.net>
8756
8757         * event-stream.c (is_scrollbar_event): add missing semicolon
8758
8759 2001-05-17  Stephen J. Turnbull  <stephen@xemacs.org>
8760
8761         * XEmacs 21.4.3 "Academic Rigor" is released.
8762
8763 2001-05-17  Stephen J. Turnbull  <stephen@xemacs.org>
8764
8765         * regex.c: Define DECLARE_NOTHING when "lisp.h" is not included.
8766
8767 2001-05-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
8768
8769         * buffer.c (Vcase_fold_search): Remove obsolete
8770           comment about non ASCII case-fold-search.  This
8771           bug has been fixed by case-table changes.
8772
8773 2001-05-11  Stephen J. Turnbull  <stephen@xemacs.org>
8774
8775         * event-msw.c: Restore include of events-mod.h.
8776
8777 2001-04-22   zhaoway  <zw@debian.org>
8778
8779         * event-stream.c (is_scrollbar_event): Noop returning 0 if
8780         !HAVE_SCROLLBARS.
8781
8782 2001-05-10  Stephen J. Turnbull  <stephen@xemacs.org>
8783
8784         * XEmacs 21.4.2 "Developer-Friendly Unix APIs" is released.
8785
8786 2001-05-08  Yoshiaki Kasahara  <kasahara@nc.kyushu-u.ac.jp>
8787
8788         * mule-charset.c (Fmake_charset): Add missing else.
8789
8790 2001-04-23  Ben Wing  <ben@xemacs.org>
8791
8792         * event-msw.c (FAKE_MOD_QUIT):
8793         * event-msw.c (mswindows_dequeue_dispatch_event):
8794         * event-msw.c (mswindows_wnd_proc):
8795         * event-msw.c (emacs_mswindows_quit_p):
8796         Get critical quit working.
8797
8798 2001-05-05  Ben Wing  <ben@xemacs.org>
8799
8800         * console-msw.h:
8801         * device-msw.c:
8802         * device-msw.c (mswindows_get_default_margin):
8803         * frame-msw.c (mswindows_size_frame_internal):
8804         * frame-msw.c (msprinter_init_frame_1):
8805         * frame-msw.c (vars_of_frame_mswindows):
8806         Change top/bottom margin defaults to 0.5 inches.
8807
8808 2001-05-01  Martin Buchholz  <martin@xemacs.org>
8809
8810         Fix link error with gcc 3.0 on Linux.
8811         * terminfo.c (UP): Remove.
8812         * terminfo.c (BC): Remove.
8813         * terminfo.c (PC): Remove.
8814         They weren't used, and in any case, these symbols should be
8815         defined in the *library*.
8816
8817 2001-05-03  Martin Buchholz  <martin@xemacs.org>
8818
8819         * s/aix4.h: Fix crash with xlc -O3.
8820         Improve comment explaining how -O3 works.
8821
8822 2001-04-15  Ben Wing  <ben@xemacs.org>
8823
8824         * event-stream.c:
8825         * event-stream.c (Fnext_event):
8826         * event-stream.c (is_scrollbar_event):
8827         * event-stream.c (execute_command_event):
8828         Better fix for Yoshiki's `C-x @ h <scrollbar-drag> x causes a
8829         crash' problem.  His fix introduces other problems.  We filter
8830         out scrollbar events specifically, making them somewhat invisible
8831         to command-building, and not appearing in `this-command-keys'.
8832         More work is still needed (see comments in event-stream.c), but
8833         this fixes all the major problems.
8834
8835 2001-04-20  Ben Wing  <ben@xemacs.org>
8836
8837         * .cvsignore: Added stuff for Windows.
8838
8839 2001-04-28  Ben Wing  <ben@xemacs.org>
8840
8841         * buffer.c (Ferase_buffer):
8842         * editfns.c (buffer_insert1):
8843         * editfns.c (Finsert_before_markers):
8844         * editfns.c (Finsert_string):
8845         * editfns.c (Finsert_char):
8846         * editfns.c (Fdelete_region):
8847         * editfns.c (Fwiden):
8848         * editfns.c (Fnarrow_to_region):
8849         remove bogus lines setting zmacs_region_stays to 0.
8850         
8851 2001-04-15  Gunnar Evermann  <ge204@eng.cam.ac.uk>
8852
8853         * process-unix.c (unix_open_network_stream): If connect() fails
8854         invalidate file descriptor after closing it.
8855
8856 2001-03-08  Mike Alexander  <mta@arbortext.com>
8857
8858         * event-msw.c (mswindows_need_event_in_modal_loop):
8859         Don't dispatch a message if we didn't get one.
8860         (mswindows_need_event):
8861         Terminate the correct process when one exits instead of the first
8862         one on Vprocess_list and look for process termination when in
8863         mswindows_protect_modal_loop.
8864
8865 2001-04-19  Stephen J. Turnbull  <stephen@xemacs.org>
8866
8867         * XEmacs 21.4.1 "Copyleft" is released.
8868
8869 2001-04-19  Glynn Clements  <glynn.clements@virgin.net>
8870
8871         * input-method-motif.c (XIM_delete_frame): New callback.
8872         (XIM_init_frame): Register it.
8873
8874 2001-04-16  Stephen J. Turnbull  <stephen@xemacs.org>
8875
8876         * XEmacs 21.4.0 "Solid Vapor" is released.
8877
8878 2001-04-15  Ben Wing  <ben@xemacs.org>
8879
8880         * cmdloop.c (call_command_loop):
8881         Fix braino in bit-rotting code.
8882         
8883 2001-04-07  Hrvoje Niksic  <hniksic@arsdigita.com>
8884
8885         * extents.c (Fset_extent_endpoints): Force creation of extent info
8886         in buffer_or_string.
8887
8888         * extents.c (process_extents_for_insertion_mapper): Correctly
8889         check for open-open zero-length extents.
8890
8891 2001-04-16  Stephen J. Turnbull  <stephen@xemacs.org>
8892
8893         * lisp.h: New typedefs Memory_count, Element_count.
8894         * regex.c:
8895         * regex.h:
8896         Sign-compare warning elimination: several unsigned -> signed.
8897         Based on work by Ben Wing <ben@xemacs.org>.
8898
8899 2001-04-14  Stephen J. Turnbull  <stephen@xemacs.org>
8900
8901         * XEmacs 21.2.47 "Zephir" is released.
8902
8903 2001-04-02  Jan Vroonhof  <jan@xemacs.org>
8904
8905         * redisplay.c (add_bufbyte_string_runes): Update data->bytepos
8906
8907 2001-04-03  Mike Sperber <mike@xemacs.org>
8908
8909         * search.c: Revert previous patch due because of release.
8910
8911 2001-03-30  Ben Wing  <ben@xemacs.org>
8912
8913         * s\cygwin32.h:
8914         Add missing killpg prototype.
8915
8916         * elhash.c:
8917         Add a comment about fixing problems when a new entry is added
8918         while mapping.
8919
8920         * frame-msw.c (mswindows_init_frame_1):
8921         Fix compile warnings.
8922
8923         * menubar.c (vars_of_menubar):
8924         Provide `menu-accelerator-support' to indicate that we properly
8925         support %_ in menu specifications, so that package code can
8926         conditionalize on this (and remove %_ from menu specifications
8927         on older versions).
8928
8929         * event-msw.c:
8930         * scrollbar-msw.c:
8931         * scrollbar-msw.c (can_scroll):
8932         * scrollbar-msw.h:
8933         Fix handling of mouse wheel under Windows to follow standards --
8934         now scrolls window under pointer, not selected window.
8935
8936 2001-03-31  Mike Sperber <mike@xemacs.org>
8937
8938         * search.c (Freplace_match): Support FSF-style specification of
8939         match subexpression when applied to a buffer.
8940
8941 2001-03-15  Martin Buchholz  <martin@xemacs.org>
8942
8943         * keymap.c (Fmap_keymap): map-keymap explicitly allows a mapping
8944         function to modify KEYMAP, so map over a copy of the hash table.
8945
8946 2001-03-21  Martin Buchholz <martin@xemacs.org>
8947
8948         * XEmacs 21.2.46 "Urania" is released.
8949
8950 2001-03-20  Dan Holmsand  <dan@eyebee.com>
8951
8952         * realpath.c (xrealpath): Make file-truename work with symlinks to
8953         /cygdrive paths on cygwin. Always lowercase drive-letters on
8954         native windows.
8955         (cygwin_readlink): Don't try to find canonical filename unless
8956         file exists.
8957
8958 2001-03-15  Stephen J. Turnbull  <stephen@xemacs.org>
8959
8960         * ChangeLog: Log GTK merge.
8961
8962         * dumper.c:
8963         * select-x.c:
8964         * specifier.c:
8965         * symeval.h:
8966         Revert gratuitous whitespace changes from GTK merge.
8967
8968         * emacs.c: Document end of complex #ifdef @ l. 1495.
8969
8970
8971 2001-03-12  Andy Piper  <andy@xemacs.org>
8972
8973         * mingw32.h: unfortunately cygnus changed mingw32 -> mingw so we
8974         have to do likewise.
8975
8976 2001-03-12  Andy Piper  <andy@xemacs.org>
8977
8978         * sysdep.c: we only support mingw now.
8979
8980 2001-03-09  Andy Piper  <andy@xemacs.org>
8981
8982         * unexcw.c (copy_executable_and_dump_data_section): making approx
8983         overrun a warning only.
8984
8985 2001-03-10  William M. Perry  <wmperry@aventail.com>
8986
8987         * faces.c (complex_vars_of_faces): Rewrote the font mucking to
8988         satisfy Stephen's identical-after-cpp plea.
8989
8990 2001-03-02  Ben Wing  <ben@xemacs.org>
8991
8992         * cmds.c:
8993         * cmds.c (Fforward_char):
8994         * syntax.c:
8995         * window.c:
8996
8997         Augment documentation of the most common motion commands to make
8998         note of the shifted-motion support.
8999         
9000 2001-03-02  Ben Wing  <ben@xemacs.org>
9001
9002         * nt.c (mswindows_fstat):
9003         * nt.c (mswindows_stat):
9004         * search.c (boyer_moore):
9005         Fix compile warnings under Windows.
9006         
9007         * sysdep.c (sys_readdir):
9008         Fix buggy filename-conversion code under Mule.
9009
9010 2001-03-09  William M. Perry  <wmperry@aventail.com>
9011
9012         * Makefile.in.in:
9013         * config.h.in:
9014         * console.c:
9015         * console.h:
9016         * device.c:
9017         * device.h:
9018         * dragdrop.c:
9019         * emacs.c:
9020         * event-stream.c:
9021         * events.c:
9022         * events.h:
9023         * faces.c:
9024         * frame.h:
9025         * general-slots.h:
9026         * glyphs.c:
9027         * gutter.c:
9028         * inline.c:
9029         * lisp.h:
9030         * lrecord.h:
9031         * make-src-depend:
9032         * redisplay-output.c:
9033         * redisplay.c:
9034         * symsinit.h:
9035         * sysfile.h:
9036         * toolbar.c:
9037         * window.c:
9038         The Great GTK Merge.
9039
9040         * ChangeLog.GTK:
9041         * console-gtk.c:
9042         * console-gtk.h:
9043         * device-gtk.c:
9044         * emacs-marshals.c:
9045         * emacs-widget-accessors.c:
9046         * event-gtk.c:
9047         * frame-gtk.c:
9048         * gccache-gtk.c:
9049         * gccache-gtk.h:
9050         * glade.c:
9051         * glyphs-gtk.c:
9052         * glyphs-gtk.h:
9053         * gtk-glue.c:
9054         * gtk-xemacs.c:
9055         * gtk-xemacs.h:
9056         * gui-gtk.c:
9057         * gui-gtk.h:
9058         * menubar-gtk.c:
9059         * native-gtk-toolbar.c:
9060         * objects-gtk.c:
9061         * objects-gtk.h:
9062         * redisplay-gtk.c:
9063         * scrollbar-gtk.c:
9064         * scrollbar-gtk.h:
9065         * select-gtk.c:
9066         * toolbar-gtk.c:
9067         * ui-byhand.c:
9068         * ui-gtk.c:
9069         * ui-gtk.h:
9070         The Great GTK Merge: new files.
9071
9072 2001-02-26  Ben Wing  <ben@xemacs.org>
9073
9074         Reapplied Lstream change.
9075
9076 2001-02-26  Ben Wing  <ben@xemacs.org>
9077
9078         Undid the last change, since it is more controversial than I
9079         thought.  It should be back in at some point soon.
9080         
9081 2001-02-25  Ben Wing  <ben@xemacs.org>
9082
9083         * buffer.c:
9084         * callproc.c (Fold_call_process_internal):
9085         * event-msw.c (ntpipe_slurp_reader):
9086         * event-msw.c (ntpipe_shove_writer):
9087         * event-msw.c (winsock_reader):
9088         * event-msw.c (winsock_writer):
9089         * file-coding.c:
9090         * file-coding.c (detect_eol_type):
9091         * file-coding.c (detect_coding_type):
9092         * file-coding.c (determine_real_coding_system):
9093         * file-coding.c (Fdetect_coding_region):
9094         * file-coding.c (decoding_reader):
9095         * file-coding.c (decoding_writer):
9096         * file-coding.c (mule_decode):
9097         * file-coding.c (Fdecode_coding_region):
9098         * file-coding.c (encoding_reader):
9099         * file-coding.c (encoding_writer):
9100         * file-coding.c (mule_encode):
9101         * file-coding.c (Fencode_coding_region):
9102         * file-coding.c (detect_coding_sjis):
9103         * file-coding.c (decode_coding_sjis):
9104         * file-coding.c (encode_coding_sjis):
9105         * file-coding.c (detect_coding_big5):
9106         * file-coding.c (decode_coding_big5):
9107         * file-coding.c (encode_coding_big5):
9108         * file-coding.c (detect_coding_ucs4):
9109         * file-coding.c (decode_coding_ucs4):
9110         * file-coding.c (encode_coding_ucs4):
9111         * file-coding.c (detect_coding_utf8):
9112         * file-coding.c (decode_coding_utf8):
9113         * file-coding.c (encode_coding_utf8):
9114         * file-coding.c (detect_coding_iso2022):
9115         * file-coding.c (decode_coding_iso2022):
9116         * file-coding.c (encode_coding_iso2022):
9117         * file-coding.c (decode_coding_no_conversion):
9118         * file-coding.c (encode_coding_no_conversion):
9119         * glyphs-x.c (write_lisp_string_to_temp_file):
9120         * gpmevent.c (tty_get_foreign_selection):
9121         * lisp.h:
9122         * lstream.c:
9123         * lstream.c (Lstream_flush_out):
9124         * lstream.c (Lstream_adding):
9125         * lstream.c (Lstream_write_1):
9126         * lstream.c (Lstream_write):
9127         * lstream.c (Lstream_raw_read):
9128         * lstream.c (Lstream_read_more):
9129         * lstream.c (Lstream_read):
9130         * lstream.c (Lstream_unread):
9131         * lstream.c (Lstream_fputc):
9132         * lstream.c (stdio_reader):
9133         * lstream.c (stdio_writer):
9134         * lstream.c (filedesc_reader):
9135         * lstream.c (filedesc_writer):
9136         * lstream.c (lisp_string_reader):
9137         * lstream.c (struct fixed_buffer_stream):
9138         * lstream.c (make_fixed_buffer_input_stream):
9139         * lstream.c (make_fixed_buffer_output_stream):
9140         * lstream.c (fixed_buffer_reader):
9141         * lstream.c (fixed_buffer_writer):
9142         * lstream.c (struct resizing_buffer_stream):
9143         * lstream.c (resizing_buffer_writer):
9144         * lstream.c (dynarr_writer):
9145         * lstream.c (lisp_buffer_reader):
9146         * lstream.c (lisp_buffer_writer):
9147         * lstream.h:
9148         * lstream.h (lstream_implementation):
9149         * lstream.h (struct lstream):
9150         * md5.c (Fmd5):
9151         * process-nt.c (nt_send_process):
9152         * process-unix.c (unix_send_process):
9153         
9154         Correct Lstream lossage due to mixing of signed and unsigned
9155         quantities.  All Lstream uses of size_t and ssize_t are now a
9156         single signed data type Lstream_data_count.  This fixes problems
9157         under Windows with sending large quantities of data to a process,
9158         and may well fix other subtle bugs.
9159
9160 2001-02-23  Martin Buchholz <martin@xemacs.org>
9161
9162         * XEmacs 21.2.45 "Thelxepeia" is released.
9163
9164 2001-02-21  Martin Buchholz  <martin@xemacs.org>
9165
9166         * lisp-union.h (XSETINT): 
9167         (XSETCHAR):
9168         (XSETOBJ): 
9169         Reverse previous change of 2001-02-06.
9170
9171 2001-02-20  Matt Tucker  <tuck@whistlingfish.net>
9172
9173         Fix `VALID_BYTIND_P' crashes in regex.c when using narrowed
9174         buffers.
9175         * syntax.h (SYNTAX_CACHE_BYTE_TO_CHAR):
9176         * syntax.h (SYNTAX_CACHE_OBJECT_BYTE_TO_CHAR):
9177         Add `BI_BUF_BEGV' to bytepos before calculating bufpos.
9178         * regex.c (POS_AS_IN_BUFFER): removed
9179         * regex.c (re_search_2):
9180         * regex.c (re_match_2):
9181         Don't use an offset of 1 when calculating buffer positions, since
9182         `BI_BUF_BEGV' does it already.
9183
9184 2001-02-18  Wim Dumon  <wim@easics.be>
9185
9186         * insdel.c (prepare_to_modify_buffer): Also check for
9187         supersession when clash-detection is enabled. 
9188
9189 2001-02-17  Matt Tucker  <tuck@whistlingfish.net>
9190
9191         * regex.c (re_match_2_internal):
9192         Convert temp characters from 'const unsigned char' to 're_char'.
9193         Fix crashing bug with extended characters under mule.
9194         * syntax.c (Qsyntax_table): Moved from vars_of_syntax to
9195         syms_of_syntax. Use defsymbol to define. Fixes hanging bug with
9196         font-lock, pdump, and new syntax-table code.
9197         * syntax.c (find_start_of_comment):
9198         (find_end_of_comment):
9199         (forward-comment):
9200         Fix crashing bugs involving moving beyond end of buffer.
9201         * syntax.c (find_start_of_comment):
9202         Fixed logic to allow proper detection of cases where the same
9203         character is used to end both a two-char comment start and a
9204         two-char comment end sequence. Fixes `(forward-comment -1)'.
9205         * syntax.c (find_start_of_comment):
9206         Return position just past last comment-end character for all cases
9207         (previously was only done for two-char comment-end sequences).
9208         * syntax.c (forward-comment):
9209         Take value returned from `find_end_of_comment', rather than
9210         incrementing it.
9211         * syntax.h (SYNTAX_CACHE_BYTE_TO_CHAR):
9212         Properly deal with BUFFERP (syntax_cache.object)
9213
9214 2001-02-17  Martin Buchholz  <martin@xemacs.org>
9215
9216         * alloc.c (Fgarbage_collect): 
9217         * alloc.c (make_bit_vector_from_byte_vector):
9218         -Wsign-compare-correctness.
9219
9220 2001-02-16  Martin Buchholz  <martin@xemacs.org>
9221
9222         * lisp-union.h (XSETINT): Eliminate unnecessary temp var.
9223         (XSETCHAR): Likewise.
9224         (XSETOBJ): Likewise.
9225
9226 2001-02-15  Martin Buchholz  <martin@xemacs.org>
9227
9228         * mule-canna.c (canna-func-delete_previous): 
9229         Rename to canna-func-delete-previous.
9230
9231 2001-02-14  Martin Buchholz  <martin@xemacs.org>
9232
9233         * mule-ccl.c (ccl_driver): Warning suppression.  Use countof.
9234
9235 2001-02-13  Matt Tucker  <tuck@whistlingfish.net>
9236
9237         * font-lock.c (find_context): Fix C++ compile errors introduced by
9238         recent patch
9239
9240 2001-02-13  Martin Buchholz  <martin@xemacs.org>
9241
9242         * s/aix4.h: Later versions of IBM C compiler need a bug workaround
9243         pragma, but earlier ones barf on the same pragma.
9244
9245 2001-02-06  Mike Sperber <mike@xemacs.org>
9246
9247         * emacs.c (complex_vars_of_emacs): Add `mule-lisp-directory' and
9248         `configure-mule-lisp-directory'.
9249
9250 2001-02-12  Martin Buchholz  <martin@xemacs.org>
9251
9252         Make sure dump-id.c is compiled in the same way as other .c's.
9253         Fixes pdump compilation failure with HP's cc, which defaults to K&R.
9254         * dump-id.h: Remove.
9255         * emacs.c: Move dump-id.h into dumper.h.
9256         * dumper.h: Move dump-id.h into dumper.h.
9257         * Makefile.in.in:
9258         Use standard .c.o rule for building dump-id.o.
9259         Remove preprocessor flags from link command.
9260         Add dump-id.o to ${otherobjs} if PDUMP.
9261
9262 2001-02-07  Matt Tucker  <tuck@whistlingfish.net>
9263
9264         Port FSF 20.7 syntax table improvements.
9265         * syntax.c.
9266         * syntax.h.
9267
9268         Fixups for new syntax table stuff.
9269         * dired.c: Include syntax.c.
9270         (Fdirectory_files): Initialize regex_match_object and
9271         regex_emacs_buffer.
9272         * extents.h: EXFUN Fnext_extent_change, Fprevious_extent_change,
9273         and Fget_char_property.
9274
9275         Use ported FSF 20.7 syntax table improvements.
9276         * font-lock.c.
9277         * regex.c.
9278         * search.c.
9279         
9280 2001-02-09  Martin Buchholz  <martin@xemacs.org>
9281
9282         * regex.c (Boolean): Renamed to `re_bool', to avoid conflict with
9283         Unixware's enum boolean from sys/types.h.
9284
9285 2001-02-10  Martin Buchholz  <martin@xemacs.org>
9286
9287         Fix support for building with latest Purify.
9288         * Makefile.in.in (PURIFY_LIBS): Remove thread flags.
9289         (PURIFY_FLAGS): Likewise.
9290
9291 2001-02-09  Martin Buchholz  <martin@xemacs.org>
9292
9293         * fileio.c (lisp_string_set_file_times): New.
9294         * fileio.c (Fcopy_file): Use it.
9295         Fixes bug:
9296         (copy-file filename non-ascii-filename t t)
9297         ==> No such file or directory, non-ascii-filename
9298
9299 2001-02-10  Martin Buchholz  <martin@xemacs.org>
9300
9301         * glyphs-x.c (generate_cursor_fg_bg): Avoid a warning.
9302         USHRT_MAX seems clearer than ~0 anyways.
9303
9304 2001-02-09  Martin Buchholz  <martin@xemacs.org>
9305
9306         dumper improvements.  Inspired by Olivier.
9307         * dumper.c (pdump_max_align): New.
9308         * dumper.c (pdump_add_entry): Use pdump_max_align.
9309         * dumper.c (pdump_get_entry_list): Likewise.
9310         * dumper.c (pdump_scan_by_alignment): Likewise.
9311         Don't iterate through unnecessary alignments.
9312         * dumper.c (pdump_file_get): No need to align result of malloc().
9313         * dumper.c (pdump_mallocadr): Remove.  
9314         The result of malloc() is guaranteed to be maximally aligned.
9315         * dumper.c: s/elmt/elt/g;
9316         * dumper.c (pdump_object_table): Allocate dynamically, not statically.
9317         * dumper.c (pdump_alert_undump_object): Likewise.
9318         * dumper.c (pdump_align_table): 
9319         Don't support alignments > 64.
9320         Store ALIGNOF's, not shift counts, in table.
9321
9322 2001-02-09  Martin Buchholz  <martin@xemacs.org>
9323
9324         * s/mingw32.h (HAVE_STRUCT_UTIMBUF): Remove.
9325         * s/windowsnt.h (HAVE_STRUCT_UTIMBUF): Remove.
9326         * systime.h: Use HAVE_UTIME.
9327         * sysdep.c (struct utimbuf): Remove.
9328         * sysdep.c (set_file_times): Prefer utime() to utimes().
9329         * config.h.in (HAVE_UTIME): New.
9330         * config.h.in (HAVE_UTIME_H): Remove.
9331         * config.h.in (HAVE_STRUCT_UTIMBUF): Remove.
9332
9333 2001-02-09  Martin Buchholz  <martin@xemacs.org>
9334
9335         * s/aix4.h: Hide #pragmas inside #ifndef NOT_C_CODE.
9336
9337 2001-02-08  Martin Buchholz  <martin@xemacs.org>
9338
9339         * s/irix6-0.h: Use the standard system memmove, not bcopy.
9340
9341 2001-02-08  Martin Buchholz <martin@xemacs.org>
9342
9343         * XEmacs 21.2.44 "Thalia" is released.
9344
9345 2001-02-06  Martin Buchholz  <martin@xemacs.org>
9346
9347         Fixes crashes in kill-emacs on some systems.
9348         * process-unix.c (unix_kill_child_process):
9349         It's OK for kill() to fail with ESRCH.
9350
9351 2001-02-07  Martin Buchholz  <martin@xemacs.org>
9352
9353         Contortions to make .gdbinit tricks work on most systems.
9354         * alloc.c (dbg_inhibit_dbg_symbol_deletion): Keep debugger info.
9355         * alloc.c (dbg_valmask): Make non-const.
9356         * alloc.c (dbg_typemask): Make non-const.
9357         * alloc.c (dbg_USE_UNION_TYPE): Make non-const.
9358         * alloc.c (dbg_valbits): Make non-const.
9359         * alloc.c (dbg_gctypebits): Make non-const.
9360         * .gdbinit (decode_object): Make it work with AIX cc.
9361
9362 2001-02-06  Martin Buchholz  <martin@xemacs.org>
9363
9364         * elhash.c (make_general_lisp_hash_table):
9365         Use simpler and more efficient calloc to clear entries.
9366
9367 2001-02-07  Martin Buchholz  <martin@xemacs.org>
9368
9369         * window.c (window_scroll): Work around an AIX C compiler bug.
9370         Fixes 'scroll-up' does nothing problem with xlC.
9371
9372 2001-02-05  Martin Buchholz  <martin@xemacs.org>
9373
9374         * .gdbinit: Remove obsolete comment.
9375
9376 2001-01-31  Mike Alexander  <mta@arbortext.com>
9377
9378         * select.c (Fown_selection_internal): Set owned_p for device
9379         method correctly.
9380
9381 2001-02-01  Martin Buchholz  <martin@xemacs.org>
9382
9383         Port to g++ 2.97.
9384         "not" cannot be used as a macro name as it is an operator in C++
9385         * config.h.in: Stop #defining `not'.
9386         * chartab.c (check_category_char): not ==> not_p
9387         * chartab.h: Likewise.
9388         * regex.c (re_match_2_internal): Likewise.
9389
9390 2001-02-02  Martin Buchholz  <martin@xemacs.org>
9391
9392         * lisp-disunion.h: Fix up comments.
9393
9394 2001-01-31  Martin Buchholz  <martin@xemacs.org>
9395
9396         * keymap.c (define_key_check_and_coerce_keysym):
9397         (syms_of_keymap):
9398         Support mouse-6 and mouse-7 bindings in the obvious way.
9399
9400 2001-02-01  Martin Buchholz  <martin@xemacs.org>
9401
9402         * m/hp9000s300.h (UNEXEC): Check for HPUX, not !BSD.
9403
9404 2001-01-30  Martin Buchholz  <martin@xemacs.org>
9405
9406         Previous patch changing DEFVAR_INT to use EMACS_INT was incomplete.
9407         Previous patch missed DEFVAR_INT_MAGIC.
9408         Make sure future DEFVAR_foo use correct types.
9409         * symeval.h (DEFVAR_SYMVAL_FWD_FIXNUM): New.
9410         * (DEFVAR_SYMVAL_FWD_INT): Add type checking.
9411         * (DEFVAR_SYMVAL_FWD_OBJECT): Add type checking.
9412         * (DEFVAR_INT_MAGIC): Use DEFVAR_SYMVAL_FWD_FIXNUM.
9413         * (DEFVAR_INT): Likewise.
9414         * redisplay.c (vertical_clip): Should be of type Fixnum.
9415         * redisplay.c (horizontal_clip): Likewise.
9416         * lisp.h (dump_add_opaque_int): New.
9417         (dump_add_opaque_fixnum): New.
9418
9419 2001-01-29  Andy Piper  <andy@xemacs.org>
9420
9421         * glyphs-widget.c (check_valid_int_or_function): allow symbols
9422         since they can be eval'ed
9423
9424 2001-01-29  Martin Buchholz  <martin@xemacs.org>
9425
9426         * lisp.h (ALIGNOF): Make it work on non-gcc C++ compilers.
9427         Oops, XEmacs redefines `class'.  Use `typename' instead.
9428
9429 2001-01-28  Martin Buchholz  <martin@xemacs.org>
9430
9431         * dumper.c: Fix C++ compile errors.
9432
9433 2001-01-29  Martin Buchholz  <martin@xemacs.org>
9434
9435         * tparam.c: Use correct prototypes.
9436
9437 2001-01-28  Martin Buchholz  <martin@xemacs.org>
9438
9439         * sysproc.h: #include util.h for NetBSD's openpty.
9440
9441 2001-01-27  Martin Buchholz  <martin@xemacs.org>
9442
9443         More 64-bit correctness.
9444         The C value of a DEFVAR_INT should be of type EMACS_INT, not int.
9445         Use a typedef `fixnum' for the type used for DEFVAR_INT.
9446         Fix up comments.
9447         This finally finishes the 64-bit SGI port.
9448         Fixes things like (let ((gc-cons-threshold most-positive-fixnum)) ...).
9449         * symbols.c: Fix up comments and type casts.
9450         * symbols.c (do_symval_forwarding): s/int/Fixnum/g
9451         * symbols.c (store_symval_forwarding): s/int/Fixnum/g
9452         * symeval.h (Fixnum): New type.
9453         * symeval.h (symbol_value_type): Fix up comment.
9454
9455         * commands.h:
9456         * nt.c:
9457         * emacs.c:
9458         * data.c:
9459         * redisplay.c:
9460         * abbrev.c:
9461         * dired-msw.c:
9462         * event-Xt.c:
9463         * eldap.c:
9464         * window.c:
9465         * sound.c:
9466         * event-stream.c:
9467         * eval.c:
9468         * buffer.c:
9469         * mule-canna.c: A million DEFVAR_INTs here...
9470         * mule-canna.c (count_char): s/int */Fixnum */g in arglist.
9471         * extents.c:
9472         * cmdloop.c:
9473         * lisp.h:
9474         * select-x.c:
9475         * console-x.h:
9476         * event-msw.c:
9477         * mule-wnnfns.c:
9478         * hpplay.c:
9479         * ralloc.c:
9480         * alloc.c:
9481         * keymap.c:
9482         * profile.c:
9483         s/int/Fixnum/g in DEFVAR_INT declarations.
9484
9485 2001-01-26  Martin Buchholz  <martin@xemacs.org>
9486
9487         Port pdump to SGI alignment-sensitive environment.
9488         Lisp Object sizeof methods now return aligned sizes.  Rely on that.
9489         Eliminate is_lrecord since Lisp_Objects sizeof methods are now all
9490         properly aligned.
9491         Define and use aligned reading and writing macros.
9492         Use buffered stdio instead of posix i/o for faster dumping.
9493         Eliminate kludgy 256 byte space for header.
9494         Read and write from dump file using structs for alignment safety.
9495         * dumper.c (pdump_align_stream): New.
9496         * dumper.c (PDUMP_ALIGN_OUTPUT): New.
9497         * dumper.c (PDUMP_READ_ALIGNED): New.
9498         * dumper.c (PDUMP_WRITE_ALIGNED): New.
9499         * dumper.c (pdump_static_Lisp_Object): New struct.
9500         * dumper.c (pdump_static_pointer): New struct.
9501         * dumper.c (pdump_entry_list_element): Remove is_lrecord member.
9502         * dumper.c (pdump_add_entry): Remove is_lrecord parameter.
9503         * dumper.c (pdump_dump_data): Rely on sizeof method alignment.
9504         * dumper.c (pdump_allocate_offset): Rely on sizeof method alignment.
9505
9506         * dumper.c (pdump_backtrace):
9507         * dumper.c (pdump_get_indirect_count):
9508         * dumper.c (pdump_register_object):
9509         * dumper.c (pdump_register_struct):
9510         * dumper.c (pdump_reloc_one):
9511         * dumper.c (pdump_scan_by_alignment):
9512         * dumper.c (pdump_dump_from_root_struct_ptrs):
9513         * dumper.c (pdump_dump_opaques):
9514         * dumper.c (pdump_dump_rtables):
9515         * dumper.c (pdump_dump_from_root_objects):
9516         * dumper.c (pdump):
9517         * dumper.c (pdump_load_finish):
9518         Use aligned reading and writing.
9519
9520         * dumper.c (pdump_free): Make static.
9521         * dumper.c (pdump_hFile): Likewise.
9522         * dumper.c (pdump_hMap): Likewise.
9523
9524 2001-01-26  Martin Buchholz <martin@xemacs.org>
9525
9526         * XEmacs 21.2.43 "Terspichore" is released.
9527
9528 2001-01-25  Martin Buchholz  <martin@xemacs.org>
9529
9530         Type fiddling for window_config.saved_windows_count
9531         * window.c (struct window_config): 
9532         Make saved_windows_count member unsigned.
9533         * window.c (sizeof_window_config_for_n_windows): 
9534         Make parameter unsigned.
9535         * window.c (mark_window_config):
9536         * window.c (window_config_equal):
9537         * window.c (free_window_configuration):
9538         * window.c (Fset_window_configuration):
9539         * window.c (count_windows):
9540         * window.c (Fcurrent_window_configuration):
9541         * window.c (reinit_vars_of_window):
9542         Update all callers and users.
9543
9544 2001-01-25  Martin Buchholz  <martin@xemacs.org>
9545
9546         Alignment correctness for flexible arrays.
9547         * lisp.h (FLEXIBLE_ARRAY_STRUCT_SIZEOF):
9548         Make alignment-correct. Add interesting comments.
9549         * alloc.c (size_vector):
9550         * alloc.c (make_vector_internal):
9551         * alloc.c (make_bit_vector_internal):
9552         * alloc.c (sweep_bit_vectors_1):
9553         * fns.c (size_bit_vector):
9554         Update all callers of FLEXIBLE_ARRAY_STRUCT_SIZEOF to add new arg.
9555         * window.c (sizeof_window_config_for_n_windows): 
9556         Use FLEXIBLE_ARRAY_STRUCT_SIZEOF.
9557
9558 2001-01-24  Martin Buchholz  <martin@xemacs.org>
9559
9560         * lread.c (read1): Rename `fexp', which is #defined in SGI's math.h
9561
9562 2001-01-23  Andy Piper  <andy@xemacs.org>
9563
9564         * select.c (Fown_selection_internal): pass owned_p
9565
9566         * select-msw.c (mswindows_own_selection): New Signature.
9567
9568         * console.h (struct console_methods): add owned_p to
9569         _own_selection.
9570
9571         * select-x.c (x_own_selection): pass owned_p
9572         (hack_motif_clipboard_selection): use owned_p
9573         (vars_of_select_x): new variable -
9574         x_selection_strict_motif_ownership.
9575
9576 2001-01-23  Martin Buchholz  <martin@xemacs.org>
9577
9578         * specifier.h (specifier_data_offset): Remove pointless parens.
9579         * glyphs.h (IMAGE_SPECIFIER_DATA): Likewise.
9580
9581 2001-01-24  Martin Buchholz  <martin@xemacs.org>
9582
9583         Make Lisp_Object sizeof methods be alignment-correct.
9584         pdump must restore objects to the same alignment as the C compiler
9585         assumes.  It really matters on SGIs.
9586         * lstream.c (aligned_sizeof_lstream): New.
9587         (sizeof_lstream): Use aligned_sizeof_lstream.
9588         (Lstream_new): Likewise.
9589         * opaque.c (aligned_sizeof_opaque): New.
9590         (sizeof_opaque): Use aligned_sizeof_opaque.
9591         (make_opaque): Likewise.
9592         * specifier.c (aligned_sizeof_specifier): New.
9593         (sizeof_specifier): Use aligned_sizeof_specifier.
9594         (make_specifier_internal): Likewise.
9595
9596 2001-01-23  Martin Buchholz  <martin@xemacs.org>
9597
9598         * lstream.h (struct lstream): Use max_align_t for trailing data.
9599         * specifier.h (struct Lisp_Specifier): Likewise.
9600
9601 2001-01-22  Martin Buchholz  <martin@xemacs.org>
9602
9603         * mule-ccl.c (CCL_Extension): Renamed from CCL_Extention.
9604         (CCL_SUCCESS): Kludge to prevent Sun cc compiler warnings.
9605         (CCL_SUSPEND): Likewise.
9606         (CCL_INVALID_CMD): Likewise.
9607         (CCL_CALL_FOR_MAP_INSTRUCTION): Likewise.
9608         (ccl_driver): Likewise.
9609         (CCL_WRITE_CHAR): Macro hygiene.
9610         (CCL_WRITE_STRING): Macro hygiene.
9611
9612 2001-01-22  Martin Buchholz  <martin@xemacs.org>
9613
9614         Port "portable" dumper to SunOS 4 and HP-UX.
9615         * s/aix4.h (AIX4): Move MAP_FAILED definition elsewhere.
9616         * emacs.c (main): PDUMP implies no RUN_TIME_REMAP.
9617         * dumper.c (pdump_file_get): Define MAP_FAILED if not already defined.
9618
9619 2001-01-22  Martin Buchholz  <martin@xemacs.org>
9620
9621         * lisp.h (ALIGNOF): A better definition for C++.
9622
9623 2001-01-20  Martin Buchholz  <martin@xemacs.org>
9624
9625         Macro hygiene.
9626         Fix printf warnings: int format, long int arg.
9627         * regex.c (DECLARE_DESTINATION): Use DECLARE_NOTHING.
9628         (PUSH_FAILURE_POINT): Use correct printf formats.
9629         (POP_FAILURE_POINT): Use correct printf formats.  
9630         Use do {...} while (0)
9631
9632 2001-01-20  Martin Buchholz <martin@xemacs.org>
9633
9634         * XEmacs 21.2.42 "Poseidon" is released.
9635
9636 2001-01-20  Martin Buchholz  <martin@xemacs.org>
9637
9638         * console-x.h: typo fix du jour.  Remove #if 0'ed code.
9639
9640 2001-01-19  Martin Buchholz  <martin@xemacs.org>
9641
9642         De-kludgify FIXED_TYPE free list frobbing.
9643         Fix crashes on 64-bit platforms introduced by my patch of 2001-01-13.
9644         * alloc.c (DECLARE_FIXED_TYPE_ALLOC): Use Lisp_Free.
9645         * alloc.c (ALLOCATE_FIXED_TYPE_1): Use new definitions.
9646         * alloc.c (Lisp_Free): New pseudo lisp object definition.
9647         * alloc.c (LRECORD_FREE_P): New.
9648         * alloc.c (MARK_LRECORD_AS_FREE): New.
9649         * alloc.c (MARK_LRECORD_AS_NOT_FREE): New.
9650         * alloc.c (STRUCT_FREE_P): Deleted.
9651         * alloc.c (MARK_STRUCT_AS_FREE): Deleted.
9652         * alloc.c (MARK_STRUCT_AS_NOT_FREE): Deleted.
9653         * alloc.c (STRING_CHARS_FREE_P): New.
9654         * alloc.c (MARK_STRING_CHARS_AS_FREE): New.
9655         * alloc.c (PUT_FIXED_TYPE_ON_FREE_LIST): Use new definitions.
9656         * alloc.c (FREE_FIXED_TYPE): Use new definitions.
9657         * alloc.c (STRING_CHARS_FREE_P): Use new definitions.
9658         * alloc.c (resize_string): Use new definitions.
9659         * alloc.c (SWEEP_FIXED_TYPE_BLOCK): Use new definitions.
9660         * alloc.c (verify_string_chars_integrity): Use new definitions.
9661         * alloc.c (compact_string_chars): Use new definitions.
9662         * alloc.c: Update monster comments.
9663         * lrecord.h (lrecord_type): Add some new lrecord types for
9664         alloc.c's use.
9665
9666 2001-01-18  Martin Buchholz  <martin@xemacs.org>
9667
9668         Improve alignment hackery.
9669         * lisp.h (ALIGNOF): Better definition for the non-gcc case.
9670         (max_align_t): Moved from opaque.h - general purpose.
9671         (ALIGN_PTR): Use size_t, not long.
9672         * opaque.h (max_align_t): Move to lisp.h.
9673
9674 2001-01-18  Norbert Koch  <nk@LF.net>
9675
9676         * gui.h: Fix and add prototypes to fix build problems.
9677
9678 2001-01-18  Martin Buchholz  <martin@xemacs.org>
9679
9680         temacs is going away, so `dump-temacs' is now a bad name.
9681         * .dbxrc (dump-temacs): Rename to `dmp'.
9682         * .gdbinit (dump-temacs): Rename to `dmp'.
9683
9684 2001-01-17  Andy Piper  <andy@xemacs.org>
9685
9686         * glyphs.c (print_image_instance): comment to make martin happy.
9687
9688         * glyphs-x.c (x_redisplay_widget): update faces after a frame
9689         change.
9690
9691         * glyphs-msw.c (mswindows_redisplay_widget): add code to cope with
9692         activation.
9693         (mswindows_tab_control_redisplay): warning suppression.
9694
9695         * glyphs-widget.c (widget_update): re-write to cope with updated
9696         items.
9697         (widget_instantiate): use new gui_item functions.
9698         (tab_control_update): deleted.
9699         (progress_gauge_update): deleted.
9700         (image_instantiator_progress_guage): take out update reference.
9701         (image_instantiator_tree_view): ditto.
9702         (image_instantiator_tab_control): ditto.
9703
9704         * gui.c (widget_gui_parse_item_keywords): new function. Do things
9705         Right the new way.
9706         (gui_item_add_keyval_pair): re-write to cope with descriptors and
9707         return whether anything was changed.
9708         (update_gui_item_keywords): as it sounds.
9709
9710         * gui.h: declare widget_gui_parse_item_keywords.
9711
9712         * fns.c (safe_copy_tree): new function taken from Fcopy_tree.
9713         (Fcopy_tree): use it. Stops infloop death in bogus instantiators.
9714
9715 2001-01-17  Martin Buchholz <martin@xemacs.org>
9716
9717         * XEmacs 21.2.41 "Polyhymnia" is released.
9718
9719 2001-01-16  Didier Verna  <didier@xemacs.org>
9720
9721         * glyphs.c (image_instantiate): don't use fallbacks when
9722         instantiating a face's background pixmap by inheritance.
9723
9724 2001-01-14  Mike Sperber <mike@xemacs.org>
9725
9726         * sysdep.c (start_of_data): PDUMP implies ORDINARY_LINK.
9727         Conditionalize accordingly.
9728
9729 2001-01-16  Martin Buchholz  <martin@xemacs.org>
9730
9731         * dumper.c (pdump_file_get): Fix a compiler warning.
9732
9733 2001-01-15  Martin Buchholz  <martin@xemacs.org>
9734
9735         Make Purify happy when pdumping.
9736         * symbols.c (Fmake_variable_buffer_local): Make Purify happy, by
9737         iniitalizing all bits of new lisp object memory.
9738         * symbols.c (Fmake_local_variable): Likewise.
9739         * symbols.c (Fdontusethis_set_symbol_value_handler): Likewise.
9740         * symbols.c (Fdefvaralias): Likewise.
9741         * mule-charset.c (vars_of_mule_charset): Likewise.
9742
9743 2001-01-15  Martin Buchholz  <martin@xemacs.org>
9744         Add the `-nd' flag when running pre-dump operations under the debugger.
9745         * .dbxrc (run-temacs): Add `-nd'.
9746         * .dbxrc (update-elc): Likewise.
9747         * .dbxrc (dump-temacs): Likewise.
9748         * .gdbinit (run-temacs): Likewise.
9749         * .gdbinit (check-temacs): Likewise.
9750         * .gdbinit (update-elc): Likewise.
9751         * .gdbinit (dump-temacs): Likewise.
9752
9753 2001-01-14  Martin Buchholz  <martin@xemacs.org>
9754
9755         Allow building 64-bit executables on AIX with GNU malloc, e.g.
9756         export OBJECT_MODE=64
9757         configure --pdump --use-union-type=no
9758         * m/ibmrs6000.h (DATA_START): Define for 64-bit world.
9759         * gmalloc.c (__default_morecore): Remove pre-ANSI cruft.
9760
9761         * miscplay.c (sndcnv8U_2mono):
9762         Avoid two uses of `++' in the same expression.
9763         Suppresses a GCC warning.
9764
9765 2001-01-13  Martin Buchholz  <martin@xemacs.org>
9766
9767         Make sure future compilers don't miscompile alloc.c.
9768         * alloc.c:
9769         (MARK_STRUCT_AS_FREE): Make aliasing-optimization-resistant.
9770         (MARK_STRUCT_AS_NOT_FREE): Make aliasing-optimization-resistant.
9771
9772 2001-01-12  Martin Buchholz  <martin@xemacs.org>
9773
9774         * dumper.c: A little post-pdump-rename comment fixup.
9775
9776 2001-01-09  Jerry James  <james@eecs.ku.edu>
9777
9778         * lisp-disunion.h: Change LISP_TO_CVOID arg to match its use.
9779
9780 2001-01-13  Martin Buchholz  <martin@xemacs.org>
9781
9782         * *.[ch]: Globally rename symbols using the following `pdump-rename'
9783         script:
9784         #!/bin/sh
9785         replace_symbol () {
9786           (findn texi$; findn [ch]$) | xargs g -lw "$1" | xargs global-replace 's/(?<!_)\b'$1'\b(?!_)/'$2'/g'
9787         }
9788
9789         replace_symbol pdump_wire_lists pdump_weak_object_chains
9790         replace_symbol pdump_wire_list dump_add_weak_object_chain
9791
9792         replace_symbol pdump_wires pdump_root_objects
9793         replace_symbol pdump_wire dump_add_root_object
9794
9795         replace_symbol pdump_dump_wired pdump_dump_from_root_objects
9796         replace_symbol pdump_dump_structs pdump_dump_from_root_struct_ptrs
9797
9798         replace_symbol dumpstructinfos pdump_root_struct_ptrs
9799         replace_symbol dumpstructinfo_dynarr pdump_root_struct_ptr_dynarr
9800         replace_symbol dumpstructinfo pdump_root_struct_ptr
9801         replace_symbol dumpstruct dump_add_root_struct_ptr
9802
9803         replace_symbol dumpopaque dump_add_opaque
9804         replace_symbol dumpopaqueinfo_dynarr pdump_opaque_dynarr
9805         replace_symbol dumpopaqueinfos pdump_opaques
9806         replace_symbol dumpopaqueinfo pdump_opaque
9807
9808         replace_symbol nb_structdump nb_root_struct_ptrs
9809         replace_symbol nb_opaquedump nb_opaques
9810
9811         replace_symbol align_table pdump_align_table
9812         replace_symbol dump_header pdump_header
9813
9814         replace_symbol DUMP_SIGNATURE_LEN PDUMP_SIGNATURE_LEN
9815         replace_symbol DUMP_SIGNATURE PDUMP_SIGNATURE
9816
9817
9818 2001-01-12  Martin Buchholz  <martin@xemacs.org>
9819
9820         * s/aix4.h: Keep the C for AIX compiler from overaggressively
9821         optimizing bytecount_to_charcount().
9822
9823 2001-01-06  Golubev I. N.  <gin@mo.msk.ru>
9824
9825         * config.h.in:
9826         (HAVE_DLFCN_H): Removed.
9827         * sysdll.c: Remove HAVE__DLOPEN, HAVE_DLFCN_H.
9828
9829 2001-01-06  Martin Buchholz  <martin@xemacs.org>
9830
9831         Portable dumper maintainability improvements.
9832         * alloc.c (staticpro):
9833         * alloc.c (staticpro_nodump):
9834         * alloc.c (garbage_collect_1):
9835         * alloc.c (reinit_alloc_once_early):
9836         * alloc.c (init_alloc_once_early):
9837         * alloc.c: Move dumper functions to alloc.c.
9838         * dumper.c (pdump_backtrace):
9839         * dumper.c (pdump_dump_structs):
9840         * dumper.c (pdump_dump_opaques):
9841         * dumper.c (pdump_dump_rtables):
9842         * dumper.c (pdump_dump_wired):
9843         * dumper.c (pdump):
9844         * dumper.c (pdump_load_check):
9845         * dumper.c (pdump_load_finish):
9846         * dumper.c (pdump_file_unmap):
9847         * dumper.c (pdump_file_get):
9848         * dumper.c (pdump_resource_free):
9849         * dumper.c (pdump_resource_get):
9850         * dumper.c (pdump_file_free):
9851         * dumper.c (pdump_file_try):
9852         * dumper.c (pdump_load):
9853         Remove fixed size limits on staticpro(), staticpro_nodump(),
9854         dumpopaque(), dumpstruct() by using Dynarrs instead of static C arrays.
9855         Remove custom code for dumping lrecord_implementations_table - use
9856         dumpopaque instead.
9857         Remove (most of the) custom code for dumping staticpros - dump it
9858         like any other dynarr.
9859
9860         * alloc.h: Removed.  No longer useful, since dumper now more self-contained.
9861         * dumper.c: Moved functions from alloc.c.
9862         * alloc.c (dumpstruct): Moved to dumper.c.
9863         * alloc.c (dumpopaque): Likewise.
9864         * alloc.c (pdump_wire): Likewise.
9865         * alloc.c (pdump_wire_list): Likewise.
9866
9867         * lisp.h (Dynarr_sizeof): New.
9868         * lisp.h (Dynarr_begin): New.  Very slightly C++oid.
9869         * lisp.h (Dynarr_end): New.  Very slightly C++oid.
9870         * lisp.h (Lisp_Object_ptr_dynarr): New.  For staticpros.
9871
9872         * lisp.h (dumpstruct): Define to nothing if not PDUMPing.
9873         * lisp.h (dumpopaque): ditto.
9874         * lisp.h (pdump_wire): ditto.
9875         * lisp.h (pdump_wire_list): ditto.
9876
9877 2001-01-09  Martin Buchholz  <martin@xemacs.org>
9878
9879         * make-src-depend (PrintPatternDeps):
9880         Use `sort' to make output independent of perl version.
9881
9882 2001-01-08  Martin Buchholz  <martin@xemacs.org>
9883
9884         Port to Netbsd 1.5.
9885         * unexelf.c: Remove (never used) bogus Netbsd-specific cruft.
9886         * s/netbsd.c: Use unexelf.o if __ELF__ is defined.
9887
9888 2001-01-03  Didier Verna  <didier@xemacs.org>
9889
9890         * event-stream.c (emacs_handle_focus_change_preliminary): ensure
9891         that `focus_frame' is alive before thinking of calling
9892         `redisplay_redraw_cursor' on it.
9893
9894 2001-01-08  Martin Buchholz <martin@xemacs.org>
9895
9896         * XEmacs 21.2.40 is released.
9897
9898 2001-01-06  Golubev I. N.  <gin@mo.msk.ru>
9899
9900         * regex.c: Replace PREFETCH with REGEX_PREFETCH.
9901
9902 2001-01-06  Martin Buchholz  <martin@xemacs.org>
9903
9904         * alloc.c (dbg_valmask): Make const.
9905         * alloc.c (dbg_typemask): Make const.
9906         * alloc.c (dbg_USE_UNION_TYPE): Make const.
9907         * alloc.c (dbg_valbits): Make const.
9908         * alloc.c (dbg_gctypebits): Make const.
9909
9910 2001-01-06  Stephen J. Turnbull  <stephen@xemacs.org>
9911
9912         * redisplay-x.c (x_bevel_area):
9913         redisplay.h (struct rune):
9914         Typo fixes in comments.
9915
9916 2001-01-05  Andy Piper  <andy@xemacs.org>
9917
9918         * glyphs-x.c (x_redisplay_widget): use size changed for offset
9919         adjustment.
9920
9921         * menubar.c (menubar_visible_p_changed): don't mark frame changed.
9922
9923 2001-01-05  Martin Buchholz  <martin@xemacs.org>
9924
9925         * alloc.c (pure-bytes-used): Remove unused mendacious variable.
9926
9927         * mule-ccl.c (stack_idx_of_map_multiple):
9928         Non const global data must not be initialized!
9929         Found by MIYASHITA Hisashi.
9930
9931 2001-01-02  Andy Piper  <andy@xemacs.org>
9932
9933         * frame.c (change_frame_size): make sure frame size is always
9934         marked as changed.
9935
9936         * glyphs.c (image_instance_layout): minor code reuse.
9937
9938         * window.c (Fcurrent_window_configuration): revert previous
9939         change.
9940
9941 2001-01-02  Martin Buchholz  <martin@xemacs.org>
9942
9943         * glyphs.h:
9944         * glyphs.c (make_image_instance_cache_hash_table): Use ANSI prototypes.
9945
9946 2000-12-31  Andy Piper  <andy@xemacs.org>
9947
9948         * glyphs-x.c (x_unmap_subwindow): return focus to enclosing frame
9949         when widget gets unmapped.
9950
9951         * event-Xt.c (emacs_Xt_handle_widget_losing_focus): new
9952         function. Make sure widgets losing focus don't just drop it.
9953         (handle_focus_event_1): record the widget with focus.
9954
9955 2000-12-31  Andy Piper  <andy@xemacs.org>
9956
9957         * window.c (allocate_window): use
9958         make_image_instance_cache_hash_table.
9959         (make_dummy_parent): ditto.
9960         (Fset_window_configuration): ditto.
9961
9962         * glyphs.h (INSTANTIATOR_TYPE): new macro.  declare new functions.
9963
9964         * glyphs.c (process_image_string_instantiator): use
9965         INSTANTIATOR_TYPE.
9966         (get_image_instantiator_governing_domain): ditto.
9967         (normalize_image_instantiator): ditto.
9968         (instantiate_image_instantiator): ditto.
9969         (make_image_instance_1): ditto.
9970         (image_instantiate): ditto. Key on glyph *and* instantiator type.
9971         (instantiator_eq_equal): new function for use with instance hash
9972         tables.
9973         (instantiator_eq_hash): ditto.
9974         (make_image_instance_cache_hash_table): create a suitable hash
9975         table for storing image instances.
9976
9977         * elhash.h (hash_table_weakness): new internal weakness type
9978         HASH_TABLE_KEY_CAR_VALUE_WEAK.
9979         declare new functions.
9980
9981         * elhash.c (finish_marking_weak_hash_tables): introduce yet
9982         another weakness type for glyphs.
9983         (make_standard_lisp_hash_table): new function split out from
9984         make_general_lisp_hash_table.
9985         (make_lisp_hash_table): call make_standard_lisp_hash_table.
9986         (hash_table_instantiate): ditto.
9987         (Fmake_hash_table): ditto.
9988
9989 2000-12-31  Martin Buchholz <martin@xemacs.org>
9990
9991         * XEmacs 21.2.39 is released.
9992
9993 2000-12-29  Andy Piper  <andy@xemacs.org>
9994
9995         * menubar.c (menubar_visible_p_changed): signal the frame changed.
9996
9997         * glyphs-x.c (x_redisplay_widget): Re-calculate widget offsets if
9998         the frame has changed so that we pick up geometry changes such as
9999         menubar visibility.
10000
10001 2000-12-28  Andy Piper  <andy@xemacs.org>
10002
10003         * lastfile.c (my_ebss): make a char array so we can pad the
10004         bss. Fixes cygwin unexec.
10005
10006         * unexcw.c: invert BROKEN_GDB to NO_DEBUG.
10007
10008 2000-12-26  Andy Piper  <andy@xemacs.org>
10009
10010         * event-Xt.c (emacs_Xt_force_event_pending): add some verbose
10011         comments and try and be more precise about a non-/SIGIO world.
10012         (emacs_Xt_event_pending_p): use XtAppPending under cygwin and non
10013         SIGIO.
10014
10015         * redisplay-output.c (redisplay_normalize_glyph_area): make sure
10016         we don't normalize to zero width or height.
10017
10018 2000-12-24  Andy Piper  <andy@xemacs.org>
10019
10020         * Makefile.in.in (ldflags): add -mwindows when appropriate.
10021
10022 2000-08-18  Golubev I. N.  <gin@mo.msk.ru>
10023
10024         * s/sco5.h: SCO 5 has pty support.
10025
10026 2000-07-20  Kazuyuki IENAGA <ienaga@xemacs.org>
10027
10028         * input-method-xlib.c: supports both XIM_XLIB and USE_XFONTSET.
10029         input-method-xlib.c contains whole contents of input-method-xfs.c,
10030         so we can use input-method-xlib.c's code for USE_XFONTSET
10031         using #ifdefs.
10032         * input-method-xfs.c: removed.
10033
10034 2000-12-20  Stephen Turnbull  <stephen@xemacs.org>
10035
10036         * file-coding.h (enum coding_category_type): reorder enumerators to
10037         make autodetection safer.  Make CODING_CATEGORY_LAST an enumerator
10038         (now one greater than largest real coding_category_type enumerator).
10039         * file-coding.c (coding_category_symbol, coding_category_by_priority,
10040         coding_category_system, fcd_descriptihon_1, decode_coding_category,
10041         Fcoding_category_list, Fset_coding_priority_list,
10042         Fcoding_priority_list, coding_system_from_mask, Fdetect_coding_region,
10043         vars_of_file_coding): adjust for change in CODING_CATEGORY_LAST.
10044
10045 2000-12-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
10046
10047         * redisplay-output.c (redisplay_clear_top_of_window): Remove static.
10048         * redisplay-output.c (redisplay_output_window): Clear top of window
10049         when face is changed.
10050         * redisplay-x.c (x_redraw_exposed_window): Call
10051         redisplay_clear_top_of_window.
10052         * redisplay.h: Publish redisplay_clear_top_of_window.
10053
10054 2000-12-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
10055
10056         * buffer.c (Fkill_buffer): Map over all devices.
10057         * window.c (window_loop): Remove UNSHOW_BUFFER code.
10058         (list_windows): New function.
10059         (list_all_windows): Ditto.
10060         (Freplace_buffer_in_windows): Use them.
10061
10062 2000-02-02   Daiki Ueno <ueno@ueda.info.waseda.ac.jp>
10063
10064         * database.c (berkdb_subtype): Recognize new subtype `queue'.
10065         (Fopen_database): Use `db_create' instead of `db_open'.
10066         (syms_of_database): Initialize Qqueue.
10067
10068 2000-12-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
10069
10070         * buffer.c (common_init_complex_vars_of_buffer): Initialize
10071         buffer_local_face_property.
10072         * buffer.h (struct buffer): New member buffer_local_face_property.
10073         * window.c (Fset_window_buffer):  Mark window's face as changed
10074         when buffer has buffer local face.
10075         * window.h (MARK_WINDOW_FACES_CHANGED): New macro.
10076         * objects.c (color_after_change): Set buffer_local_face_property
10077         when locale of face specifier is buffer.
10078         * objects.c (font_after_change): Ditto.
10079         * objects.c (face_boolean_after_change): Ditto.
10080         * glyphs.c (image_after_change): Ditto.
10081
10082 2000-12-09  Dan Holmsand  <dan@eyebee.com>
10083
10084         * nt.c (mswindows_fstat): Report file permissions, volume serial
10085         number, etc. Code adapted from FSF Emacs 20.7.
10086
10087 2000-12-09  Dan Holmsand  <dan@eyebee.com>
10088
10089         * sysfile.h (lstat): Make lstat an alias for xemacs_stat instead
10090         of stat when we don't have symbolic links, to make sure
10091         mswindows_stat is called on mswindows.
10092
10093 2000-12-12  Yoshiki Hayashi  <yoshiki@xemacs.org>
10094
10095         * alloca.c: Define malloc to xmalloc only when built with XEmacs.
10096
10097 2000-12-12  Martin Buchholz  <martin@xemacs.org>
10098
10099         * doprnt.c (emacs_doprnt_1): More printing fixes.
10100         Make printing of numbers compatible with libc and FSF Emacs.
10101         BUG was: (format "%6.3f" 1.2) ==>"1.200000"
10102         Use the system printf to do most of the hard work of formatting,
10103         instead of doprnt_1().
10104         Calculate memory to allocate for format string.
10105         Remove arbitrary limit on precision, e.g. (format "%.1000f" 3.14)
10106         (doprnt_1): Cleaner code and documentation.
10107
10108 2000-12-01  Jerry James  <james@eecs.ukans.edu>
10109
10110         * Makefile.in.in: Use the loop variable to install headers.
10111
10112 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
10113
10114         * window.c (Fsplit_window): Don't invalidate face cache.
10115
10116 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
10117
10118         * minibuf.c (Fall_completions): Undo the previous change
10119         which removed checking elements start with space.
10120
10121 2000-12-06  Stephen Turnbull  <stephen@xemacs.org>
10122
10123         * mule-canna.c: Didier suppression.
10124
10125 2000-12-06  Stephen Turnbull  <stephen@xemacs.org>
10126
10127         * mule-canna.c: rename static unsigned char buf[] to key_buffer
10128         (warning suppression).  Add English comment translations.
10129
10130 2000-12-05  Martin Buchholz  <martin@xemacs.org>
10131
10132         * unexelfsgi.c (unexec): Better test for mmap failure.
10133
10134 2000-12-05  Martin Buchholz <martin@xemacs.org>
10135
10136         * XEmacs 21.2.38 is released.
10137
10138 2000-12-05  Martin Buchholz  <martin@xemacs.org>
10139
10140         * redisplay.c (bar-cursor): Make a user variable.
10141
10142         * symsinit.h: Add init_postgresql_from_environment.
10143
10144 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
10145
10146         * regex.c: Convert to clean C.
10147
10148 2000-12-05  Dan Holmsand  <dan@eyebee.com>
10149
10150         * realpath.c:
10151         Don't #include sysfile.h. Revert to duplicating PATH_MAX
10152         initialization.
10153         (sys_readlink): renamed to system_readlink to avoid conflict with
10154         the other sys_readlink.
10155
10156 2000-12-04  Hiroaki Abe  <h-abe@pc.highway.ne.jp>
10157
10158         * dumper.c (pdump_file_get): Correct uses of pdump_fd.
10159
10160 2000-12-04  Stephen J. Turnbull  <stephen@xemacs.org>
10161
10162         * postgresql.c (init_postgresql_from_environment): new function.
10163         (vars_of_postgresql): Move code initializing Lisp variables out and
10164         into init_postgresql_from_environment.
10165         emacs.c (main_1): Call init_postgresql_from_environment if and only
10166         if running a dumped XEmacs.
10167
10168 2000-08-31  Dan Holmsand  <dan@eyebee.com>
10169
10170         * buffer.c: Make find-file-compare-truenames default to true on
10171         windows.
10172
10173         * realpath.c (win32_abs_start):
10174         (cygwin_readlink):
10175         (win32_readlink): New functions.
10176         (xrealpath): Return really real filenames on windows.
10177
10178         * fileio.c (Ffile_truename): Make file-truename work on windows.
10179
10180 2000-11-29  Didier Verna  <didier@xemacs.org>
10181
10182         * faces.c (MAYBE_UNFROB_BACKGROUND_PIXMAP): new macro.
10183         * faces.c (update_face_cachel_data): use it.
10184         * faces.c (add_face_cachel): use it. Complete background pixmap
10185         frobbing in face cache if `update_face_cachel_data' has not done so.
10186
10187 2000-11-29  Yoshiki Hayashi  <yoshiki@xemacs.org>
10188
10189         * search.c (string_match_1): Don't set last_thing_searched
10190         when search failed.
10191
10192 2000-11-27  Yoshiki Hayashi  <yoshiki@xemacs.org>
10193
10194         * buffer.c: Include casetab.h
10195         (common_init_complex_vars_of_buffer): Use new case-table object.
10196         * buffer.h: Include casetab.h
10197         * buffer.h (MAKE_TRT_TABLE): Use generic char-table.
10198         (DOWNCASE_TABLE_OF): Ditto.
10199         * bufslots.h: Remove char-tables and add case-table.
10200         * casetab.c: Include casetab.h
10201         (CASE_TABLE_P): Removed.
10202         (mark_case_table): New function.
10203         (allocate_case_table): New function.
10204         (Fcase_table_p): Use new case-table.
10205         (case_table_char): New function.
10206         (Fget_case_table): Ditto.
10207         (Fput_case_table): Ditto.
10208         (Fput_case_table_pair): Ditto.
10209         (Fcopy_case_table): Ditto.
10210         (Fcurrent_case_table): Return case-table.
10211         (Fstandard_case_table): Return case-table.
10212         (Fset_case_table): Fix doc-string.
10213         (set_case_table): Use case-table
10214         (syms_of_casetab): DEFSUBR new functions.
10215         (complex_vars_of_casetab): Set up standard case-table.
10216         * casetab.h: New file.
10217         * editfns.c: Include casetab.h
10218         (Fcompare_buffer_substrings): Use case-table.
10219         * inline.c: Include casetab.h
10220         * lisp.h: Remove bogus extern.
10221         * lrecord.h (lrecord_type): Add lrecord_type_case_table.
10222         * search.c: Include casetab.h
10223         (TRANSLATE_ASCII): Removed.
10224         (TRANSLATE): Unconditionally translate character.
10225         (looking_at_1): Use case-table.
10226         (string_match_1): Ditto.
10227         (fast_string_match): Ditto.
10228         (search_command): Ditto.
10229         (search_buffer): Separate boyer_moore.  Check whether
10230         boyer_moore is possible.
10231         (simple_search): New function.
10232         (boyer_moore): Separated from search_buffer. Translate char.
10233
10234 2000-11-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
10235
10236         * regex.c (RE_TR_ASCII): Removed.
10237         (RE_TRANSLATE): Unconditionally use TRT_TABLE.
10238         (PATFETCH): Call PATFETCH_RAW.
10239         (PATFETCH_RAW): Fetch Emchar.
10240         (PATUNFETCH): Decrement charptr.
10241         (GET_BUFFER_SPACE): Rename b to buf_end.
10242         (BUF_PUSH): Ditto.
10243         (BUF_PUSH_2): Ditto.
10244         (BUF_PUSH_3): Ditto.
10245         (EXTEND_BUFFER): Ditto.
10246         (SET_LIST_BIT): Ditto.
10247         (regex_compile): Ditto.  Translate non ASCII char.
10248         (compile_range): Ditto.
10249         (re_search_2): Ditto.
10250         (re_match_2_internal): Compare Emchar.
10251         (bcmp_translate): Ditto.
10252
10253 2000-11-29  Stephen J. Turnbull  <turnbull@xemacs.org>
10254
10255         * lisp.h (basic char/int typedefs):  comment improvement.
10256
10257 2000-11-24  Stephen J. Turnbull  <turnbull@xemacs.org>
10258
10259         * emacs.c (main_1):  unconditional pdump unstomping; don't save and
10260         unstomp inhibit_site_lisp.  Improve comments.
10261
10262 2000-11-22  Stephen J. Turnbull  <turnbull@xemacs.org>
10263
10264         * mule-charset.c (Fcharset_property):  improve type checking, comments.
10265
10266 2000-11-28  Andy Piper  <andy@xemacs.org>
10267
10268         * redisplay-output.c (redisplay_output_subwindow): make sure we do
10269         clipped display for windows in the gutter also.
10270         (redisplay_display_boxes_in_window_p): change semantics of return
10271         codes to be more intuitive.
10272
10273         * gutter.h: declare display_boxes_in_gutter_p.
10274
10275         * gutter.c (display_boxes_in_gutter_p): new function for
10276         redisplay.
10277
10278 2000-11-22  Andy Piper  <andy@xemacs.org>
10279
10280         * glyphs-x.c (image_instantiator_format_create_glyphs_x): change
10281         autodetect domain.
10282
10283 2000-11-21  Yoshiki Hayashi  <yoshiki@xemacs.org>
10284
10285         * callproc.c (Fold_call_process_internal):
10286         * gpm.c (Freceive_gpm_event):
10287         (tty_get_foreign_selection): Might be just warning supression.
10288         * fileio.c (Fwrite_region_internal):
10289         (Fset_visited_file_modtime):
10290         * keymap.c (event_matches_key_specifier_p):
10291         Initialize GCPROed variable.
10292
10293         * menubar-x.c (command_builder_find_menu_accelerator):
10294         Initialize before use.
10295
10296 2000-11-23  Andy Piper  <andy@xemacs.org>
10297
10298         * unexcw.c (unexec): make the resulting executable executable.
10299
10300 2000-11-21  Martin Buchholz  <martin@xemacs.org>
10301
10302         * doc.c (get_doc_string):
10303         Use size_t, not int, for result of XSTRING_LENGTH.
10304
10305         * cmds.c (Fdelete_char):
10306         * cmds.c (Fpoint_at_eol):
10307         * cmds.c (Fself_insert_command):
10308         Use EMACS_INT, not int, for result of XINT.
10309         Someday, someone will want to insert more than 2**31 identical characters.
10310
10311         * cmds.c (Fdelete_char):
10312         * cmds.c (Fdelete_backward_char):
10313         * syntax.c (Fforward_word):
10314         * syntax.c (Fforward_comment):
10315         Make COUNT argument optional, for consistency with forward-char et al.
10316
10317 2000-11-22  Martin Buchholz  <martin@xemacs.org>
10318
10319         * lisp.h:
10320         * print.c (long_to_string):
10321         Return a useful value: the pointer at end of data written.
10322
10323         * doprnt.c:
10324         Use `static const char * const' for constant strings.
10325         (union printf_arg): Delete `i', `ui' members.
10326         (get_doprnt_args):
10327         (emacs_doprnt_1):
10328         Fix LP64 platform bug: (format "%d" most-positive-fixnum) ==> "-1"
10329         Do all printf-ing via the `l' specifier.
10330         Use EMACS_INT instead of int.
10331         Optimize.
10332
10333 2000-11-20  Didier Verna  <didier@xemacs.org>
10334
10335         * faces.c (update_face_cachel_data): don't frob the background
10336         pixmap when the window is being created. The face is needed but
10337         does not exist yet.
10338
10339 2000-11-20  Andy Piper  <andy@xemacs.org>
10340
10341         * unexcw.c (copy_executable_and_dump_data_section): Only do bss
10342         messing with a debug environment.
10343
10344 2000-11-20  Martin Buchholz  <martin@xemacs.org>
10345
10346         * emacs.c (__sti__iflPNGFile_c___): Pedantically correct prototype.
10347
10348 2000-11-20  Martin Buchholz  <martin@xemacs.org>
10349
10350         * casetab.c (Fcase_table_p): Fix compile error and crash.
10351
10352 2000-11-18  Philip Aston  <philipa@mail.com>
10353
10354         * s/cygwin32.h: Cygwin has SVR4-like pty support.
10355
10356 2000-11-18  Martin Buchholz  <martin@xemacs.org>
10357
10358         * fileio.c (Fexpand_file_name): GCPRO bug!  Protect `handler'.
10359         * filelock.c (lock_file): GCPRO bug! Initialize all GCPROed vars!
10360
10361 2000-11-17  Martin Buchholz  <martin@xemacs.org>
10362
10363         * config.h.in: Define HAVE_ELF_H if elf.h exists.
10364         * unexelf.c: Use HAVE_ELF_H.
10365         * unexelfsgi.c: Fix bug with dumped xemacs stdout/stderr not working.
10366         I copied FSF Emacs 20.7 unexelf.c to unexelfsgi.c and ANSIfied it.
10367         Max Matveev <makc@sgi.com> removed non-SGI-relevant parts and tested.
10368         Greg Harrington <greg_harrington@hotmail.com> provided a machine
10369         for testing.
10370         So this is an unexelfsgi.c from a different line of development.
10371
10372 2000-11-16  Yoshiki Hayashi  <yoshiki@xemacs.org>
10373
10374         * regex.c (RE_TR_ASCII): New function.
10375         (RE_TRANSLATE): Call it.
10376
10377 2000-11-16  Yoshiki Hayashi  <yoshiki@xemacs.org>
10378
10379         * buffer.h (TRT_TABLE_OF): Remove assert.
10380         (IN_TRT_TABLE_DOMAIN): Removed.
10381
10382 2000-11-16  Gunnar Evermann  <ge204@eng.cam.ac.uk>
10383
10384         * free-hook.c (log_gcpro):
10385         (show_gcprohist): Add support for GCPRO5.
10386
10387 2000-11-08  Stephen J. Turnbull  <stephen@xemacs.org>
10388
10389         * emacs.c (main_1): Improve -sd error message when --pdump=no.
10390
10391 2000-11-16  Olivier Galibert  <galibert@xemacs.org>
10392
10393         * symeval.h: Declare flush_all_buffer_local_cache.
10394
10395         * symbols.c: Change XD_LO_RESET_NIL into XD_LISP_OBJECTs.
10396         (flush_buffer_local_cache): Added.
10397         (flush_all_buffer_local_cache): Added.
10398
10399         * lrecord.h: Remove unused XD_LO_RESET_NIL.
10400
10401         * dumper.c (pdump_register_sub): Remove unused XD_LO_RESET_NIL.
10402         (pdump_dump_data): Ditto.
10403         (pdump_reloc_one): Ditto.
10404         (pdump): Remove unused pdump_qnil.  Flush buffer local caches
10405         before dumping.
10406
10407
10408 2000-11-14  Yoshiki Hayashi  <yoshiki@xemacs.org>
10409
10410         * buffer.c: Remove if 0'ed entry.
10411         * buffer.h: Rewrite TRT to use char-table.
10412         * bufslots.h: Remove mirror tables.
10413         * casetab.c: Remove mirror tables.
10414         (CASE_TABLE_P): New macro.
10415         (Fcase_table_p): Element of a case table is string or char-table.
10416         (make_mirror_trt_table): Removed.
10417         (set_case_table): Setup char-table from strings for backward
10418         compatibility.
10419         * dired.c (Fdirectory_files):
10420         * dired-msw.c: (mswindows_get_files):
10421         * lisp.h: Change prototype of re_pattern_buffer.
10422         * regex.c: (RE_TRANSLATE): New macro.
10423         (TRANSLATE_P): Ditto.
10424         Change translate to type RE_TRANSLATE_TYPE.
10425         * regex.h: Define RE_TRANSLATE_TYPE
10426         * search.c (TRANSLATE): New macro.
10427         (TRANSLATE_ASCII): New macro.
10428         Translate table is changed to Lisp_Object.
10429         (signal_failure): Inhibit return.
10430
10431 2000-11-14  Yoshiki Hayashi  <yoshiki@xemacs.org>
10432
10433         * device-msw.c:
10434         * eldap.c:
10435         * event-Xt.c:
10436         * event-stream.c:
10437         * print.c:
10438         Do UNGCPRO before return.
10439
10440 2000-11-14  Martin Buchholz <martin@xemacs.org>
10441
10442         * XEmacs 21.2.37 is released.
10443
10444 2000-11-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
10445
10446         * fileio.c (Finsert_file_contents_internal): UNGCPRO before return.
10447         Add comments about discarded return value.
10448
10449 2000-11-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
10450
10451         * callint.c:
10452         * event-stream.c: Fix comments.  Remove some #if 0'ed part.
10453
10454 2000-10-27  Andy Piper  <andy@xemacs.org>
10455
10456         * gutter.c (Fset_default_gutter_position): default left and right
10457         gutters to visible.
10458         (calculate_gutter_size): calculate resonable heuristic for left
10459         and right gutter sizes.
10460         (specifier_vars_of_gutter): change left and right gutter sizes to
10461         autodetect.
10462         (calculate_gutter_size_from_display_lines): new function.
10463         (output_gutter): check for resizing on left and right gutters.
10464         (clear_gutter): don't special case top and left gutters.
10465         (specifier_vars_of_gutter): use new signature for
10466         set_specifier_caching.
10467
10468         * glyphs-x.c (x_redisplay_widget): spelling fix.
10469         * glyphs.c (specifier_vars_of_glyphs):
10470         * menubar.c (specifier_vars_of_menubar):
10471         * redisplay.c (specifier_vars_of_redisplay):
10472         * toolbar.c (specifier_vars_of_toolbar):
10473         * window.c (specifier_vars_of_window):
10474         * scrollbar.c (specifier_vars_of_scrollbar):
10475         (complex_vars_of_scrollbar): use new signature for
10476         set_specifier_caching.
10477
10478         * specifier.c (set_specifier_caching): include recompute flag.
10479         (recompute_one_cached_specifier_in_window): always recompute if
10480         flag set.
10481         (recompute_one_cached_specifier_in_frame): ditto.
10482
10483         * specifier.h (struct specifier_caching): add recompute flag.
10484
10485 2000-10-24  Andy Piper  <andy@xemacs.org>
10486
10487         * unexcw.c (copy_executable_and_dump_data_section): add new
10488         BSS_PAD_SIZE so that we can re-instate a mini-bss. This keeps gdb
10489         5.0 happy.
10490
10491 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
10492
10493         * console-x.h (x_device): New member modifier_release_time.
10494         * event-Xt.c (x_handle_sticky_modifiers):
10495         Bound interval modifier keys are sticky.
10496         * event-stream.c (Vmodifier_keys_sticky_time): New variable.
10497         * events.h: extern it.
10498
10499 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
10500
10501         * cmdloop.c (Fcommand_loop_1): Just add C-g to event queue.
10502
10503 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
10504
10505         * event-stream.c (execute_command_event): Preserve current_events
10506         and the like when event is misc-user-event.
10507         Inhibit quit during the call to maybe_echo_keys.
10508
10509 2000-10-31  Yoshiki Hayashi  <yoshiki@xemacs.org>
10510
10511         * filelock.c (lock_buffer): Cope with kill-buffer. Don't create a
10512         symlink when buffer is killed.
10513         (inhibit_clash_detection): New variable.
10514
10515 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
10516
10517         * console.c (Fset_input_method): Trigger redisplay on tty.
10518
10519 2000-11-07  Martin Buchholz  <martin@xemacs.org>
10520
10521         * process.c (Fprocess_status): Revert to previous behavior:
10522         (process-status "nosuchprocess") ==> nil
10523
10524 2000-11-06  Martin Buchholz  <martin@xemacs.org>
10525
10526         * mule-charset.h (CHARSET_BY_LEADING_BYTE):
10527         Work around another GCC 2.95.2 optimizer bug.
10528
10529 2000-11-02  Martin Buchholz  <martin@xemacs.org>
10530
10531         * process.c (Fget_process): Use LIST_LOOP_2.
10532         (kill_buffer_processes): Use LIST_LOOP_2.
10533
10534         * minibuf.c (Fall_completions):
10535         Delete old non-functional code for FSF fourth argument.
10536
10537         * frame.c (frame_matches_frame_spec):
10538         Renamed from `frame_matches_frametype'.  Update all callers.
10539         (device_matches_device_spec):
10540         Renamed from 'device_matches_console_spec'.  Update all callers.
10541
10542         * doc.c (Fsubstitute_command_keys):
10543         Remove buffer overflow crash.  Small code cleanups.
10544
10545         * casetab.c (check_case_table): Simpler code.
10546
10547         * window.c (Freplace_buffer_in_windows):
10548         Give this the same WHICH-FRAMES and WHICH-DEVICES parameters
10549         (and similar implementation) as Fdelete_windows_on.
10550         Update all callers.
10551
10552         * alloc.c (Fmake_list):
10553         * alloc.c (make_vector):
10554         * alloc.c (Fmake_vector):
10555         * alloc.c (make_bit_vector):
10556         * alloc.c (Fmake_bit_vector):
10557         * alloc.c (Fbit_vector):
10558         * alloc.c (Fmake_string):
10559         * alloc.c (Fpurecopy):
10560         * alloc.c (Fmemory_limit):
10561         * buffer.c:
10562         * buffer.c (Fget_buffer):
10563         * buffer.c (Fkill_buffer):
10564         * buffer.c (complex_vars_of_buffer):
10565         * bytecode.c (Fcompiled_function_stack_depth):
10566         * callint.c (Fprefix_numeric_value):
10567         * event-stream.c:
10568         * event-stream.c (Fread_key_sequence):
10569         * casetab.c:
10570         * casetab.c (Fcase_table_p):
10571         * casetab.c (check_case_table):
10572         * casetab.c (Fset_case_table):
10573         * casetab.c (Fset_standard_case_table):
10574         * chartab.c:
10575         * chartab.c (Fchar_table_type):
10576         * chartab.c (Freset_char_table):
10577         * chartab.c (Fget_char_table):
10578         * chartab.c (Fget_range_char_table):
10579         * chartab.c (Fput_char_table):
10580         * chartab.c (Fmap_char_table):
10581         * chartab.c (Fcategory_table_p):
10582         * chartab.c (Fcheck_category_at):
10583         * chartab.c (Fchar_in_category_p):
10584         * chartab.c (Fcategory_table):
10585         * chartab.c (Fcopy_category_table):
10586         * chartab.c (Fset_category_table):
10587         * chartab.c (Fcategory_designator_p):
10588         * chartab.c (Fcategory_table_value_p):
10589         * cmds.c (Fdelete_char):
10590         * cmds.c (Fdelete_backward_char):
10591         * cmds.c (Fself_insert_command):
10592         * cmds.c (Fself_insert_internal):
10593         * console.c (Fvalid_console_type_p):
10594         * console.c (Fcdfw_console):
10595         * console.c (Fconsole_type):
10596         * console.c (Fconsole_name):
10597         * console.c (Fconsole_device_list):
10598         * console.c (Fconsole_on_window_system_p):
10599         * data.c:
10600         * data.c (Feq):
10601         * data.c (Fold_eq):
10602         * data.c (Fsubr_interactive):
10603         * data.c (Fchar_to_int):
10604         * data.c (Fint_to_char):
10605         * data.c (Fsetcar):
10606         * data.c (Fsetcdr):
10607         * data.c (Fnumber_to_string):
10608         * data.c (Fstring_to_number):
10609         * data.c (Frem):
10610         * database.c (mark_database):
10611         * database.c (finalize_database):
10612         * database.c (Fdatabase_live_p):
10613         * database.c (Fdatabasep):
10614         * device-x.c (Fx_get_resource):
10615         * device.c (Fdfw_device):
10616         * dired.c:
10617         * dired.c (Ffile_name_completion):
10618         * dired.c (Ffile_name_all_completions):
10619         * dired.c (Fuser_name_completion):
10620         * dired.c (Fuser_name_completion_1):
10621         * dired.c (Fuser_name_all_completions):
10622         * doc.c (Fdocumentation):
10623         * doc.c (Fdocumentation_property):
10624         * doc.c (Fsubstitute_command_keys):
10625         * editfns.c:
10626         * editfns.c (Fchar_to_string):
10627         * editfns.c (Fstring_to_char):
10628         * editfns.c (Ftemp_directory):
10629         * editfns.c (Finsert_char):
10630         * editfns.c (Fbuffer_substring_no_properties):
10631         * editfns.c (Fnarrow_to_region):
10632         * editfns.c (Fchar_equal):
10633         * editfns.c (Fchar_Equal):
10634         * editfns.c (Ftranspose_regions):
10635         * emacs.c (Fdump_emacs):
10636         * eval.c (Fthrow):
10637         * eval.c (Fcommand_execute):
10638         * eval.c (Fautoload):
10639         * eval.c (Fbacktrace):
10640         * eval.c (Fbacktrace_frame):
10641         * events.c:
10642         * events.c (Fcopy_event):
10643         * events.c (Fcharacter_to_event):
10644         * events.c (Fevent_button):
10645         * events.c (Fevent_process):
10646         * extents.c:
10647         * extents.c (Fnext_extent_change):
10648         * extents.c (Fextent_property):
10649         * faces.c (Ffacep):
10650         * faces.c (Fmake_face):
10651         * file-coding.c:
10652         * file-coding.c (Fencode_shift_jis_char):
10653         * file-coding.c (Fencode_big5_char):
10654         * fileio.c (Ffile_name_directory):
10655         * fileio.c (Ffile_name_nondirectory):
10656         * fileio.c (Ffile_name_as_directory):
10657         * fileio.c (Fdirectory_file_name):
10658         * fileio.c (Ffile_truename):
10659         * fileio.c (Fsubstitute_in_file_name):
10660         * fileio.c (Ffile_modes):
10661         * fileio.c (Fset_file_modes):
10662         * fileio.c (Fset_default_file_modes):
10663         * fileio.c (Fverify_visited_file_modtime):
10664         * floatfns.c (Facos):
10665         * floatfns.c (Fasin):
10666         * floatfns.c (Fatan):
10667         * floatfns.c (Fcos):
10668         * floatfns.c (Fsin):
10669         * floatfns.c (Ftan):
10670         * floatfns.c (Fbessel_j0):
10671         * floatfns.c (Fbessel_j1):
10672         * floatfns.c (Fbessel_jn):
10673         * floatfns.c (Fbessel_y0):
10674         * floatfns.c (Fbessel_y1):
10675         * floatfns.c (Fbessel_yn):
10676         * floatfns.c (Ferf):
10677         * floatfns.c (Ferfc):
10678         * floatfns.c (Flog_gamma):
10679         * floatfns.c (Fexp):
10680         * floatfns.c (Fexpt):
10681         * floatfns.c (Flog):
10682         * floatfns.c (Flog10):
10683         * floatfns.c (Fsqrt):
10684         * floatfns.c (Fcube_root):
10685         * floatfns.c (Facosh):
10686         * floatfns.c (Fasinh):
10687         * floatfns.c (Fatanh):
10688         * floatfns.c (Fcosh):
10689         * floatfns.c (Fsinh):
10690         * floatfns.c (Ftanh):
10691         * floatfns.c (Fabs):
10692         * floatfns.c (Ffloat):
10693         * floatfns.c (Flogb):
10694         * floatfns.c (Fceiling):
10695         * floatfns.c (Ffloor):
10696         * floatfns.c (Fround):
10697         * floatfns.c (Ftruncate):
10698         * floatfns.c (Ffceiling):
10699         * floatfns.c (Fffloor):
10700         * floatfns.c (Ffround):
10701         * floatfns.c (Fftruncate):
10702         * fns.c (Fstring_equal):
10703         * fns.c (Fstring_lessp):
10704         * fns.c (concat2):
10705         * fns.c (concat3):
10706         * fns.c (vconcat2):
10707         * fns.c (vconcat3):
10708         * fns.c (Fsubstring):
10709         * fns.c (Fassoc):
10710         * fns.c (Fold_assoc):
10711         * fns.c (assoc_no_quit):
10712         * fns.c (Fassq):
10713         * fns.c (Fold_assq):
10714         * fns.c (assq_no_quit):
10715         * fns.c (Frassoc):
10716         * fns.c (Fold_rassoc):
10717         * fns.c (Frassq):
10718         * fns.c (Fold_rassq):
10719         * fns.c (rassq_no_quit):
10720         * fns.c (Fremassoc):
10721         * fns.c (remassoc_no_quit):
10722         * fns.c (Fremassq):
10723         * fns.c (remassq_no_quit):
10724         * fns.c (Fremrassoc):
10725         * fns.c (Fremrassq):
10726         * fns.c (remrassq_no_quit):
10727         * fns.c (Fsort):
10728         * fns.c (Fplist_get):
10729         * fns.c (Fplist_put):
10730         * fns.c (Fplist_remprop):
10731         * fns.c (Fplist_member):
10732         * fns.c (Flax_plist_get):
10733         * fns.c (Flax_plist_put):
10734         * fns.c (Flax_plist_remprop):
10735         * fns.c (Flax_plist_member):
10736         * fns.c (Fequal):
10737         * fns.c (Fold_equal):
10738         * fns.c (Frequire):
10739         * fns.c (Fbase64_encode_region):
10740         * fns.c (Fbase64_encode_string):
10741         * fns.c (Fbase64_decode_region):
10742         * frame.c:
10743         * frame.c (frame_matches_frame_spec):
10744         * frame.c (device_matches_device_spec):
10745         * frame.c (next_frame):
10746         * frame.c (previous_frame):
10747         * frame.c (Fnext_frame):
10748         * frame.c (Fprevious_frame):
10749         * frame.c (Fframe_property):
10750         * frame.c (Fset_frame_height):
10751         * frame.c (Fset_frame_size):
10752         * frame.h:
10753         * glyphs.c:
10754         * glyphs.c (if):
10755         * glyphs.c (decode_error_behavior_flag):
10756         * glyphs.c (Fmake_image_instance):
10757         * indent.c (Findent_to):
10758         * intl.c (Fignore_defer_gettext):
10759         * keymap.c (Fkeymapp):
10760         * keymap.c (Flookup_key):
10761         * lread.c:
10762         * lread.c (Fload_internal):
10763         * lread.c (Feval_buffer):
10764         * lread.c (Feval_region):
10765         * macros.c (Fexecute_kbd_macro):
10766         * marker.c (set_marker_internal):
10767         * marker.c (Fset_marker):
10768         * marker.c (set_marker_restricted):
10769         * marker.c (Fcopy_marker):
10770         * marker.c (noseeum_copy_marker):
10771         * menubar.c:
10772         * menubar.c (Fpopup_menu):
10773         * minibuf.c:
10774         * mule-charset.c (Fcharset_name):
10775         * mule-charset.c (Fchar_charset):
10776         * mule-charset.c (Fchar_octet):
10777         * mule-charset.c (Fsplit_char):
10778         * mule-wnnfns.c (Fwnn_open):
10779         * mule-wnnfns.c (Fwnn_dict_comment):
10780         * mule-wnnfns.c (Fwnn_quit_henkan):
10781         * mule-wnnfns.c (Fwnn_word_toroku):
10782         * mule-wnnfns.c (Fwnn_word_sakujo):
10783         * mule-wnnfns.c (Fwnn_word_use):
10784         * mule-wnnfns.c (Fwnn_hindo_set):
10785         * objects.c:
10786         * objects.c (Fmake_color_instance):
10787         * objects.c (Fmake_font_instance):
10788         * print.c (Fwrite_char):
10789         * process.c:
10790         * process.c (mark_process):
10791         * process.c (print_process):
10792         * process.c (get_process_from_usid):
10793         * process.c (Fprocessp):
10794         * process.c (Fprocess_live_p):
10795         * process.c (Fget_process):
10796         * process.c (Fget_buffer_process):
10797         * process.c (get_process):
10798         * process.c (Fprocess_id):
10799         * process.c (Fprocess_name):
10800         * process.c (Fprocess_command):
10801         * process.c (init_process_io_handles):
10802         * process.c (start_process_unwind):
10803         * process.c (Fstart_process_internal):
10804         * process.c (Fopen_multicast_group_internal):
10805         * process.c (Fset_process_window_size):
10806         * process.c (read_process_output):
10807         * process.c (send_process):
10808         * process.c (Fprocess_tty_name):
10809         * process.c (Fset_process_buffer):
10810         * process.c (Fprocess_buffer):
10811         * process.c (Fprocess_mark):
10812         * process.c (set_process_filter):
10813         * process.c (Fset_process_filter):
10814         * process.c (Fprocess_filter):
10815         * process.c (Fprocess_send_region):
10816         * process.c (Fprocess_send_string):
10817         * process.c (exec_sentinel):
10818         * process.c (Fset_process_sentinel):
10819         * process.c (Fprocess_sentinel):
10820         * process.c (status_notify):
10821         * process.c (Fprocess_status):
10822         * process.c (Fprocess_exit_status):
10823         * process.c (process_send_signal):
10824         * process.c (Fprocess_send_eof):
10825         * process.c (deactivate_process):
10826         * process.c (remove_process):
10827         * process.c (Fdelete_process):
10828         * process.c (kill_buffer_processes):
10829         * process.c (Fprocess_kill_without_query):
10830         * process.c (Fprocess_kill_without_query_p):
10831         * rangetab.c:
10832         * rangetab.c (Fget_range_table):
10833         * rangetab.c (Fput_range_table):
10834         * rangetab.c (Fremove_range_table):
10835         * rangetab.c (Fclear_range_table):
10836         * search.c:
10837         * search.c (Fskip_chars_forward):
10838         * search.c (Fskip_chars_backward):
10839         * search.c (Fskip_syntax_forward):
10840         * search.c (Fskip_syntax_backward):
10841         * search.c (search_command):
10842         * search.c (Freplace_match):
10843         * search.c (Fregexp_quote):
10844         * select.c (Fown_selection_internal):
10845         * select.c (Fselection_owner_p):
10846         * select.c (Fselection_exists_p):
10847         * select.c (Fget_selection_internal):
10848         * specifier.c:
10849         * symbols.c:
10850         * symbols.c (Fintern):
10851         * symbols.c (Fintern_soft):
10852         * symbols.c (Funintern):
10853         * symbols.c (Fapropos_internal):
10854         * symbols.c (Fset_default):
10855         * syntax.c:
10856         * syntax.c (Fsyntax_table_p):
10857         * syntax.c (Fcopy_syntax_table):
10858         * syntax.c (Fset_syntax_table):
10859         * syntax.c (Fchar_syntax):
10860         * syntax.c (syntax_match):
10861         * syntax.c (Fmatching_paren):
10862         * syntax.c (Fforward_word):
10863         * syntax.c (scan_lists):
10864         * syntax.c (Fscan_lists):
10865         * syntax.c (Fscan_sexps):
10866         * syntax.c (Fparse_partial_sexp):
10867         * toolbar.c (Fcheck_toolbar_button_syntax):
10868         * tooltalk.doc:
10869         * window.c:
10870         * window.c (Fwindowp):
10871         * window.c (Fwindow_live_p):
10872         * window.c (Fwindow_point):
10873         * window.c (Fdelete_window):
10874         * window.c (Fnext_window):
10875         * window.c (Fprevious_window):
10876         * window.c (Fother_window):
10877         * window.c (window_loop):
10878         * window.c (Fget_lru_window):
10879         * window.c (Fsplit_window):
10880         * window.c (Fenlarge_window):
10881         * window.c (Fenlarge_window_pixels):
10882         * window.c (Fshrink_window):
10883         * window.c (Fshrink_window_pixels):
10884         * window.c (change_window_height):
10885         * window.c (Fwindow_configuration_p):
10886         * window.c (Fcurrent_window_configuration):
10887         * window.h:
10888         * casefiddle.c (casify_object):
10889         * casefiddle.c (Fupcase):
10890         * casefiddle.c (Fdowncase):
10891         * casefiddle.c (Fcapitalize):
10892         * casefiddle.c (Fupcase_initials):
10893         * casefiddle.c (casify_region_internal):
10894         * casefiddle.c (casify_region):
10895         * casefiddle.c (Fupcase_region):
10896         * casefiddle.c (Fdowncase_region):
10897         * casefiddle.c (Fcapitalize_region):
10898         * casefiddle.c (Fupcase_initials_region):
10899         * casefiddle.c (Fupcase_word):
10900         * casefiddle.c (Fdowncase_word):
10901         * casefiddle.c (Fcapitalize_word):
10902         Docstring arglist/Texinfo fixes.  See man/ChangeLog for details.
10903         Replace 0 with '\0' when working with bytes.
10904         Replace initial "(" with "\(" in docstrings.
10905
10906 2000-11-01  Martin Buchholz  <martin@xemacs.org>
10907
10908         * config.h.in: Handle alloca with Compaq C on Alpha Linux.
10909
10910         * m/alpha.h: Let configure handle SYSTEM_MALLOC on Linux.
10911
10912 2000-10-31  Martin Buchholz  <martin@xemacs.org>
10913
10914         * eldap.c (print_ldap): 64-bit cleaner.  Fixes warning.
10915
10916 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
10917
10918         * doprnt.c (emacs_do_prnt_1): Format (format "%01.2d" 10)
10919         correctly.
10920
10921 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
10922
10923         * fileio.c (Vauto_save_list_file_prefix): Moved from startup.el.
10924         (inhibit_auto_save_session): New variable.
10925         (vars_of_fileio): Declare and initialize them.
10926         * fileio.c (Fdo_auto_save): Don't create session file if
10927         Vinhibit_auto_save_session or Vauto_save_list_file_prefix is non-nil.
10928
10929 2000-10-31  Martin Buchholz  <martin@xemacs.org>
10930
10931         * sgiplay.c (play_internal): C++ compilability.
10932         * alloc.c (SWEEP_FIXED_TYPE_BLOCK): Remove unused var `SFTB_prev'.
10933         * callproc.c (Fold_call_process_internal):
10934         Remove unused vars `env', `first'.
10935         * scrollbar.c (update_scrollbar_instance):
10936         #### unused var `current_window'.
10937         * redisplay-tty.c: Put currently unused vars insert_mode_on,
10938         etc. within #ifdef NOT_YET.
10939         * emacs.c: #### unused vars `initial_argc', `initial_argv'.
10940         * dialog-x.c (dbox_descriptor_to_widget_value): ### unused var `title'.
10941         * specifier.c (specifier_instance):
10942         #### unused var `tag'.
10943         Use WINDOW_BUFFER, FRAME_DEVICE instead of their expansion.
10944
10945 2000-10-27  Martin Buchholz  <martin@xemacs.org>
10946
10947         * fns.c (Fbutlast):
10948         * fns.c (list_sort):
10949         * fns.c (Ffillarray):
10950         * fns.c (bytecode_nconc2):
10951         * fns.c (Fnconc):
10952         * fns.c (mapcar1):
10953         * fns.c (Fmapconcat):
10954         Be pedantically 64-bit correct.  For the time when someone will
10955         want to have a list with length > 2**32.
10956
10957         * lisp.h (PRIVATE_EXTERNAL_LIST_LOOP_6):
10958         Work around MIPSpro compiler bug.
10959
10960         * process-unix.c (unix_kill_child_process): Add snarky comment.
10961         * process-unix.c (try_to_initialize_subtty):  Oops, `=' ==> `=='
10962
10963         * config.h.in: Oops, _getpt ==> _getpty
10964
10965 2000-10-26  Martin Buchholz  <martin@xemacs.org>
10966
10967         * config.h.in:
10968         * regex.c:
10969         Use void*, not char*, as return type of alloca().
10970
10971         * alloc.c (free_marker): Side effect inside assert expression!
10972
10973 2000-10-16  MIYASHITA Hisashi  <himi@m17n.org>
10974
10975         * mule-charset.c (Fset_charset_ccl_program): To check
10976         if the given ccl program is valid, use setup_ccl_program()
10977         instead of CHECK_VECTOR().
10978         (Fmake_charset): Likewise.
10979
10980 2000-10-20  Golubev I. N.  <gin@mo.msk.ru>
10981
10982         * faces.c (get_extent_fragment_face_cache_index):
10983         Fix cachel.merged_faces memory leak.
10984
10985 2000-10-14  MIYASHITA Hisashi  <himi@m17n.org>
10986
10987         * mule-ccl.c (ccl_driver)<CCL_DECODE_SJIS>:
10988         Reset MSB of octets obtained by DECODE_SJIS
10989         because of the incompatibility with Emacs.
10990         (ccl_driver)<CCL_ENCODE_SJIS>:
10991         Set MSB of octets before passing them to
10992         ENCODE_SJIS because of the incompatibility
10993         with Emacs.
10994
10995 2000-10-18   Daiki Ueno  <ueno@unixuser.org>
10996
10997         * lrecord.h (DECLARE_TYPECHECK_LRECORD): Abolish.
10998         (DECLARE_LRECORD): Undo the last change.
10999         (DECLARE_EXTERNAL_LRECORD): Expand typechecking stuff.
11000
11001 2000-10-17   Daiki Ueno  <ueno@unixuser.org>
11002
11003         * lrecord.h (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): Connect
11004         the implementation to lrecord_implementations_table.
11005
11006 2000-10-14   Daiki Ueno  <ueno@unixuser.org>
11007
11008         * lrecord.h (MAKE_EXTERNAL_LRECORD_IMPLEMENTATION): Don't set the
11009         initial value of `lrecord_type_##c_name' and
11010         `lrecord_##c_name.lrecord_type_index'; discard "const" qualifier.
11011         (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): New macro.
11012         [ERROR_CHECK_TYPECHECK] (DECLARE_TYPECHECK_LRECORD): New macro.
11013         [ERROR_CHECK_TYPECHECK] (DECLARE_LRECORD): Use it.
11014         [ERROR_CHECK_TYPECHECK] (DECLARE_EXTERNAL_LRECORD): Use it.
11015
11016 2000-10-17  Martin Buchholz  <martin@xemacs.org>
11017
11018         * miscplay.c (sndcnv8S_2mono):
11019         (sndcnv2monounsigned):
11020         (sndcnvULaw_2linear):
11021         (sndcnv16swap):
11022         Remove implementation-defined behavior.
11023
11024 2000-10-12  Martin Buchholz  <martin@xemacs.org>
11025
11026         * input-method-xlib.c: Warning suppression.
11027
11028 2000-10-05  MIYASHITA Hisashi  <himi@m17n.org>
11029
11030         * mule-ccl.c: Sync up with Emacs 21.0.90.
11031         (ccl_driver)<CCL_TranslateCharacter>: Disabled.
11032         Do nothing.
11033         (ccl_driver)<CCL_TranslateCharacterConstTbl>:
11034         Likewise.
11035         (ccl_driver[WriteMultibyteChar2]): Bug fix.
11036         Use MAX_LEADING_BYTE_OFFICIAL_2 instead of
11037         MIN_LEADING_BYTE_OFFICIAL_2 to check whether the
11038         leading char belongs to official 2-dimensional charset.
11039         (CCL_WRITE_CHAR): When CCL_MODE_ENCODING,
11040         write the given character as is.  Otherwise,
11041         if it is a multibyte char, convert it by
11042         non_ascii_set_charptr_emchar, then write it.
11043         (CCL_WRITE_STRING): Likewise.
11044         (ccl_get_compiled_code): New function.
11045         (setup_ccl_program): When ccl_prog is invalid,
11046         return -1.
11047         (Fregister_code_conversion_map): New function.
11048         (syms_of_mule_ccl): defsubr Fregister_code_conversion_map.
11049
11050         * mule-ccl.h: Sync up with Emacs 21.0.90.
11051         (Fregister_ccl_program): export it.
11052
11053         * redisplay-msw.c (separate_textual_runs):
11054         If ccl program is not valid, don't do ccl conversion.
11055
11056         * redisplay-x.c (separate_textual_runs): Ditto.
11057
11058         * file-coding.c (Fmake_coding_system):
11059         When type is ccl and value is vector, register it
11060         with a proper symbol.  And checks whether the
11061         given ccl program is valid.
11062         (mule_decode): When calling ccl_driver, if src indicates
11063         NULL pointer, set an empty string instead.
11064         (mule_encode): Likewise.
11065
11066 2000-10-11  Martin Buchholz  <martin@xemacs.org>
11067
11068         The following large batch of changes gets us back to a state of
11069         C++ compilability.  Extbyte is now a char, which means that
11070         Extbyte * and Bufbyte * cannot be freely interchanged - a win!
11071
11072         * tooltalk.c (Fset_tooltalk_message_attribute): Type correctness.
11073
11074         * sound.c (Fplay_sound): Type correctness.
11075
11076         * select-x.c (hack_motif_clipboard_selection): Type correctness.
11077         (x_get_window_property): Type correctness.
11078         (receive_incremental_selection): unsigned char ==> Extbyte
11079         (selection_data_to_lisp_data): unsigned char ==> Extbyte
11080         (Fx_get_cutbuffer_internal): unsigned char ==> Extbyte
11081         (Fx_store_cutbuffer_internal): Type correctness.
11082
11083         * process-unix.c (try_to_initialize_subtty): Type correctness.
11084
11085         * objects-x.c (x_print_color_instance): Type correctness.
11086         (x_print_font_instance): Type correctness.
11087         (x_list_fonts): SExtbyte ==> Extbyte.
11088         (valid_x_font_name_p): SExtbyte ==> Extbyte.
11089         (x_find_charset_font): SExtbyte ==> Extbyte.
11090         Use TO_INTERNAL_FORMAT.  build_string ==> make_string.
11091         (truename_via_XListFonts): SExtbyte ==> Extbyte.
11092         (x_font_instance_properties): Use TO_INTERNAL_FORMAT.
11093         Use bufbyte_strcmp.
11094
11095         * mule-charset.h (LEADING_BYTE_PREFIX_P): unsigned char ==> Bufbyte
11096         (PRIVATE_LEADING_BYTE_PREFIX): Add paranoia cast.
11097         (BYTE_ASCII_P): Use bit ops for char-signedness safety.
11098         (BYTE_C0_P): Use bit ops for char-signedness safety.
11099         (BYTE_C1_P): Use bit ops for char-signedness safety.
11100         (CHARSET_BY_LEADING_BYTE):
11101         (CHARSET_BY_ATTRIBUTES):
11102         Always use inline function.
11103         Use type_checking_assert.
11104         Hide chlook.
11105
11106         * mule-charset.c (non_ascii_charptr_copy_char):
11107         Modify to work with both ASCII and non-ASCII characters.
11108         Improve docs and variable names.
11109         Replace over-clever fall-through switch with a simple loop.
11110         (Lstream_get_emchar_1):
11111         Replace over-clever fall-through switch with a simple loop.
11112
11113         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
11114         Warning suppression.
11115
11116         * lstream.h (Lstream_get_emchar): BYTE_ASCII_P cannot be used on
11117         the return value of Lstream_getc, which could be EOF as well.
11118
11119         * lstream.c (Lstream_raw_read): Now returns ssize_t, not int.
11120
11121         * lisp.h: Make Extbyte a char, not unsigned char, so that external
11122         APIs can be used on Extbytes without casts.  Risky!
11123         (SExtbyte): Remove.
11124         (UExtbyte): Remove.
11125
11126         * input-method-xlib.c (XIM_init_device):
11127         Use Xlib.h instead of IntrinsicP.h.
11128         Use HAVE_XREGISTERIMINSTANTIATECALLBACK instead of THIS_IS_X11R6,
11129         which will break in X11R7.
11130         Use XREGISTERIMINSTANTIATECALLBACK_NONSTANDARD_PROTOTYPE,
11131         to call XRegisterIMInstantiateCallback with correct types.
11132
11133         * gui-x.c (button_item_to_widget_value): Type correctness.
11134
11135         * glyphs.c (bitmap_to_lisp_data):  Type correctness.
11136
11137         * glyphs-x.c (pixmap_from_xbm_inline): Type correctness.
11138         (xbm_instantiate_1): Type correctness.
11139         (BUILD_GLYPH_INST):  Type correctness.
11140
11141         * fileio.c (Fsubstitute_in_file_name): Type correctness.
11142
11143         * file-coding.c:
11144         (decode_coding_sjis):
11145         (decode_coding_big5):
11146         (decode_coding_ucs4):
11147         (decode_coding_utf8):
11148         (decode_coding_iso2022):
11149         (decode_coding_no_conversion):
11150         Make all decoding functions take an Extbyte * arg.
11151         (encode_coding_sjis):
11152         (encode_coding_big5):
11153         (encode_coding_ucs4):
11154         (encode_coding_utf8):
11155         (encode_coding_iso2022):
11156         (encode_coding_no_conversion):
11157         Make all encoding functions take a Bufbyte * arg.
11158         Use size_t instead of unsigned int for memory sizes.
11159         Only cast to unsigned char whenever dereferencing Extbyte *.
11160
11161         * doc.c (unparesseuxify_doc_string): Type correctness.
11162
11163         * console-x.c (split_up_display_spec):
11164         Rewrite without using details of internal string representation.
11165         (x_semi_canonicalize_device_connection): Type correctness.
11166
11167         * config.h.in:
11168         (HAVE_XREGISTERIMINSTANTIATECALLBACK): New.
11169         (XREGISTERIMINSTANTIATECALLBACK_NONSTANDARD_PROTOTYPE): New.
11170         (HAVE_XFREE386): Removed.
11171
11172         * buffer.h (DEC_CHARPTR): `const' correctness.
11173         (bufbyte_strcmp): New.
11174         (bufbyte_memcmp): New.
11175
11176         * buffer.c (dfc_convert_to_internal_format): Extbyte ==> Bufbyte
11177
11178         * buffer.h (XCHAR_OR_CHAR_INT):
11179         Always use inline function.
11180         Remove redundant type checking assert() - XINT will abort quite nicely.
11181
11182 2000-10-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
11183
11184         * search.c (Freplace_match): Set newtext to an empty string.
11185
11186 2000-10-10  Martin Buchholz  <martin@xemacs.org>
11187
11188         * s/decosf1-3.h: Remove #include of stropts.h
11189         * s/ptx.h: Remove #include of stropts.h
11190         * s/usg5-4.h: Remove #include of stropts.h
11191         * sysproc.h:
11192         * config.h.in:
11193         Use stropts.h, not sys/stropts.h.
11194         Use strtio.h, not sys/strtio.h.
11195
11196 2000-10-04  Martin Buchholz <martin@xemacs.org>
11197
11198         * XEmacs 21.2.36 is released.
11199
11200 2000-09-21  Andy Piper  <andy@xemacs.org>
11201
11202         * glyphs-x.c (x_redisplay_widget): make sure non-structural
11203         changes still involve copying the widget tree.
11204         (update_widget_face): make sure a change is register in the widget
11205         tree. Call update_tab_widget_face appropriately.
11206         (update_tab_widget_face): ditto.
11207         (x_tab_control_redisplay): make sure non-structural changes still
11208         involve copying the widget tree.
11209
11210 2000-08-31   Daiki Ueno  <ueno@unixuser.org>
11211
11212         * lread.c (locate_file): Check the path element is non-nil.
11213
11214 2000-10-02  Martin Buchholz  <martin@xemacs.org>
11215
11216         * lisp.h: Warning suppression for SCO compilers.
11217
11218         * redisplay-tty.c (reset_tty_modes): Fix crash.
11219         E.g. from xemacs running on X: (delete-device (make-device 'tty nil))
11220
11221 2000-09-27  Martin Buchholz  <martin@xemacs.org>
11222
11223         Big signal/process handling overhaul.  Bugs fixed:
11224         M-x shell, type `sleep 10000', M-x comint-interrupt-subjob and
11225         M-x comint-kill-subjob should work for both values nil and t of
11226         process-connection-type. It was broken on most platforms.
11227         Testing on Irix and Cygwin still needed.  Other plaforms tested.
11228         * sysdep.c: Move #include of stropts.h into sysproc.h.  Use pid_t.
11229         * process-unix.c: Signal/Process handling overhaul.
11230         (pty_name): make 64 bytes, as `expect' does, for paranoia.
11231         (allocate_pty): Use all available modern methods of allocating
11232         ptys, falling back to old style BSD allocation as a last resort.
11233         Use allegedly more secure Unix98 pty allocation by default.
11234         (allocate_pty_the_old_fashioned_way): New. the last resort.
11235         (unix_create_process): Push ptem, ldterm, ttcompat where
11236         available.  Autoconfiscate.
11237         (try_to_initialize_subtty): New.
11238         (unix_kill_child_process): Proper signal handling for ptys on most
11239         platforms, using special knowledge of AIX, BSD, etc...
11240         (unix_create_process): Always disconnect_controlling_terminal() for
11241         subprocesses, whether using ptys or not.
11242         * process.h: Remove old getpt-dependent PTY code.
11243         * process.c (Fprocess_send_signal): New, obvious generic function.
11244         (decode_signal): New.
11245         (Finterrupt_process):
11246         (Fkill_process):
11247         (Fquit_process):
11248         (Fstop_process):
11249         (Fcontinue_process):
11250         (Fsignal_process): Use decode_signal.
11251         (process_send_signal):
11252         Many docstring corrections.
11253         Allow any signal to be sent to a process object.
11254         * config.h.in: Add symbols for big signal/process overhaul.
11255         * syssignal.h (EMACS_KILLPG): Use HAVE_KILLPG. Use `pid', not `gid'.
11256         * sysproc.h: Include process-related headers, where available:
11257         sys/stropts.h sys/strtio.h pty.h libutil.h
11258         * s/irix4-0.h:
11259         * s/irix5-0.h:
11260         * s/cygwin32.h:
11261         * s/gnu.h:
11262         * s/linux.h:
11263         * s/hpux.h:
11264         * s/aix3-1.h:
11265         Remove old S&M pty stuff.
11266         * console-tty.c (tty_init_console): Use pid_t, not int, for pids.
11267         * systty.h: Simplify cpp hackery, improve comments.
11268         Favor BSD ioctl(TIOCGPGRP) over Posix tcgetpgrp().
11269
11270         * editfns.c (Fformat_time_string):
11271         Be a little more paranoid with the return value of ctime.
11272
11273         * fileio.c (check_executable):
11274         (check_writable):
11275         Use symbolic constants X_OK, W_OK.
11276
11277         * console-x.c (split_up_display_spec): Fix a warning.
11278
11279 2000-10-02  Martin Buchholz  <martin@xemacs.org>
11280
11281         * gui-x.c (add_accel_and_to_external): strlen ==> XSTRING_LENGTH
11282         * ntproc.c (sys_spawnve): make_string ==> build_string
11283         Small clarity improvements.
11284
11285 2000-09-30  Martin Buchholz  <martin@xemacs.org>
11286
11287         * events.c (WRONG_EVENT_TYPE_FOR_PROPERTY): Warning removal.
11288
11289         * s/windowsnt.h (HAVE_STRCASECMP): Remove.
11290
11291         * config.h.in (HAVE_STRCASECMP): Remove.
11292
11293 2000-09-29  Martin Buchholz  <martin@xemacs.org>
11294
11295         * redisplay-output.c (redisplay_output_pixmap):
11296         Cleaner and possibly more 64-bit correct code.
11297
11298 2000-09-28  Stephen J. Turnbull  <stephen@xemacs.org>
11299
11300         * dumper.c (pdump_load_finish): move restoration of
11301         `noninteractive1' to emacs.c (main_1).
11302         * emacs.c (main_1): protect LISP-visible command-line flags
11303         from pdump_load().
11304
11305 2000-09-26  Stephen J. Turnbull  <stephen@xemacs.org>
11306
11307         * Makefile.in.in (versionclean):  Use EXE_TARGET and
11308         DUMP_TARGET instead of literal program names.
11309
11310 2000-09-20  Martin Buchholz  <martin@xemacs.org>
11311
11312         * Makefile.in.in: Recent purify's require absolute paths for cache-dir.
11313
11314 2000-09-19  Martin Buchholz  <martin@xemacs.org>
11315
11316         * *: Spelling mega-patch
11317
11318 2000-09-19  Martin Buchholz  <martin@xemacs.org>
11319
11320         * fns.c (bad_bad_turtle):
11321         Delete "Eek!" comment, since we fixed the bug to which it refers.
11322
11323 2000-09-16  Martin Buchholz  <martin@xemacs.org>
11324
11325         * alloca.c: Replace REGISTER with register.
11326
11327 2000-09-16   Daiki Ueno  <ueno@unixuser.org>
11328
11329         * file-coding.c (ucs_to_char): Use countof.
11330
11331 2000-09-16  Martin Buchholz  <martin@xemacs.org>
11332
11333         * file-coding.c: (ucs_to_char):
11334         (complex_vars_of_file_coding):
11335         Use countof instead of sizeof.
11336         Use CHECK_NATNUM instead of CHECK_INT.
11337
11338         * sysdep.c (strcasecmp): Remove.
11339         * device-x.c (ascii_strcasecmp): New.
11340         * device-x.c (Fx_get_resource): Use ascii_strcasecmp.
11341         Avoid using non-standard non-portable strcasecmp.
11342
11343 2000-09-16  Martin Buchholz  <martin@xemacs.org>
11344
11345         * Makefile.in.in (mostlyclean): remove reference to prefix-args.
11346         * font-lock.c: remove reference to emacsfns.h.
11347         * search.c: small doc improvement.
11348         * event-Xt.c: correct file names in comments.
11349         * console-x.h Correct file names in comments.
11350         * frame.c: Correct file names in comments.
11351         * event-stream.c: remove Energize from comments.
11352
11353 2000-09-15  Martin Buchholz  <martin@xemacs.org>
11354
11355         * symeval.h (DEFERROR_STANDARD):
11356         (DEFERROR):
11357         (DEFSYMBOL):
11358         (DEFSYMBOL_NO_DUMP):
11359         (DEFSYMBOL_MULTIWORD_PREDICATE):
11360         (DEFSYMBOL_MULTIWORD_PREDICATE_NO_DUMP):
11361         (DEFKEYWORD):
11362         The construct &##name is not sensible C.
11363         Fixes compilation errors with Unixware native compiler.
11364
11365 2000-09-14  Martin Buchholz  <martin@xemacs.org>
11366
11367         * frame.c (device_matches_console_spec): no longer takes a `frame' arg
11368         (next_frame_internal): Removed.  We now just have next_frame.
11369         (next_frame):
11370         Write a simpler and cleaner one-pass algorithm.
11371         Remove called_from_delete_device arg and #ifdefed-out code.
11372         (previous_frame):
11373         Renamed from prev_frame.  Update callers.
11374         Cleaned up to have an analogous implementation to next_frame.
11375         (other_visible_frames_internal): Remove the
11376         called_from_delete_device bogus arg, and hence, remove this
11377         function.  Just use other_visible_frames().
11378
11379         * window.c (Fnext_window):
11380         Prettify docstring.
11381         Since next_frame() is guaranteed to return a frame, remove check
11382         for nil inserted in previous patch.
11383         (Fprevious_window):
11384         Prettify docstring.
11385         Make code look more like Fnext_window.
11386         (window_loop):
11387         Respect the `console' arg when iterating through windows.
11388         Fixes bug: (get-buffer-window buffer t device) not respecting
11389         the `device' arg.
11390         This function needs more work, as others have pointed out.
11391
11392         * frame.h: Rename prev_frame to previous_frame.
11393         device_matches_console_spec no longer takes a `frame' arg.
11394
11395         * s/gnu.h:
11396         * s/linux.h:
11397         * s/hpux.h:
11398         Use EMACS_BLOCK_SIGNAL instead of sigblock.
11399         From "Golubev I. N." <gin@mo.msk.ru>.
11400
11401         * make-src-depend: Fix typo.
11402
11403 2000-09-13  Martin Buchholz  <martin@xemacs.org>
11404
11405         * window.c (Fnext_window):
11406         next_frame() might return nil, not a frame.
11407         Fixes this crash:
11408         (gdb) run -eval '(progn  (make-device (quote x) "polgar:0") (next-window (minibuffer-window) t (quote visible) (second (device-list))))'
11409
11410         * frame.c (next_frame_internal):
11411         We've passed a frame if we've passed its device.
11412         Fixes this crash:
11413         (gdb) run -eval '(progn (make-frame nil (make-device (quote x) "polgar:0")) (next-window (minibuffer-window) t (quote visible) (second (device-list))))'
11414 Fatal error: assertion failed, file /project/xemacs/ws/dev/src/frame.h, line 245, RECORD_TYPEP (obj, lrecord_type_frame)
11415
11416 2000-09-11  Jonathan Harris  <jhar@tardis.ed.ac.uk>
11417
11418         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
11419         Allow option to suppress accelerators in menu/dialog items.
11420         (populate_or_checksum_helper): Pass dialog title through above.
11421
11422 2000-09-10  Jonathan Harris  <jhar@tardis.ed.ac.uk>
11423
11424         * event-msw.c (mswindows_key_to_emacs_keysym):
11425         Add "pause" key, fix "menu" key.
11426
11427 2000-09-09  Martin Buchholz  <martin@xemacs.org>
11428
11429         * eval.c (reinit_vars_of_eval):
11430         Increase max_lisp_eval_depth to 1000,
11431         required for thai-xtis.el to byte-compile under some circumstances.
11432
11433 2000-09-04  Martin Buchholz  <martin@xemacs.org>
11434
11435         * event-Xt.c (x_to_emacs_keysym): Increase size of `buffer' to 513.
11436         From Kenichi Handa.
11437
11438 2000-09-01  Martin Buchholz  <martin@xemacs.org>
11439
11440         * make-src-depend: Make the generated Makefiles smaller.
11441
11442         * s/hpux.h (SETUP_SLAVE_PTY):
11443         Provide a %d in the format string for the errno argument.
11444
11445         * editfns.c (Ftemp_directory):
11446         Warning fix.
11447         Avoid buffer overrun on very long file name.
11448
11449         * input-method-xlib.c (XIM_init_device):
11450         6th parameter of XRegisterIMInstantiateCallback has different
11451         pointer types on different OSes, so simply cast to (void *).
11452
11453         * unexhp9k800.c: Warning fixes.  Fiddly changes.
11454
11455         * sysdll.c (dll_open):
11456         shl_load will hang hard if passed a NULL filename.
11457         Simply return NULL for compatibility with dlopen.
11458         * sysdll.c: Conform to XEmacs coding standards.
11459
11460         * sysdep.c (get_pty_max_bytes):
11461         Support pty input lines longer than 512 bytes on HP-UX 10.20.
11462
11463 2000-08-31  Martin Buchholz  <martin@xemacs.org>
11464
11465         * tooltalk.c: Add #include <syssignal.h>
11466
11467 2000-08-12  Alexandre Oliva  <aoliva@redhat.com>
11468
11469         * s/hpux.h: Don't use undefined function sigunblock().
11470
11471 2000-08-31  Martin Buchholz  <martin@xemacs.org>
11472
11473         * config.h.in: Add HAVE_BALLOON_HELP.
11474         * emacs.c: Use HAVE_BALLOON_HELP.
11475         * Makefile.in.in (x_objs):
11476         Make Balloon Help conditional on finding shape.h.
11477
11478 2000-08-23  Yoshiki Hayashi  <yoshiki@xemacs.org>
11479
11480         * syntax.c (regex_emacs_buffer_p): New variable.
11481         * syntax.h (regex_emacs_buffer_p): extern.
11482         * search.c (looking_at_1):
11483         (string_match_1):
11484         (fast_string_match):
11485         (search_buffer): Set regex_emacs_buffer_p.
11486         * regex.c (re_match_2_internal): Reference regex_emacs_buffer_p
11487         when before_dot, at_dot, after_dot.
11488
11489 2000-08-23  Andy Piper  <andy@xemacs.org>
11490
11491         * gui-x.c (popup_selection_callback): Only set action_occurred
11492         when we really have an image instance.
11493         * gui-msw.c (mswindows_handle_gui_wm_command): ditto.
11494
11495 2000-08-23  Andy Piper  <andy@xemacs.org>
11496
11497         * gui-msw.c (mswindows_handle_gui_wm_command): set
11498         action_occurred.
11499         * gui-x.c (popup_selection_callback): ditto.
11500
11501         * glyphs.h (IMAGE_INSTANCE_WIDGET_ACTION_OCCURRED): new accessor.
11502         (XIMAGE_INSTANCE_WIDGET_ACTION_OCCURRED): ditto.
11503         (struct Lisp_Image_Instance): add action_occurred flag.
11504
11505         * glyphs.c (redisplay_subwindow): use action_occurred flag.
11506         (image_instance_changed): ditto.
11507         (reset_frame_subwindow_instance_cache): only unmap windows - do
11508         not remove them from the cache also.
11509
11510         * glyphs-widget.c (tab_control_update): better debug.
11511         (progress_gauge_update): ditto.
11512         (layout_update): ditto.
11513         (layout_instantiate): ditto.
11514         (tab_control_order_only_changed): cope with null pending items.
11515
11516         * glyphs-msw.c (mswindows_tab_control_redisplay): add better
11517         debug. Force selection of an item when an action occurred. Cope
11518         with null pending_items.
11519         (mswindows_progress_gauge_redisplay): better debug.
11520         * glyphs-x.c (x_tab_control_redisplay): ditto.
11521
11522         * redisplay.c (redisplay_frame): reset the frame cache if the
11523         frame is garbaged.
11524
11525         * window.c (Fset_window_configuration): potentially re-enable
11526         frame cache reset.
11527         (window_unmap_subwindows): need to finalize instances here since
11528         it is only used in mark_window_as_deleted.
11529
11530 2000-08-22  Stephen J. Turnbull  <stephen@xemacs.org>
11531
11532         * nas.c (SndOpenDataForReading):
11533         nas.c (WaveOpenDataForReading):
11534         nas.c (readChunk): {BIG,LITTLE}_ENDIAN -> NAS_{BIG,LITTLE}_ENDIAN.
11535         Somehow escaped from the 2000-08-14 patch.
11536
11537 2000-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
11538
11539         * nas.c:  Preprocessor trickery to use NAS_LITTLE_ENDIAN instead
11540         of LITTLE_ENDIAN (conflicts with glibc, at least) in NAS <= 1.2p5.
11541
11542 2000-08-21  Andy Piper  <andy@xemacs.org>
11543
11544         * glyphs-x.c (x_map_subwindow): Minor optimization - only map the
11545         window if it is not already displayed.
11546
11547         * glyphs-msw.c (mswindows_map_subwindow): only map the window if
11548         it is not already displayed.
11549
11550         * window.c (Fset_window_configuration): don't reset the frame
11551         cache.
11552
11553         * glyphs.c (unmap_subwindow_instance_cache_mapper): only remove
11554         instances from the frame cache if we are actually finalizing them.
11555         (reset_frame_subwindow_instance_cache): reset frame cache only
11556         after unmapping everything.
11557         (map_subwindow): set displayed flag after mapping.
11558
11559 2000-08-21  Martin Buchholz  <martin@xemacs.org>
11560
11561         * data.c (indirect_function):
11562         Rename ERRORP to non-misleading VOID_FUNCTION_ERRORP.
11563
11564         * eval.c (function_argcount):
11565         Use original function when signaling errors.
11566
11567 2000-08-18  Andy Piper  <andy@xemacs.org>
11568
11569         * frame.c (delete_frame_internal): use new
11570         free_frame_subwindow_instances name.
11571
11572         * glyphs-msw.c (mswindows_tab_control_instantiate): verify index.
11573         (add_tab_item): make return type correct.
11574         (mswindows_tab_control_instantiate): assert index of tab.
11575         (mswindows_tab_control_redisplay): Re-code to use
11576         gui_item_equal_sans_selected and gui_item_list_find_selected.
11577
11578         * glyphs-widget.c (tab_control_update): Correct comment.
11579
11580         * window.c (window_unmap_subwindows): use new
11581         unmap_subwindow_instance_cache_mapper.
11582         (window_unmap_subwindows_cache_mapper): deleted.
11583         (Fset_window_configuration): comparisons should now be with
11584         EQ. Preserve the subwindow instance cache across configuration
11585         changes.
11586         (allocate_window): ditto.
11587         (make_dummy_parent): ditto.
11588
11589         * glyphs.c (free_frame_subwindow_instances): rename from
11590         free_frame_subwindow_instance_cache. finalize all instances rather
11591         than just those in the display cache.
11592         (finalize_all_subwindow_instances): walk windows unmapping and
11593         finalizing subwindows.
11594         (unmap_subwindow_instance_cache_mapper): moved from
11595         window.c. Allow finalization as well as unmapping.
11596
11597         * gui.c (gui_item_list_find_selected): new function.
11598
11599         * gui.h (gui_item_list_find_selected): declare.
11600
11601         * glyphs-x.c (x_tab_control_redisplay): pick tab
11602         explicitly. Re-code to use gui_item_equal_sans_selected and
11603         gui_item_list_find_selected.
11604
11605         * glyphs-x.h: add lwlib-utils.h
11606
11607         * buffer.c (Frecord_buffer): undo previous change.
11608
11609 2000-08-09  Vin Shelton  <acs@xemacs.org>
11610
11611         * config.h.in, s/gnu.h, s/hpux.h, s/linux.h: Use UNIX98 PTYs if
11612         possible.  Create temporary files more securely.  The patch was
11613         generated by Torsten Duwe <duwe@caldera.de>, Florian Weimer
11614         <Florian.Weimer@RUS.Uni-Stuttgart.DE> and Olaf Kirch.  See
11615         http://www.xemacs.org/list-archives/xemacs-patches/200007/msg00123.html
11616         for details.
11617
11618 2000-08-07  Ben Wing  <ben@xemacs.org>
11619
11620         * getloadavg.c: remove duplicate (and windows-breaking)
11621         includes of fcntl.h and sys/file.h.
11622
11623         * nt.c: remove duplicate getloadavg() definition.
11624
11625         * sysdll.h (Qdll_filename_encoding): add missing stand-in
11626         encodings.
11627
11628 2000-08-07  Gunnar Evermann  <ge204@eng.cam.ac.uk>
11629
11630         * eval.c (function_argcount): If function needs to be autoloaded
11631         actually use the loaded definition.
11632         GCPRO function.
11633
11634 2000-08-05  Ben Wing  <ben@xemacs.org>
11635
11636         * getloadavg.c: add prototype for getloadavg().  remove
11637         duplicate WIN32_NATIVE/CYGWIN code (already in the middle
11638         of the code).  remove duplicate header includes.
11639
11640         * s\cygwin32.h, s\mingw32.h: remove stray NO_ARG_ARRAY.
11641
11642         * s\cygwin32.h, s\mingw32.h, m\windowsnt.h:
11643         don't define LOAD_AVE_TYPE/LOAD_AVE_CVT because we have no
11644         useful load average.
11645
11646         * alloc.c (reinit_alloc_once_early): removed references to
11647         VIRT_ADDR_VARIES, malloc_sbrk_used/free, and data-bytes-used/free.
11648         the lisp vars are the only things referencing the malloc_sbrk_*
11649         vars, and they were already if 0'd out.  these vars only exist
11650         in the older malloc.c, which is basically unused, and they're
11651         only for informational purposes.
11652
11653         * m\*.h: removed useless VIRT_ADDR_VARIES.
11654
11655         * m\powerpc.h: removed stray NO_ARG_ARRAY.
11656
11657 2000-04-26  IKEYAMA Tomonori  <tomonori@suiyokai.org>
11658
11659         * redisplay-msw.c (mswindows_output_dibitmap): Set foreground
11660         color if the image is a mono pixmap.
11661
11662 2000-07-30  Ben Wing  <ben@xemacs.org>
11663
11664         * Makefile.in.in (release):
11665         Remove stray @.
11666
11667         * buffer.c (directory_is_current_directory):
11668         * dired-msw.c (mswindows_get_files):
11669         * dired.c:
11670         * dired.c (Fdirectory_files):
11671         * dired.c (file_name_completion_stat):
11672         * dired.c (Ffile_attributes):
11673         [[[[1]]]]: Rename stat() -> xemacs_stat() and eliminate nasty
11674         preprocessor tricks, to avoid problems on some machines
11675         (e.g. SCO).
11676
11677         * callproc.c (egetenv): GC docs.
11678
11679         * console-msw.h:
11680         * console-msw.h (struct mswindows_dialog_id):
11681         * lrecord.h (lrecord_type):
11682         New object for use with MSW dialogs.
11683
11684         * console.h (struct console_methods):
11685         New enable/disable frame methods, for proper modal dialogs.
11686
11687         * device-msw.c (msprinter_default_printer): Fix to follow
11688         proper Mule conventions.
11689
11690         * device-msw.c:
11691         * device-msw.c (signal_open_printer_error):
11692         * device-msw.c (msprinter_init_device):
11693         * device-msw.c (ensure_not_printing):
11694         * device-msw.c (plist_get_margin):
11695         * device-msw.c (Fmsprinter_select_settings):
11696         * device-msw.c (finalize_devmode):
11697         * device-msw.c (Fmsprinter_settings_despecialize):
11698         * device-msw.c (signal_enum_priner_error):
11699         * extents.c (decode_extent):
11700         * extents.c (decode_map_extents_flags):
11701         * extents.c (decode_extent_at_flag):
11702         * extents.c (Fextent_at):
11703         * extents.c (Fextents_at):
11704         * extents.c (symbol_to_glyph_layout):
11705         [[[[2]]]] Use structured errors.
11706
11707         * dialog-msw.c:
11708         * dialog-msw.c (mswindows_is_dialog_msg):
11709         * dialog-msw.c (mark_mswindows_dialog_id):
11710         * dialog-msw.c (dialog_proc):
11711         * dialog-msw.c (handle_question_dialog_box):
11712         * dialog-msw.c (syms_of_dialog_mswindows):
11713         Define new object to clean up marking; use it as a dialog identifier.
11714         Call new delete-dialog-box-hook.
11715
11716         * dialog-x.c (dbox_selection_callback):
11717         * dialog-x.c (dbox_descriptor_to_widget_value):
11718         * dialog-x.c (x_make_dialog_box_internal):
11719         Call new delete-dialog-box-hook.
11720         Return an id.
11721
11722         * dialog.c:
11723         * dialog.c (syms_of_dialog):
11724         * dialog.c (vars_of_dialog):
11725         Define new delete-dialog-box-hook, for use w/modal dialog boxes.
11726
11727         * eval.c:
11728         * eval.c (signal_call_debugger):
11729         when noninteractive, output stack traces on the console instead
11730         of in a (never-seen) buffer.
11731
11732         * eval.c (signal_type_error):
11733         * eval.c (invalid_argument_2):
11734         * lisp.h:
11735         new funs for use w/structured errors.
11736
11737         * event-Xt.c:
11738         * event-Xt.c (x_to_emacs_keysym):
11739         * event-Xt.c (describe_event):
11740         * event-Xt.c (emacs_Xt_event_handler):
11741         * event-Xt.c (vars_of_event_Xt):
11742         * event-msw.c:
11743         * event-msw.c (mswindows_wnd_proc):
11744         * event-msw.c (vars_of_event_mswindows):
11745         rename {x,mswindows}-debug-events to debug-{}-events for
11746         consistency with other debug-foo variables.
11747
11748         * event-stream.c:
11749         document next-event more clearly.
11750
11751         * fileio.c (Ffile_name_directory):
11752         * fileio.c (Ffile_name_nondirectory):
11753         * fileio.c (Funhandled_file_name_directory):
11754         * fileio.c (file_name_as_directory):
11755         * fileio.c (Ffile_name_as_directory):
11756         * fileio.c (directory_file_name):
11757         * fileio.c (Fdirectory_file_name):
11758         * fileio.c (Fmake_temp_name):
11759         * fileio.c (Ffile_truename):
11760         * fileio.c (Fsubstitute_in_file_name):
11761         * fileio.c (expand_and_dir_to_file):
11762         * fileio.c (barf_or_query_if_file_exists):
11763         * fileio.c (check_executable):
11764         * fileio.c (Ffile_exists_p):
11765         * fileio.c (Ffile_writable_p):
11766         * fileio.c (Ffile_directory_p):
11767         * fileio.c (Ffile_regular_p):
11768         * fileio.c (Ffile_modes):
11769         * fileio.c (Ffile_newer_than_file_p):
11770         * fileio.c (Fverify_visited_file_modtime):
11771         * fileio.c (Fset_visited_file_modtime):
11772         * fileio.c (auto_save_1):
11773         (1). (2).
11774         fix up gcpro's.
11775
11776         * frame-msw.c:
11777         * frame-msw.c (mswindows_init_frame_1):
11778         * frame-msw.c (mswindows_enable_frame):
11779         * frame-msw.c (error_frame_unsizable):
11780         * frame-msw.c (msprinter_init_frame_1):
11781         * frame-msw.c (msprinter_init_frame_3):
11782         * frame-msw.c (console_type_create_frame_mswindows):
11783         (2).
11784         implement new enable/disable frame methods.
11785
11786         * frame-x.c:
11787         * frame-x.c (x_enable_frame):
11788         * frame-x.c (console_type_create_frame_x):
11789         implement new enable/disable frame methods.
11790
11791         * frame.c:
11792         * frame.c (Fdisable_frame):
11793         * frame.c (syms_of_frame):
11794         * frame.h (struct frame):
11795         implement new enable/disable frame methods/functions.
11796
11797         * general-slots.h:
11798         add initial-focus.
11799
11800         * glyphs-msw.c (mswindows_widget_instantiate):
11801         comment that initial-focus should be implemented.
11802
11803         * glyphs-widget.c:
11804         * glyphs-widget.c (check_valid_instantiator):
11805         * glyphs-widget.c (check_valid_orientation):
11806         * glyphs-widget.c (check_valid_tab_orientation):
11807         * glyphs-widget.c (check_valid_justification):
11808         * glyphs-widget.c (check_valid_border):
11809         * glyphs-widget.c (check_valid_callback):
11810         * glyphs-widget.c (check_valid_int_or_function):
11811         * glyphs-widget.c (check_valid_string_or_vector):
11812         * glyphs-widget.c (check_valid_item_list_1):
11813         * glyphs-widget.c (widget_validate):
11814         * glyphs-widget.c (combo_box_validate):
11815         * glyphs-widget.c (widget_instantiate):
11816         * glyphs-widget.c (syms_of_glyphs_widget):
11817         * glyphs-widget.c (VALID_WIDGET_KEYWORDS):
11818         * glyphs-widget.c (image_instantiator_combo_box):
11819         * glyphs-widget.c (image_instantiator_scrollbar):
11820         * glyphs-widget.c (image_instantiator_tab_control):
11821         * glyphs-widget.c (VALID_LAYOUT_KEYWORDS):
11822         (2).
11823         support (unimplemented) keyword initial-focus.
11824         reindent long macros.
11825
11826         * glyphs-x.c (x_redisplay_widget):
11827         * glyphs-x.c (x_button_instantiate):
11828         * glyphs-x.c (x_button_redisplay):
11829         * glyphs-x.c (x_progress_gauge_instantiate):
11830         * glyphs-x.c (x_edit_field_instantiate):
11831         * glyphs-x.c (x_combo_box_instantiate):
11832         * glyphs-x.c (x_tab_control_instantiate):
11833         * glyphs-x.c (x_label_instantiate):
11834         * gui-x.c:
11835         * gui-x.c (button_item_to_widget_value):
11836         * gui-x.c (gui_items_to_widget_values_1):
11837         * gui-x.c (gui_item_children_to_widget_values):
11838         * gui-x.c (gui_items_to_widget_values):
11839         * gui-x.h:
11840         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
11841         add new flag to gui-parsing routines to indicate whether
11842         accelerator specs should be supported.
11843
11844         * glyphs.c (syms_of_glyphs): use DEFSYMBOL.
11845
11846         * glyphs.h (struct Lisp_Image_Instance):
11847         * glyphs.h (IMAGE_INSTANCE_WANTS_INITIAL_FOCUS):
11848         add initial-focus flag.
11849
11850         * gui.c:
11851         * gui.c (syms_of_gui):
11852         * gui.c (vars_of_gui):
11853         clean up menu-no-selection-hook.
11854
11855         * gui.h:
11856         support delete-dialog-box-hook.
11857
11858         * lread.c (Fload_internal):
11859         * lread.c (locate_file_in_directory_mapper):
11860         (1).
11861
11862         * lrecord.h:
11863         * lrecord.h (struct toolbar_button):
11864         * lrecord.h (syms_of_toolbar):
11865         document how to create a new object.
11866
11867         * menubar-msw.c (mswindows_char_is_accelerator):
11868         may be called on frames w/o menus.
11869
11870         * menubar.c (vars_of_menubar):
11871         clean up :filter docs.
11872
11873         * nt.c (readdir):
11874         * ntproc.c:
11875         (1).
11876
11877         * process-nt.c:
11878         * process-nt.c (validate_signal_number):
11879         * process-nt.c (signal_cannot_launch):
11880         * process-nt.c (nt_create_process):
11881         * process-nt.c (nt_send_process):
11882         * process-nt.c (nt_kill_child_process):
11883         * process-nt.c (nt_open_network_stream):
11884         * process-nt.c (syms_of_process_nt):
11885         (2).
11886         delete quote-handling.  call new lisp code that does it better.
11887
11888         * process-unix.c (connect_to_file_descriptor):
11889         * process-unix.c (allocate_pty):
11890         * process-unix.c (unix_send_process):
11891         * process-unix.c (unix_kill_child_process):
11892         * process-unix.c (unix_open_network_stream):
11893         * process-unix.c (unix_open_multicast_group):
11894         (1). (2).
11895
11896         * process.c:
11897         * process.c (Fstart_process_internal):
11898         (2).  need to canonicalize process path even if absolute.
11899
11900         * select-msw.c (symbol_to_ms_cf):
11901         * select-msw.c (ms_cf_to_symbol):
11902         * select-msw.c (cf_is_autofreed):
11903         * select-msw.c (mswindows_destroy_selection):
11904         * select.c:
11905         * select.c (syms_of_select):
11906         * select.h:
11907         support dibv5, fix bugs. (from Mike Alexander)
11908
11909         * select.c (Fget_selection_internal):
11910         * select.c (select_convert_out):
11911
11912         * sysdep.c:
11913         * sysdep.c (xemacs_stat):
11914         renamed.
11915
11916         * sysdep.c (mkdir):
11917         * sysdep.c (rmdir):
11918         but keep original stat() here because we provide encapsulation
11919         around these funs.
11920
11921         * sysfile.h:
11922         * sysfile.h (fstat):
11923         remove stat garbage.
11924
11925         * syswindows.h:
11926         fix X/MSW conflict.
11927         don't include tchar.h.  it's inappropriate because it makes
11928         compile-time distinctions when we want runtime distinctions.
11929         (we provide our own tchar replacements)
11930
11931         * toolbar.c:
11932         use default object printer for toolbar-button.
11933
11934         * unexcw.c:
11935         make sure we don't encapsulate.
11936
11937         * window.c (vars_of_window):
11938         emphasize that temp-buffer-show-hook is obsolete.
11939
11940 2000-08-05  Martin Buchholz  <martin@xemacs.org>
11941
11942         * glyphs.c (image_instance_hash): HASH2 wants EMACS_INT args.
11943         (Fimage_instance_subwindow_id): make_int wants EMACS_INT arg.
11944
11945         * events.c (Fevent_timestamp_lessp):
11946         Not 64-bit clean.  Use EMACS_INT, not int.
11947
11948 2000-06-05  Andrew Begel <abegel@cs.berkeley.edu>
11949
11950         * lrecord.h (lrecord_types): Changed lrecord_type_count to an
11951         unsigned int and changed the last enum to
11952         lrecord_type_last_built_in_type.
11953         (lrecord_implementations_table): changed prototype to know how
11954         long the array is supposed to be.
11955         (lrecord_type_count): new unsigned int to keep track of the
11956         current number of lisp lrecord types.
11957         (DEFINE_EXTERNAL_LRECORD):
11958         (DECLARE_EXTERNAL_LRECORD): Added these two for external
11959         dynamic-modules to declare new lisp types. They are the same
11960         as the non-EXTERNAL forms, but declare an lrecord_type unsigned
11961         int for each new type, and increment lrecord_type_count by 1.
11962
11963         * alloc.c (lrecord_implementations_table): Changed to reference
11964         lrecord_type_last_built_in_type for the size of the array.
11965         Moved MODULE_DEFINABLE_TYPE_COUNT to lrecord.h.
11966
11967 2000-08-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
11968
11969         * glyphs.h (check_valid_item_list): Renamed from
11970         check_valid_item_list_1.
11971
11972 2000-08-01 Alastair J. Houghton <ajhoughton@lineone.net>
11973
11974         * select.c (Qselect_coerce): New.
11975         * select.c (Vselection_coercion_alist): New.
11976         * select.c (syms_of_select): Declare.
11977         * select.c (get-selection-internal): Use it.
11978         Use the new select-coerce functionality.
11979
11980         * select.c (select_coerce): New.
11981         * select.h (select_coerce): Declare.
11982         New function to coerce one type of data into another.
11983
11984 2000-08-03  Martin Buchholz  <martin@xemacs.org>
11985
11986         * callproc.c (Fcall_process_internal):
11987         (Fcall_process_internal):
11988         * process-unix.c (unix_create_process):
11989         Save and restore the value of errno, so that error messages are accurate.
11990
11991 2000-08-01  Martin Buchholz  <martin@xemacs.org>
11992
11993         * elhash.c (print_hash_table):
11994         Fix printing of hash tables to also use `key-and-value' instead of `t'.
11995         Prettify docstrings and indentation.
11996
11997 2000-07-31  Yoshiki Hayashi  <yoshiki@xemacs.org>
11998
11999         * window.c (Fwindow_pixel_edges): Subtract frame border and
12000         gutter size.
12001
12002 2000-07-31  Andy Piper  <andy@xemacs.org>
12003
12004         * buffer.c (Frecord_buffer): make absolutely sure that redisplay
12005         will acknowledge the change.
12006
12007         * glyphs.h: declare tab_control_order_only_changed.
12008
12009         * glyphs-x.c (x_tab_control_redisplay): use
12010         tab_control_order_only_changed.
12011
12012         * glyphs-widget.c (tab_control_order_only_changed): new function.
12013
12014         * glyphs-msw.c (mswindows_tab_control_redisplay): use
12015         tab_control_order_only_changed.
12016
12017         * gui.c (gui_item_equal_sans_selected): new function.
12018         (gui_item_equal): use it.
12019
12020         * glyphs-msw.c (mswindows_combo_box_instantiate): deprecate
12021         :properties in favor of :items..
12022
12023         * glyphs-widget.c (check_valid_item_list): rename from
12024         check_valid_item_list_1.
12025         (check_valid_item_list_1): renamed.
12026         (combo_box_validate): deprecate :properties in favor of :items.
12027         (widget_instantiate): ditto.
12028         (tab_control_update): ditto.
12029         (image_instantiator_combo_box): ditto.
12030         (image_instantiator_tree_view): ditto.
12031         (image_instantiator_tab_control): ditto.
12032         (layout_post_instantiate): remove dead code.
12033
12034         * print.c (debug_print_no_newline): only write to debugger if in
12035         WIN32_NATIVE.
12036
12037         * elhash.c (Fmake_hash_table): update doc string.
12038
12039         * event-msw.c (mswindows_wnd_proc): don't allow processing of
12040         messages whilst in GC. This at least stops XEmacs crashing but has
12041         the potential for wierd behaviour.
12042
12043 2000-07-31  Martin Buchholz  <martin@xemacs.org>
12044
12045         * config.h.in:
12046         Make existence of s&m files optional.
12047
12048         * s/bsd386.h: Remove HAVE_GETLOADAVG.
12049         * s/freebsd.h: Remove HAVE_GETLOADAVG.
12050         * s/gnu.h: Remove HAVE_GETLOADAVG.
12051         * s/netbsd.h: Remove HAVE_GETLOADAVG.
12052         * s/sol2.h: Remove HAVE_GETLOADAVG.
12053         * lisp.h: Remove getloadavg() declaration.
12054         * fns.c:
12055         Include <sys/loadavg.h> if available.
12056         Don't declare our own getloadavg() if HAVE_GETLOADAVG.
12057         * config.h.in:  Group together getloadavg()-related macros.
12058         Use only configure-time tests to detect getloadavg().
12059
12060 2000-07-30  Martin Buchholz  <martin@xemacs.org>
12061
12062         * Makefile.in.in (TransientEmacsShell.o): Fix race condition.
12063
12064 2000-07-25  Andy Piper  <andy@xemacs.org>
12065
12066         * syswindows.h: add tchar.h for native builds.
12067
12068         * frame.c (syms_of_frame): remove set-glyph-image.
12069
12070         * general-slots.h: add Qset_glyph_image.
12071
12072         * glyphs-widget.c (layout_update): add domain arg to
12073         set-glyph-image.
12074         (syms_of_glyphs_widget): remove set-glyph-image.
12075
12076 2000-07-23  Ben Wing  <ben@xemacs.org>
12077
12078         * dialog-msw.c (vars_of_dialog_mswindows): need to staticpro
12079         Vpopup_frame_list.
12080
12081 2000-07-22  Andy Piper  <andy@xemacs.org>
12082
12083         * symsinit.h: add syms_of_win32().
12084
12085         * gui-msw.c (syms_of_gui_mswindows): remove
12086         Fmswindows_shell_execute.
12087         (Fmswindows_shell_execute): moved to win32.c.
12088
12089         * emacs.c (main_1): add syms_of_win32 ().
12090
12091         * win32.c (init_potentially_nonexistent_functions): rewrite in
12092         compiler-friendly terms.
12093         (Fmswindows_shell_execute): move here from gui-msw.c.
12094         (syms_of_win32): new.
12095
12096         * device-msw.c (Fmswindows_printer_list): clean up args to
12097         EnumPrinters.
12098         Don't include tchar under cygwin or mingw.
12099         (msprinter_default_printer): make cygwin-friendly.
12100
12101 2000-07-21  Andy Piper  <andy@xemacs.org>
12102
12103         * glyphs-widget.c (image_instantiator_tree_view): use tab
12104         control's update function.
12105         (layout_property): new function. Retrieve items.
12106
12107         * glyphs-msw.c (mswindows_tree_view_redisplay): new
12108         function. Re-populate the tree view from the pending items.
12109
12110         * glyphs.c (instantiate_image_instantiator): Make sure the domain
12111         is designated the parent if the domain is an image instance. This
12112         is needed so that dirtiness can be cascade up the hierarchy and
12113         thus for layout children to be redisplayed correctly.
12114         (allocate_image_instance): rename glyph -> parent.
12115
12116         * redisplay.h: change redisplay_output_layout signature.
12117
12118         * redisplay-msw.c (mswindows_output_display_block): use domain
12119         arg.
12120
12121         * redisplay-x.c (x_output_display_block): use domain arg.
12122
12123 2000-07-10  Andy Piper  <andy@xemacs.org>
12124
12125         * window.c (Fset_window_configuration): add comment.
12126
12127         * redisplay-output.c (compare_runes):
12128         (redisplay_output_subwindow): redisplay rather than update subwindow.
12129         (redisplay_output_layout): ditto.
12130
12131         * redisplay-msw.c (mswindows_frame_output_end):
12132         (mswindows_frame_output_end): make defer window pos optional.
12133
12134         * lisp.h: add Flast.
12135
12136         * glyphs.h (struct image_instantiator_methods): add dest_mask top
12137         normalize method. Change update method to be for changed
12138         instantiators. Add redisplay method. Change signature of layout
12139         method.
12140         (struct Lisp_Image_Instance): add instantiator.
12141         (IMAGE_INSTANCE_INSTANTIATOR): new.
12142         (IMAGE_INSTANCE_SUBWINDOW_FACE): new.
12143         (XIMAGE_INSTANCE_INSTANTIATOR): new.
12144         (XIMAGE_INSTANCE_SUBWINDOW_FACE): new.
12145
12146         * glyphs.c:
12147         (find_instantiator_differences): new function.
12148         (Fset_instantiator_property): new convenience function.
12149         (check_image_instance_structure): strictly check for vector
12150         instantiators.
12151         (normalize_image_instantiator): make non-static.
12152         (instantiate_image_instantiator): pass on dest_mask and use new
12153         signatures for image_instance_layout and friends.
12154         (mark_image_instance): mark the instantiator. Mark the subwindow
12155         face not the widget face.
12156         (image_instance_equal): add instantiator.
12157         (image_instance_hash): ditto.
12158         (allocate_image_instance): ditto.
12159         (Fset_image_instance_property): removed.
12160         (Fimage_instance_file_name): ditto.
12161         (Fcolorize_image_instance): ditto.
12162         (image_instance_layout): add offsets to be set.
12163         (update_image_instance): new function. update an image instance
12164         from its changed instantiator.
12165         (inherit_normalize): add dest_mask.
12166         (xbm_normalize): ditto.
12167         (xface_normalize): ditto.
12168         (xpm_normalize): ditto.
12169         (text_update): set_property -> update.
12170         (image_instantiate): use the glyph identity as a hash key, not the
12171         instantiator.
12172         (glyph_width): use new image_instance_layout signature.
12173         (glyph_ascent): ditto.
12174         (glyph_descent): ditto.
12175         (glyph_height): ditto.
12176         (glyph_query_geometry): ressurrect.
12177         (glyph_layout): ditto.
12178         (redisplay_subwindow): update -> redisplay.
12179         (syms_of_glyphs): add Fset_instantiator_property.
12180         (image_instantiator_format_create): set_property -> update.
12181
12182         * glyphs-x.c:
12183         (autodetect_normalize): add dest_maks to signature.
12184         (x_redisplay_subwindow): update -> redisplay.
12185         (x_redisplay_widget): ditto.
12186         (x_button_redisplay): ditto.
12187         (x_progress_gauge_redisplay): ditto.
12188         (x_tab_control_redisplay): ditto. Rewrite to cope with changed
12189         stacking order.
12190         (console_type_create_glyphs_x): update -> redisplay.
12191         (image_instantiator_format_create_glyphs_x): ditto.
12192
12193         * glyphs-widget.c:
12194         (check_valid_instantiator): disallow glyphs in the instantiator,
12195         they must now be vectors.
12196         (check_valid_instantiator_list): ditto.
12197         (glyph_instantiator_to_glyph): use internal symbol rather than
12198         intern.
12199         (widget_update): renamed from widget_set_property. Call cascaded
12200         update methods.
12201         (redisplay_widget): renamed from update_widget.
12202         (widget_layout): image_instance_layout now takes position as well
12203         as size.
12204         (widget_normalize): ditto.
12205         (widget_instantiate): ditto.
12206         (tab_control_query_geometry) ditto.:
12207         (tab_control_update): renamed from tab_control_set_property.
12208         (progress_gauge_update): set_property -> update.
12209         (layout_normalize): rewrite so that child instantiators are
12210         normalized also.
12211         (layout_update): new function. Create glyphs from the normalized
12212         children and cope with any other layout keywords. We do not
12213         instantiate children here that will be take care of by
12214         redisplay_output_layout.
12215         (layout_instantiate): call layout_update and not much else.
12216         (layout_post_instantiate): not sure whether this is needed
12217         anymore.
12218         (layout_query_geometry): query glyph geometry rather than
12219         image_instance geometry.
12220         (layout_layout): set offsets from pass in parameters. Use glyph
12221         geometry and layout functions rather than image instance ones.
12222         (native_layout_layout): ditto.
12223         (syms_of_glyphs_widget): add make-glyph and set-glyph-image.
12224         (image_instantiator_widget): set_property -> update.
12225         (image_instantiator_buttons): ditto.
12226         (image_instantiator_progress_guage): ditto.
12227         (image_instantiator_tab_control): ditto.
12228         (VALID_LAYOUT_KEYWORDS): instantiators must now be vectors.
12229         (image_instantiator_layout): add update method.
12230
12231         * glyphs-msw.c (bmp_normalize):
12232         (mswindows_resource_normalize): add dest_mask so that it can be
12233         proprogated by layout_normalize.
12234         (begin_defer_window_pos): make optional because it may not be the
12235         right thing to do and it introduces differences with X.
12236         (mswindows_unmap_subwindow): ditto.
12237         (mswindows_map_subwindow): ditto.
12238         (mswindows_redisplay_subwindow): renamed from
12239         mswindows_update_subwindow.
12240         (mswindows_redisplay_widget): ditto.
12241         (mswindows_button_redisplay): renamed from
12242         mswindows_button_update. Update is now what the instantiation
12243         function does for a changed instantiator.
12244         (mswindows_progress_gauge_instantiate): set the progress value
12245         here if appropriate.
12246         (mswindows_tab_control_redisplay): cope with re-ordering of the
12247         members of the tab widget by simply selecting the new top
12248         widget. This makes things appear ok if you click on a tab.
12249         (mswindows_combo_box_instantiate): image_instance_layout now takes
12250         position as well as size.
12251         (mswindows_progress_gauge_redisplay): renamed from
12252         mswindows_progress_gauge_update.
12253         (console_type_create_glyphs_mswindows): fix update -> redisplay.
12254         (image_instantiator_format_create_glyphs_mswindows): ditto.
12255
12256         * glyphs-eimage.c (jpeg_normalize):
12257         (gif_normalize):
12258         (png_normalize):
12259         (tiff_normalize): add dest_mask so that it can be proprogated by
12260         layout_normalize.
12261
12262         * elhash.c:
12263         (print_hash_table):
12264         (hash_table_weakness_validate):
12265         (decode_hash_table_weakness):
12266         (Fhash_table_weakness):
12267         (Fhash_table_type):
12268         (syms_of_elhash): use Ben's naming scheme for hashtable types..
12269
12270         * console.h (struct console_methods): move update_* to
12271         redisplay_*.
12272
12273 2000-07-20  Ben Wing  <ben@xemacs.org>
12274
12275         * *.[ch] (XSETOBJ): remove unused middle argument.
12276         lisp-disunion.h: correct wrap_object() to one argument.
12277
12278 2000-07-15  Ben Wing  <ben@xemacs.org>
12279
12280         * s/cygwin32.h:
12281         * s/cygwin32.h (CYGWIN_CONV_PATH):
12282         Add missing logb prototype for v1.1.
12283         Use post-b20 names and alias to pre-b20 names when pre-b20.
12284
12285         * s/windowsnt.h: [5].
12286
12287 2000-07-15  Ben Wing  <ben@xemacs.org>
12288
12289         * Makefile.in.in (x_objs):
12290         * Makefile.in.in (sheap_objs):
12291         * Makefile.in.in (objs):
12292         added win32.o, cosmetic cleanups.
12293
12294         * alloc.c (Fmake_byte_code):
12295         [[[1]]]: Changes for new LIST_LOOP, EXTERNAL_LIST_LOOP,
12296         etc. macros which declare their own args now.
12297
12298         * alloc.c (syms_of_alloc):
12299         [[[2]]]: Use DEFSYMBOL, DEFKEYWORD, DEFERROR and friends.
12300
12301         * buffer.c:
12302         Moved buffer-dedicated-frame, set-buffer-dedicated-frame into lisp.
12303
12304         * buffer.c (Fget_file_buffer):
12305         Fixed GCPRO problem.
12306
12307         * buffer.c (get_truename_buffer):
12308         Fixed comment about GC checking.
12309
12310         * buffer.c (syms_of_buffer):
12311         Undeclared those dedicated frame funs.
12312         [2].
12313
12314         * buffer.h:
12315         Define convenience macros for internal/external conversions.
12316         [[[3]]]: Define codesys aliases Qcommand_argument_encoding
12317         and Qenvironment_variable_encoding for cleaner code.
12318
12319         * bufslots.h:
12320         Remove dedicated-frame; in lisp.
12321
12322         * bytecode.c (funcall_compiled_function):
12323         [1].
12324
12325         * bytecode.c (syms_of_bytecode):
12326         [2].
12327
12328         * console-msw.c:
12329         * console-msw.c (mswindows_show_console): Rewrote.
12330
12331         * console-msw.c (Fmswindows_debugging_output): New.
12332         Sends to OutputDebugString (special MSWin debugger interface).
12333
12334         * console-msw.c (Fmswindows_message_box):
12335         Fixed stupid bugs so it works when called from kill-emacs.
12336
12337         * console-msw.c (syms_of_console_mswindows):
12338         Declare Fmswindows_debugging_output.
12339
12340         * console-msw.h:
12341         New MSWin prototypes.
12342
12343         * console-msw.h (struct mswindows_frame):
12344         New entry last-click-mods for improved button-modifier support.
12345
12346         * console-msw.h (FRAME_MSWINDOWS_POPUP):
12347         New struct entry `popup' with corresponding accessor.
12348
12349         * console-x.c:
12350         * console-x.c (split_up_display_spec):
12351         * console-x.c (get_display_arg_connection):
12352         * console-x.c (x_semi_canonicalize_console_connection):
12353         * console-x.c (x_canonicalize_device_connection):
12354         [[[6]]]: Change char to more specific type.
12355         [[[8]]]: Make use of abstracting codesys aliases defined in [3], [4];
12356
12357         * console-x.c (x_semi_canonicalize_console_connection):
12358         * console-x.c (x_canonicalize_device_connection):
12359         [[[9]]]: Fix up error signalling to use new structured error system.
12360
12361         * console-x.h:
12362         [[[4]]]: Define codesys aliases:
12363         Qlwlib_encoding, Qx_atom_name_encoding, Qx_font_name_encoding,
12364         Qx_color_name_encoding, Qx_display_name_encoding.
12365
12366         * console.h (struct console_methods):
12367         New method make_dialog_box_internal supersedes older
12368         popup_dialog_box method.
12369
12370         * data.c:
12371         Define many new errors, part of new structured errors.
12372
12373         * data.c (init_errors_once_early):
12374         * data.c (syms_of_data):
12375         [2].
12376
12377         * device-msw.c (mswindows_init_device):
12378         [[[5]]]: Cleanup to support NT 3.51.
12379
12380         * device-msw.c (decode_devmode): Cleanup.
12381
12382         * device-msw.c (mswindows_handle_print_setup_dialog_box):
12383         * device-msw.c (mswindows_handle_print_dialog_box):
12384         * device-msw.c (mswindows_handle_page_setup_dialog_box):
12385         * device-msw.c (syms_of_device_mswindows):
12386         Delete the dialog box primitives recently introduced by Kirill and
12387         instead interface to general dialog box interface.
12388
12389         * device-x.c:
12390         * device-x.c (compute_x_app_name):
12391         * device-x.c (x_init_device):
12392         * device-x.c (Fx_valid_keysym_name_p):
12393         * device-x.c (Fx_set_font_path):
12394         [6].
12395         [7].
12396
12397         * device.h (wrap_device): New.
12398         First of its kind; meant to replace XSETDEVICE.
12399
12400         * dialog-msw.c: Many file-dialog symbols.
12401
12402         * dialog-msw.c (mswindows_register_popup_frame): New.
12403         * dialog-msw.c (mswindows_is_dialog_msg): New.
12404         For supporting kbd traversal in dialog boxes.
12405
12406         * dialog-msw.c (dialog_proc):
12407         Support hitting ESC in dialogs.
12408
12409         * dialog-msw.c (struct):
12410         Common dialog box errors.
12411
12412         * dialog-msw.c (handle_file_dialog_box): New.
12413         Add file dialog code.
12414
12415         * dialog-msw.c (handle_question_dialog_box):
12416         Redo existing code to support new question dialog syntax.
12417
12418         * dialog-msw.c (console_type_create_dialog_mswindows):
12419         We support new dialog console method.
12420
12421         * dialog-msw.c (syms_of_dialog_mswindows):
12422         * dialog-msw.c (vars_of_dialog_mswindows):
12423         New file dialog symbols, vars.
12424
12425         * dialog-x.c:
12426         * dialog-x.c (maybe_run_dbox_text_callback):
12427         * dialog-x.c (dbox_descriptor_to_widget_value):
12428         * dialog-x.c (x_make_dialog_box_internal):
12429         * dialog-x.c (console_type_create_dialog_x):
12430         Mule-ize entire file.
12431         Redo to support question dialog syntax.
12432         [6].
12433
12434         * dialog.c:
12435         * dialog.c (Fmake_dialog_box_internal):
12436         * dialog.c (syms_of_dialog):
12437         Kill old popup-dialog-box, replace with new primitive.
12438         Just call device method or signal error.
12439
12440         * eldap.c (Fldap_open):
12441         * eldap.c (Fldap_search_basic):
12442         * eldap.c (Fldap_add):
12443         * eldap.c (Fldap_modify):
12444         [1].
12445         [7].
12446
12447         * emacs.c:
12448         * emacs.c (make_arg_list_1):
12449         * emacs.c (make_arg_list):
12450         Mule-ize call to dll_init().
12451         [6].
12452         [8].
12453
12454         * emacs.c (make_argc_argv):
12455         * emacs.c (free_argc_argv):
12456         * emacs.c (init_cmdargs):
12457         * emacs.c (main_1):
12458         * emacs.c (Fkill_emacs):
12459         * emacs.c (Fdump_emacs):
12460         Update comments about what can be used in syms_* etc.
12461         Call init_win32() when necessary.
12462         Fix up MS Win dialog box in kill-buffer to actually work right.
12463         [7].
12464
12465         * eval.c:
12466         * eval.c (For):
12467         * eval.c (Fand):
12468         * eval.c (Fprogn):
12469         * eval.c (Fprog1):
12470         * eval.c (Fprog2):
12471         * eval.c (FletX):
12472         * eval.c (Flet):
12473         * eval.c (condition_case_3):
12474         * eval.c (Feval):
12475         * eval.c (function_argcount):
12476         * eval.c (funcall_lambda):
12477         [1].
12478
12479         * eval.c (type_error): New.
12480         * eval.c (maybe_type_error): New.
12481         * eval.c (continuable_type_error): New.
12482         * eval.c (maybe_continuable_type_error): New.
12483         * eval.c (type_error_with_frob): New.
12484         * eval.c (maybe_type_error_with_frob): New.
12485         * eval.c (continuable_type_error_with_frob): New.
12486         * eval.c (maybe_continuable_type_error_with_frob): New.
12487         New functions for use with structured errors.
12488
12489         * event-Xt.c:
12490         * event-Xt.c (x_event_to_emacs_event):
12491         Buttons are now modifiers too.
12492
12493         * event-Xt.c (emacs_Xt_current_event_timestamp):
12494         Implement new event method.
12495         * event-Xt.c (reinit_vars_of_event_Xt): Set it.
12496
12497         * event-msw.c:
12498         * event-msw.c (ntpipe_shove_writer): [5].
12499         * event-msw.c (mswindows_enqueue_mouse_button_event):
12500         * event-msw.c (mswindows_drain_windows_queue):
12501         * event-msw.c (mswindows_wnd_proc): [7].
12502         * event-msw.c (mswindows_current_layout_has_AltGr): [5].
12503         * event-msw.c (mswindows_modifier_state):
12504         Throughout: support new button modifiers.
12505
12506         * event-msw.c (emacs_mswindows_current_event_timestamp):
12507         Implement new event method.
12508         * event-msw.c (reinit_vars_of_event_mswindows): Set it.
12509
12510         * event-stream.c:
12511         * event-stream.c (event_stream_current_event_timestamp): New.
12512         * event-stream.c (maybe_kbd_translate): New functionality.
12513         * event-stream.c (vars_of_event_stream):
12514         Document new kbd-translate-table functionality.
12515
12516         * event-stream.c (Fcurrent_event_timestamp): New.
12517         New primitive for use in fabricated events.
12518         * event-stream.c (syms_of_event_stream): [2]. Declare new primitive.
12519
12520         * events-mod.h (XEMACS_MOD_BUTTON1): new button modifiers.
12521
12522         * events.c:
12523         * events.c (Fmake_event):
12524         * events.c (WRONG_EVENT_TYPE_FOR_PROPERTY):
12525         [1].
12526         [9].
12527
12528         * events.c (format_event_object): fix gcc warnings.
12529
12530         * events.c (Fevent_timestamp): Document new primitives.
12531
12532         * events.c (TIMESTAMP_HALFSPACE): New.
12533
12534         * events.c (Fevent_timestamp_lessp): New.  New primitive for
12535         comparing timestamps correctly (half-space algorithm).
12536
12537         * events.c (Fevent_modifier_bits): Doc fix.
12538
12539         * events.c (Fevent_modifiers): Major doc addition.
12540         * events.c (event_x_y_pixel_internal): Typo fix.
12541         * events.c (syms_of_events): Declare new primitives.
12542
12543         * events.h:
12544         Update long comment for button modifiers, timestamps.
12545
12546         * events.h (struct event_stream):
12547         New current_event_timestamp method.
12548
12549         * extents.c:
12550         * extents.c (extent_in_region_p):
12551         * extents.c (decode_extent):
12552         * extents.c (Fset_extent_parent):
12553         * extents.c (decode_map_extents_flags):
12554         Fix gcc warnings.
12555         [9].
12556
12557         * extents.c (struct extent_at_arg):
12558         * extents.c (decode_extent_at_flag):
12559         * extents.c (extent_at_mapper):
12560         * extents.c (extent_at_bytind):
12561         * extents.c (Fextent_at): Adapt to new lower-level interface. [9].
12562         * extents.c (Fextents_at): New primitive. [9].
12563         * extents.c (symbol_to_glyph_layout): [9].
12564         Support new primitive `extents-at'.
12565
12566
12567         * extents.c (get_text_property_bytind):
12568         extent_at_bytind has another arg.
12569         [9].
12570
12571         * extents.c (syms_of_extents): New primitive.
12572
12573         * file-coding.c (Fmake_coding_system): [1].
12574         * file-coding.c (subsidiary_coding_system): fix gcc warning
12575         * file-coding.c (syms_of_file_coding): [2].
12576
12577         * fileio.c (Fexpand_file_name):
12578         * fileio.c (Fsysnetunam):
12579         * fileio.c (Ffile_exists_p):
12580         * fileio.c (Ffile_executable_p):
12581         * fileio.c (Fverify_visited_file_modtime):
12582         Clean up GCPROing.
12583
12584         * fileio.c (syms_of_fileio): [2].
12585
12586         * filelock.c (lock_file_1):
12587         * filelock.c (current_lock_owner):
12588         * filelock.c (lock_if_free):
12589         * filelock.c (lock_file):
12590         * filelock.c (unlock_file):
12591         Clean up GCPROing.
12592
12593         * fns.c (concat): Fix gcc warning.
12594
12595         * fns.c (Fmember):
12596         * fns.c (Fold_member):
12597         * fns.c (Fmemq):
12598         * fns.c (Fold_memq):
12599         * fns.c (memq_no_quit):
12600         * fns.c (Fassoc):
12601         * fns.c (Fold_assoc):
12602         * fns.c (Fassq):
12603         * fns.c (Fold_assq):
12604         * fns.c (assq_no_quit):
12605         * fns.c (Frassoc):
12606         * fns.c (Fold_rassoc):
12607         * fns.c (Frassq):
12608         * fns.c (Fold_rassq):
12609         * fns.c (rassq_no_quit):
12610         * fns.c (Fdelete):
12611         * fns.c (Fold_delete):
12612         * fns.c (Fdelq):
12613         * fns.c (Fold_delq):
12614         * fns.c (delq_no_quit):
12615         * fns.c (Fremassoc):
12616         * fns.c (Fremassq):
12617         * fns.c (remassq_no_quit):
12618         * fns.c (Fremrassoc):
12619         * fns.c (Fremrassq):
12620         * fns.c (remrassq_no_quit):
12621         * fns.c (Freverse):
12622         * fns.c (mapcar1):
12623         [1].
12624
12625         * frame-msw.c (mswindows_init_frame_1):
12626         * frame-msw.c (mswindows_delete_frame):
12627         Register popups with dialog code so keyboard traversing works.
12628
12629         * frame-tty.c (tty_raise_frame_no_select): [1].
12630
12631         * frame-x.c:
12632         * frame-x.c (x_set_frame_text_value):
12633         * frame-x.c (x_set_frame_properties):
12634         * frame-x.c (x_create_widgets):
12635         [7].
12636
12637         * frame.c:
12638         * frame.c (Fmouse_pixel_position): Minor doc fixes.
12639
12640         * frame.h (wrap_frame): New.
12641         Macro like wrap_device.
12642
12643         * general.c:
12644         * general.c (SYMBOL):
12645         * general.c (syms_of_general):
12646         Major reorg.  This is now just a wrapper and symbols themselves
12647         are listed in general-slots.h.
12648
12649         * glyphs-eimage.c (tiff_instantiate): Need cast to fix warning.
12650         * glyphs-msw.c (mswindows_resource_instantiate): [5].
12651
12652         * glyphs-msw.c (mswindows_native_layout_instantiate):
12653         Add DS_CONTROL so keyboard traversal will work.
12654
12655         * glyphs-widget.c:
12656         * glyphs-widget.c (syms_of_glyphs_widget):
12657         Move some symbols to general-slots.h.
12658
12659         * glyphs-x.c:
12660         * glyphs-x.c (xbm_instantiate_1):
12661         * glyphs-x.c (x_xbm_instantiate):
12662         * glyphs-x.c (x_xface_instantiate):
12663         * glyphs-x.c (autodetect_instantiate):
12664         * glyphs-x.c (cursor_font_instantiate):
12665         * glyphs-x.c (x_update_widget):
12666         * glyphs-x.c (x_widget_instantiate):
12667         * glyphs.c (bitmap_to_lisp_data):
12668         * glyphs.c (pixmap_to_lisp_data):
12669         [7].
12670
12671         * glyphs.c (syms_of_glyphs):
12672         [2].
12673
12674         * gui-x.c:
12675         * gui-x.c (print_widget_value):
12676         * gui-x.c (menu_separator_style_and_to_external):
12677         * gui-x.c (add_accel_and_to_external):
12678         * gui-x.c (button_item_to_widget_value):
12679         * gui-x.c (gui_items_to_widget_values_1):
12680         * gui-x.c (gui_items_to_widget_values):
12681         * gui-x.c (syms_of_gui_x):
12682         * gui-x.c (vars_of_gui_x):
12683         Mule-ize entire file.  Move menu-no-selection-hook to gui.c.
12684         [9].
12685
12686         * gui-x.h:
12687         Muleize, prototype changes matching gui-x.c.
12688
12689         * gui.c:
12690         * gui.c (separator_string_p):
12691         * gui.c (gui_item_add_keyval_pair):
12692         * gui.c (make_gui_item_from_keywords_internal):
12693         * gui.c (signal_too_long_error):
12694         * gui.c (parse_gui_item_tree_item):
12695         * gui.c (syms_of_gui):
12696         * gui.c (vars_of_gui):
12697         * gui.h:
12698         menu-no-selection-hook moved here (used by MSWin).
12699         Move some symbols to general-slots.h.
12700         [6].
12701         [9].
12702
12703         * insdel.c (get_buffer_pos_char):
12704         * insdel.c (get_buffer_range_char):
12705         Add GC comments.
12706
12707         * keymap.c (keymap_lookup_directly):
12708         * keymap.c (keymap_store):
12709         * keymap.c (ensure_meta_prefix_char_keymapp):
12710         * keymap.c (describe_map):
12711         * keymap.h:
12712         Support new button modifiers.
12713
12714         * lisp-disunion.h (wrap_object):
12715         * lisp-disunion.h (XSETOBJ):
12716         Rename make_obj to wrap_object.
12717
12718         * lisp-union.h:
12719         * lisp-union.h (make_int):
12720         * lisp-union.h (make_char):
12721         Support wrap_object.
12722
12723         * lisp.h:
12724         * lisp.h (LIST_LOOP):
12725         * lisp.h (EXTERNAL_LIST_LOOP):
12726         * lisp.h (LIST_LOOP_2):
12727         * lisp.h (EXTERNAL_LIST_LOOP_1):
12728         * lisp.h (EXTERNAL_LIST_LOOP_2):
12729         * lisp.h (EXTERNAL_LIST_LOOP_3):
12730         * lisp.h (EXTERNAL_LIST_LOOP_4_NO_DECLARE):
12731         * lisp.h (PRIVATE_EXTERNAL_LIST_LOOP_6):
12732         * lisp.h (GET_EXTERNAL_LIST_LENGTH):
12733         * lisp.h (EXTERNAL_ALIST_LOOP_5):
12734         * lisp.h (EXTERNAL_ALIST_LOOP_6):
12735         * lisp.h (EXTERNAL_ALIST_LOOP_6_NO_DECLARE):
12736         * lisp.h (EXTERNAL_PROPERTY_LIST_LOOP_5_NO_DECLARE):
12737         * lisp.h (EXTERNAL_PROPERTY_LIST_LOOP_7):
12738         * lisp.h (struct Lisp_Symbol):
12739         * lisp.h (maybe_continuable_error_with_frob):
12740         Fix up section comments.
12741         Add new types for char to indicate usage.
12742         Delete symbols auto-generated from general-slots.h.
12743         Add prototypes for structured error functions.
12744         Add long comments describing looping macros and change interface
12745         so that lvalues are automatically declared.
12746         Add NO_DECLARE macro in case callers want to declare lvalues
12747         themselves.
12748
12749         * lread.c (read_syntax_error):
12750         * lread.c (continuable_read_syntax_error):
12751         * lread.c (read_structure):
12752         * lread.c (sequence_reader):
12753         * lread.c (read_list_conser):
12754         * lread.c (read_compiled_function):
12755         Rename syntax_error and continuable_syntax_error to avoid clash
12756         with same-named structured error functions.
12757
12758         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
12759         * menubar-msw.c (populate_menu_add_item):
12760         * menubar-msw.c (populate_or_checksum_helper):
12761         [5].
12762         [9].
12763
12764         * menubar-x.c:
12765         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
12766         Mule-ize whole file.
12767
12768         * menubar.c (Fnormalize_menu_item_name): Add optimization.
12769
12770         * mule-charset.c (Fmake_charset):
12771         * mule-wnnfns.c (Fwnn_set_param):
12772         [1].
12773
12774         * ntproc.c (create_child):
12775         * ntproc.c (Fwin32_set_current_locale):
12776         Add comments portending doom.
12777
12778         * objects-msw.c:
12779         * objects-msw.c (old_font_enum_callback_2):
12780         * objects-msw.c (font_enum_callback_1):
12781         * objects-msw.c (mswindows_enumerate_fonts):
12782         [5].
12783
12784         * objects-x.c:
12785         * objects-x.c (allocate_nearest_color):
12786         * objects-x.c (x_parse_nearest_color):
12787         * objects-x.c (x_initialize_color_instance):
12788         * objects-x.c (x_print_color_instance):
12789         * objects-x.c (x_finalize_color_instance):
12790         * objects-x.c (x_valid_color_name_p):
12791         * objects-x.c (x_initialize_font_instance):
12792         * objects-x.c (x_print_font_instance):
12793         * objects-x.c (valid_x_font_name_p):
12794         * objects-x.c (truename_via_FONT_prop):
12795         * objects-x.c (truename_via_random_props):
12796         * objects-x.c (truename_via_XListFonts):
12797         * objects-x.c (x_font_truename):
12798         * objects-x.c (x_font_instance_truename):
12799         * objects-x.c (x_font_instance_properties):
12800         * objects-x.c (x_list_fonts):
12801         * objects-x.c (x_find_charset_font):
12802         Mule-ize entire file.
12803         [7].
12804
12805         * objects-x.h:
12806         Mule-verify.
12807
12808         * print.c:
12809         * print.c (std_handle_out_external):
12810         * print.c (debug_print_no_newline):
12811         * print.c (syms_of_print):
12812         Output to all debugger kinds in debug-print.
12813         Fix console-output code under MSWin to actually work.
12814
12815         * process-nt.c (send_signal):
12816         * process-nt.c (nt_create_process):
12817         Use newer Unicode macros.
12818
12819         * process-unix.c (unix_create_process):
12820         * process-unix.c (unix_canonicalize_host_name):
12821         * process-unix.c (unix_open_network_stream):
12822         [7].
12823
12824         * scrollbar-x.c:
12825         Mule-verify.
12826
12827         * search.c (syms_of_search):
12828         [2].
12829
12830         * select-msw.c (mswindows_destroy_selection):
12831         Use LIST_LOOP_2.
12832
12833         * select-x.c (symbol_to_x_atom):
12834         [7].
12835
12836         * select.c (syms_of_select):
12837         [2].
12838
12839         * sound.c (Fplay_sound_file):
12840         [7].
12841
12842         * specifier.c:
12843         * specifier.c (decode_specifier_type):
12844         * specifier.c (Fvalid_specifier_locale_type_p):
12845         * specifier.c (check_valid_locale_or_locale_type):
12846         * specifier.c (decode_locale):
12847         * specifier.c (decode_locale_type):
12848         * specifier.c (decode_locale_list):
12849         * specifier.c (check_valid_domain):
12850         * specifier.c (decode_specifier_tag_set):
12851         * specifier.c (Fcanonicalize_tag_set):
12852         * specifier.c (Fdefine_specifier_tag):
12853         * specifier.c (Fspecifier_tag_predicate):
12854         * specifier.c (check_valid_inst_list):
12855         * specifier.c (check_valid_spec_list):
12856         * specifier.c (decode_how_to_add_specification):
12857         * specifier.c (check_modifiable_specifier):
12858         * specifier.c (specifier_add_spec):
12859         * specifier.c (boolean_validate):
12860         * specifier.c (display_table_validate):
12861         [9].
12862
12863         * specifier.c (syms_of_specifier):
12864         Move some symbols to general-slots.h.
12865         [2].
12866
12867         * symbols.c:
12868         * symbols.c (Fmapatoms):
12869         * symbols.c (Fapropos_internal):
12870         Add GCPROs.
12871
12872         * symbols.c (set_default_buffer_slot_variable):
12873         * symbols.c (set_default_console_slot_variable):
12874         [1].
12875
12876         * symbols.c (defsymbol_massage_name_1):
12877         * symbols.c (defkeyword_massage_name):
12878         * symbols.c (deferror_1):
12879         * symbols.c (deferror):
12880         * symbols.c (deferror_massage_name_and_message):
12881         * symeval.h:
12882         * symeval.h (DEFSYMBOL):
12883         Support DEFSYMBOL*, DEFKEYWORD, DEFERROR
12884
12885         * symbols.c (syms_of_symbols):
12886         [2].
12887
12888         * symsinit.h:
12889         * symsinit.h (init_win32): New.
12890         Also new is syms_of_dialog_mswindows.
12891
12892         * syswindows.h:
12893         Add new Unicode macros, missing Cygwin wide-char functions,
12894         convenience conversion macros for Qmswindows_tstr, macros for
12895         encapsulating required MSWin <-> Cygwin filename conversions,
12896         prototype for dynamically-extracted (not in NT 3.51) functions.
12897
12898         * toolbar-x.c:
12899         Mule-verify.
12900
12901         * tooltalk.c (Fadd_tooltalk_message_arg):
12902         * tooltalk.c (Fadd_tooltalk_pattern_attribute):
12903         * tooltalk.c (Fadd_tooltalk_pattern_arg):
12904         [7].
12905
12906         * tooltalk.c (syms_of_tooltalk):
12907         [2].
12908
12909         * unexnt.c:
12910         * unexnt.c (unexec):
12911         Fix up headers, declaration of unexec() to be more standard.
12912
12913 2000-07-20  Martin Buchholz  <martin@xemacs.org>
12914
12915         * offix.h: Revert change to guard macros - they're used in offix.c!
12916
12917 2000-07-18  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12918
12919         * lisp.h: Defsubred Fdelete.
12920
12921         * console-msw.h:  (msprinter_default_printer): Added.
12922
12923         * console-msw.c (msprinter_canonicalize_console_connection):
12924         (msprinter_canonicalize_device_connection): Added.
12925
12926         * device-msw.c (msprinter_default_printer):
12927         (Fmswingows_get_default_printer):
12928         (signal_enum_priner_error):
12929         (Fmswingows_printer_list): Added.
12930
12931 2000-07-19  Martin Buchholz <martin@xemacs.org>
12932
12933         * XEmacs 21.2.35 is released.
12934
12935 2000-07-19  Martin Buchholz  <martin@xemacs.org>
12936
12937         * select-x.c (x_handle_selection_request):
12938         Text selected in xemacs and pasted into xterm failed to appear.
12939         Spelling fixes and cosmetic changes.
12940
12941 2000-07-18  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12942
12943         * event-msw.c (mswindows_drain_windows_queue): Correctly check for
12944         XEmacs frame (fix for doubling chars in dialog boxes).
12945
12946 2000-07-17 Alastair J. Houghton <ajhoughton@lineone.net>
12947
12948         * select.c (select_convert_in, select_convert_out):
12949         Don't call intern() every time.
12950
12951         * select.c (Qselect_convert_in, Qselect_convert_out): New.
12952         * select.c (vars_of_select): Initialise them.
12953
12954 2000-07-18 Alastair J. Houghton <ajhoughton@lineone.net>
12955
12956         * select.c (selection-coercible-types): New.
12957
12958         * select.c (own-selection-internal):
12959         * select.c (get-selection-internal):
12960         MULE bug fix - these should default to COMPOUND_TEXT and not
12961         STRING for MULE. I think.
12962
12963         * select.c (select_convert_out): Use selection-coercible-types
12964         to find types that we can attempt to perform coercions on.
12965
12966 2000-07-18  Martin Buchholz  <martin@xemacs.org>
12967
12968         * mule-wnnfns.c:
12969         * mule-canna.c:
12970         Add coding: cookie to identify encoding.
12971
12972         * mule-canna.c (CANNA_mode_keys): make static.
12973         Use proper prototypes, even for functions of no arguments.
12974         Remove external prototype for Fding().
12975
12976         * symsinit.h: Add missing prototype for reinit_vars_of_mule_wnn.
12977
12978         * select.c (syms_of_select): Add missing DEFSUBR.
12979
12980 2000-07-18 Alastair J. Houghton <ajhoughton@lineone.net>
12981
12982         * select.c (get_selection_internal, own_selection_internal):
12983         Make the type default to STRING, rather than placing a nil type
12984         into Vselection_alist.
12985
12986 2000-07-17 Alastair J. Houghton <ajhoughton@lineone.net>
12987
12988         * gpmevent.c (tty_selection_exists_p):
12989         * gpmevent.c (tty_own_selection):
12990         Updated parameter lists.
12991
12992 2000-07-15 Alastair J. Houghton <ajhoughton@lineone.net>
12993
12994         * select.h (selection-alist): Removed declaration.
12995
12996         * select.h (get_local_selection):
12997         * select.c (get_local_selection):
12998         Made static.
12999
13000         * select.h (convert_selection): Removed declaration.
13001         * select.c (convert_selection): Removed.
13002         This function belongs in Lisp.
13003
13004         * select.h (select_convert_in): Declare.
13005         * select.h (select_convert_out): Declare.
13006         * select.c (select_convert_in): New.
13007         * select.c (select_convert_out): New.
13008         New conversion functions for other files to call.
13009
13010         * select.h (select_notify_buffer_kill): Declare.
13011         * select.c (select_notify_buffer_kill): New.
13012         New functions that get called from kill-buffer.
13013
13014         * buffer.c (kill-buffer): Call select_notify_buffer_kill, rather than
13015         X-specific lisp code.
13016
13017         * select.h: Declare some of the lisp-visible functions for
13018         external use.
13019
13020         * select.c (clean_local_selection_data): Removed. This was
13021         a disgusting function, and previously should have been in
13022         select-x.c in any case. The functionality is now provided
13023         in select-convert-from-integer (select.el).
13024
13025         * select.c (available-selection-types): Fixed stupidity where
13026         INTEGER and ATOM got added twice. Also add STRING when we see an
13027         extent.
13028
13029         * select.c (get-selection-internal): Removed symbol stripping. No
13030         longer causes conversion when data comes from the internal cache.
13031
13032         * select.c (syms_of_select): Added new functions.
13033
13034         * select-x.c (motif_clipboard_cb): Use select_convert_out. Rewrote
13035         error checking - previously this called abort!
13036
13037         * select-x.c (x_own_selection): Changed comment.
13038
13039         * select-x.c (x_handle_selection_request): Use select_convert_out.
13040         Don't mess with selection-alist; it's an internal variable of select.c.
13041
13042         * select-x.c (x_get_foreign_selection): Use select_convert_in.
13043
13044         * select-x.c (x_handle_selection_clear): Use get-selection-timestamp,
13045         rather than messing with selection-alist.
13046
13047         * select-msw.c (mswindows_get_foreign_selection):
13048         Use TO_INTERNAL_FORMAT rather than hacking.
13049
13050 2000-07-14  Martin Buchholz  <martin@xemacs.org>
13051
13052         * process-unix.c (unix_open_multicast_group):
13053         (unix_open_multicast_group): Remove useless casts.
13054
13055 2000-07-13  Martin Buchholz  <martin@xemacs.org>
13056
13057         * sound.c (Fplay_sound): Fix `unused variable' warning.
13058
13059         * emacs.c (main): Use correct type for _environ on SCO5.
13060
13061 2000-07-12 Alastair J. Houghton <ajhoughton@lineone.net>
13062
13063         * console.h (own_selection_method):
13064         * console.h (selection_exists_p_method):
13065         * console.h (available_selection_types_method): New.
13066         * console.h (register_selection_data_type_method): New.
13067         * console.h (selection_data_type_name): New.
13068
13069         * console-msw.h (mswindows_destroy_selection): Declare it.  New
13070         function & alist to track GlobalAlloc()'d handles that need
13071         releasing when the clipboard data gets replaced or emptied.
13072
13073         * event-msw.c (mswindows_wnd_proc): Call it.
13074
13075         * lisp.h, general.c (Qappend): New symbol representing a
13076         `how-to-add' mode.
13077
13078         * select.c (own-selection-internal):
13079         * select.c (selection-exists-p):
13080         * select.c (available-selection-types): New.
13081         * select.c (register-selection-data-type): New.
13082         * select.c (selection-data-type-name): New.  New functions to deal
13083         with device-specific selection data formats.
13084         * select.c (selection-converter-out-alist): Renamed.
13085         * select.c (selection-converter-in-alist): New.
13086         * select.c (selection-appender-alist): New.  Added new alists.
13087         * select.c (syms_of_select, vars_of_select): Added new symbols &
13088         variables.
13089         * select.c (get_local_selection): Split.
13090         * select.c: Removed spurious type checking - selections may now be
13091         of any type, not just strings.
13092         * select.c (own-selection-internal):
13093
13094         * select.h, select.c (convert_selection): New. Created
13095         convert_selection() function based on get_local_selection().
13096         * select.h, select.c (QCF_*): New symbols representing mswindows
13097         clipboard formats.
13098         * select.h, select.c (Qreplace_all, Qreplace_existing): New
13099         symbols representing `how-to-add' modes.
13100
13101         * select-msw.c (x_sym_p): New.
13102         * select-msw.c (symbol_to_ms_cf): New.
13103         * select-msw.c (ms_cf_to_symbol): New. New functions to deal with
13104         symbols & clipboard formats. Can also handle string names.
13105         * select-msw.c (mswindows_own_selection):
13106         * select-msw.c (mswindows_selection_exists_p):
13107         Added `data-type' parameter. Use it.
13108         * select-msw.c (mswindows_available_selection_types): New.
13109         * select-msw.c (mswindows_register_selection_data_type): New.
13110         * select-msw.c (mswindows_selection_data_type_name): New.
13111         * select-msw.c (mswindows_own_selection):
13112         * select-msw.c (mswindows_get_foreign_selection):
13113         * select-msw.c (mswindows_selection_exists_p):  Rewrote.
13114         * select-msw.c (console_create_select_mswindows): Added new methods.
13115         * select-msw.c (mswindows_destroy_selection): New.
13116         * select-msw.c (Vhandle_alist): New list.
13117         * select-msw.c (mswindows_own_selection):
13118
13119         * select-x.c (x_own_selection):
13120         * select-x.c (x_selection_exists_p):
13121         * select-x.c: Added some comments about maybe using new
13122         functionality.
13123         * select-x.c (x_own_selection):
13124
13125         * specifier.c: Remove definition of Qappend (now in general.c)
13126         * specifier.c (syms_of_specifier): Remove Qappend.
13127
13128 2000-07-12  Martin Buchholz  <martin@xemacs.org>
13129
13130         * config.h.in: Add socklen_t.
13131
13132         * s/decosf4-0.h: No special compiler flags needed or desired.
13133         In particular, undefine _BSD for DEC OSF 4.0.
13134
13135 2000-07-07  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
13136
13137         * redisplay-msw.c (msprinter_frame_output_end): Added.
13138         (console_type_create_redisplay_mswindows): Referred the above.
13139
13140         * frame.c (setup_frame_without_minibuffer): Do not create a
13141         default minibuffer frame on a printer device.
13142
13143         * frame-msw.c (apply_dc_geometry): Added.
13144         (msprinter_start_page):
13145         (msprinter_init_frame_3):
13146         (msprinter_eject_page): Use it.
13147
13148         * console-msw.h (struct msprinter_frame): Added pix_left and top,
13149         and removed residual duplex and orientation properties.
13150
13151 2000-07-11  Martin Buchholz  <martin@xemacs.org>
13152
13153         * eval.c (function_argcount): Work around a DEC CC compiler bug.
13154
13155         * unexalpha.c: Remove system prototypes from C sources!
13156
13157 2000-07-09  Adrian Aichner  <aichner@ecf.teradyne.com>
13158
13159         * eval.c: Remove references to M-x edit-options in DEFUNs for
13160         `defvar' and `defconst'.
13161
13162 2000-07-09  Martin Buchholz  <martin@xemacs.org>
13163
13164         * config.h.in: Remove SMART_INCLUDE hackery.
13165
13166         PostgreSQL hacking:
13167         * config.h.in: Don't use SMART_INCLUDE.
13168
13169         * postgresql.h: Include libpq-fe.h here.  Fix typo.
13170         * inline.c: Simply #include "postgresql.h"
13171         * postgresql.c:
13172         - Don't use SMART_INCLUDE
13173         - Use simply "const".
13174         - Use standard doc string conventions.
13175         - Use correct type for result of PQstatus.
13176
13177 2000-07-09  Martin Buchholz  <martin@xemacs.org>
13178
13179         * glyphs-x.c (x_xface_instantiate): Fix C++ compilation warnings.
13180
13181         C++ compilation changes.
13182         * config.h.in (EXTERN_C): Define.
13183         * config.h.in (not): This is also a C++ keyword.
13184         * unexalpha.c (DEFAULT_ENTRY_ADDRESS): Enable C++ compilation.
13185         * cm.c: Use EXTERN_C.
13186         * redisplay-tty.c: Use EXTERN_C.
13187         * sysdep.c: Use EXTERN_C.  Remove Gould support.
13188
13189 2000-07-09  Martin Buchholz  <martin@xemacs.org>
13190
13191         * general.c: Remove duplicate definition for Qfunction.
13192
13193 2000-07-08  Ben Wing  <ben@xemacs.org>
13194
13195         * device-msw.c (msprinter_init_device):
13196         * device-msw.c (sync_printer_with_devmode):
13197         * device-msw.c (handle_devmode_changes):
13198         * device-msw.c (print_dialog_worker):
13199         * device-msw.c (Fmsprinter_apply_settings):
13200         * device-msw.c (hash_devmode):
13201         * device-msw.c (Fmsprinter_settings_despecialize):
13202         use Qmswindows_tstr, not Qctext.
13203
13204         * vm-limit.c (check_memory_limits):
13205         avoid infinite loop printing warning messages.
13206
13207 2000-07-05  Craig Lanning  <lanning@scra.org>
13208
13209         * Makefile.in.in: Add support for including the Windows resources
13210         when building with the cygwin and mingw targets.
13211
13212         * buffer.c: from Dan Holmsand, on Windows $PWD is most likely either
13213         not set or not correct.
13214         (directory_is_current_directory): Don't compile for WIN32_NATIVE.
13215         (init_initial_directory): Don't try to use $PWD on the
13216         WIN32_NATIVE target.
13217
13218         * s\cygwin32.h:
13219         [[Add -mwindows to eliminate console window.]] not required --ben
13220         (HAVE_NATIVE_SOUND): removed; now handled by configure.
13221         (MAIL_USE_POP): removed; now handled by configure.
13222
13223         * s\mingw32.h: [[Add -mwindows to eliminate console window.]] not in
13224         C_SWITCH_SYSTEM or it will affect lib-src progs. --ben
13225         (HAVE_NATIVE_SOUND): removed; now handled by configure.
13226         (MAIL_USE_POP): removed; now handled by configure.
13227         (ENCAPSULATE_STAT): from Dan Holmsand, added.
13228         (ENCAPSULATE_FSTAT): from Dan Holmsand, added.
13229         (DIRECTORY_SEP): from Dan Holmsand, use lisp variable instead of
13230         constant string.
13231         (HAVE_TIMEVAL): from Dan Holmsand, added; struct timeval is picked
13232         up from <winsock.h> via systime.h.
13233         (HAVE_GETPAGESIZE): from Dan Holmsand, added.
13234         (getpagesize): from Dan Holmsand, added.
13235         Added #endif which was left dangling by Ben's mega patch; added
13236         comment to help prevent this in the future.
13237
13238         * sysdll.c: added #include <windows.h> for WIN32_NATIVE case.
13239
13240 2000-07-05  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
13241
13242         * console-msw.h (struct mswindows_device): Removed unnecessary
13243         cached device geometry values.
13244         Added update_tick and an accessor macro.
13245         (Lisp_Devmode): Added lrecord declaration.
13246         (struct msprinter_device): Contain devmode as a Lisp object.
13247         Added mswindows_get_selected_frame_hwnd();
13248
13249         * console.h (struct console_methods): Indentation nitpicking.
13250
13251         * device-msw.c (mswindows_init_device): Do not initialize geometry
13252         cache. Initialize update tick.
13253         (mswindows_device_system_metrics): Ask the device for its geometry.
13254         (global_free_2_maybe):
13255         (devmode_to_hglobal):
13256         (handle_printer_changes):
13257         (ensure_not_printing):
13258         (print_dialog_worker):
13259         (Fmsprinter_print_setup_dialog):
13260         (Fmsprinter_print_dialog):
13261         (plist_get_margin):
13262         (plist_set_margin):
13263         (Fmsprinter_page_setup_dialog): Added functions.
13264         (sync_printer_with_devmode):
13265         (handle_devmode_changes):
13266         (Fmsprinter_get_settings):
13267         (Fmsprinter_select_settings):
13268         (Fmsprinter_apply_settings):
13269         (allocate_devmode):
13270         (Fmsprinter_settings_copy):
13271         (Fmsprinter_settings_despecialize):
13272         (print_devmode):
13273         (finalize_devmode):
13274         (equal_devmode):
13275         (hash_devmode): Added functions
13276         (syms_of_device_mswindows): Init devmode lrecord class.
13277
13278         * device.h: Added an exfun for find-device.
13279
13280         * event-msw.c (mswindows_wnd_proc): Do not update the cached
13281         geometry; although, recreate the device compatible DC.
13282
13283         * frame-msw.c (mswindows_get_selected_frame_hwnd): Added.
13284         (msprinter_init_frame_3):
13285         (msprinter_frame_property):
13286         (msprinter_internal_frame_property_p):
13287         (msprinter_frame_properties):
13288         (msprinter_set_frame_properties): Removed 'orientation and 'duplex
13289         print job properties (will move to device settings).
13290
13291         * lisp.h: Added symbols.
13292
13293         * general.c (syms_of_general): Declared them.
13294
13295         * hash.c (string_hash): Added.
13296
13297         * lrecord.h (lrecord_type): Added devmode lrecord type.
13298
13299 2000-07-02  Mike Sperber <mike@xemacs.org>
13300
13301         * s/freebsd.h (INTERRUPTIBLE_OPEN): open *is* interruptible on
13302         FreeBSD 4.0.
13303
13304 2000-06-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
13305
13306         * doprnt.c (emacs_doprnt_1): Fix problem with %0XXd for a negative
13307         integer.
13308
13309 2000-06-07  MORIOKA Tomohiko  <tomo@urania.m17n.org>
13310
13311         * data.c (Fstring_to_number): Don't recognize floating point if
13312         base is not 10.
13313
13314 2000-06-22  Martin Buchholz  <martin@xemacs.org>
13315
13316         * glyphs-widget.c (tab_control_query_geometry):
13317         (widget_query_geometry):
13318         (button_query_geometry):
13319         * glyphs.c (text_query_geometry):
13320         Enforce type correctness.
13321
13322 2000-06-18  Martin Buchholz  <martin@xemacs.org>
13323
13324         * s/decosf4-0.h (_etext): Use portable _etext instead of etext.
13325         * s/decosf4-0.h (_edata): Use portable _edata instead of edata.
13326
13327 2000-06-17  Martin Buchholz  <martin@xemacs.org>
13328
13329         * s/decosf4-0.h: Never #include "/usr/include/FOO.h" because this
13330         conflicts with gcc's fixincluded version of FOO.h.
13331
13332         * glyphs.h (image_instance_geometry): Remove trailing `,'
13333
13334 2000-06-08  Mike Alexander  <mta@arbortext.com>
13335
13336         (MAX_SHOVE_BUFFER_SIZE): Change to 512 to match stream buffer size
13337         (shove_thread): Don't write the same output twice
13338         (make_ntpipe_output_stream): Increase priority of shove thread
13339         (ntpipe_shove_writer): Call SwitchToThread to give shove thread a
13340         chance to run
13341         (ntpipe_shove_closer): Don't delete the pipe until we're done with
13342         it.
13343
13344 2000-06-12  Ben Wing  <ben@xemacs.org>
13345
13346         * s\mingw32.h (sigset):
13347         * s\windowsnt.h (sigset):
13348         rename msw_ to mswindows_ for consistency with general convention.
13349
13350 2000-06-12  Ben Wing  <ben@xemacs.org>
13351
13352         * console-msw.c:
13353         * console-msw.c (mswindows_get_console_hwnd):
13354         * console-msw.c (mswindows_ensure_console_allocated):
13355         * console-msw.c (mswindows_hide_console):
13356         * console-msw.c (mswindows_show_console):
13357         * console-msw.c (mswindows_ensure_console_buffered):
13358         * console-msw.c (mswindows_output_console_string):
13359         * console-msw.c (mswindows_windows9x_p):
13360         * console-msw.h:
13361         * device-msw.c (mswindows_get_workspace_coords):
13362         * device-msw.c (mswindows_device_system_metrics):
13363         * dialog-msw.c (mswindows_popup_dialog_box):
13364         * event-msw.c (mswindows_wnd_proc):
13365         * frame-msw.c (mswindows_size_frame_internal):
13366         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
13367         * menubar-msw.c (displayable_menu_item):
13368         * menubar-msw.c (mswindows_char_is_accelerator):
13369         * nt.c:
13370         * nt.c (mswindows_sigset):
13371         * nt.c (mswindows_sigrelse):
13372         * nt.c (mswindows_sigpause):
13373         * nt.c (mswindows_raise):
13374         * nt.c (timer_proc):
13375         * ntproc.c:
13376         * ntproc.c (find_child_console):
13377         * ntproc.c (sys_kill):
13378         * print.c:
13379         * print.c (std_handle_out_external):
13380         * process-nt.c (find_child_console):
13381         * process-nt.c (send_signal_the_95_way):
13382         * process-nt.c (ensure_console_window_exists):
13383         * process-nt.c (nt_create_process):
13384         * syssignal.h:
13385         rename msw_ to mswindows_ for consistency with general convention.
13386
13387         * emacs.c:
13388         * dumper.c:
13389         include nt.h, not syswindows.h.
13390
13391         * nt.c (mswindows_fstat):
13392         * nt.c (mswindows_stat):
13393         prefix mswindows_ instead of attempting to directly override the
13394         library functions.  fix declarations.
13395
13396         * nt.h:
13397         include syswindows.h.  move some sysdep.h stuff here.
13398
13399         * ntheap.h:
13400         include syswindows.h, not <windows.h>.
13401
13402         * ntplay.c:
13403         clean up headers.
13404
13405         * sysdep.c:
13406         clean up headers.
13407
13408         * sysdep.c (sys_fstat):
13409         * sysdep.c (sys_stat):
13410         call mswindows versions when appropriate.
13411
13412         * sysdep.h:
13413         move mswin decls to nt.h.
13414
13415         * syswindows.h:
13416         add long comment describing appropriate use of the various windows
13417         headers.
13418
13419 2000-06-11  Ben Wing  <ben@xemacs.org>
13420
13421         * device-x.c: Correct doc string for sixth arg of x-get-resource.
13422
13423 2000-06-10  Ben Wing  <ben@xemacs.org>
13424
13425         * Makefile.in.in (release):
13426         Correction to make sure xemacs.exe always dumped when correct.
13427
13428         * alloca.c:
13429         * balloon_help.c:
13430         [[[[3]]]]: Conditionalize on actual problem, not WINDOWSNT.
13431
13432         * buffer.c (set_buffer_internal):
13433         [[[[2]]]]: Remove HAVE_FEP code.
13434
13435         * buffer.c (init_initial_directory):
13436         [3].
13437
13438         * bytecode.c:
13439         [[[[4]]]]: limits.h standardly included in lisp.h; remove from
13440         individual files.
13441
13442         * callproc.c:
13443         * callproc.c (call_process_cleanup):
13444         * callproc.c (Fold_call_process_internal):
13445         * callproc.c (child_setup):
13446         * callproc.c (getenv_internal):
13447         * callproc.c (init_callproc):
13448         * callproc.c (vars_of_callproc):
13449         [[[[1]]]]: WINDOWSNT -> WIN32_NATIVE.
13450         __CYGWIN32__ -> CYGWIN.
13451         DOS_NT -> WIN32_NATIVE.
13452         Remove MSDOS support/references, converting to WIN32_NATIVE
13453           where correct.
13454         __MINGW32__ -> MINGW.
13455         Fix windows.h includes.
13456         Remove bogus HAVE_NTGUI.
13457
13458         * config.h.in:
13459         [2].
13460
13461         * console-msw.c:
13462         mswindows_message_outputted added for use in allowing startup
13463         errors on the console to be seen.
13464
13465         * console-msw.c (msw_ensure_console_allocated):
13466         * console-msw.c (msw_output_console_string):
13467         * console-msw.c (DHEADER):
13468         * console-msw.c (DOPAQUE_DATA):
13469         * console-msw.c (DEVENT):
13470         * console-msw.c (DCONS):
13471         * console-msw.c (DCONSCDR):
13472         * console-msw.c (DSTRING):
13473         * console-msw.c (DVECTOR):
13474         * console-msw.c (DSYMBOL):
13475         * console-msw.c (DSYMNAME):
13476         Fix warnings.
13477
13478         * console-stream.c (stream_init_console):
13479         Fix text/binary problems.
13480
13481         * device-msw.c:
13482         * device-msw.c (mswindows_finish_init_device):
13483         * device-msw.c (mswindows_delete_device):
13484         [1].
13485
13486         * device.c (handle_asynch_device_change):
13487         [3].
13488
13489         * dgif_lib.c:
13490         * dgif_lib.c (DGifOpenFileName):
13491         * dgif_lib.c (DGifOpenFileHandle):
13492         * dgif_lib.c (DGifGetLine):
13493         * dgif_lib.c (DGifGetPixel):
13494         Added config.h/lisp.h, fix up includes.
13495         [1].
13496
13497         * dired-msw.c:
13498         [4].
13499
13500         * dired.c:
13501         * dired.c (file_name_completion):
13502         * dired.c (Ffile_attributes):
13503         * dired.c (syms_of_dired):
13504         [1].
13505
13506         * dumper.c:
13507         * dumper.c (pdump_file_unmap):
13508         * dumper.c (pdump_load):
13509         [1].
13510
13511         * editfns.c:
13512         * editfns.c (Ftemp_directory):
13513         * editfns.c (user_login_name):
13514         * editfns.c (Fuser_real_login_name):
13515         * editfns.c (get_home_directory):
13516         [1].
13517
13518         * elhash.c (finish_marking_weak_hash_tables):
13519         [[[[5]]]]: Fix GCC warnings.
13520
13521         * emacs.c:
13522         * emacs.c (mswindows_handle_hardware_exceptions):
13523         * emacs.c (make_arg_list_1):
13524         * emacs.c (main_1):
13525         * emacs.c (Fkill_emacs):
13526         * emacs.c (Fdump_emacs):
13527         [1].
13528         Fix problems with nested crashes, add long comment.
13529
13530         * event-Xt.c (init_event_Xt_late):
13531         [1].
13532
13533         * event-msw.c:
13534         * event-msw.c (mswindows_dde_callback):
13535         * event-msw.c (mswindows_handle_sticky_modifiers):
13536         * event-msw.c (mswindows_wnd_proc):
13537         [1].
13538         [5].
13539
13540         * events.c (character_to_event):
13541         [1].
13542
13543         * fileio.c:
13544         * fileio.c (Ffile_name_directory):
13545         * fileio.c (Ffile_name_nondirectory):
13546         * fileio.c (directory_file_name):
13547         * fileio.c (Fexpand_file_name):
13548         * fileio.c (Fsubstitute_in_file_name):
13549         * fileio.c (Ffile_name_absolute_p):
13550         * fileio.c (check_executable):
13551         * fileio.c (Ffile_readable_p):
13552         * fileio.c (Ffile_accessible_directory_p):
13553         * fileio.c (Ffile_modes):
13554         * fileio.c (Funix_sync):
13555         * fileio.c (vars_of_fileio):
13556         [1]. [4].
13557
13558         [[[[7]]]]: Move CORRECT_DIR_SEPS to s\windowsnt.h.
13559
13560         Expand getdefdir defn.
13561         Fix bogus rename() comment.
13562
13563         [[[[6]]]]: Fix Windows includes w.r.t. removed nt\inc.  Attempt
13564         to use standard XEmacs include files, e.g. sysfile.h, rather
13565         than system-specific includes.
13566
13567         * fns.c:
13568         * fns.c (Fsubseq):
13569         [5]. [6].
13570
13571         * frame.c (vars_of_frame):
13572         [1].
13573
13574         * getloadavg.c:
13575         * getloadavg.c (getloadavg):
13576         [1]. [6].
13577         #ifdef XEMACS not defined on Cygwin.  Remove this; no need for it.
13578         (We don't use it elsewhere in the code; just add a comment.)
13579
13580         * gif_io.c:
13581         [6].
13582         Add config.h.
13583
13584         * glyphs-msw.c:
13585         * glyphs-msw.c (mswindows_resource_instantiate):
13586         [1].
13587
13588         * glyphs-x.c (x_native_layout_instantiate):
13589         [5].
13590
13591         * gui-msw.c (Fmswindows_shell_execute):
13592         [1].
13593
13594         * insdel.c:
13595         [4].
13596
13597         * lisp.h:
13598         [4]. [5].
13599
13600         * lread.c (locate_file_in_directory_mapper):
13601         [1].
13602
13603         * lstream.c:
13604         [4].
13605
13606         * mem-limits.h:
13607         * mem-limits.h (get_lim_data):
13608         [1].
13609
13610         * menubar-msw.c:
13611         [4].
13612
13613         * ndir.h:
13614         [1].
13615
13616         * nt.c:
13617         * nt.c (getwd):
13618         * nt.c (closedir):
13619         * nt.c (rva_to_section):
13620         * nt.c (mswindows_executable_type):
13621         [1]. [6].
13622         Fix closedir() defn.
13623
13624         * nt.h:
13625         [[[[8]]]]: *_OK defs moved to sysfile.h.
13626
13627         * ntproc.c:
13628         [6]. [7].
13629
13630         * objects-x.c:
13631         [4].
13632
13633         * print.c:
13634         * print.c (std_handle_out_external):
13635         [1]. [4].
13636
13637         * process-nt.c:
13638         * process-nt.c (nt_create_process):
13639         [6].
13640         try to fix process quoting somewhat.
13641
13642         * process-unix.c (unix_create_process):
13643         [1].
13644
13645         * process.c:
13646         * process.c (vars_of_process):
13647         Add Vnull_device.
13648
13649         * process.h:
13650         [1].
13651
13652         * realpath.c:
13653         * realpath.c (xrealpath):
13654         [1].
13655
13656         * redisplay-tty.c (init_tty_for_redisplay):
13657         [3].
13658
13659         * redisplay.c:
13660         [4]. [6].
13661
13662         * scrollbar-msw.c:
13663         [4].
13664
13665         * sheap.c:
13666         * sheap.c (more_static_core):
13667         * sheap.c (report_sheap_usage):
13668         [5]. [6].
13669
13670         * signal.c:
13671         * signal.c (alarm_signal):
13672         [1]. [6].
13673
13674         * sound.c:
13675         [6].
13676
13677         * strftime.c:
13678         * strftime.c (zone_name):
13679         [1]. [5].
13680
13681         * symsinit.h (init_sunpro):
13682         [1].
13683
13684         * syscommctrl.h:
13685         commctrl.h not in Cygwin b20.1.
13686
13687         * sysdep.c:
13688         * sysdep.c (endif):
13689         * sysdep.c (sys_subshell):
13690         * sysdep.c (init_baud_rate):
13691         * sysdep.c (emacs_get_tty):
13692         * sysdep.c (emacs_set_tty):
13693         * sysdep.c (tty_init_sys_modes_on_device):
13694         * sysdep.c (init_system_name):
13695         * sysdep.c (sys_open):
13696         * sysdep.c (interruptible_open):
13697         * sysdep.c (sys_fopen):
13698         * sysdep.c (sys_mkdir):
13699         * sysdep.c (sys_rename):
13700         * sysdep.c (get_process_times_1):
13701         [1]. [6].
13702
13703         * sysdep.h:
13704         [1].
13705
13706         * sysdir.h:
13707         * sysdir.h (DIRENTRY_NONEMPTY):
13708         [1]. [6].
13709
13710         * sysdll.c (dll_init):
13711         * sysdll.h:
13712         [1].
13713
13714         * sysfile.h:
13715         [1]. [6]. [8].
13716         added text/binary defs.
13717
13718         * sysfloat.h:
13719         [1].
13720
13721         * sysproc.h:
13722         * sysproc.h (EDESTADDRREQ):
13723         * sysproc.h (poll_fds_for_input):
13724         [1]. [6].
13725
13726         * syspwd.h:
13727         [6].
13728
13729         * syssignal.h:
13730         [1].
13731
13732         * systime.h:
13733         [1]. [6].
13734
13735         * systty.h:
13736         [1].
13737
13738         * syswindows.h:
13739         [1].
13740         Always define WIN32_LEAN_AND_MEAN.
13741
13742         * unexcw.c (unexec):
13743         [5].
13744
13745         * unexec.c:
13746         * unexec.c (copy_text_and_data):
13747         * unexec.c (adjust_lnnoptrs):
13748         [1].
13749
13750         * unexnt.c:
13751         * unexnt.c (_start):
13752         [1].
13753
13754 2000-06-07  Ben Wing  <ben@xemacs.org>
13755
13756         * mule-mcpath.c, mule-mcpath.h: Removed.  Old, crufty code that
13757         was used only as a model.  We've long since extracted any useful
13758         logic or code out of this. (I just did an exhaustive search.)
13759
13760         * s\msdos.h: Removed.
13761
13762         * s\windows95.h: Removed.
13763
13764 2000-06-10  Ben Wing  <ben@xemacs.org>
13765
13766         * s\cygwin32.h:
13767         [1]. [5].
13768         Don't use extern with fun defs.
13769
13770         * s\mingw32.h:
13771         [1]. [7].
13772         Remove nt\inc include.
13773         Remove getdisk, getdefdir. (The former is unused, the latter
13774         expanded in fileio.h.)
13775
13776         * s\windowsnt.h:
13777         * s\windowsnt.h (WIN32_NATIVE):
13778         * s\windowsnt.h (HAVE_STRCASECMP):
13779         [1]. [7].
13780         Add long comment about preprocessor changes.
13781         Remove getdisk, getdefdir. (The former is unused, the latter
13782         expanded in fileio.h.)
13783
13784 2000-06-10  Ben Wing  <ben@xemacs.org>
13785
13786         * m\arm.h:
13787         * m\delta.h:
13788         * m\intel386.h:
13789         * m\sequent.h:
13790         * m\template.h:
13791         * m\windowsnt.h:
13792         [1].
13793         Remove bogus/unused NO_SOCK_SIGIO.
13794
13795 2000-06-08  Hrvoje Niksic  <hniksic@iskon.hr>
13796
13797         * lisp.h (set_string_char): Call set_string_byte with a Bufbyte,
13798         not an Emchar.
13799
13800 2000-06-04  Mike Sperber <mike@xemacs.org>
13801
13802         * casetab.c (set_case_table): For `set-standard-case-table',
13803         actually deposit the new case tables where the rest of XEmacs can
13804         see them.
13805
13806 2000-06-05  Yoshiki Hayashi <yoshiki@xemacs.org>
13807
13808         * data.c (Faset): Don't cast XCHAR() to unsigned char.
13809
13810 2000-06-05  Ben Wing  <ben@xemacs.org>
13811
13812         * callproc.c (child_setup): Don't do close_load_descs() under
13813         MS Windows.  Put in a comment explaining why.
13814
13815 2000-05-28  Adrian Aichner  <aichner@ecf.teradyne.com>
13816
13817         * process-nt.c: Reverting patch "Fixing nt_create_process for MKS
13818         Toolkit shell" which breaks `kill-compilation' on Windows NT
13819         native, retaining STDERR handling improvements.
13820
13821 2000-06-01  Andreas Jaeger  <aj@suse.de>
13822
13823         * s/s390.h: Support for S390, based on a patch by Martin
13824         Schwidefsky <schwidefsky@de.ibm.com>.
13825
13826 2000-05-30  Andy Piper  <andy@xemacs.org>
13827
13828         * window.c (allocate_window):
13829         (make_dummy_parent):
13830         (Fset_window_configuration): use new hashtable type.
13831
13832         * glyphs.h (IMAGE_UNSPECIFIED_GEOMETRY):
13833         (struct image_instantiator_methods):
13834         (struct Lisp_Image_Instance): make instance geometry signed.
13835
13836         * glyphs.c (instantiate_image_instantiator):
13837         (image_instance_query_geometry):
13838         (image_instance_layout):
13839         (image_instance_layout):
13840         (query_string_geometry):
13841         (text_query_geometry):
13842         (image_instantiate):
13843         (image_instantiate):
13844         (cache_subwindow_instance_in_frame_maybe):
13845         (subwindow_query_geometry): make instance geometry signed.
13846
13847         * glyphs-widget.c (widget_query_geometry):
13848         (widget_layout):
13849         (button_query_geometry):
13850         (tree_view_query_geometry):
13851         (tab_control_query_geometry):
13852         (layout_query_geometry):
13853         (layout_layout):
13854         (native_layout_layout): make instance geometry signed.
13855
13856 2000-05-29  Olivier Galibert  <galibert@pobox.com>
13857
13858         * lisp.h: Add Qfull_assoc symbol and WEAK_LIST_FULL_ASSOC
13859         constant.
13860
13861         * general.c (syms_of_general): Add Qfull_assoc symbol.
13862
13863         * data.c (finish_marking_weak_lists): Mark full-assoc lists
13864         correctly.
13865         (decode_weak_list_type): Decode full-assoc type.
13866         (encode_weak_list_type): Encode full-assoc type.
13867         (Fmake_weak_list): Update doc string.
13868
13869 2000-05-30  Andy Piper  <andy@xemacs.org>
13870
13871         * elhash.h (hash_table_weakness): new KEY_VALUE weak hashtable.
13872
13873         * elhash.c (print_hash_table): new KEY_VALUE weak hashtable.
13874         (decode_hash_table_weakness): ditto.
13875         (Fhash_table_weakness): ditto.
13876         (Fhash_table_type): ditto.
13877         (finish_marking_weak_hash_tables): ditto.
13878         (hash_table_weakness_validate): ditto.
13879         (syms_of_elhash): ditto.
13880
13881 2000-05-28  Martin Buchholz <martin@xemacs.org>
13882
13883         * XEmacs 21.2.34 is released.
13884
13885 2000-05-22  Jan Vroonhof  <vroonhof@math.ethz.ch>
13886
13887         * redisplay.c (VERTICAL_CLIP): No longer reset when updating line
13888         start cache.
13889         (updating_line_start_cache): Gone.
13890         (regenerate_window): Replace resetting of VERTICAL_CLIP by
13891         generic code to force a minimum of 1 line laid out in the
13892         CMOTION_DISP case.
13893
13894 2000-05-22  Jan Vroonhof  <vroonhof@math.ethz.ch>
13895
13896         * glyphs.c (instantiate_image_instantiator): Check for initialized
13897         height & width no longer special cases IMAGE_NOTHING.
13898         (nothing_instantiate): Set height and width of instance.
13899
13900 2000-05-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
13901
13902         * unexelf.c (unexec): Search for ".data" section.
13903         Initialize new_data2_offset from old_data_index.
13904         Remove redundant check for ElfW.
13905
13906 2000-05-23  Andy Piper  <andy@xemacs.org>
13907
13908         * glyphs.c (get_image_instantiator_governing_domain): allow more
13909         specific domains as the governing domain rather than expecting an
13910         exact match. This fixes problems with layouts.
13911
13912 2000-05-22  Andy Piper  <andy@xemacs.org>
13913
13914         * redisplay-output.c (compare_runes): check for non-images
13915
13916         * glyphs.c (set_glyph_dirty_p): ditto.
13917         (update_glyph_cachel_data): ditto.
13918
13919         * glyphs-widget.c (layout_post_instantiate): ditto.
13920         (layout_post_instantiate): ditto.
13921
13922         * event-msw.c (mswindows_wnd_proc): warning removal.
13923
13924 2000-05-12  Craig Lanning  <CraigL@DyCon.com>
13925
13926         * s\mingw32.h: Added #undef for CLASH_DETECTION.
13927
13928         * syswindows.h: Moved PBS_SMOOTH definition to syscommctrl.h.
13929
13930         * syscommctrl.h (PBS_SMOOTH): Moved from syswindows.h.
13931
13932         * nt.c (rva_to_section): mingw32 needs rva_to_section.
13933         (mswindows_executable_type): mingw32 now has enough headers for
13934         this to work.
13935
13936 2000-05-20  Andy Piper  <andy@xemacs.org>
13937
13938         * console-msw.c (mswindows_output_last_error): ; -> ,
13939
13940 2000-05-12  Andy Piper  <andy@xemacs.org>
13941
13942         * console-msw.c (FROB): compare ints with ints.
13943
13944 2000-05-11  Andy Piper  <andy@xemacs.org>
13945
13946         * glyphs-x.c (x_finalize_image_instance): make minimal build
13947         happy.
13948
13949 2000-05-20  Ben Wing  <ben@xemacs.org>
13950
13951         * event-Xt.c:
13952         * event-Xt.c (vars_of_event_Xt):
13953         move modifier-keys-are-sticky to event-stream.c.
13954
13955         * event-msw.c:
13956         * event-msw.c (mswindows_enqueue_mouse_button_event):
13957         * event-msw.c (key_needs_default_processing_p):
13958         * event-msw.c (XEMSW_LCONTROL):
13959         * event-msw.c (mswindows_handle_sticky_modifiers):
13960         * event-msw.c (FROB):
13961         * event-msw.c (clear_sticky_modifiers):
13962         * event-msw.c (output_modifier_keyboard_state):
13963         * event-msw.c (output_alt_keyboard_state):
13964         * event-msw.c (mswindows_wnd_proc):
13965         * event-msw.c (mswindows_modifier_state):
13966         * event-msw.c (emacs_mswindows_handle_magic_event):
13967         implement sticky modifiers.
13968
13969         * event-stream.c:
13970         * event-stream.c (vars_of_event_stream):
13971         move modifier-keys-are-sticky here.
13972
13973         * lisp.h:
13974         add CHECK_FUNCTION.
13975
13976         * rangetab.c:
13977         implement map-range-table.
13978
13979
13980 2000-05-17  Yoshiki Hayashi  <yoshiki@xemacs.org>
13981
13982         * redisplay-tty.c (reset_tty_modes):
13983         (tty_redisplay_shutdown): Adjust argument type to
13984         tty_frame_output_end.
13985
13986 2000-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
13987
13988         * eval.c (Fbacktrace): Don't output a line with only right
13989         parenthesis.
13990
13991 2000-05-17  Kenji Itoh  <keit@tpj.co.jp>
13992
13993         * postgresql.c (Fpq_connect_poll): Replace `PS' with `polling_status'.
13994         (Fpq_reset_poll): Ditto.
13995
13996 2000-05-16  Katsumi Yamaoka  <yamaoka@jpl.org>
13997
13998         * redisplay-tty.c: Replace tty_output_end with tty_frame_output_end.
13999
14000 2000-05-16  Ben Wing  <ben@xemacs.org>
14001
14002         * buffer.c:
14003         * buffer.c (dfc_convert_to/from_internal_format):
14004         * buffer.c (reinit_vars_of_buffer):
14005         Fix conversion functions to allow reentrancy.
14006
14007         * console-msw.c:
14008         * console-msw.c (mswindows_output_last_error):
14009         New fun, generally useful -- output a human-readable
14010         version of GetLastError() on the console.
14011
14012         * console-msw.h:
14013         * console-msw.h (struct mswindows_frame):
14014         Changes for DeferWindowPos.  Declare mswindows_output_last_error().
14015
14016         * console-stream.c (stream_output_begin):
14017         * console-stream.c (stream_output_end):
14018         * console-stream.c (stream_output_vertical_divider):
14019         * console-stream.c (stream_clear_region):
14020         * console-stream.c (stream_flash):
14021         * console-stream.c (console_type_create_stream):
14022         Delete blank stream methods, not needed.
14023
14024         * console.h (struct console_methods):
14025         Split begin/end methods into window and frame.
14026
14027         * event-msw.c:
14028         * event-msw.c (mswindows_handle_paint):
14029         * event-msw.c (output_alt_keyboard_state):
14030         * event-msw.c (mswindows_wnd_proc):
14031         * event-msw.c (vars_of_event_mswindows):
14032         Comment about problems with ignored-expose.
14033         Define mswindows-debug-events; not really implemented.
14034
14035         * frame-msw.c (mswindows_init_frame_1):
14036         random cleanups.
14037
14038         * glyphs-msw.c:
14039         * glyphs-msw.c (begin_defer_window_pos):
14040         * glyphs-msw.c (mswindows_unmap_subwindow):
14041         * glyphs-msw.c (mswindows_map_subwindow):
14042         * glyphs-msw.c (mswindows_resize_subwindow):
14043         Use DeferWindowPos to reduce flashing when mapping/unmapping.
14044
14045         * glyphs.c (make_image_instance_1):
14046         Fix crash.
14047
14048         * gutter.c (Fredisplay_gutter_area):
14049         Use new begin/end methods.
14050
14051         * lisp.h (Dynarr_new2):
14052         New creation fun.
14053
14054         * redisplay-msw.c:
14055         * redisplay-msw.c (mswindows_frame_output_begin):
14056         * redisplay-msw.c (mswindows_frame_output_end):
14057         * redisplay-msw.c (console_type_create_redisplay_mswindows):
14058         New begin/end methods -- handle DeferWindowPos.
14059
14060         * redisplay-output.c (redisplay_move_cursor):
14061         * redisplay-output.c (redraw_cursor_in_window):
14062         * redisplay-output.c (redisplay_update_line):
14063         * redisplay-output.c (redisplay_output_window):
14064         New begin/end methods.
14065
14066         * redisplay-tty.c:
14067         * redisplay-tty.c (tty_frame_output_begin):
14068         * redisplay-tty.c (tty_frame_output_end):
14069         * redisplay-tty.c (console_type_create_redisplay_tty):
14070         New begin/end methods.
14071
14072         * redisplay-x.c:
14073         * redisplay-x.c (x_window_output_begin):
14074         * redisplay-x.c (x_window_output_end):
14075         * redisplay-x.c (console_type_create_redisplay_x):
14076         New begin/end methods.
14077
14078         * redisplay.c (redisplay_frame):
14079         * redisplay.c (Fredisplay_echo_area):
14080         New begin/end methods.
14081         use MAYBE_DEVMETH for clear_frame; it may not exist.
14082
14083         * window.h (WINDOW_XFRAME):
14084         WINDOW_XFOO macros -- get locale and decode struct pointer.
14085
14086
14087 2000-05-12  Ben Wing  <ben@xemacs.org>
14088
14089         * emacs.c:
14090         * emacs.c (ensure_no_quitting_from_now_on):
14091         * emacs.c (fatal_error_signal):
14092         * emacs.c (mswindows_handle_hardware_exceptions):
14093         * emacs.c (main):
14094         * emacs.c (Fkill_emacs):
14095         * emacs.c (shut_down_emacs):
14096         * emacs.c (assert_failed):
14097         various improvements in fatal error handling.
14098
14099         * eval.c:
14100         move preparing_for_armageddon to emacs.c.
14101
14102         * lisp.h:
14103         declare fatal_error_in_progress.
14104
14105         * print.c:
14106         * print.c (std_handle_out_external):
14107         * print.c (std_handle_out_va):
14108         * print.c (stderr_out):
14109         * print.c (stdout_out):
14110         use console under mswin when no standard output.
14111         don't do code conversion during fatal error.
14112
14113         * scrollbar.c (Fscrollbar_page_up):
14114         * scrollbar.c (Fscrollbar_page_down):
14115         fix missing else.  reindent.
14116
14117 2000-05-11  Jan Vroonhof  <vroonhof@math.ethz.ch>
14118
14119         Emergency fix.
14120
14121         * glyphs.h (GLYPH_CACHEL_DESCENT):
14122         (GLYPH_CACHEL_DESCENT):
14123         (GLYPH_CACHEL_DESCENT):
14124         * glyphs.h (GLYPH_CACHEL_ASCENT): Match parameters to variables
14125         used in case these are inline functions.
14126         Use more absurd values to error check.
14127
14128         include window.h for error check functions.
14129
14130 2000-05-11  Ben Wing  <ben@xemacs.org>
14131
14132         * cmdloop.c (Freally_early_error_handler):
14133         Display message box under windows; otherwise, message will disappear
14134         before it can be viewed.
14135
14136         * console-msw.c:
14137         * console-msw.c (Fmswindows_message_box):
14138         * console-msw.c (FROB):
14139         * console-msw.c (syms_of_console_mswindows):
14140         Define new fun `mswindows-message-box'.
14141         #### I will merge this into `popup-dialog-box'; just give me
14142         a bit of time.
14143
14144         * general.c:
14145         * general.c (syms_of_general):
14146         Some new symbols used in `mswindows-message-box'.
14147
14148         * glyphs.c:
14149         * glyphs.c (Fset_image_instance_property):
14150         put warning in this fun.
14151
14152         * glyphs.h:
14153         * glyphs.h (GLYPH_CACHEL_WIDTH):
14154         * glyphs.h (GLYPH_CACHEL_ASCENT):
14155         * glyphs.h (GLYPH_CACHEL):
14156         * glyphs.h (GLYPH_CACHEL_GLYPH):
14157         define error-checking versions to try to catch a bug i've seen --
14158         redisplay gets in an infinite loop because the glyph width of the
14159         continuation glyph is 65535.
14160
14161         * lisp.h:
14162         Extern message-box stuff.
14163
14164         * window.c (allocate_window):
14165         * window.c (make_dummy_parent):
14166         * window.c (Fset_window_configuration):
14167         Use EQUAL not EQ for subwindow caches to make them work a bit
14168         better. (Something is still very broken.)
14169
14170
14171 2000-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
14172
14173         * glyphs.c (image_instantiate): Suppress gcc warnings.
14174         (Fmake_image_instance): Fix doc string.
14175         * specifier.c (Fmake_specifier): Ditto.
14176
14177 2000-05-02  Yoshiki Hayashi  <yoshiki@xemacs.org>
14178
14179         * paths.h.in (PATH_LOCK): Removed.
14180         * config.h.in (LOCKDIR_USER_DEFINED): Removed.
14181         * emacs.c (complex_vars_of_emacs): Remove configure-lock-directory.
14182
14183 2000-05-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
14184
14185         * fns.c (Ffeaturep): Update e-mail address in doc-string.
14186         Document (featurep '(and xemacs 21.02)).
14187
14188 2000-05-09  Ben Wing  <ben@xemacs.org>
14189
14190         * buffer.c (complex_vars_of_buffer):
14191         update modeline-format doc.
14192
14193         * device.h:
14194         comment about how DFW_DEVICE should be merged with DOMAIN_DEVICE.
14195
14196         * emacs.c:
14197         timeline of all released versions of Emacs, for use in creating
14198         authorship comments and in synching up.
14199
14200         * glyphs-widget.c (image_instantiator_buttons):
14201         * glyphs-widget.c (image_instantiator_edit_fields):
14202         * glyphs-widget.c (image_instantiator_combo_box):
14203         * glyphs-widget.c (image_instantiator_scrollbar):
14204         * glyphs-widget.c (image_instantiator_progress_guage):
14205         * glyphs-widget.c (image_instantiator_tree_view):
14206         * glyphs-widget.c (image_instantiator_tab_control):
14207         * glyphs-widget.c (image_instantiator_labels):
14208         * glyphs-widget.c (image_instantiator_layout):
14209         * glyphs-widget.c (image_instantiator_native_layout):
14210         rename decode_domain method to governing_domain.
14211
14212         * glyphs.c:
14213         * glyphs.c (Fvalid_image_instantiator_format_p): doc update.
14214         * glyphs.c (add_entry_to_device_ii_format_list):
14215         make sure we don't put an entry more than once into the list.
14216         * glyphs.c (check_instance_cache_mapper):
14217         *************************************************************
14218         allow for nil.  THIS SHOULD FIX A REAL CRASH THAT MANY PEOPLE
14219         HAVE BEEN GETTING.
14220         *************************************************************
14221         * glyphs.c (get_image_instantiator_governing_domain):
14222         clean up, expand on new concept of governing domain.
14223         * glyphs.c (instantiate_image_instantiator):
14224         * glyphs.c (allocate_image_instance):
14225         use governing_domain instead of cache_domain in naming.
14226         * glyphs.c (Fvalid_image_instance_type_p): fix docs.
14227         * glyphs.c (make_image_instance_1):
14228         * glyphs.c (Fmake_image_instance):
14229         allow for any domain (not just device), and process the
14230         governing domain correctly.  very big doc fix.
14231         * glyphs.c (Fimage_instance_domain):
14232         new primitive, to retrieve the governing domain of an image instance.
14233         * glyphs.c (image_instantiate):
14234         use new governing_domain stuff.  this fixes a crash you could get
14235         by instantiating certain widget glyphs in frame locales. (should
14236         signal an error instead of crashing.)
14237         * glyphs.c (Fimage_specifier_p): move doc to make-image-specifier.
14238         * glyphs.c (Fglyphp): clean up doc.
14239         * glyphs.c (subwindow_governing_domain): renamed from *_decode_domain.
14240         * glyphs.c (syms_of_glyphs):
14241         declare Fimage_instance_domain, remove unused Qlayout_image_instance_p.
14242         * glyphs.c (image_instantiator_format_create): add some comments about
14243         bogus code.
14244         * glyphs.c (specifier_vars_of_glyphs): totally rewrite the doc string
14245         for current-display-table. (Apparently Hrjove implemented in 1998 a
14246         design I wrote up in 1996, but didn't update the doc string.)
14247
14248         * glyphs.h: clean up a doc string.
14249         * glyphs.h (governing_domain):
14250         * glyphs.h (struct image_instantiator_methods):
14251         changes for governing_domain stuff.
14252
14253         * gutter.c:
14254         * gutter.c (Fgutter_specifier_p):
14255         * gutter.c (Fgutter_size_specifier_p):
14256         * gutter.c (Fgutter_visible_specifier_p):
14257         * objects.c:
14258         * objects.c (Fcolor_specifier_p):
14259         * objects.c (Ffont_specifier_p):
14260         * objects.c (Fface_boolean_specifier_p):
14261         doc strings moved to make-*-specifier.
14262
14263         * redisplay.c (add_disp_table_entry_runes_1):
14264         * redisplay.c (generate_fstring_runes):
14265         * redisplay.c (screen):
14266         add random comments and doc strings.
14267
14268         * specifier.c:
14269         * specifier.c (Fmake_specifier):
14270         major overhaul of this doc string.
14271
14272         * specifier.c (Fvalid_specifier_domain_p):
14273         comment about the bogosity of image instances being domains.
14274         * specifier.c (decode_domain):
14275         now non-static, used in glyphs.c.
14276         * specifier.c (specifier_instance):
14277         comment about the bogosity of image instances being domains.
14278         * specifier.c (Fgeneric_specifier_p):
14279         move doc string to make-generic-specifier.
14280         * specifier.c (VALID_SINGLE_DISPTABLE_INSTANTIATOR_P):
14281         rebackslashify.
14282
14283         * specifier.h:
14284         * specifier.h (DOMAIN_FRAME):
14285         * specifier.h (DOMAIN_LIVE_P):
14286         * specifier.h (DOMAIN_XDEVICE):
14287         rebackslashify.
14288         add comments about problems with these macros.
14289         prototype for decode_domain.
14290
14291         * toolbar.c:
14292         * toolbar.c (Ftoolbar_specifier_p):
14293         move doc string to `make-toolbar-specifier'.
14294
14295         * window.c (window_unmap_subwindows_cache_mapper):
14296         *************************************************************
14297         allow for nil.  THIS SHOULD FIX A REAL CRASH THAT MANY PEOPLE
14298         HAVE BEEN GETTING.
14299         *************************************************************
14300
14301 2000-05-09  Andy Piper  <andy@xemacs.org>
14302
14303         * glyphs.h: declare reset_frame_subwindow_instance_cache.
14304
14305         * window.c (Fset_window_configuration): reset the frame subwindow
14306         cache and re-initialize the window subwindow caches.
14307
14308         * glyphs.c (reset_frame_subwindow_instance_cache): new function.
14309
14310 2000-05-09  Ben Wing  <ben@xemacs.org>
14311
14312         * ntheap.c (recreate_heap): Changed unknown (VC6 only?) SIZE_T to
14313         DWORD.
14314
14315 2000-04-26  Mike Woolley  <mike@bulsara.com>
14316
14317         * ntheap.c: Changed recreate_heap to limit the amount reserved
14318         for the heap to that which is actually available. Also now
14319         displays a message box (with some dignostics) in the event that
14320         it still can't start.
14321
14322 2000-05-07  Jan Vroonhof  <vroonhof@math.ethz.ch>
14323
14324         * callproc.c (Fold_call_process_internal): GCPRO path
14325
14326 2000-05-08  Jan Vroonhof  <jan@xemacs.org>
14327
14328         Patch by Bill Perry.
14329
14330         * scrollbar.c (Fscrollbar_page_up): Conditionalize on type of call
14331         back data instead of #ifdef.
14332         (Fscrollbar_page_down): ditto.
14333
14334 2000-05-07  Ben Wing  <ben@xemacs.org>
14335
14336         * buffer.h:
14337         Kludge for defining Qmswindows_tstr.
14338
14339         * nt.c:
14340         * nt.c (open_input_file):
14341         * nt.c (open_output_file):
14342         * nt.c (rva_to_section):
14343         * nt.c (mswindows_executable_type):
14344         Move all memory-mapped-file routines here (some were in unexnt.c,
14345         which is bad because they are used by process-nt.c, and unexnt
14346         won't be around when portable dumping).  Synched the above routines
14347         with FSF 20.6.
14348
14349         * nt.h:
14350         Removed ifdef'd out bogus code.
14351         Fixed some prototypes.
14352
14353         * nt.h (file_data):
14354         * nt.h (OFFSET_TO_RVA):
14355         * nt.h (RVA_TO_OFFSET):
14356         * nt.h (RVA_TO_PTR):
14357         Moved the memory-mapped-file structures, macros and prototypes
14358         here, to parallel nt.c.  ntheap.h should really be removed
14359         entirely, and it's a non-portable-dumper specific file.
14360
14361         * ntheap.h (round_to_next):
14362         Moved the memory-mapped-file structures, macros and prototypes
14363         to nt.h.
14364
14365         * ntproc.c (compare_env):
14366         Moved rva_to_section and mswindows_executable_type to nt.c.
14367         Moved compare_env to process-nt.c.
14368         ntproc.c will die, one day.
14369
14370         * ntproc.c (sys_spawnve):
14371         Account for win32_ -> mswindows_.
14372
14373         * process-nt.c:
14374         * process-nt.c (struct nt_process_data):
14375         * process-nt.c (ensure_console_window_exists):
14376         * process-nt.c (compare_env):
14377         * process-nt.c (nt_create_process):
14378         * process-nt.c (nt_kill_process_by_pid):
14379         * process-nt.c (syms_of_process_nt):
14380         * process-nt.c (vars_of_process_nt):
14381         Introduce variable `mswindows-quote-process-args', from FSF 20.6.
14382         Copy argument quoting code from FSF 20.6 (with appropriate Mule-ization
14383         changes).  Eliminate our old `nt-quote-process-args' mechanism.
14384         Synch up nt_create_process with FSF 20.6 sys_spawnve.
14385         Move compare_env here from ntproc.c.
14386
14387         * process.c (Fprocess_send_region):
14388         Takes an optional fourth argument, BUFFER, which should fix some
14389         problems with call-process.
14390
14391         * syscommctrl.h:
14392         Move ICC_BAR_CLASSES here from syswindows.h, to avoid a warning.
14393
14394         * syswindows.h:
14395         Move ICC_BAR_CLASSES to syscommctrl.h.
14396         Add preliminary macros for MSWindows/Mule.  More to come.
14397
14398         * unexnt.c:
14399         * unexnt.c (unexec):
14400         open_output_file moved to nt.c.
14401
14402
14403 2000-05-05  Andy Piper  <andy@xemacs.org>
14404
14405         * window.c (window_unmap_subwindows_cache_mapper): remove the dead
14406         instance from the frame cache also since GC may catch up too late
14407         to make frame deletion sane.
14408
14409 2000-05-04  Andy Piper  <andy@xemacs.org>
14410
14411         * glyphs-x.c (x_widget_instantiate): gcpro widget callbacks.
14412         (x_finalize_image_instance): ungcpro on deletion.
14413
14414         * glyphs.c (image_instantiator_format_create): give pointers a
14415         query geometry method so that the geometry is at least set.
14416
14417         * glyphs-x.c (image_instantiator_format_create_glyphs_x): only
14418         initialize layouts if using widgets.
14419
14420 2000-05-03  Andy Piper  <andy@xemacs.org>
14421
14422         * nt.c: remove bogus reference to sysmmsystem.h
14423
14424         * gui-x.c (popup_selection_callback): fix no selection abort.
14425
14426 2000-05-02  Andy Piper  <andy@xemacs.org>
14427
14428         * glyphs-msw.c (mswindows_update_widget): cope with nil text.
14429         (mswindows_widget_instantiate): ditto.
14430
14431         * glyphs-widget.c (initialize_widget_image_instance): initialize
14432         children correctly.
14433         (widget_instantiate): cope with children and items in the same
14434         instance.
14435
14436         * glyphs.c (mark_image_instance): cope with children as a first
14437         class member.
14438         (image_instance_equal): ditto.
14439         (image_instance_hash): ditto.
14440         (image_instance_changed): ditto.
14441
14442 2000-04-30  Andy Piper  <andy@xemacs.org>
14443
14444         * glyphs.c (subwindow_query_geometry): new function. Return some
14445         defaults.
14446         (subwindow_instantiate): don't assign dimensions if none have been
14447         given.
14448         (image_instantiator_format_create): add subwindow_query_geometry.
14449         (print_image_instance): cope with layouts as widgets.
14450
14451 2000-04-29  Andy Piper  <andy@xemacs.org>
14452
14453         * frame.c (delete_frame_internal): call
14454         free_frame_subwindow_instance_cache so that all subwindows are
14455         finalized before their parent.
14456         (mark_frame): remove subwindow_cachels.
14457         (Fmake_frame): remove subwindow_cachel manipulation.
14458         (allocate_frame_core): subwindow_instance_cache is a weak list.
14459         (delete_frame_internal): set subwindow_instance_cache to nil.
14460
14461         * glyphs-msw.c (mswindows_finalize_image_instance): make double
14462         finalization safe.
14463         (mswindows_finalize_image_instance): use the device
14464         not the domain as the domain may have died already.
14465
14466         * glyphs-x.c (x_finalize_image_instance): ditto.
14467         (x_subwindow_instantiate): remove SUBWINDOW_WIDTH &
14468         HEIGHT.
14469
14470         * redisplay-output.c (redisplay_unmap_subwindows): update for
14471         subwindow instance cache as a weak list.
14472         (redisplay_unmap_subwindows_maybe): ditto.
14473         (redisplay_unmap_subwindows_except_us): ditto.
14474
14475         * glyphs.c (unmap_subwindow): error checking will check the domain
14476         so don't deal with it here. Don't use cachels anymore.
14477         (map_subwindow): ditto.
14478         (update_subwindow_cachel_data): remove old accessor names.
14479         (subwindow_instantiate): remove SUBWINDOW_WIDTH & HEIGHT.
14480         (Fresize_subwindow): don't update cachel.
14481         (mark_subwindow_cachels):
14482         (update_subwindow_cachel_data):
14483         (add_subwindow_cachel):
14484         (get_subwindow_cachel_index):
14485         (update_subwindow_cachel):
14486         (reset_subwindow_cachels):
14487         (mark_subwindow_cachels_as_not_updated): deleted.
14488         (cache_subwindow_instance_in_frame_maybe): new function. Add a
14489         subwindow instance to the frame cache.
14490         (find_matching_subwindow): update for subwindow instance cache as
14491         a weak list.
14492         (update_widget_instances): ditto.
14493         (image_instance_type_to_mask):inlined.
14494         (free_frame_subwindow_instance_cache): new function. finalize all
14495         subwindows that are instantiated.
14496
14497         * glyphs.h (struct Lisp_Image_Instance): add display_data instead
14498         of cachel information.
14499         (IMAGE_INSTANCE_DISPLAY_X):
14500         (IMAGE_INSTANCE_DISPLAY_Y):
14501         (IMAGE_INSTANCE_DISPLAY_WIDTH):
14502         (IMAGE_INSTANCE_DISPLAY_HEIGHT):
14503         (XIMAGE_INSTANCE_DISPLAY_X):
14504         (XIMAGE_INSTANCE_DISPLAY_Y):
14505         (XIMAGE_INSTANCE_DISPLAY_WIDTH):
14506         (XIMAGE_INSTANCE_DISPLAY_HEIGHT): new accessors.
14507         remove subwindow_cachel structure and function references.
14508         (image_instance_type_to_mask): inline from glyphs.c
14509
14510         * redisplay.c (redisplay_frame): remove subwindow_cachel
14511         references.
14512
14513         * frame.h (struct frame): remove subwindow_cachels.
14514         (FRAME_SUBWINDOW_CACHE): access subwindow_instance_cache.
14515
14516         * frameslots.h: add subwindow_instance_cache.
14517
14518         * window.c (replace_window): check subwindow cache of replacement.
14519         (window_unmap_subwindows_cache_mapper):
14520         (window_unmap_subwindows): new functions. Unmap all subwindows
14521         cached on this window.
14522         (mark_window_as_deleted): unmap all subwindows.
14523
14524 2000-04-27  Andy Piper  <andy@xemacs.org>
14525
14526         * glyphs.h (IIFORMAT_METH_OR_GIVEN): cope with null meths.
14527
14528         * glyphs-widget.c (widget_layout): return something.
14529         (layout_layout): return something. Fail if not initialized.
14530         (layout_query_geometry): ditto.
14531         (image_instantiator_native_layout): new function. Initialized the
14532         native layout type.
14533         (widget_instantiate): don't do layout stuff here.
14534
14535         * glyphs.c (instantiate_image_instantiator): reorded calling or
14536         instantiate and post_instantiate with layout in between.
14537         (image_instance_layout): be more selective about deciding whether
14538         the layout has been done or not.
14539
14540         * glyphs.h (struct image_instantiator_methods): return a value
14541         from layout_method.
14542
14543 2000-04-26  Andy Piper  <andy@xemacs.org>
14544
14545         * glyphs.c (allocate_image_instance): make initial width and
14546         height unspecified. Set initialized to 0.
14547
14548         * syscommctrl.h new file. Encapsulates commctrl.h.
14549
14550         * syswindows.h new file. Encapsulates windows.h.
14551
14552         * ntplay.c: use new syswindows.h and syscommctrl.h header.
14553         * nt.c: ditto.
14554         * console-msw.h: ditto.
14555
14556         * redisplay-tty.c (tty_output_display_block): remove layout references.
14557
14558         * glyphs-msw.c (mswindows_widget_instantiate): use the domain
14559         window handle rather than just the frame.
14560
14561         * glyphs.c (mark_image_instance): remove layout references.
14562         (print_image_instance): ditto.
14563         (image_instance_equal): ditto.
14564         (image_instance_hash): ditto.
14565         (decode_image_instance_type): ditto.
14566         (encode_image_instance_type): ditto.
14567         (image_instantiate): ditto.
14568         (allocate_glyph): ditto.
14569         (Fimage_instance_height): ditto.
14570         (Fimage_instance_width): ditto.
14571         (update_subwindow): ditto.
14572
14573         * redisplay-x.c (x_output_display_block): recode for layouts as
14574         widgets.
14575
14576         * redisplay-output.c (redisplay_output_layout): recode for layouts
14577         as widgets.
14578         (compare_runes): remove layout references.
14579
14580         * redisplay-msw.c (mswindows_output_display_block): recode for
14581         layouts as widgets.
14582
14583         * glyphs-widget.c (image_instantiator_layout): remove
14584         layout_possible_dest_types.
14585         (layout_possible_dest_types): deleted.
14586
14587         * glyphs.h (image_instance_type): remove layout references.
14588         (struct Lisp_Image_Instance): ditto. Add initialized flag.
14589         (IMAGE_INSTANCE_INITIALIZED): new accessor.
14590         (XIMAGE_INSTANCE_INITIALIZED): ditto.
14591
14592 2000-04-25  Andy Piper  <andy@xemacs.org>
14593
14594         * glyphs-widget.c (image_instantiator_buttons):
14595         (image_instantiator_edit_fields):
14596         (image_instantiator_combo_box):
14597         (image_instantiator_scrollbar):
14598         (image_instantiator_progress_guage):
14599         (image_instantiator_tree_view):
14600         (image_instantiator_tab_control):
14601         (image_instantiator_labels):
14602         (image_instantiator_layout): call default post_instantiate method.
14603         (widget_post_instantiate): new function. Simply lays out the
14604         widgets.
14605
14606         * glyphs.h (struct image_instantiator_methods): add
14607         post_instantiate method.
14608
14609         * glyphs.c (instantiate_image_instantiator): add post_instantiate
14610         method calls.
14611
14612 2000-04-23  Andy Piper  <andy@xemacs.org>
14613
14614         * glyphs.h (struct image_instantiator_methods): add
14615         decode_domain_method.
14616         (struct Lisp_Image_Instance): remove subwindow frame - it can be
14617         derived from the domain.
14618         (IMAGE_INSTANCE_FRAME): new accessor.
14619         (XIMAGE_INSTANCE_FRAME): ditto.
14620
14621         * glyphs.c (print_image_instance): use IMAGE_INSTANCE_FRAME
14622         instead of _SUBWINDOW_FRAME.
14623         (finalize_image_instance): ditto.
14624         (Fimage_instance_foreground): ditto.
14625         (Fimage_instance_background): ditto.
14626         (image_instantiate): ditto.
14627         (update_subwindow_cachel): ditto.
14628         (update_subwindow): ditto.
14629         (unmap_subwindow): ditto.
14630         (map_subwindow): ditto
14631         (subwindow_instantiate): ditto.
14632         * glyphs-msw.c (mswindows_update_widget): ditto.
14633         (mswindows_progress_gauge_instantiate): ditto.
14634         (mswindows_tab_control_update): ditto.
14635         * glyphs-x.c (x_update_widget): ditto.
14636         (x_widget_instantiate): ditto.
14637         (x_tab_control_instantiate): ditto.
14638         (x_tab_control_update): ditto.
14639         * event-msw.c (mswindows_wnd_proc): ditto
14640
14641         * glyphs-widget.c (image_instantiator_layout): use
14642         subwindow_decode_domain.
14643         (image_instantiator_buttons): ditto.
14644         (image_instantiator_edit_fields): ditto.
14645         (image_instantiator_combo_box): ditto.
14646         (image_instantiator_scrollbar): ditto.
14647         (image_instantiator_progress_guage): ditto.
14648         (image_instantiator_tree_view): ditto.
14649         (image_instantiator_tab_control): ditto.
14650         (image_instantiator_labels): ditto.
14651         (image_instantiator_layout): ditto.
14652
14653         * glyphs.c: add instance error checking to many functions.
14654         (instantiate_image_instantiator): decode device from cache_domain.
14655         (image_instantiate): partially rewrite by using
14656         decode_image_instantiator_domain to determine what domain the
14657         instance needs to be cached in.
14658         (decode_image_instantiator_domain): new function. Determine what
14659         domain the image needs to be cached in.
14660         (check_window_subwindow_cache): new error checking function.
14661         (check_instance_cache_mapper): ditto.
14662         (check_image_instance_structure): ditto.
14663         (subwindow_decode_domain): new function. Encodes a window as a
14664         subwindow's cache domain.
14665         (image_instantiator_format_create): use it for text and
14666         subwindows.
14667
14668 2000-04-21  Andy Piper  <andy@xemacs.org>
14669
14670         * glyphs.c (image_instance_device): new function.
14671         (image_instance_frame): new function.
14672         (image_instance_window): new function.
14673         (image_instance_live_p): new function.
14674
14675         * window.c (mark_window_as_deleted): reset the subwindow_instance_
14676         cache to nil.
14677
14678         * glyphs.h (struct Lisp_Image_Instance): device->domain.
14679         (IMAGE_INSTANCE_DOMAIN): new accessor.
14680         (XIMAGE_INSTANCE_DOMAIN): ditto.
14681
14682         * glyphs-x.c (x_finalize_image_instance): device->domain.
14683
14684         * glyphs-msw.c (init_image_instance_geometry): device->domain.
14685         (mswindows_finalize_image_instance): ditto.
14686
14687         * glyphs-eimage.c (jpeg_instantiate): device->domain.
14688         (gif_instantiate): ditto.
14689         (png_instantiate): ditto.
14690         (tiff_instantiate): ditto.
14691
14692         * glyphs.c (instantiate_image_instantiator): use domain rather
14693         than device.
14694         (mark_image_instance): device -> domain.
14695         (print_image_instance): ditto.
14696         (finalize_image_instance): ditto.
14697         (image_instance_equal): ditto.
14698         (allocate_image_instance): ditto.
14699         (Fcolorize_image_instance): ditto.
14700         (query_string_geometry): ditto.
14701         (image_instantiate): ditto
14702         (query_string_font): ditto.
14703         (image_instantiate): ditto.
14704         (update_subwindow): ditto.
14705         (unmap_subwindow): ditto.
14706         (map_subwindow): ditto.
14707         (subwindow_instantiate): ditto.
14708
14709         * specifier.h (DOMAIN_DEVICE): new, semantically correct, decoder.
14710         (DOMAIN_FRAME): ditto.
14711         (DOMAIN_WINDOW): ditto.
14712         (DOMAIN_LIVE_P): ditto.
14713         (XDOMAIN_DEVICE): ditto.
14714         (XDOMAIN_FRAME): ditto.
14715         (XDOMAIN_WINDOW): ditto.
14716
14717         * specifier.c (Fvalid_specifier_domain_p): add image instances as
14718         a valid specifier domain.
14719
14720 2000-04-19  Andy Piper  <andy@xemacs.org>
14721
14722         * glyphs-widget.c (syms_of_glyphs_widget): remove
14723         widget-callback-current-channel.
14724         (vars_of_glyphs_widget): ditto.
14725         * glyphs.h: ditto
14726
14727         * gui.c (get_gui_callback): revert to previous behaviour.
14728
14729 2000-04-18  Andy Piper  <andy@xemacs.org>
14730
14731         * glyphs.h (struct Lisp_Image_Instance): add margin_width.
14732         (IMAGE_INSTANCE_MARGIN_WIDTH): new.
14733         (XIMAGE_INSTANCE_MARGIN_WIDTH): new.
14734
14735         * glyphs.c (image_instance_equal): add margin_width.
14736         (image_instance_hash): ditto.
14737
14738         * glyphs-widget.c (widget_instantiate): deal with margin-width.
14739         (layout_query_geometry): ditto.
14740         (layout_layout): ditto.
14741         (syms_of_glyphs_widget): add margin-width.
14742         (image_instantiator_layout): allow margin-width.
14743
14744         * glyphs.c (update_widget_instances): make a normal function.
14745         (syms_of_glyphs): remove Qupdate_widget_instances.
14746         * glyphs.h: ditto.
14747
14748         * gui-x.c (popup_selection_callback): use enqueue_magic_eval_event
14749         so that we don't corrupt ideas about the last event or
14750         command. Remove widget-callback-current-channel fiddling.
14751         * gui-msw.c (mswindows_handle_gui_wm_command): ditto.
14752
14753 2000-05-01  Martin Buchholz <martin@xemacs.org>
14754
14755         * XEmacs 21.2.33 is released.
14756
14757 2000-05-01  Yoshiki Hayashi  <yoshiki@xemacs.org>
14758
14759         * make-src-depend: Allow dots in header file name.
14760
14761 2000-05-01  Yoshiki Hayashi  <yoshiki@xmacs.org>
14762
14763         * mule-charset.h (struct charset_lookup): Add
14764         next_allocated_1_byte_leading_byte and
14765         next_allocated_2_byte_leading_byte.
14766         * mule-charset.c: Move above two variables so that those values
14767         will be dumped.
14768
14769 2000-04-26  Yoshiki Hayashi  <yoshiki@xemacs.org>
14770
14771         * insdel.c (find_charsets_in_bufbyte_string): Add Vcharset_ascii
14772         when string length is zero.
14773         (find_charsets_in_emchar_string): Ditto.
14774
14775 2000-04-29  Bjrn Torkelsson  <torkel@hpc2n.umu.se>
14776
14777         * lisp.h: extern Qdialog and Qmenubar.
14778
14779         * gui-x.c: added events.h.
14780                 also fixed typo which made the file uncompilable.
14781
14782         * general.c: Added Qmenubar and Qdialog
14783
14784 2000-04-28  Ben Wing  <ben@xemacs.org>
14785
14786         * frame-msw.c (mswindows_init_frame_1):
14787         * frame-msw.c (mswindows_mark_frame):
14788         * event-msw.c (mswindows_enqueue_dispatch_event):
14789         * console-msw.h:
14790         * console-msw.h (struct mswindows_frame):
14791         * console-msw.h (FRAME_MSWINDOWS_WIDGET_HASH_TABLE1):
14792         there are now three hash tables for callbacks.
14793         mswindows_enqueue_dispatch_event is no longer static.
14794
14795         * dialog-x.c (maybe_run_dbox_text_callback):
14796         * dialog-x.c (dbox_descriptor_to_widget_value):
14797         switch to new cons3 form for callbacks.
14798
14799         * glyphs-msw.c (mswindows_register_gui_item):
14800         * glyphs-msw.c (mswindows_widget_instantiate):
14801         * glyphs-msw.c (add_tree_item):
14802         * glyphs-msw.c (add_tab_item):
14803         new image instance parameter, so it can be passed to callback-ex.
14804         respect :callback-ex as well as :callback.
14805
14806         * glyphs-widget.c (VALID_GUI_KEYWORDS):
14807         add :callback-ex.
14808
14809         * glyphs.c (print_image_instance):
14810         prettify, e.g. now prints widget type.
14811
14812         * gui-x.h:
14813         certain funs have new image instance parameter.
14814
14815         * gui.c:
14816         * gui.c (get_gui_callback):
14817         * gui.c (gui_item_add_keyval_pair):
14818         * gui.c (gui_item_init):
14819         * gui.c (gui_add_item_keywords_to_plist):
14820         * gui.c (mark_gui_item):
14821         * gui.c (gui_item_hash):
14822         * gui.c (gui_item_equal):
14823         * gui.c (copy_gui_item):
14824         * gui.c (syms_of_gui):
14825         recognize callback-ex in a number of places.
14826         also, fix the annoying "can't get out of yes-no dialog" bug.
14827
14828         * gui.h:
14829         * gui.h (struct Lisp_Gui_Item):
14830         recognize callback-ex in a number of places.
14831
14832         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
14833         new parameter in button_item_to_widget_value.
14834
14835         * glyphs-x.c (x_update_widget):
14836         * glyphs-x.c (x_button_instantiate):
14837         * glyphs-x.c (x_button_update):
14838         * glyphs-x.c (x_progress_gauge_instantiate):
14839         * glyphs-x.c (x_edit_field_instantiate):
14840         * glyphs-x.c (x_combo_box_instantiate):
14841         * glyphs-x.c (x_tab_control_instantiate):
14842         * glyphs-x.c (x_label_instantiate):
14843         new image instance parameter in various places.
14844
14845         * event-Xt.c:
14846         * event-Xt.c (enqueue_Xt_dispatch_event):
14847         this fun gets exported.
14848
14849         * gui-msw.c:
14850         * gui-msw.c (mswindows_handle_gui_wm_command):
14851         handle both :callback and :callback-ex, and generate our own
14852         event because it's one of the callback-ex arguments.
14853
14854         * gui-x.c:
14855         * gui-x.c (popup_selection_callback):
14856         handle both :callback and :callback-ex, and generate our own
14857         event because it's one of the callback-ex arguments.
14858         * gui-x.c (button_item_to_widget_value):
14859         * gui-x.c (gui_items_to_widget_values_1):
14860         * gui-x.c (gui_item_children_to_widget_values):
14861         * gui-x.c (gui_items_to_widget_values):
14862         new image instance parameter in various places.
14863
14864         * fns.c (Freplace_list):
14865         fix small typo in doc string.
14866
14867         * lisp.h:
14868         declare enqueue_Xt_dispatch_event.
14869
14870 2000-04-28  Ben Wing  <ben@xemacs.org>
14871
14872         * buffer.c:
14873         * buffer.c (Frecord_buffer):
14874         * buffer.c (syms_of_buffer):
14875         delete record-buffer-hook.
14876
14877         * fns.c:
14878         * fns.c (Freplace_list):
14879         * fns.c (syms_of_fns):
14880         new primitive replace-list.
14881
14882         * frameslots.h:
14883         slot for old buffer-alist.
14884
14885         * lisp.h:
14886         exfun replace-list.
14887
14888         * redisplay.c:
14889         * redisplay.c (redisplay_frame):
14890         * redisplay.c (syms_of_redisplay):
14891         * redisplay.c (vars_of_redisplay):
14892         new hook buffer-list-changed-hook.
14893         call it.
14894
14895 2000-04-27  Ben Wing  <ben@xemacs.org>
14896
14897         * extents.h: extern in_modeline_generation.
14898
14899         * redisplay.c (generate_formatted_string_db): set
14900         in_modeline_generation.
14901
14902         * extents.c (extent_changed_for_redisplay): don't mark redisplay
14903         flags if in modeline generation.  otherwise frame-modified-tick
14904         is ticked far too often.
14905         Declare in_modeline_generation.
14906
14907 2000-04-26  Ben Wing  <ben@xemacs.org>
14908
14909         * emacs.c (vars_of_emacs): document quick-build "error-checking"
14910         option.
14911         (vars_of_emacs): add quick-build as an error-checking option.
14912         A bit kludgy, but there doesn't seem much point in creating
14913         a real var for this.
14914
14915         * config.h.in: put in an entry for QUICK_BUILD; remove NO_DOC_FILE.
14916
14917 2000-04-14  IKEYAMA Tomonori  <tomonori@suiyokai.org>
14918
14919         * redisplay.h (struct display_line): Add a new variable,
14920         line_continuation.
14921
14922         * redisplay.c (create_text_block): Set dl->line_continuation if
14923         the line continues.
14924         (create_string_text_block): Ditto.
14925         (regenerate_window_incrementally): Use line_continuation instead
14926         of searching continuation glyph.
14927         (add_margin_runes): Call add_glyph_rune.
14928         (add_glyph_rune): Handle margin glyph.
14929
14930 2000-04-20  Martin Buchholz  <martin@xemacs.org>
14931
14932         * filelock.c (fill_in_lock_file_name):
14933         ANSIfy.
14934         Check for IS_ANY_SEP instead of '/'.
14935         (lock_file_1):
14936         Avoid generating gratuitous garbage.  Call user_login_name() directly.
14937         Never check errno without first seeing that system call failed.
14938         (unlock_file): Add GCPRO.
14939         (Flock_buffer): Fix docstring.
14940         (Ffile_locked_p): Fix docstring.  Add GCPRO.
14941
14942 2000-04-19  Martin Buchholz  <martin@xemacs.org>
14943
14944         * sysdep.c (get_pty_max_bytes):
14945         Fix hangs on DEC OSF 4.0 when (process-send-string) sends
14946         strings longer than 252 bytes.
14947
14948         * md5.c: Unconditionally include ANSI header <limits.h>
14949
14950         * glyphs-x.c (convert_EImage_to_XImage):
14951         * lisp-union.h (union Lisp_Object):
14952         Use consistently the syntax #ifdef FEATURE, not #if FEATURE.
14953
14954 2000-04-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
14955
14956         * filelock.c (current_lock_owner): Remove unused variable o, p.
14957
14958 2000-04-17  Norbert Koch  <n.koch@eai-delta.de>
14959
14960         * callint.c: Remove multiply defined symbol Qlet
14961         (syms_of_callint): ditto.
14962
14963 2000-04-14  Andy Piper  <andy@xemacs.org>
14964
14965         * general.c (syms_of_general): add last-command, this-command, let
14966         and funcall.
14967
14968         * lisp.h: declare various symbols.
14969
14970         * glyphs.h: declare Qwidget_callback_current_channel;
14971
14972         * glyphs-widget.c (syms_of_glyphs_widget): add
14973         Qgui_callback_current_channel.
14974         (vars_of_glyphs_widget): add Vgui_callback_current_channel.
14975
14976         * gui-msw.c (mswindows_handle_gui_wm_command): bind
14977         widget-callback-current-channel when invoking the interactive
14978         arg. Also bind last-command and next-command when invoking the
14979         widget updates.
14980         * gui-x.c (popup_selection_callback): ditto.
14981
14982         * gui.c (get_gui_callback): massage args so that we are always
14983         calling eval. This allows us to add our own variable bindings
14984         outside.
14985
14986         * glyphs-x.c (x_button_instantiate): use
14987         gui_items_to_widget_values since this is GC safe.
14988         (x_progress_gauge_instantiate): ditto.
14989         (x_edit_field_instantiate): ditto.
14990         (x_label_instantiate): ditto.
14991
14992         * event-Xt.c (emacs_Xt_handle_magic_event): remove old printfs.
14993         (emacs_Xt_event_widget_focus_out): new function
14994         (emacs_Xt_event_widget_focus_in): new function. Set the keyboard
14995         focus.
14996         (emacs_Xt_event_add_widget_actions): new function. add focus
14997         functions as actions.
14998         (init_event_Xt_late): use it.
14999
15000 2000-04-14  Hrvoje Niksic  <hniksic@iskon.hr>
15001
15002         * event-stream.c (Fdispatch_event): Doc fix.
15003
15004 2000-03-29  SL Baur  <steve@musashimaru.m17n.org>
15005
15006         * postgresql.c: Remove all references to PQsetenv*.
15007
15008         * postgresql.h: Remove references to PGsetenvHandler object.
15009         * lrecord.h (lrecord_type): Ditto.
15010
15011 2000-04-11  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15012
15013         * glyphs-msw.h (struct mswindows_image_instance_data): Added
15014         real_heigh and real_width members, and accessor macros for these.
15015
15016         * glyphs-msw.c (init_image_instance_geometry): New function.
15017         (init_image_instance_from_dibitmap): Use it.
15018         (mswindows_resource_instantiate): Use it.
15019         (init_image_instance_from_xbm_inline): Use it.
15020         (mswindows_initialize_image_instance_mask): Use real bitmap
15021         geometry.
15022         (mswindows_create_resized_bitmap): Ditto.
15023         (mswindows_create_resized_mask): Ditto.
15024
15025         * redisplay-msw.c (mswindows_output_dibitmap): Stretch real mask
15026         and bitmap to their surface size.
15027
15028 2000-04-11  Jan Vroonhof  <jan@xemacs.org>
15029
15030         * process-unix.c (unix_send_process): Guard against process MIA
15031         after Faccept_process_output.
15032
15033 2000-04-11  Ben Wing  <ben@xemacs.org>
15034
15035         * eval.c (unbind_to_hairy): fix brokenness introduced by
15036         nanosecond speed improvements.
15037
15038 2000-04-07  Raymond Toy  <toy@rtp.ericsson.se>
15039
15040         * sunplay.c (init_device): To play sounds correctly, the device
15041         apparently needs to be initialized at least once by XEmacs.  Make
15042         it so.
15043
15044 2000-04-10  IKEYAMA Tomonori  <tomonori@suiyokai.org>
15045
15046         * redisplay.c (add_margin_runes): Add text image glyph
15047           handling.
15048
15049 2000-04-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
15050
15051         * lisp.h (DOESNT_RETURN): Don't declare as volatile when
15052         gcc is newer than 2.5.
15053
15054 2000-04-06  Colin Rafferty  <colin@xemacs.org>
15055
15056         * lisp.h (FLEXIBLE_ARRAY_STRUCT_SIZEOF): Created.
15057
15058         * fns.c (size_bit_vector):
15059         * alloc.c (size_vector):
15060         (make_vector_internal):
15061         (make_bit_vector_internal):
15062         (sweep_bit_vectors_1):
15063         Replace calls to offsetof with FLEXIBLE_ARRAY_STRUCT_SIZEOF macro.
15064
15065 2000-04-06  Andy Piper  <andy@xemacs.org>
15066
15067         * gmalloc.c (malloc): undo previous change.
15068         (malloc): ditto.
15069         (free): ditto.
15070         (realloc): ditto.
15071
15072 2000-04-06  IKEYAMA Tomonori <tomonori@suiyokai.org>
15073
15074         * line-number.c (buffer_line_number): Revert to former version.
15075
15076 2000-04-06  Andy Piper  <andy@xemacs.org>
15077
15078         * gmalloc.c (malloc): add error checking.
15079         (malloc): ditto.
15080         (free): ditto.
15081         (realloc): ditto.
15082
15083         * dialog-x.c (dbox_descriptor_to_widget_value): add extra
15084         button_item_to_widget_value arg.
15085
15086         * glyphs-x.c (x_button_instantiate): add extra
15087         button_item_to_widget_value arg.
15088         (x_progress_gauge_instantiate): ditto.
15089         (x_edit_field_instantiate): ditto.
15090         (x_label_instantiate): ditto.
15091
15092         * gui-x.c (gui_items_to_widget_values_1): add extra
15093         button_item_to_widget_value arg.
15094         (button_item_to_widget_value): add extra menu_item_p arg.
15095
15096         * gui-x.h: change signature of button_item_to_widget_value.
15097
15098         * menubar-x.c (menu_item_descriptor_to_widget_value_1): add extra
15099         button_item_to_widget_value arg.
15100
15101 2000-04-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
15102
15103         * buffer.h (struct buffer): auto_save_modified should be long.
15104
15105 2000-04-05  Andy Piper  <andy@xemacs.org>
15106
15107         * glyphs-widget.c (widget_instantiate): pixwidth != pixheight
15108         type.
15109         (button_query_geometry): give a little more room so that athena
15110         buttons fit.
15111
15112 2000-04-05  Andy Piper  <andy@xemacs.org>
15113
15114         * faces.c (complex_vars_of_faces): The widget face should inherit
15115         the font of the gui-element face.
15116
15117 2000-04-04  Andy Piper  <andy@xemacs.org>
15118
15119         * glyphs-x.c (x_button_update): new function. unconditionally
15120         update a button's state when the instance is dirty.
15121         (image_instantiator_format_create_glyphs_x): add x_button_update.
15122         (x_widget_instantiate): remove old resize cruft.
15123
15124 2000-04-02  Andy Piper  <andy@xemacs.org>
15125
15126         * frame.c (change_frame_size_1): The introduction of gutters means
15127         that we need to allow 0 as a potential frame dimension.
15128
15129 2000-04-02  IKEYAMA Tomonori  <tomonori@suiyokai.org>
15130
15131         * redisplay.c (add_glyph_rune): Don't set 0 to bufpos for text
15132         image glyph if allow_cursor.
15133         (add_hscroll_rune): Don't allow cursor to border glyph.
15134         (create_text_block): Ditto.
15135
15136         * redisplay-output.c (redisplay_move_cursor): Do nothing even if
15137         text not in buffer.
15138         (redisplay_output_layout): Call ensure_face_cachel_complete for
15139         text image glyph.
15140
15141
15142 2000-03-16  IKEYAMA Tomonori  <tomonori@suiyokai.org>
15143
15144         * redisplay.c (add_glyph_rune): Adding text image as text runes.
15145
15146         * redisplay-output.c (redisplay_move_cursor): NO_CURSOR if text
15147         not in buffer
15148
15149         * redisplay-tty.c (tty_output_display_block): Delete the routine
15150         for text image glyph
15151         * redisplay-x.c (x_output_display_block): ditto
15152         * redisplay-msw.c (mswindows_output_display_block): ditto
15153
15154 2000-02-02  Mike Alexander  <mta@arbortext.com>
15155
15156         Note: Some of these were committed by accident as part of other
15157         patches.
15158
15159         * regex.c (regex_compile): Avoid compiler warnings.
15160
15161         * ntproc.c (sys_spawnve): Avoid compiler warnings.
15162
15163         * nt.h: Declare term_ntproc correctly.
15164
15165         * nt.c: Remove incorrect declaration of get_home_directory which
15166         is declared correctly in lisp.h.
15167
15168         * keymap.c (get_keyelt): Avoid compiler warnings.
15169         (raw_lookup_key_mapper): Avoid compiler warnings.
15170
15171         * gutter.c (gutter_was_visible): Add return statement to avoid warning.
15172
15173         * glyphs-eimage.c (png_instantiate): Avoid compiler warnings.
15174
15175         * filemode.c (mode_string): Avoid compiler warnings.
15176
15177         * file-coding.c (Fcoding_system_aliasee): Add return statement to
15178         avoid warning.
15179
15180         * events-mod.h: Undef some things that winuser.h defines differently.
15181
15182         * data.c (Faset): Avoid compiler warnings.
15183
15184         * alloc.c (Fmake_byte_code): Avoid compiler warnings.
15185
15186 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
15187
15188         * sound.c (Fplay_sound_file): Wrap ESD in start/stop_interrupts.
15189         Fall through to simple beep on error.
15190         Replace "extern" by real header file.
15191
15192         * linuxplay.c: Use nativesound.h
15193         (play_sound_data): Return error code. Be less verbose on error.
15194
15195         * sunplay.c: Use nativesound.h
15196         (play_sound_data): Return error code. Be less verbose on error.
15197
15198         * ntplay.c: Use nativesound.h
15199         (play_sound_data): Return fake error code
15200
15201         * sgiplay.c: Use nativesound.h
15202         (play_sound_data): Return error code
15203
15204         * hpplay.c: Use nativesound.h, partially implement
15205         new error code. Break compilation until finished.
15206         (play_sound_data): error code.
15207
15208         * nativesound.h (play_sound_file):
15209           (play_sound_data): Prototype in new header.
15210
15211 2000-03-31  Andy Piper  <andy@xemacs.org>
15212
15213         * glyphs-widget.c: (button_query_geometry): new function. Adjust
15214         for toggle and radio buttons.
15215         (image_instantiator_buttons): use it.
15216
15217 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
15218
15219         * scrollbar-x.c (x_update_vertical_scrollbar_callback):
15220         (x_update_horizontal_scrollbar_callback): Return if no mirror was
15221         found. Scrollbar event probably belonged to some old config.
15222
15223 2000-03-31  Andy Piper  <andy@xemacs.org>
15224
15225         * glyphs-widget.c (widget_instantiate): use LAYOUT_VERTICAL rather
15226         than 1.
15227         (initialize_widget_image_instance): default layout to
15228         LAYOUT_HORIZONTAL rather than 0.
15229         (widget_instantiate): reverse the item list at the end rather than
15230         every iteration.
15231         (layout_layout): re-code for the border text at the front of the
15232         item list rather than at the end.
15233         (layout_query_geometry): ditto. Pick up fixed and dynamic sizes
15234         provided by the user.
15235         (widget_query_geometry): comment.
15236
15237 2000-03-30  Andy Piper  <andy@xemacs.org>
15238
15239         * glyphs-widget.c (image_instantiator_layout): allow standard
15240         widget keywords in layouts.
15241
15242         * gutter.c (output_gutter): cope with nil gutter contents.
15243
15244         * frame.c (Fset_frame_properties): add gutter docs.
15245
15246 2000-03-29  Andy Piper  <andy@xemacs.org>
15247
15248         * toolbar-msw.c (TBSTYLE_FLAT): add.
15249         (mswindows_output_toolbar): minor fiddling.
15250
15251 2000-03-29  Andy Piper  <andy@xemacs.org>
15252
15253         * gutter.c (output_gutter): force gutter size recalculation if
15254         what we are trying to display won't fit.
15255         (update_gutter_geometry): new function. A per-gutter version of
15256         update_frame_gutter_geometry.
15257         (update_frame_gutter_geometry): use it.
15258         (redraw_exposed_gutter): add extra debugging output.
15259
15260 2000-03-28  Mike Alexander  <mta@arbortext.com>
15261
15262         * dumper.c: Declare pdump_hFile and pdump_hMap (Windows only)
15263         (pdump_file_unmap): Implement it on Windows
15264         (pdump_file_get): Save alocated handles for pdump_file_unmap
15265
15266 2000-03-28  Andy Piper  <andy@xemacs.org>
15267
15268         * gui.c (get_gui_callback): treat Quit specially.
15269
15270 2000-03-27  Andy Piper  <andy@xemacs.org>
15271
15272         * glyphs.c (image_instantiate): be careful to check in the same
15273         way we assigned.
15274
15275 2000-03-27  Didier Verna  <didier@xemacs.org>
15276
15277         * config.h.in: define the proper SMART_INCLUDE macro.
15278         handle renaming of `foo_h_path' to `foo_h_file'.
15279
15280         * database.c: ditto.
15281
15282         * emacs.c: ditto.
15283
15284         * linuxplay.c: ditto.
15285
15286         * terminfo.c: ditto.
15287
15288         * tooltalk.h: ditto.
15289
15290 2000-03-27  Andy Piper  <andy@xemacs.org>
15291
15292         * glyphs-msw.c (mswindows_update_widget): make sure the widget
15293         gets updated whenever the face might have changed.
15294
15295 2000-03-26  Mike Alexander  <mta@arbortext.com>
15296
15297         * dumper.c (pdump_resource_free): Fix the comment.
15298
15299 2000-03-21  Olivier Galibert  <galibert@pobox.com>
15300
15301         * input-method-xlib.c (XIM_init_frame): Remove painful warning.
15302
15303 2000-03-22  Mike Alexander  <mta@arbortext.com>
15304
15305         * dumper.c: Include Windows headers on Windows
15306         (pdump_resource_free): Add a body to the function
15307         (pdump_load): exe_name -> exe_path and add some comments.
15308
15309 2000-03-25  Mike Alexander  <mta@arbortext.com>
15310
15311         * gui.c (copy_gui_item_tree): Return a value in all cases
15312
15313 2000-03-21  Didier Verna  <didier@xemacs.org>
15314
15315         * config.h.in: move INCLUDE_GLUE_1 and INCLUDE_GLUE_2 here from
15316         lwlib/config.h.in.
15317         (SMART_INCLUDE): new macro.
15318         (POSTGRES_INCLUDE): new macro to include postgresql headers from
15319         the proper location.
15320
15321         * postgresql.c: use it.
15322
15323         * inline.c: ditto.
15324
15325 2000-03-24  Andy Piper  <andy@xemacs.org>
15326
15327         * gutter.c (redraw_exposed_gutters): must be "in display" when we
15328         do this.
15329
15330 2000-03-24  Andy Piper  <andy@xemacs.org>
15331
15332         * redisplay-output.c (compare_runes): use image_instance_changed
15333         to detect changes. Do not depend on glyphs_changed, only depend on
15334         dirtiness.
15335          (redisplay_output_layout): add debug messages.
15336         (compare_runes): ditto.
15337
15338         * glyphs.h: declare new functions.
15339         (struct Lisp_Image_Instance): remove percent and associated
15340         accessors.
15341
15342         * gui.h: declare new copying functions.
15343
15344         * gui.c (copy_gui_item_tree): new function.
15345         (copy_gui_item): new function.
15346         (gui_item_id_hash): revert to standard hash.
15347         (gui_item_hash): ditto.
15348         (gui_item_hash_internal): deleted.
15349         (mark_gui_item): mark value.
15350         (gui_item_add_keyval_pair): add value.
15351         (gui_item_init): ditto.
15352         (gui_add_item_keywords_to_plist): ditto.
15353         (gui_item_equal): ditto.
15354         (syms_of_gui): add Q_value.
15355
15356         * glyphs-x.c (x_progress_gauge_update): use pending items and
15357         value for setting the state.
15358         (x_update_widget): don't set items from pending here.
15359
15360         * glyphs-widget.c (update_widget): update items here.
15361         (progress_gauge_set_property): use items for storing value. Put
15362         new value in pending items.
15363
15364         * glyphs-msw.c (mswindows_progress_gauge_update): use pending
15365         items for new value. Convert percent -> value.
15366         (mswindows_tab_control_update): don't update items here.
15367
15368         * glyphs.c (Fupdate_widget_instances): use image_instance_changed.
15369         (update_subwindow): ditto.
15370         (image_instance_changed): new function. Compare hash values and
15371         past and present widget items.
15372         (image_instantiate): We more careful about where we instantiate
15373         things.
15374         (image_instantiate): add error checking.
15375
15376         * gutter.c (syms_of_gutter): use -hook.
15377
15378 2000-03-20  Yoshiki Hayashi  <yoshiki@xemacs.org>
15379
15380         * console-tty.c (Fset_console_tty_input_coding_system): Use
15381         Qkeyboard.
15382         (Fset_console_tty_output_coding_system): Use Qterminal.
15383         (tty_init_console): Use Qkeyboard and Qterminal.
15384
15385 2000-03-21  Ben Wing  <ben@xemacs.org>
15386
15387         * ntproc.c (create_child): remove bogus HAVE_NTGUI's.
15388         From Mike Alexander <mta@arbortext.com>.
15389
15390 2000-03-21  Ben Wing  <ben@xemacs.org>
15391
15392         * event-msw.c (mswindows_need_event): Horrible kludge to fix
15393         process brokenness.  Proper implementation to come.
15394         * callproc.c:
15395         Rename call-process-internal to old-call-process-internal.
15396         New impl. in process.el.
15397
15398 2000-03-21  Martin Buchholz  <martin@xemacs.org>
15399
15400         * Makefile.in.in: Coalesce HAVE_NATIVE_SOUND code fragments.
15401
15402 2000-03-20  Andy Piper  <andy@xemacs.org>
15403
15404         * glyphs.c (full_list_hash): make hashes of the same elements in
15405         different orders return different values.
15406
15407 2000-03-20  Martin Buchholz <martin@xemacs.org>
15408
15409         * XEmacs 21.2.32 is released.
15410
15411 2000-03-20  Martin Buchholz  <martin@xemacs.org>
15412
15413         * buffer.h (DFC_ALLOCA_USE_CONVERTED_DATA):
15414         (DFC_MALLOC_USE_CONVERTED_DATA):
15415         Add aliasing-safe casts to allow use with char* or unsigned char*
15416         lvalues.
15417
15418         * eldap.c (Fldap_open):
15419         (Fldap_search_basic):
15420         (Fldap_add):
15421         (Fldap_modify):
15422         Make C++-compilable.
15423         Make sure GCPRO'ed variables are initialized.
15424         Use temp variables to avoid repeated calls to Flength.
15425
15426 2000-03-16  Martin Buchholz  <martin@xemacs.org>
15427
15428         * sysfile.h:
15429         Make sure PATH_MAX is always defined.
15430         Include limits.h for PATH_MAX.
15431         Deprecate use of MAXPATHLEN.
15432
15433 2000-03-10  Martin Buchholz  <martin@xemacs.org>
15434
15435         * emacs.c: Add reinit_vars_of_fileio.
15436         * symsinit.h: Add reinit_vars_of_fileio.
15437         * fileio.c (reinit_vars_of_fileio): New.
15438         * fileio.c (Fmake_temp_name):
15439         Initialize temp_name random number from microseconds to make
15440         collisions even less likely.  Initialize always at process startup
15441         time.  (make-temp-name) used to return the same file name twice in
15442         a row when PDUMP.
15443         Random stylistic fiddling.
15444         Comment fixes.
15445
15446 2000-03-20  Andy Piper  <andy@xemacs.org>
15447
15448         * glyphs.c (image_instantiate): allow text glyphs to be
15449         instantiated in the minibuffer window.
15450
15451 2000-03-19  Andy Piper  <andy@xemacs.org>
15452
15453         * glyphs.c (image_instance_hash): be careful about which items we
15454         hash on.
15455
15456         * glyphs-widget.c (tab_control_set_property): record into pending
15457         items rather than the actual items.
15458
15459         * glyphs-x.c (x_update_widget): use pending items to update with.
15460
15461         * glyphs-msw.c (mswindows_tab_control_update): use pending items
15462         to update with.
15463
15464         * glyphs.c (mark_image_instance): mark pending items.
15465
15466         * window.c (Fset_window_configuration): record the buffer.
15467         (Fselect_window): totally revert previous change which breaks many
15468         things.
15469
15470 2000-03-18  Andy Piper  <andy@xemacs.org>
15471
15472         * glyphs-msw.c (mswindows_tab_control_update): force selected
15473         item.
15474
15475         * glyphs.c (image_instantiate): don't allow the minibuffer as a
15476         window domain cache, otherwise we get inconsistencies at
15477         startup. There is something fishy at startup which can lead to the
15478         minibuffer being the selected window when the gutter content is
15479         instantiated.
15480
15481         * gui.c (parse_gui_item_tree_list): add probably unnecessary
15482         gcpros.
15483         (parse_gui_item_tree_children): ditto.
15484         (parse_gui_item_tree_item): ditto.
15485
15486         * glyphs.c (Fupdate_widget_instances): return something.
15487
15488 2000-03-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
15489
15490         * window.c (Fselect_window): Undo 2000-03-17 change.
15491
15492 2000-03-17  SL Baur  <steve@musashimaru.m17n.org>
15493
15494         * postgresql.c (Fpq_setenv): Remove this turkey when linking
15495         against v7.0 libraries.  Insta-coredump city until the postgres
15496         folks fix it.
15497
15498 2000-03-17  Andy Piper  <andy@xemacs.org>
15499
15500         * faces.c (complex_vars_of_faces): don't give the widget face an
15501         inherited background pixmap.
15502
15503         * glyphs-msw.c (mswindows_tab_control_instantiate): select the
15504         selected item.
15505
15506         * event-stream.c (Fdispatch_non_command_events): return something.
15507
15508         * gutter.c (output_gutter): use widget face.
15509         (clear_gutter): ditto.
15510
15511         * NEWS: adjust again.
15512
15513         * window.c (Fselect_window): make sure this runs to completion to
15514         avoid oddities with Fset_window_configuration.
15515         (Fcurrent_window_configuration): in general do not save the
15516         minibuffer as the selected window.
15517
15518         * glyphs.h (IMAGE_INSTANCE_HASH_DEPTH): increase.
15519
15520 2000-03-16  Olivier Galibert  <galibert@pobox.com>
15521
15522         * emacs.c (Frunning_temacs_p): Revert previous patch.
15523         (main_1): Reinitialize running_temacs_argc if pdump_load succeeds.
15524
15525 2000-03-16  Andy Piper  <andy@xemacs.org>
15526
15527         * glyphs-x.c (x_tab_control_update): if no widget values then
15528         return.
15529
15530         * NEWS: update for new features.
15531
15532         * event-Xt.c (emacs_Xt_force_event_pending): new function. Post a
15533         synthetic event to the native system.
15534         (reinit_vars_of_event_Xt): set force_event_pending to
15535         emacs_Xt_force_event_pending.
15536
15537         * events.h (struct event_stream): add force_event_pending.
15538
15539         * specifier.c (recompute_one_cached_specifier_in_window): add
15540         comment.
15541
15542         * redisplay.c (redisplay_frame): don't call
15543         update_frame_subwindows. Reset subwindow cachels when
15544         subwindows_changed, removing this was an optimization too far.
15545
15546         * redisplay-output.c (compare_runes): reorganize so that we catch
15547         glyph changes when we want them. Set optimize_output when this
15548         would help layouts.
15549         (redisplay_output_layout): remove frame_really_changed, use
15550         optimize_output instead.
15551
15552         * redisplay-msw.c (mswindows_output_display_block): reset
15553         optimize_output after outputting a glyph.
15554         * redisplay-x.c (x_output_display_block): ditto.
15555         * redisplay-tty.c (tty_output_display_block): ditto.
15556
15557         * gutter.c: (specifier_vars_of_gutter): use new spec changed
15558         functions.
15559         (gutter_specs_changed): do specific gutter positions.
15560         (top_gutter_specs_changed): new function. Only update the
15561         specified gutter specs.
15562         (bottom_gutter_specs_changed): ditto.
15563         (left_gutter_specs_changed): ditto.
15564         (right_gutter_specs_changed): ditto.
15565
15566         * gui.c (gui_item_hash_internal): new function, does a real hash.
15567         (gui_item_id_hash): use it.
15568         (gui_item_hash): hash the eval'ed gui_item.
15569
15570         * gui-x.c (popup_selection_callback): send an eval event to call
15571         Fupdate_widget_instances.
15572
15573         * gui-msw.c (mswindows_handle_gui_wm_command): send an eval event
15574         to call Fupdate_widget_instances.
15575
15576         * glyphs.h (struct Lisp_Image_Instance): add optimize_output flag.
15577         (IMAGE_INSTANCE_OPTIMIZE_OUTPUT): access it.
15578
15579         * glyphs.c: (update_frame_subwindows): deleted.
15580         (Fupdate_widget_instances): new function for updating the dirty
15581         state of widgets that might have changed.
15582         (syms_of_glyphs): add Qupdate_widget_instances.
15583         (full_list_hash): hash a list completely.
15584         (image_instance_hash): use it for items and properties.
15585
15586         * frame-msw.c (mswindows_size_frame_internal): remove unused
15587         variable.
15588
15589         * faces.h (struct face_cachel): fix comment.
15590
15591         * event-stream.c (Fdispatch_non_command_events): new
15592         function. Process non-command events, forcing an event cycle
15593         beforehand.
15594         (syms_of_event_stream): declare.
15595         (event_stream_force_event_pending): new function. Force an event
15596         on the native event queue so that an event cycle will occur next
15597         time we check.
15598
15599         * event-msw.c:
15600         (struct ntpipe_shove_stream):
15601         (mswindows_enqueue_dispatch_event):
15602         (mswindows_dequeue_dispatch_event):
15603         (mswindows_cancel_dispatch_event):
15604         (mswindows_pump_outstanding_events):
15605         (mswindows_drain_windows_queue):
15606         (mswindows_handle_paint):
15607         (mswindows_wnd_proc):
15608         (mswindows_key_to_emacs_keysym):
15609         (get_process_input_waitable):
15610         (emacs_mswindows_delete_stream_pair): re-indent file.
15611         (mswindows_need_event): do not process further fds if the windows
15612         fd is set, otherwise you get endless XM_BUMPQUEUE cycles. This
15613         fixes the 100% cpu problem.
15614         (reinit_vars_of_event_mswindows): set force_event_pending to 0.
15615
15616 2000-03-15  Olivier Galibert  <galibert@pobox.com>
15617
15618         * alloc.h: New.
15619         * dumper.h: New.
15620         * dumper.c: New.
15621
15622         * emacs.c: Moved dump file searching to dumper.c.
15623         (Frunning_temacs_p): Fixed.
15624
15625         * alloc.c: Moved everything pdump-related to dumper.c.  Removed
15626         last_lrecord_type_index_assigned.
15627
15628 2000-02-20  Olivier Galibert  <galibert@pobox.com>
15629
15630         * symsinit.h: Added reinit parameter to init_console_stream
15631         declaration.
15632
15633         * lisp.h: Added file parameter to pdump_load declaration.
15634
15635         * emacs.c (main_1): Added -nd/--nodump-file and -sd/--show-dump-id
15636         support.  Added dump file searching.
15637
15638         * config.h.in: Added EMACS_PROGNAME.
15639
15640         * console-stream.c (init_console_stream): Fix reinitialisation
15641         when running from temacs.
15642
15643         * alloc.c (pdump): Add id support.
15644         (pdump_load): Add file parameter and signature/id support.
15645
15646         * Makefile.in.in: Add full pdump support.
15647
15648 2000-03-15  SL Baur  <steve@musashimaru.m17n.org>
15649
15650         * postgresql.c: Update documentation to reflect latest code
15651         status.
15652         (print_result): Show tuple counts in printed representation when
15653         appropriate.
15654         (Fpq_put_nbytes): MULE-ize.
15655         (Fpq_get_line_async): Ditto.
15656
15657 2000-03-14  SL Baur  <steve@musashimaru.m17n.org>
15658
15659         * postgresql.c (Fpq_lo_import): Fix return value.
15660         Suggested by: Kenji Itoh <keit@tpj.co.jp>.
15661
15662 2000-03-13  Ben Wing  <ben@xemacs.org>
15663
15664         * alloc.c (pdump_load):
15665         Fix compile warning under mswin.
15666
15667 2000-03-14  SL Baur  <steve@musashimaru.m17n.org>
15668
15669         * postgresql.c: Mule-ization, bug fixes.
15670         Use PG_CODING to encapsulate coding system name changes.
15671         Backport a version of TO_EXTERNAL format for 21.1/InfoDock.
15672         (pg-coding-system): Create.
15673
15674         (Fpq_conn_defaults): Mule-ize.
15675         (Fpq_connectdb): Mule-ize & bug fix.
15676         (Fpq_connect_start): Mule-ize.
15677         (Fpq_set_client_encoding): Mule-ize.
15678         (Fpq_finish): Document `DEAD' connection status.
15679         (Fpq_clear): Ditto.
15680         (Fpq_pgconn): Mule-ize.
15681         (Fpq_exec): Mule-ize & bug fix.
15682         (Fpq_send_query): Ditto.
15683         (Fpq_get_result): Ditto.
15684         (Fpq_res_status): Mule-ize.
15685         (Fpq_result_error_message): Mule-ize.
15686         (Fpq_ntuples): fix comments.
15687         (Fpq_fname): Mule-ize.
15688         (Fpq_fnumber): Mule-ize.
15689         (Fpq_ftype): fix comments.
15690         (Fpq_get_value): Mule-ize.
15691         (Fpq_cmd_status): Ditto.
15692         (Fpq_cmd_tuples): Ditto.
15693         (Fpq_oid_value): Ditto.
15694         (Fpq_notifies): Ditto.
15695         (Fpq_lo_import): Ditto.
15696         (Fpq_lo_export): Ditto.
15697         (Fpq_get_line): Ditto.
15698         (Fpq_put_line): Mule-ize and bug fix.
15699         (syms_of_postgresql): Fix ifdef'ing, add pg-coding-system.
15700
15701 2000-03-10  SL Baur  <steve@musashimaru.m17n.org>
15702
15703         * postgresql.c (vars_of_postgresql): Mule-ize.
15704         (Fpq_conn_defaults): Ditto.
15705
15706 2000-03-12  Ben Wing  <ben@xemacs.org>
15707
15708         * alloc.c (Fmake_byte_code):
15709         * alloc.c (debug_string_purity_print):
15710         * alloc.c (pdump_backtrace):
15711         * alloc.c (pdump_get_indirect_count):
15712         * alloc.c (pdump_register_sub):
15713         * alloc.c (pdump_register_object):
15714         * alloc.c (pdump_register_struct):
15715         * alloc.c (pdump_dump_data):
15716         * alloc.c (pdump_reloc_one):
15717         Minor cleanups.
15718
15719         * console-msw.c:
15720         * console-msw.c (GetConsoleHwnd):
15721         * console-msw.c (msw_hide_console):
15722         * console-msw.c (msw_show_console):
15723         * console-msw.c (msw_ensure_console_buffered):
15724         * console-msw.c (msw_output_console_string):
15725         * console-msw.c (console_type_create_mswindows):
15726
15727         a) Added functions to manipulate the console window for use with
15728         shell support.
15729
15730         b) Added support for writing text to the console, which is now
15731         used under Windows when xemacs is not being run non-interactively,
15732         to write text that would otherwise be destined for stdout because
15733         under these circumstances, text written to stdout tends to
15734         disappear and not be seen.
15735
15736         * console-msw.h:
15737         * event-Xt.c:
15738         * event-Xt.c (x_event_to_emacs_event):
15739         * event-Xt.c (describe_event_window):
15740         * events-mod.h (XEMACS_MOD_CONTROL):
15741         * events.c:
15742         * events.c (Fmake_event):
15743         * events.c (character_to_event):
15744         * events.c (event_to_character):
15745         * events.c (format_event_object):
15746         * events.c (Fevent_modifiers):
15747         * events.h:
15748         * events.h (struct key_data):
15749         * events.h (struct button_data):
15750         * events.h (struct misc_user_data):
15751         * frame-x.c (Fcde_start_drag_internal):
15752         * frame-x.c (Foffix_start_drag_internal):
15753         * gpmevent.c (Freceive_gpm_event):
15754         * keymap.c:
15755         * keymap.c (bucky_sym_to_bucky_bit):
15756         * keymap.c (control_meta_superify):
15757         * keymap.c (make_key_description):
15758         * keymap.c (keymap_lookup_directly):
15759         * keymap.c (create_bucky_submap):
15760         * keymap.c (keymap_store):
15761         * keymap.c (define_key_check_and_coerce_keysym):
15762         * keymap.c (define_key_parser):
15763         * keymap.c (define_key_alternate_name):
15764         * keymap.c (Fdefine_key):
15765         * keymap.c (raw_lookup_key_mapper):
15766         * keymap.c (struct map_keymap_unsorted_closure):
15767         * keymap.c (map_keymap_unsorted_mapper):
15768         * keymap.c (map_keymap_sort_predicate):
15769         * keymap.c (map_keymap_sorted):
15770         * keymap.c (accessible_keymaps_mapper_1):
15771         * keymap.c (where_is_recursive_mapper):
15772         * keymap.c (describe_map_mapper):
15773         * keymap.c (describe_map_sort_predicate):
15774         * keymap.c (describe_map):
15775         * keymap.c (complex_vars_of_keymap):
15776         And a number of other files, the key modifier preprocessor
15777         constants that xemacs uses have names that conflict with constants
15778         defined under MS Windows for other purposes, so they were renamed
15779         to begin with the prefix XEMACS_. The variables that hold such
15780         modifiers were changed to consistently be of type int to fix
15781         various compile warnings.
15782
15783         * console.c (complex_vars_of_console):
15784         * device.c:
15785         * device-msw.c:
15786         * device-msw.c (mswindows_finish_init_device):
15787         * device-msw.c (msw_get_workspace_coords):
15788         * device-msw.c (mswindows_device_system_metrics):
15789         and various other files, added support for a new
15790         device property called offset-workspace which returns the position
15791         of the upper left corner of the workspace area and goes along with
15792         the existing size-workspace property.
15793
15794         * dialog-msw.c:
15795         * dialog-msw.c (push_bufbyte_string_as_unicode):
15796         * dialog-msw.c (mswindows_popup_dialog_box):
15797         Added support for XEmacs-style accelerator specifications in
15798         button text.  Note: I didn't add support for this under X Windows,
15799         and somebody needs to do this.
15800
15801         * dialog.c:
15802         * dialog.c (Fpopup_dialog_box):
15803         Documented the support for accelerators that was just mentioned.
15804
15805         editfns.c (get_home_directory): Changed behavior under Windows
15806         when HOME not defined; former behavior was irretrievably broken.
15807
15808         * emacs.c:
15809         * emacs.c (main_1):
15810         * emacs.c (main):
15811         * minibuf.c (clear_echo_area_internal):
15812         * minibuf.c (echo_area_append):
15813         * print.c:
15814         * print.c (std_handle_out_external):
15815         * print.c (std_handle_out_va):
15816         * print.c (fatal):
15817         * print.c (write_string_to_stdio_stream):
15818         * print.c (output_string):
15819         * print.c (debug_print):
15820         * print.c (debug_backtrace):
15821         * print.c (debug_short_backtrace):
15822         Cleaned up the code that prints text to stdout so that this can be
15823         changed to output into a console window instead under MS Windows,
15824         as described above.
15825
15826         * eval.c:
15827         * eval.c (DEFEND_AGAINST_THROW_RECURSION):
15828         * eval.c (internal_catch):
15829         * eval.c (unwind_to_catch):
15830         * eval.c (throw_or_bomb_out):
15831         * eval.c (condition_case_1):
15832         * eval.c (signal_1):
15833         * eval.c (check_error_state_sanity):
15834         * eval.c (call_with_suspended_errors_1):
15835         * eval.c (call_with_suspended_errors):
15836         * eval.c (reinit_vars_of_eval):
15837         Added code to catch throw loops and check for a pesky bug that may
15838         be gone now.
15839
15840         * event-msw.c:
15841         * event-msw.c (key_needs_default_processing_p):
15842         * event-msw.c (mswindows_wnd_proc):
15843         * event-msw.c (mswindows_modifier_state):
15844         * event-msw.c (emacs_mswindows_quit_p):
15845         * event-msw.c (vars_of_event_mswindows):
15846         a) Added support for using the alt key to select menu items as is
15847         standard under MS Windows.  This is controlled using the variable
15848         menu-accelerator-enabled, just like under X Windows.  There is an
15849         option on the options menu to turn this support on.  I really
15850         think that it should be on by default under Windows, but I'm not
15851         going to make this change yet.
15852
15853         b)  Added support for dynamic display size changes under Windows.
15854
15855         * event-stream.c:
15856         * event-stream.c (maybe_echo_keys):
15857         * event-stream.c (Fnext_event):
15858         * event-stream.c (command_builder_find_leaf):
15859         * event-stream.c (lookup_command_event):
15860         * event-stream.c (execute_command_event):
15861         * event-stream.c (pre_command_hook):
15862         * event-stream.c (post_command_hook):
15863         * event-stream.c (syms_of_event_stream):
15864         * event-stream.c (vars_of_event_stream):
15865         * event-stream.c (complex_vars_of_event_stream):
15866         * events.h (struct command_builder):
15867
15868         a) Tried to clean up a little bit the horribly written x-specific
15869         accelerator code that crept into this file.  I moved this code
15870         into menubar-x.c where it belongs. I also needed to move the
15871         command builder structure into the file events.h because it is
15872         accessed directly by this accelerator code.  What I didn't do, but
15873         which should be done at some point, is to properly abstract this
15874         code using device methods instead of the kludgy way that it
15875         currently hooks into the event code.
15876
15877         b) Added the lisp variables this-command-properties and
15878         last-command- properties, which should be used to synchronize two
15879         adjacent commands in preference to playing games with the variable
15880         this-command, which is typically what happens.
15881
15882         c) Added some slightly nasty code to hook into the lisp support
15883         for shifted- motion-key selection.  This is actually necessary for
15884         somewhat complicated reasons, which are described in
15885         simple.el. (NB: I think the proper thing would be to have the code
15886         that calls the pre and post command hooks also call out to generic
15887         lisp functions in simple.el, where all built-in stuff could be
15888         added.  I will think about this more.)
15889
15890         * event-unixoid.c (poll_fds_for_input):
15891         * lread.c (readchar):
15892         * redisplay-tty.c (tty_clear_frame):
15893         * redisplay-x.c (x_get_gc):
15894         * signal.c (interrupt_signal):
15895         And a whole bunch of other files: fixed up places that printed
15896         directly to stderr to instead call the function stderr_out so that
15897         the changes I made under Windows work correctly.
15898
15899         * filemode.c (mode_string):
15900         Warning fixes.
15901
15902         * frame-msw.c:
15903         * frame-msw.c (mswindows_size_frame_internal):
15904         Fixed the computation of frame size and position to keep the frame
15905         within the workspace area, rather than within the physical
15906         dimensions of the screen, so that the frame doesn't overlap window
15907         manager decorations, such as the start menu and toolbar, typically
15908         at the bottom of the screen.
15909
15910         * frame.c (vars_of_frame):
15911         Changed the default frame title format under MS Windows to consist
15912         of buffername-XEmacs, which is standard under MS Windows.  I think
15913         it might be a good idea to change this everywhere because I think
15914         it is superior to the current frame title format, but this is the
15915         kind of change that is likely to cause some people to get annoyed,
15916         so I'm not making it.
15917
15918         * glyphs-eimage.c (png_instantiate): Fixed some compile warnings.
15919
15920         * gui-msw.c (mswindows_handle_gui_wm_command):
15921         Fixed compile warnings.
15922
15923         * gui-x.c:
15924         * gui-x.c (strdup_and_add_accel):
15925         * gui-x.c (button_item_to_widget_value):
15926         * gui-x.h:
15927         Added code to automatically put an accelerator onto the beginning
15928         of menu items that don't have one as is now the standard, and is
15929         described more later.  Also fixed things so that the menu item
15930         name can be an evaluated expression, again a new standard.
15931
15932         * gui.c:
15933         * gui.c (gui_item_add_keyval_pair):
15934         * gui.c (make_gui_item_from_keywords_internal):
15935         * gui.c (gui_add_item_keywords_to_plist):
15936         * gui.c (gui_item_accelerator):
15937         * gui.c (gui_name_accelerator):
15938         * gui.c (gui_item_included_p):
15939         * gui.c (gui_item_display_flush_left):
15940         * gui.c (gui_item_display_flush_right):
15941         * gui.c (parse_gui_item_tree_item):
15942         * gui.c (parse_gui_item_tree_children):
15943         * gui.c (parse_gui_item_tree_list):
15944         Mule-ized.  Cleanup.  GCPRO addition.
15945
15946         * line-number.c (buffer_line_number):
15947         * lisp.h:
15948         * lisp.h (EMACS_INT_MAX):
15949         Added the manifest constant EMACS_INT_MIN corresponding to the
15950         existing constant EMACS_INT_MAX.  This is partially to fix compile
15951         warnings under Windows, and partly for cleanliness.
15952
15953         * menubar-msw.c:
15954         * menubar-msw.c (REPLACE_ME_WITH_GLOBAL_VARIABLE_WHICH_CONTROLS_RIGHT_FLUSH):
15955         * menubar-msw.c (msw_translate_menu_or_dialog_item):
15956         * menubar-msw.c (displayable_menu_item):
15957         * menubar-msw.c (populate_menu_add_item):
15958         * menubar-msw.c (populate_or_checksum_helper):
15959         * menubar-msw.c (populate_menu):
15960         * menubar-msw.c (update_frame_menubar_maybe):
15961         * menubar-msw.c (prune_menubar):
15962         * menubar-msw.c (msw_char_is_accelerator):
15963         * menubar-msw.c (unsafe_handle_wm_initmenu_1):
15964         * menubar-msw.c (mswindows_handle_wm_command):
15965         * menubar-msw.c (mswindows_handle_wm_initmenupopup):
15966         * menubar-msw.c (mswindows_handle_wm_initmenu):
15967         * menubar-msw.c (mswindows_update_frame_menubars):
15968         * menubar-msw.c (mswindows_free_frame_menubars):
15969         * menubar-msw.c (mswindows_popup_menu):
15970         Fixed a bug in handling accelerators where an extra character
15971         would be displayed in the menu item.  Also generalized the
15972         function displayable_menu_item because it is now used by the
15973         dialog box code as well.  And finally, added code in the functions
15974         that create the menubar to extract a list of accelerators for the
15975         top level menubar, which is used in the event code to determine
15976         whether a particular alt-key combination should be used to invoke
15977         a menu item, or should be passed through to access the standard
15978         XEmacs keymap binding for this key combination.
15979
15980         Much needed GCPROing.
15981
15982         * menubar-x.c:
15983         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
15984         * menubar-x.c (menu_item_descriptor_to_widget_value):
15985         * menubar-x.c (restore_in_menu_callback):
15986         * menubar-x.c (x_popup_menu):
15987         * menubar-x.c (menu_move_up):
15988         * menubar-x.c (menu_move_down):
15989         * menubar-x.c (menu_move_left):
15990         * menubar-x.c (menu_move_right):
15991         * menubar-x.c (menu_select_item):
15992         * menubar-x.c (command_builder_operate_menu_accelerator):
15993         * menubar-x.c (menu_accelerator_junk_on_error):
15994         * menubar-x.c (command_builder_find_menu_accelerator):
15995         * menubar-x.c (Faccelerate_menu):
15996         * menubar.h:
15997         Moved a whole bunch of code here that was previously in
15998         event-stream.c as described above.  There is also code connected
15999         to the new standard of adding an accelerator to the beginning of
16000         menu items that don't have one as described above and below.
16001
16002         * menubar.c:
16003         * menubar.c (menu_parse_submenu_keywords):
16004         * menubar.c (Fmenu_find_real_submenu):
16005         * menubar.c (Fnormalize_menu_item_name):
16006         * menubar.c (syms_of_menubar):
16007         * menubar.c (vars_of_menubar):
16008         * menubar.c (complex_vars_of_menubar):
16009
16010         a) Cleaned up a bunch of documentation and improved it.
16011
16012         b) XEmacs now automatically adds an accelerator onto the beginning
16013         of any menu items that don't have one.  I did this because there
16014         will inevitably be some menu items on the main menubar that don't
16015         have accelerators on them because the package that adds that
16016         particular menu item hasn't yet been fixed up to have accelerators
16017         in them and it looked rather strange to have some items with and
16018         some items without accelerators, especially since even in items
16019         without accelerators, you can, at least under windows, still
16020         access the item through an accelerator corresponding to the first
16021         character in the item's name.  If people don't like this behavior,
16022         I can add a variable to turn it off optionally, but I'm not sure
16023         this is a good idea because we really do need to have accelerators
16024         on all of the menu items, and if a package doesn't like the
16025         accelerators being put on the first character, then it should put
16026         the accelerators where they belong.
16027
16028         c) I made a behavior change, which is that the descriptor that
16029         specifies the text of the menu item, which formerly was just a
16030         string, can now also be an evaluated expression.  This makes this
16031         descriptor parallel with all of the others, which could also be
16032         evaluated expressions.  This also obviates the need for the
16033         keyword :label, which was previously listed in the documentation
16034         as unimplemented, and which was for the same purpose.
16035
16036         d) GCPROing.
16037
16038         * ntproc.c:
16039         * ntproc.c (new_child):
16040         * ntproc.c (sys_spawnve):
16041         * ntproc.c (find_child_console):
16042         * ntproc.c (sys_kill):
16043         Fixed compile warnings.  By the way, this file should really go
16044         away entirely, and this will happen as soon as Kirill makes his
16045         final round of process cleanups, which affect the function
16046         call-process.
16047
16048         * process-nt.c:
16049         * process-nt.c (struct nt_process_data):
16050         * process-nt.c (find_process_from_pid):
16051         * process-nt.c (send_signal_the_nt_way):
16052         * process-nt.c (enable_child_signals):
16053         * process-nt.c (find_child_console):
16054         * process-nt.c (send_signal_the_95_way):
16055         * process-nt.c (nt_finalize_process_data):
16056         * process-nt.c (ensure_console_window_exists):
16057         * process-nt.c (nt_create_process):
16058         * process-nt.c (nt_kill_child_process):
16059         * process-nt.c (nt_kill_process_by_pid):
16060         * process-nt.c (nt_open_network_stream):
16061         * process-nt.c (vars_of_process_nt):
16062         Copied over code from Emacs 20.5 to correctly send signals to sub-
16063         processes under Windows 95.  Also added code to automatically
16064         create and hide console window when a sub-process is created under
16065         Windows 95, which obviates the need for the separate runemacs.exe
16066         executable, and finally implemented some variables that were
16067         implemented in Emacs 20.5, but previously not in XEmacs.  These
16068         include mswindows- start-process-share-console and
16069         mswindows-start-process-inherit-error-mode. (Both of these only
16070         apply to Windows 95.)
16071
16072         * regex.c (regex_compile): Fixed a compile warning.
16073
16074         * select-msw.c:
16075         * select-msw.c (mswindows_own_selection):
16076         * select-msw.c (mswindows_get_foreign_selection):
16077         * select-msw.c (mswindows_disown_selection):
16078         * select-msw.c (console_type_create_select_mswindows):
16079         * select-msw.c (syms_of_select_mswindows):
16080         Cleaned up the file and implemented the device method
16081         selection_exists_p, which had accidentally been left out.  Also
16082         removed four lisp functions that were remnants from before the
16083         time when the selection code was properly device abstracted.
16084         These functions are no longer needed because there are generic
16085         equivalents, and because they were added recently and don't exist
16086         in FSF Emacs, I don't think there's any problem with just deleting
16087         them.
16088
16089         * sysdep.c:
16090         * sysdep.c (sys_subshell):
16091         Fixed a compile warning, although in this case there's probably
16092         something wrong with this code, and it ought to be looked into
16093         more thoroughly by somebody who understands it.
16094
16095         * window.c:
16096         * window.c (Fwindow_text_area_height):
16097         * window.c (Fwindow_width):
16098         * window.c (Fwindow_full_width):
16099         * window.c (Fwindow_pixel_width):
16100         * window.c (debug_print_window):
16101         * window.c (syms_of_window):
16102         Added functions window-text-area-height and window-full-width,
16103         which are functions for returning various width and height
16104         characteristics of a window. (One of these functions is necessary
16105         for making the file dialog box work correctly, and the other one
16106         was added for completeness.)  Also added a table to the
16107         documentation for window-height which describes the entire scheme
16108         for accessing width and height characteristics of a window.
16109
16110 2000-03-12  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16111
16112         * nt.c (fstat): Added a comment for another problem with
16113         non-encapsulated [f]stat(), reported by Adrian Aichner
16114         <aichner@ecf.teradyne.com>.
16115
16116 2000-03-11  Andy Piper  <andy@xemacs.org>
16117
16118         * window.c (make_dummy_parent): initialize subwindow instance
16119         cache.
16120         (Fset_window_configuration): zero extent_modiff.
16121
16122 2000-03-10  Andy Piper  <andy@xemacs.org>
16123
16124         * redisplay.c (Fredraw_frame): reset the changed_set flags so that
16125         more changes can be triggered.
16126         (Fredisplay_frame): ditto.
16127         (Fredraw_device): ditto.
16128         (Fredisplay_device): ditto.
16129         (redisplay_frame): make non-static.
16130         (redisplay_frame): call update_frame_gutter_geometry outside of
16131         display proper.
16132
16133         * gutter.h: declare update_frame_gutter_geometry.
16134
16135         * redisplay.h: declare redisplay_frame.
16136
16137         * gutter.c (update_frame_gutter_geometry): move geometry changes
16138         in update_frame_gutters here. Geometry changes can only occur
16139         outside of redisplay.
16140         (update_frame_gutters): remove geometry change code.
16141         (Fredisplay_gutter_area): make sure that we are in display when we
16142         update and that we have flushed any size changes.
16143
16144 2000-03-11  Andy Piper  <andy@xemacs.org>
16145
16146         * alloc.c (pdump_dump_data): remove i & count shadows.
16147
16148 2000-02-27  Mike Alexander  <mta@arbortext.com>
16149
16150         * sysdep.h: Declare pdump_read_file
16151
16152         * sysdep.c (pdump_read_file): New function
16153
16154         * alloc.c (pdump_load): Call pdump_read_file to get the portable
16155         dump data
16156
16157 2000-03-10  SL Baur  <steve@musashimaru.m17n.org>
16158
16159         * lrecord.h: add `lrecord_type_pgsetenv'.
16160
16161 2000-03-08  SL Baur  <steve@musashimaru.m17n.org>
16162
16163         * symsinit.h: declare (vars|syms)_of* functions.
16164         * lrecord.h: add `lrecord_type_pgconn' and 'lrecord_type_pgresult'.
16165
16166 2000-03-06  SL Baur  <steve@musashimaru.m17n.org>
16167
16168         * config.h.in: Add symbols HAVE_POSTGRESQL and HAVE_POSTGRESQLV7
16169
16170         * inline.c: Include postgresql.h lrecord stuffs to placate buggy
16171         GCCs.
16172
16173         * emacs.c (main_1): Call postgres initialization code.
16174
16175         * postgresql.h: New file.  PostgreSQL RDBMS support.
16176         * postgresql.c: New file.
16177
16178 2000-03-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
16179
16180         * redisplay-output.c (redisplay_output_display_block): Disable
16181         redundant code.
16182
16183 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
16184
16185         * mule-canna.c (Fcanna_henkan_region): Translate doc-string.
16186         (Fcanna_henkan_next): Ditto.
16187         (Fcanna_bunsetu_henkou): Ditto.
16188         (Fcanna_henkan_kakutei): Ditto.
16189         (Fcanna_henkan_end): Ditto.
16190         (Fcanna_henkan_quit): Ditto.
16191         (Fcanna_henkan_next): Set retun value correctly.
16192         (c2mu): Use unsigned char instead of signed char.
16193
16194 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
16195
16196         * emacs.c (main_1): Always call syms_of_gui.
16197         * inline.c: include gui.h
16198
16199 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
16200
16201         * redisplay.c (Vvisible_bell): Renamed from visible_bell and
16202         converted to Lisp_Object.
16203         (Qtop_bottom): New variable.
16204         (syms_of_redisplay): Initialize it.
16205         * redisplay.h (Vvisible_bell): Ditto.
16206         * sound.c (ding): Ditto and check if Vvisible_bell is nil.
16207         * redisplay-x.c (x_flash): When Vvisible_bell is top-bottom,
16208         only flash top and bottom.
16209
16210 2000-03-08  Andy Piper  <andy@xemacs.org>
16211
16212         * buffer.c (Frename_buffer): record new buffer name the right way.
16213
16214 2000-03-08  Andy Piper  <andy@xemacs.org>
16215
16216         * glyphs.c (update_subwindow): increase hash depth so that widget
16217         items get picked up properly.
16218
16219         * redisplay-output.c (compare_runes): increase hash depth so that
16220         widget items get picked up properly.
16221
16222 2000-03-08  Andy Piper  <andy@xemacs.org>
16223
16224         * gutter.c (output_gutter): add some debug.
16225
16226         * glyphs.h (struct Lisp_Image_Instance): add display_hash.
16227         (IMAGE_INSTANCE_DISPLAY_HASH): new macro.
16228         (XIMAGE_INSTANCE_DISPLAY_HASH): ditto.
16229
16230         * redisplay-output.c (compare_runes): use display_hash to
16231         determine if glyphs really are not the same.
16232
16233         * glyphs.c (update_subwindow): check display_hash to see if
16234         anything really needs to be updated. If not then do
16235         nothing. Record the display_hash after updating.
16236         (image_instance_equal): compare the image_instance face also.
16237
16238 2000-03-07  Yoshiki Hayashi  <yoshiki@xemacs.org>
16239
16240         * redisplay.h: Fix comment style.
16241
16242 2000-03-08  Jonathan Harris  <jhar@tardis.ed.ac.uk>
16243
16244         * consle-msw.h (struct mswindows_frame):
16245         Added new member paint_pending to indicate whether a WM_PAINT
16246         magic event has been queued for this frame.
16247
16248         * event-msw.c (mswindows_drain_windows_queue):
16249         Don't queue a WM_PAINT magic event if one is already queued.
16250         (emacs_mswindows_handle_magic_event): clear paint_pending flag.
16251
16252         * frame-msw.c (mswindows_init_frame_1): initialise paint_pending flag.
16253
16254 2000-03-07  Didier Verna  <didier@xemacs.org>
16255
16256         * dired.c: #include `regex.h' after `sysfile.h'.
16257
16258 2000-03-06  Martin Buchholz  <martin@xemacs.org>
16259
16260         * sound.c (init_nas_sound): Fix compiler warning.
16261
16262         * alloc.c (ALIASING_VOIDPP_DEREFERENCE): New.
16263         (FREE_STRUCT_P):
16264         (MARK_STRUCT_AS_FREE):
16265         (MARK_STRUCT_AS_NOT_FREE):
16266         Make `gcc -fstrict-aliasing' work properly.
16267
16268 2000-03-07  Jonathan Harris  <jhar@tardis.ed.ac.uk>
16269
16270         * device-msw.c (mswindows_finish_init_device): Call CoInitialize().
16271         (mswindows_delete_device): Call CoUnnitialize().
16272
16273         * event-msw.c (mswindows_wnd_proc): WM_DROPFILES: Decode Shortcuts.
16274
16275 2000-02-25    <CraigL@DyCon.com>
16276
16277         * process-nt.c: MinGW now has <shellapi.h>, but still needs
16278         <errno.h>.
16279
16280         * sysdep.c: This extern declaration for environ prevents MinGW
16281         from finding the variable in CRTDLL.DLL.
16282
16283         * s\mingw32.h (PBS_SMOOTH): Removed, now defined in cygwin's
16284         windows headers.
16285         (SHGFI_EXETYPE): ..
16286         (WM_MOUSEWHEEL): ..
16287         (_WIN32_IE): Added, needed to get the TCS_BOTTOM and TCS_VERTICAL
16288         definitions.
16289         (MMRESULT): Removed, now defined in cygwin's windows headers.
16290         (TIMECAPS): ..
16291         (uid_t,gid_t,pid_t,ssize_t): ..
16292         (_timeb): Removed, MinGW defines both _timeb and timeb.
16293         (HAVE_H_ERRNO): Added.
16294         (HAVE_TZNAME): Added, configure is not detecting this.
16295
16296 2000-02-03  IKEYAMA Tomonori <tomonori@suiyokai.org>
16297
16298         * chartab.h (XCHAR_TABLE_VALUE_UNSAFE): New macro.
16299         * syntax.c (syntax_match): Use it.
16300
16301         * cmds.c: Import auto-fill-chars from FSF Emacs.
16302         (Vauto_fill_chars): New variables.
16303         (internal_self_insert): Check Vauto_fill_chars.
16304         (vars_of_cmds):
16305         Declare auto-fill-chars as a Lisp variable and initialize it.
16306
16307 2000-03-05  Jonathan Harris  <jhar@tardis.ed.ac.uk>
16308
16309         * fileio.c (Fmake_symbolic_link):
16310         (Ffile_symlink_p):
16311         Run handlers even if local machine doesn't have symlinks.
16312
16313 2000-03-05  Jonathan Harris  <jhar@tardis.ed.ac.uk>
16314
16315         * event-msw.c (mswindows_drain_windows_queue):
16316         Don't generate paint magic events for non-XEmacs frames.
16317
16318 2000-03-05  Andy Piper  <andy@xemacs.org>
16319
16320         * redisplay.c (redisplay_frame): generate_displayable_area and
16321         friends assumes that we are not in GC, we therefore have to make
16322         sure that this doesn't happen.
16323
16324         * gutter.c (calculate_gutter_size): generate_displayable_area
16325         assumes that we are not in GC, we therefore have to make sure that
16326         this doesn't happen.
16327
16328 2000-03-05  Martin Buchholz  <martin@xemacs.org>
16329
16330         * opaque.c (DEFINE_LRECORD_IMPLEMENTATION): opaque_ptr ==> opaque-ptr
16331
16332 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
16333
16334         * redisplay.c (regenerate_window): Make sure we set a sane value
16335         for end_pos even if we jump out of the loop.
16336         (regenerate_window): Answer Ben's question :-).
16337         (start_end_of_last_line): Add may_error argument.
16338         (start_of_last_line):
16339         (end_of_last_line): Pass may_error = 0.
16340         (end_of_last_line_may_error): New function.
16341         (pixel_to_glyph_translation): Use it, so we don't crash in
16342         event_to_glyph.
16343
16344 2000-03-04  Andy Piper  <andy@xemacs.org>
16345
16346         * window.h (struct window): add gutter_extent_modiff.
16347
16348         * window.c (allocate_window): zero out gutter_extent_modiff.
16349
16350         * redisplay.h: declare sync_display_line_structs.
16351
16352         * redisplay.c (add_glyph_rune): add a better comment.
16353
16354         * redisplay-output.c (sync_display_line_structs): made non-static.
16355         (compare_runes): remove unneccesary glyph cachel access.
16356
16357         * gutter.h: declare gutter_extent_signal_changed_region_maybe.
16358
16359         * gutter.c (output_gutter): don't output the gutter if extent
16360         changes only involve extents in buffers. use 4 sets of display
16361         lines.
16362         (gutter_extent_signal_changed_region_maybe): new function. Mark
16363         extents in gutters as changed.
16364         (update_frame_gutters): use 4 sets of display lines.
16365         (reset_gutter_display_lines): ditto.
16366         (free_frame_gutters): ditto.
16367         (redraw_exposed_gutter): force output of gutters.
16368
16369         * frame.h (struct frame): add 4 sets of gutter display lines.
16370
16371         * extents.c: (extent_changed_for_redisplay): signal changes to
16372         extents in strings in the gutter as well as extents in buffers.
16373
16374 2000-03-02  Andy Piper  <andy@xemacs.org>
16375
16376         * gutter.c (specifier_vars_of_gutter): cosmetic changes.
16377
16378         * frame.c (Fmake_frame): make sure the gutters get initialized
16379         after the frame is visible.
16380         (set_frame_selected_window): re-arrange compilation macros a
16381         little.
16382         (change_frame_size_1): mark gutters changed.
16383
16384         * device.c (Fset_device_class): mark gutters changed.
16385
16386 2000-03-01  Andy Piper  <andy@xemacs.org>
16387
16388         * window.c (window_top_frame_gutter_height): deleted.
16389         (window_bottom_frame_gutter_height): ditto.
16390         (window_left_frame_gutter_height): ditto.
16391         (window_right_frame_gutter_height): ditto.
16392         (window_top_gutter_height): don't use them.
16393         (window_bottom_gutter_height): ditto.
16394         (window_left_gutter_width): ditto.
16395         (window_right_gutter_width): ditto.
16396         (Fsplit_window): ditto.
16397         (Fwindow_pixel_edges): don't use border dimensions here.
16398
16399         * scrollbar.c (update_scrollbar_instance): don't take gutters into account.
16400         (update_scrollbar_instance): ditto.
16401
16402         * redisplay.c (generate_modeline): don't take gutters into account.
16403         (generate_modeline): ditto.
16404         (redisplay_frame): small gutter display optimization.
16405
16406         * redisplay-x.c (x_output_vertical_divider): don't take gutters into account.
16407
16408         * redisplay-msw.c (mswindows_output_vertical_divider): don't take
16409         gutters into account.
16410
16411         * gutter.h (WINDOW_REAL_*_GUTTER_BOUNDS): remove bogus checks
16412         for window position and type.
16413
16414         * gutter.c (get_gutter_coords): fix for frame gutters.
16415         (update_frame_gutters): update frame geometry if the gutters have
16416         changed.
16417         (init_frame_gutters): record current gutter geometries.
16418
16419         * glyphs-msw.c (mswindows_subwindow_instantiate): remove unused
16420         var.
16421         (mswindows_widget_instantiate): ditto.
16422
16423         * frame.h (struct frame): add current_gutter_bounds.
16424
16425         * frame.c (change_frame_size_1): position window and minibuffer
16426         appropriately taking into account the frame gutters.
16427
16428         * frame-x.c: (x_initialize_frame_size): take into account the
16429         frame gutters.
16430
16431 2000-02-29  Stephen J. Turnbull  <stephen@xemacs.org>
16432
16433         * emacs.c (data-directory):  Xref `locate-data-file' in docstring.
16434
16435 2000-02-29  Stephen J. Turnbull  <stephen@xemacs.org>
16436
16437         * alloc.c (dumpopaquevec): Increase dimension for --with-canna.
16438
16439 1999-12-30  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
16440
16441         * file-coding.c (reset_decoding_stream): Clear previous
16442         detection state when autodetect.
16443
16444 2000-02-29  Didier Verna  <didier@xemacs.org>
16445
16446         * extents.c (set_extent_glyph_1): don't require extents to be
16447         attached.
16448
16449 2000-02-27  Andy Piper  <andy@xemacs.org>
16450
16451         * gutter.c (Fset_default_gutter_position): don't default left and
16452         right gutter visibility to t.
16453         (Fset_default_gutter_position): run
16454         default-gutter-position-changed-hook.
16455         (syms_of_gutter): add default-gutter-position-changed-hook.
16456
16457 2000-02-26  Andy Piper  <andy@xemacs.org>
16458
16459         * specifier.c (Fmake_specifier): add gutter references.
16460
16461         * gutter.h (RAW_WINDOW_GUTTER): new macro.
16462
16463         * lisp.h: declare Fvalid_plist_p.
16464
16465         * gutter.c (gutter_geometry_changed_in_window): mark the modeline
16466         as changed.
16467         (default_gutter_visible_p_changed_in_window): invalidate gutter as
16468         well as its visibility so that it gets reconstructed.
16469         (construct_window_gutter_spec): new function. Construct a string
16470         to be displayed in the gutter from a plist of strings. Take care
16471         to only use elements that are declared as visible.
16472         (calculate_gutter_size): use RAW_WINDOW_GUTTER instead of
16473         WINDOW_GUTTER.
16474         (gutter_validate): allow plists of strings in the specifier.
16475         (gutter_specs_changed): construct the real_gutter from the gutter
16476         specs using construct_window_gutter_spec.
16477         (gutter_visible_validate): gutter-visible is a new specifier type.
16478         (Fgutter_visible_specifier_p): new function for the new specifier.
16479         (syms_of_gutter): declare gutter-visible and
16480         Fgutter_visible_specifier_p.
16481         (specifier_type_create_gutter): intitalize new gutter-visible
16482         specifier.
16483         (reinit_specifier_type_create_gutter): ditto.
16484         (specifier_vars_of_gutter): use new specifier type for gutter
16485         visibility.
16486         (init_frame_gutters): construct real_gutter correctly.
16487         (Fgutter_specifier_p): beef up documentation.
16488         (Fgutter_size_specifier_p): ditto.
16489
16490         * winslots.h: add real_gutter slots.
16491
16492 2000-02-25  Andy Piper  <andy@xemacs.org>
16493
16494         * device-msw.c: Be kind to older cygwin versions. From Raymond
16495         Toy <toy@rtp.ericsson.se>.
16496
16497         * gui-msw.c (Fmswindows_shell_execute): Remove things unknown to
16498         earlier cygwins. From Raymond Toy <toy@rtp.ericsson.se>.
16499
16500 2000-02-25  Martin Buchholz  <martin@xemacs.org>
16501
16502         * elhash.c (MARK_OBJ): Practice macro hygiene.
16503
16504 2000-02-24  Martin Buchholz  <martin@xemacs.org>
16505
16506         * miscplay.c: s/__inline__/inline/g;
16507         * glyphs-msw.c (set_mono_pixel): INLINE ==> static inline
16508         (get_device_compdc): INLINE ==> static inline
16509         * *.[ch]: Change INLINE to INLINE_HEADER globally.
16510         find -name '*.h' | \
16511         xargs global-replace \
16512         's/(^|(?<=[^A-Za-z0-9_]))INLINE((?=[^A-Za-z0-9_])|$)/INLINE_HEADER/g'
16513
16514 2000-02-25  Andy Piper  <andy@xemacs.org>
16515
16516         * window.c (window_top_frame_gutter_height): new function.
16517         (window_top_window_gutter_height): ditto.
16518         (window_top_gutter_height): use them.
16519         (window_bottom_frame_gutter_height): new function.
16520         (window_bottom_window_gutter_height): ditto.
16521         (window_bottom_gutter_height): use them.
16522         (window_left_window_gutter_width): new function.
16523         (window_left_frame_gutter_width): ditto.
16524         (window_left_gutter_width): use them.
16525         (window_right_window_gutter_width): new function.
16526         (window_right_frame_gutter_width): ditto.
16527         (window_right_gutter_width): use them.
16528         (window_pixel_height): new function. calulate window pixel height
16529         with frame gutter involvement.
16530         (Fsplit_window): calculate new sizes taking frame gutters into
16531         account.
16532         (window_char_height_to_pixel_height): don't include frame gutters.
16533         (window_char_height): use window_pixel_height.
16534         (window_pixheight): rename from window_pixel_height.
16535         (change_window_height): use it.
16536         (window_pixel_height_to_char_height): don't include frame gutters.
16537         (window_char_width_to_pixel_width): ditto.
16538
16539 2000-02-25  Andy Piper  <andy@xemacs.org>
16540
16541         * glyphs.h (IMAGE_INSTANCE_FACE): glyph might be nil, don't crash
16542         if it is.
16543
16544 2000-02-24  Martin Buchholz  <martin@xemacs.org>
16545
16546         * alloc.c (staticpro):
16547         (staticpro_nodump):
16548         (dumpstruct):
16549         (dumpopaque):
16550         (pdump_wire):
16551         (pdump_wire_list):
16552         (compact_string_chars):
16553         (pdump_dump_wired):
16554         Convert:  if (foo) abort();  ==>  assert (! foo);
16555
16556         * eldap.c (Fldap_search_basic):
16557         (Fldap_add):
16558         (Fldap_modify):
16559         (Fldap_delete):
16560         Fix compiler warnings, and possible crashes if (random) return
16561         value were to be used.
16562
16563 2000-02-21  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16564
16565         * device-msw.c: Workaround ResetDC failure.
16566
16567         * frame-msw.c (msprinter_init_frame_3): Added an assertion before
16568         applying a devmode.
16569
16570         * redisplay-msw.c (get_frame_dc): Added start_page_p.
16571         (mswindows_text_width): Do not start printer page.
16572
16573         * console-msw.h (CHECK_MSGDI_DEVICE): Added this and friends.
16574
16575         * glyphs-msw.c: Added image methods to msprinter console and
16576         msprinter-specific image instantiation.
16577
16578 2000-02-20  Mike Alexander  <mta@arbortext.com>
16579
16580         * select-msw.c (Fmswindows_set_clipboard): GC protect more things
16581         to avoid crashes when selection-sets-clipboard is on
16582         (mswindows_own_selection): ditto
16583
16584 2000-02-19  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16585
16586         * glyphs-msw.c:
16587         * redisplay-msw.c (get_frame_dc):
16588         (get_frame_compdc):
16589         * console-msw.h:
16590         * device-msw.c (mswindows_init_device):
16591         (mswindows_delete_device):
16592         (msprinter_init_device):
16593         (msprinter_delete_device):
16594         * frame-msw.c (mswindows_init_frame_1):
16595         (mswindows_delete_frame):
16596         (msprinter_init_frame_3):
16597         (msprinter_delete_frame): Move compatible DC to device object from
16598         frame object, for both mswindows and msprinter. Only one at a time
16599         is needed, it is a real waste to have one per frame!
16600
16601 2000-02-23  Andy Piper  <andy@xemacs.org>
16602
16603         * glyphs.c: add dynamic width and height elements.
16604         (image_instance_equal): ditto.
16605
16606         * glyphs-widget.c (widget_query_geometry): calculate width and
16607         height dynamically if required.
16608         (initialize_widget_image_instance): initialize dynamic dimensions.
16609         (widget_instantiate): pick-up dynamic dimensions.
16610
16611         * glyphs.h (struct Lisp_Image_Instance): add width and height for
16612         dynamic determination. Add appropriate macros.
16613
16614         * gutter.h (WINDOW_GUTTER_BORDER_WIDTH): make non-integer
16615         dimensions safe.
16616         (WINDOW_GUTTER_SIZE): ditto.
16617         (WINDOW_GUTTER_SIZE_INTERNAL): ditto.
16618
16619         * redisplay-msw.c (get_frame_compdc): gcc can't cope with this
16620         inline.
16621         (get_frame_dc): ditto.
16622
16623         * redisplay.h (GLOBAL_RESET_CHANGED_FLAGS): don't reset faces
16624         here.
16625
16626 2000-02-23  Martin Buchholz <martin@xemacs.org>
16627
16628         * XEmacs 21.2.31 is released.
16629
16630 2000-02-22  Ben Wing <ben@xemacs.org>
16631
16632         * ntheap.c (allocate_heap): Make sure `ptr' is initialized.
16633
16634 2000-02-22  Andy Piper  <andy@xemacs.org>
16635
16636         * glyphs-x.c (x_widget_instantiate): don't explicitly resize here.
16637
16638 2000-02-21  Mike Sperber <mike@xemacs.org>
16639
16640         * .dbxrc:
16641         * .gdbinit:
16642         * Makefile.in.in: Remove obsolete EMACSBOOTSTRAP... environment
16643         variables.
16644
16645 2000-02-21  Mike Sperber <mike@xemacs.org>
16646
16647         * s/aix4.h: Declare getaddrinfo broken for AIX 4, which it is.
16648
16649 2000-02-21  Martin Buchholz <martin@xemacs.org>
16650
16651         * XEmacs 21.2.30 is released.
16652
16653 2000-02-20  Martin Buchholz  <martin@xemacs.org>
16654
16655         Performance hacking.
16656         * *.c (syms_of_*):
16657         Add INIT_LRECORD_IMPLEMENTATION macros, paired with
16658         DEFINE_LRECORD_IMPLEMENTATION macros in the same file.
16659         * emacs.c (main_1):
16660         * lisp.h (DEFUN):
16661         * console.c (DEFVAR_CONSOLE_LOCAL_1):
16662         * buffer.c (DEFVAR_BUFFER_LOCAL_1):
16663         * symeval.h (DEFVAR_SYMVAL_FWD):
16664         * symbols.c (guts_of_unbound_marker):
16665         Make all c_readonly objects also lisp_readonly and marked for life.
16666         * lrecord.h (struct lrecord_implementation):
16667         Document flags better.
16668         * lrecord.h (DEFINE_LRECORD_SEQUENCE_IMPLEMENTATION_WITH_PROPS):
16669         * lrecord.h (DECLARE_LRECORD):
16670         * lrecord.h (XSETRECORD):
16671         * lrecord.h (RECORDP):
16672         * lrecord.h (RECORD_TYPEP):
16673         * lrecord.h (RECORD_MARKER): New.
16674         * lrecord.h (error_check_*):
16675         * lrecord.h (CONCHECK_NONRECORD):
16676         * lrecord.h (MAKE_LRECORD_IMPLEMENTATION):
16677         * lrecord.h (INIT_LRECORD_IMPLEMENTATION): New.
16678         * lrecord.h (set_lheader_implementation):
16679         * lrecord.h (enum lrecord_type): New.
16680         * symeval.h (SYMBOL_VALUE_MAGIC_P):
16681         * alloc.c (disksave_object_finalization_1):
16682         * alloc.c (mark_object):
16683         * alloc.c (lrecord_type_index):
16684         * alloc.c (tick_lcrecord_stats):
16685         * alloc.c (Fgarbage_collect):
16686         * alloc.c (init_alloc_once_early):
16687         * alloc.c (pdump_load):
16688         * alloc.c (GC_CHECK_LHEADER_INVARIANTS): New.
16689         * alloc.c (lrecord_type_index): Delete.
16690         Make lisp object type indexes be constant.
16691           Makes (byte-compile) 5% faster.
16692         Put all marker functions into their own array.
16693           Makes (garbage-collect) 5% faster.
16694         Optimize SYMBOL_VALUE_MAGIC_P.
16695           Makes (byte-compile) 2-3% faster.
16696         * config.h.in (gc_checking_assert): New.
16697         * alloc.c: Use gc_checking_assert().
16698         * .dbxrc: Make compatible with new object type implementation.
16699         * .gdbinit: Make compatible with new object type implementation.
16700         * alloc.c: Delete all symbols defined only for debugging, such as
16701         Lisp_Type_Vector and lrecord_charset.
16702
16703 2000-02-21  Andy Piper  <andy@xemacs.org>
16704
16705         * gui-msw.c (Fmswindows_shell_execute): fix file location
16706         problems.
16707
16708         * buffer.c (Fkill_buffer): remove buffer from alist buffer
16709         unshowing so that set_window_buffer doesn't undo
16710         kill_buffer_hook's hard work.
16711
16712         * glyphs-widget.c (tab_control_query_geometry): don't count the
16713         first item when calculating geometry.
16714
16715         * glyphs.c (map_subwindow): remove redundant code.
16716         (update_frame_subwindows): be more circumspect about when to
16717         update subwindows.
16718
16719         * glyphs-x.c (x_update_widget): Properly fix sizing bug. Fix bug
16720         when items haven't changed. Update faces if faces have changed as
16721         well as just the widget face.
16722         (x_tab_control_update): Update faces if faces have changed as well
16723         as just the widget face.
16724
16725 2000-02-21  Jonathan Harris  <jhar@tardis.ed.ac.uk>
16726
16727         * device-msw.c: (mswindows_delete_device): Remove redundant DDE
16728         registration.
16729         (build_syscolor_string): Use mswindows_color_to_string to try to
16730         get a named color.
16731         (mswindows_device_system_metrics): Reverse the foreground and
16732         background colors so that they match the documentation.
16733
16734         * objects-msw.c: (mswindows_X_color_map): tweak some values so
16735         they match the default Windows palette.
16736         (mswindows_color_to_string): New function.
16737
16738 2000-02-21  Jonathan Harris  <jhar@tardis.ed.ac.uk>
16739
16740         * s/windowsnt.h: Only use __declspec(noreturn) with MSVC>=6.
16741
16742 2000-02-18  Olivier Galibert  <galibert@pobox.com>
16743
16744         * m/*, s/*: Removed obsolete DATA_SEG_BITS, PURE_SEG_BITS,
16745         WORD_MACHINE, SIGN_EXTEND_CHAR and EXPLICIT_SIGN_EXTEND.
16746
16747         * symbols.c (init_symbols_once_early): Removed obsolete
16748         DATA_SEG_BITS related kludge.
16749         (defvar_magic): Ditto.
16750
16751         * malloc.c: Removed obsolete DATA_SEG_BITS
16752         * ralloc.c: Ditto.
16753         * mem-limits.h: Ditto.
16754
16755         * Makefile.in.in: Removed obsolete HAVE_SHM
16756         * emacs.c: Ditto.
16757
16758 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
16759
16760         *  device-msw.c (mswindows_delete_device): Free DDE string
16761         handles.
16762
16763 2000-02-16  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16764
16765         * keymap.c (get_keyelt):
16766         * unexnt.c (unexec):
16767         * vm-limit.c (memory_warnings):
16768         * ntheap.c (recreate_heap):
16769         * ntheap.h (UNINIT_PTR):
16770         * select-msw.c (Fmswindows_get_clipboard):
16771         (Fmswindows_set_clipboard):
16772         * objects-msw.h (MSWINDOWS_BAD_HFONT):
16773         * objects-msw.c:
16774         * menubar-msw.c (displayable_menu_item):
16775         * glyphs-msw.c:
16776         * glyphs-msw.h (IMAGE_INSTANCE_MSWINDOWS_MASK):
16777         * sysdep.c (sys_subshell):
16778         * process-nt.c (nt_create_process):
16779         * nt.c (normalize_filename):
16780         (dostounix_filename):
16781         (unixtodos_filename):
16782         * ntproc.c (win32_executable_type):
16783         * ntplay.c (play_sound_data_1):
16784         (play_sound_file):
16785         * editfns.c (get_home_directory):
16786         * event-msw.c (struct winsock_stream):
16787         (mswindows_dde_callback):
16788         * device-msw.c (msprinter_init_device):
16789         (msprinter_get_devmode_copy): Frobbed syntax frivolities.
16790
16791         * toolbar-msw.c (mswindows_free_frame_toolbars): Paramters to
16792         mswindows_clear_toolbar were swapped!
16793
16794         * objects-msw.c:(colormap_t):
16795         (fontmap_t):
16796         * emacs.c (struct standard_args): Fixed const jumble.
16797
16798         * glyphs-widget.c (update_widget): Fixed comparison notation.
16799
16800         * event-msw.c (mswindows_dde_callback): Removed extraneous ';'.
16801
16802         * s\windowsnt.h (DOESNT_RETURN): Defined to support the MSVC
16803         __declspec(noreturn) syntax.
16804
16805 2000-02-19  Martin Buchholz  <martin@xemacs.org>
16806
16807         * eldap.c (Fldap_open):
16808         (Fldap_search_basic):
16809         (Fldap_add):
16810         (Fldap_modify):
16811         Use new coding system conversion macros.
16812
16813 2000-01-06  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
16814
16815         * console-tty.c (tty_init_console): Change MULE to FILE_CODING.
16816
16817 1999-11-27  Oscar Figueiredo  <Oscar.Figueiredo@di.epfl.ch>
16818
16819         * eldap.h (Fldap_search) Renamed from Fldap_search_internal:
16820         (Fldap_add, Fldap_modify, Fldap_delete): New functions
16821
16822         * eldap.c (Qadd, Qreplace): New constant symbols
16823         (Fldap_open): Use the LDAP_OPT_RESTART option to avoid
16824         interruptions by XEmacs signals
16825         Remove unnecessary calls to slow_down_interrupts and
16826         speed_up_interrupts
16827         (Fldap_search_basic): Renamed from Fldap_search_internal
16828         Added new optional parameter VERBOSE that triggers the
16829         display of progress messages
16830         Remove unnecessary calls to slow_down_interrupts and
16831         speed_up_interrupts
16832         LDAP result code analysis rewritten
16833         (Fldap_add, Fldap_modify, Fldap_delete): New functions
16834         (syms_of_eldap): Define the new symbols and functions
16835
16836
16837 2000-02-17  Martin Buchholz  <martin@xemacs.org>
16838
16839         * realpath.c: Determine PATH_MAX maximally portably.
16840
16841         * insdel.c (bytecount_to_charcount): Optimize.
16842         The function used to be optimized for entirely ASCII sequences.
16843         Now it is optimized for successive characters from the same
16844         charset.  This also wins big for _mostly_ ASCII sequences.
16845
16846         * fileio.c (Ffile_truename): convert return from realpath() using
16847         Qfile_name, not Qbinary.  Fixes obvious bug with non-ASCII symlinks.
16848         - Rewrite GCPROing slightly.
16849
16850         * sysdep.c (sys_open): Do filename conversion, like all other
16851         sys_* functions.  Fixes bug:
16852         (let ((file-name-coding-system 'iso-8859-2))
16853            (write-region x y latin2-name))
16854         ==> writes filename using internal encoding.
16855
16856 2000-02-18  Martin Buchholz  <martin@xemacs.org>
16857
16858         * buffer.c (DEFVAR_BUFFER_LOCAL_1): Turn on c_readonly. Always const.
16859         * console.c (DEFVAR_CONSOLE_LOCAL_1): Turn on c_readonly. Always const.
16860         * symeval.h (DEFVAR_SYMVAL_FWD): Turn on c_readonly. Always const.
16861         * eval.c (lrecord_subr): Remove this_one_is_unmarkable.
16862         * symbols.c (lrecord_symbol_value_forward): Remove this_one_is_unmarkable.
16863         * symbols.c (guts_of_unbound_marker): Turn on c_readonly.
16864         * lrecord.h (UNMARKABLE_LRECORD_HEADER_P): Delete.
16865         (CONST_IF_NOT_DEBUG): Delete.
16866         * alloc.c (this_one_is_unmarkable): Delete.
16867         (mark_object): Don't check for this_one_is_unmarkable. Use the
16868         c_readonly flag instead.
16869         * lisp.h (DEFUN): Define a Lisp_Subr as c_readonly.
16870
16871 2000-02-18  Jonathan Harris  <jhar@tardis.ed.ac.uk>
16872
16873         * event-msw.c (mswindows_drain_windows_queue):
16874         (emacs_mswindows_handle_magic_event): Remove attempt to optimise
16875         away redundant repaint events.
16876
16877 2000-02-17  Andy Piper  <andy@xemacs.org>
16878
16879         * redisplay.h: declare mark_redisplay_structs.
16880
16881         * redisplay.c (redisplay_window):
16882         (redisplay_frame): don't check subwindows_state_changed.
16883         (mark_redisplay): mark gutters here.
16884
16885         * glyphs.c: (instantiate_image_instantiator): always layout if we
16886         haven't done so already.
16887         (allocate_image_instance): don't mark as dirty.
16888         (update_subwindow): bind inhibit_quit.
16889
16890         * gutter.c (mark_gutters): new function.
16891
16892         * glyphs-x.c (x_update_widget): Always resize to get round a
16893         widget bug.
16894
16895         * glyphs-msw.c (mswindows_tab_control_update): remove `;' that was
16896         breaking absolutely everything.
16897
16898         * gutter.h: declare mark_gutters.
16899
16900 2000-02-16  Martin Buchholz <martin@xemacs.org>
16901
16902         * XEmacs 21.2.29 is released.
16903
16904 2000-02-15  Olivier Galibert  <galibert@pobox.com>
16905
16906         * fns.c (size_bit_vector): Fix computation of the size.
16907
16908 2000-02-15  Martin Buchholz  <martin@xemacs.org>
16909
16910         * *.[ch]: Change CONST to const globally.
16911         find -name '*.[ch]' | \
16912         xargs global-replace \
16913         's/(^|(?<=[^A-Za-z0-9_]))CONST((?=[^A-Za-z0-9_])|$)/const/g'
16914         - Remove vestigial references to CONST_IS_LOSING
16915
16916 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
16917
16918         * event-msw.c (mswindows_drain_windows_queue): Remove hack to
16919         bailout early on quit. Enqueue WM_PAINT events as XEmacs magic
16920         events instead of dispatching them directly.
16921         (mswindows_handle_paint): New function to do repainting.
16922         (mswindows_wnd_proc):
16923         (emacs_mswindows_handle_magic_event): Call above function.
16924
16925 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
16926
16927         * objects-msw.c (mswindows_create_font_variant): Return the new
16928         font handle.
16929         (initialize_font_instance): Get font metrics from the underlined
16930         variant of the font to cope with the case where the underlined
16931         font has a bigger descent.
16932
16933 2000-02-08   Daiki Ueno  <ueno@ueda.info.waseda.ac.jp>
16934
16935         * gui.c (gui_item_accelerator): Return the first underlined
16936         character in item name.
16937
16938 2000-02-11  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16939
16940         * lisp.h: Added Qprinter.
16941
16942         * general.c (syms_of_general): Initialized it.
16943
16944         * redisplay-msw.c (get_frame_dc): Conditionally start a new page.
16945         (get_frame_dc):
16946         (get_frame_compdc): Made inline.
16947
16948         * console.h (struct console_methods): Added eject_page method.
16949
16950         * frame.h: Added FRAME_DISPLAY_P and friends.
16951         Aligned backslahes in many macros in more readable fashion.
16952         Added page_number to struct frame, and an accessor macro
16953         for it.
16954
16955         * defice.h: Added DEVICE_DISPLAY_P and friends.
16956
16957         * device.c (Fdevice_printer_p): Used these.
16958
16959         * frame.c (allocate_frame_core): Initialize page number.
16960         (Fprint_job_page_number):
16961         (Fprint_job_eject_page): Implemented.
16962
16963         * frame-msw.c (msprinter_eject_page): Added method.
16964         (msprinter_start_page): Added.
16965
16966         * window.c (Fwindow_truncated_p): Fixed docstring.
16967         (Fwindow_last_line_visible_height): Implemented.
16968
16969 2000-02-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
16970
16971         * frame.c (change_frame_size_1): Undo 2000-02-03 change.
16972
16973 1999-12-20  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
16974
16975         * syntax.c (scan_words): Always advance at least one character.
16976
16977 2000-02-13  Andy Piper  <andy@xemacs.org>
16978
16979         * redisplay.c (add_glyph_rune): call get_glyph_cachel_index here
16980         to make sure the glyph is in the cachels.
16981
16982         * glyphs.h (struct Lisp_Image_Instance): make layout_changed a
16983         global image instance flag.
16984         (IMAGE_INSTANCE_NEEDS_LAYOUT): new macro.
16985         (XIMAGE_INSTANCE_NEEDS_LAYOUT): ditto.
16986
16987         * glyphs.c (allocate_image_instance): set dirty bits correctly.
16988         (Fset_image_instance_property): mark layout as changed.
16989         (invalidate_glyph_geometry_maybe): mark layout as changed.
16990         (glyph_width): use new NEEDS_LAYOUT macro.
16991         (glyph_ascent): ditto.
16992         (glyph_descent): ditto.
16993         (glyph_height): ditto.
16994         (image_instance_layout): mark layout as clean after laying out.
16995         (update_subwindow): don't mark layout as clean here.
16996
16997         * glyphs-x.h (IMAGE_INSTANCE_X_WIDGET_ID): undo C++ changes, they
16998         should no longer be needed.
16999
17000         * glyphs-x.c (x_update_widget): sanitize asserts.
17001         (x_finalize_image_instance): sanitize assignment to widgets.
17002
17003         * glyphs-widget.c (widget_instantiate): don't need to clear the
17004         layout flag here.
17005
17006 2000-02-13  Martin Buchholz  <martin@xemacs.org>
17007
17008         * sysdep.c (getcwd): Use standard prototype.
17009         * sysdep.h (getcwd): Use standard prototype.
17010
17011         * fns.c (Fsubseq): Change parameters to more natural ANSI Lisp
17012         (sequence, start, end).
17013         Remove redundant type checking.
17014         (Fmapconcat): Remove useless GCPRO, a wrong-headed attempt (in
17015         view of `caller-protects') to avoid a crash where the real fix was
17016         found elsewhere.
17017
17018 2000-02-12  Martin Buchholz  <martin@xemacs.org>
17019
17020         * glyphs-x.c (x_finalize_image_instance): Compile error fixes.
17021
17022         * s/sol2.h: Remove feature macro initialization.
17023
17024         * alloc.c (alloc_lcrecord): Add more type checking assertions.
17025         (vector_hash): New.  Code from internal_hash.
17026         * lrecord.h:
17027         Fix up allocation subsystem comments.
17028
17029         * config.h.in: Add __EXTENSIONS__ for Solaris.
17030
17031         * systime.h (EMACS_GETTIMEOFDAY): New.
17032         (EMACS_GET_TIME): Use EMACS_GETTIMEOFDAY.
17033         Remove Solaris-specific code.
17034         Use void* for the (ignored) second arg for gettimeofday().
17035
17036         * elhash.c (hash_table_hash): Implement it, finally.
17037         * elhash.c:  Use hashcode_t.
17038
17039         * linuxplay.c (sighandler): Fix prototypes to use SIGTYPE.
17040         * sunplay.c (sighandler): Fix prototype to use SIGTYPE.
17041
17042         * lisp.h (STRETCHY_STRUCT_SIZEOF): Delete.
17043         * fns.c (size_bit_vector):
17044         * alloc.c (size_vector):
17045         (make_vector_internal):
17046         (make_bit_vector_internal):
17047         (sweep_bit_vectors_1):
17048         Replace calls to STRETCHY_STRUCT_SIZEOF with offsetof expression.
17049
17050 2000-02-10  Martin Buchholz  <martin@xemacs.org>
17051
17052         * s/aix4.h: #define MAP_FAILED if sys/mman.h didn't.
17053         Include strings.h to avoid warnings for bzero and strcasecmp.
17054
17055 2000-02-10  Olivier Galibert  <galibert@pobox.com>
17056
17057         * alloc.c: Move STRETCHY_STRUCT_SIZEOF from here...
17058         * lisp.h (STRETCHY_STRUCT_SIZEOF): ...to here
17059
17060         * fns.c (size_bit_vector): New.  Declare bit vectors as a
17061         sequence.
17062
17063 2000-02-10  Olivier Galibert  <galibert@pobox.com>
17064
17065         * symeval.h (struct symbol_value_magic): Remove "next" kludge and
17066         use a value field instead.
17067         (symbol_value_forward_forward): Use value field.
17068         (DEFVAR_SYMVAL_FWD): Use value field.
17069         (DEFVAR_SYMVAL_FWD_INT): Added.  Dumps the int with dumpopaque.
17070         (DEFVAR_INT): Use DEFVAR_SYMVAL_FWD_INT.
17071         (DEFVAR_CONST_INT): Ditto.
17072         (DEFVAR_BOOL): Ditto.
17073         (DEFVAR_CONST_BOOL): Ditto.
17074         (DEFVAR_INT_MAGIC): Ditto.
17075         (DEFVAR_BOOL_MAGIC): Ditto.
17076
17077         * symbols.c (guts_of_unbound_marker): Use value field.
17078         * console.c (DEFVAR_CONSOLE_LOCAL_1): Ditto.
17079         * buffer.c (DEFVAR_BUFFER_LOCAL_1): Ditto.
17080
17081         * lisp.h: Declare dumpopaque and noninteractive1.
17082
17083         * alloc.c (dumpopaque): Added.
17084         (pdump_dump_opaquevec): Added.
17085         (pdump): Call pdump_dump_opaquevec to dump opaque data.
17086         (pdump_load): Reload opaque data.  Sync noninteractive1 with
17087         noninteractive.
17088
17089 2000-02-10  Andy Piper  <andy@xemacs.org>
17090
17091         * glyphs.c (image_instance_layout): if the size changes, mark it
17092         as such.
17093
17094         * redisplay-output.c (redisplay_output_layout): Update the
17095         subwindow here.
17096         (redisplay_output_subwindow): ditto.
17097
17098         * glyphs.c (update_subwindow): make sure we reset flags for
17099         layouts as well as everything else.
17100
17101         * glyphs-widget.c (layout_layout): don't need to set the instances
17102         dimensions here.
17103
17104 2000-02-09  Martin Buchholz  <martin@xemacs.org>
17105
17106         * device-x.c (x_init_device): Wrap calls to dll_*  in HAVE_SHLIB,
17107         not HAVE_DLOPEN, which is a lower-level thing.
17108
17109         * .cvsignore: Ignore gmon.out
17110
17111 2000-02-09  Hamish Macdonald <hamishm@lucent.com>
17112
17113         * .cvsignore: Ignore portable dumper xemacs.dmp file
17114
17115 2000-02-09  Andy Piper  <andy@xemacs.org>
17116
17117         * redisplay-output.c (redisplay_output_layout): be more clever
17118         about when we output based on the changed flags.
17119
17120         * glyphs.h (struct image_instantiator_methods): add update_method.
17121         (struct Lisp_Image_Instance): add changed flags. Declare new
17122         macros for manipulating them.
17123
17124         * glyphs.c (allocate_image_instance): renamed glyph -> parent.
17125         (image_instance_parent_glyph): find an image_instance's parent
17126         glyph or image_instance.
17127         (image_instance_layout): mark the size as changed.
17128         (set_image_instance_dirty_p): new function. mark an image
17129         instance, plus all of its parents, as dirty.
17130         (Fset_image_instance_property): use it.
17131         (Fglyph_animated_timeout_handler): use it.
17132         (update_subwindow): call update_widget and device methods for
17133         update_subwindow. Mark all changed flags as clean.
17134         (Fresize_subwindow): mark size as changed.
17135
17136         * glyphs-x.c (x_finalize_image_instance): try and detect gc
17137         failures.
17138         (x_update_subwindow): only resize subwindows here.
17139         (x_update_widget): new function. Update all changed properties of
17140         a widget.
17141         (x_resize_subwindow): deleted.
17142         (x_widget_set_property): deleted.
17143         (x_progress_gauge_set_property): deleted.
17144         (x_progress_gauge_update): new function. Implement recorded
17145         changes.
17146         (x_tab_control_update): ditto.
17147         (x_tab_control_set_property): deleted.
17148         (console_type_create_glyphs_x): declare new functions.
17149         (image_instantiator_format_create_glyphs_x): ditto.
17150
17151         * glyphs-widget.c (widget_set_property): mark text changed.
17152         (update_widget): new function. Update properties of a widget.
17153         (widget_instantiate): for layouts make sure we set their
17154         children's parent correctly.
17155         (tab_control_set_property): new function. Record changes that will
17156         take place under redisplay's control.
17157         (progress_gauge_set_property): ditto.
17158         (image_instantiator_progress_guage): declare new functions.
17159         (image_instantiator_tab_control): ditto.
17160
17161         * glyphs-msw.c (mswindows_update_subwindow): just do resizing here
17162         now.
17163         (mswindows_update_widget): new function. Update all properties on
17164         a widget that have changed.
17165         (mswindows_button_update): new function. Update a button's set
17166         state.
17167         (mswindows_tab_control_update): new function. Update the items in
17168         a tab.
17169         (mswindows_tab_control_set_property): deleted.
17170         (mswindows_progress_gauge_update): new function. Update the
17171         progress gauge's progress.
17172         (mswindows_widget_set_property): deleted. This is all done
17173         asynchronously now.
17174         (mswindows_progress_gauge_set_property): ditto.
17175         (console_type_create_glyphs_mswindows): declare new methods.
17176         (image_instantiator_format_create_glyphs_mswindows): ditto.
17177
17178         * frame-msw.c (msprinter_init_frame_1): Remove unused variables.
17179         (msprinter_set_frame_properties): ditto.
17180
17181         * console.h (struct console_methods): Add update_widget_method.
17182
17183 2000-02-09  Andy Piper  <andy@xemacs.org>
17184
17185         * gui-msw.c (Fmswindows_shell_execute): Make
17186         mswindows-shell-execute industrial strength.
17187
17188 2000-02-08  Martin Buchholz  <martin@xemacs.org>
17189
17190         * lrecord.h: Make macro argument `props' match member function `plist'.
17191         * fns.c (Fget):
17192         * fns.c (Fput):
17193         * fns.c (Fremprop):
17194         * fns.c (Fobject_plist):
17195         * alloc.c:
17196         * symbols.c:
17197         Object property list frobbing cleanup.
17198         - Allow any lisp object (compared with `eq'), not just symbols, as
17199           keys in object plists.
17200         - Move symbol plist frobbing into symbols.c, where it belongs.
17201         - Move string plist frobbing into alloc.c, where it belongs.
17202         - Everything's an lrecord now, so no need to test for symbolp, etc.
17203         - Fix up doc strings to refer to PROPERTY, not PROPNAME.
17204
17205         * extents.c: Reorder code to remove declarations.
17206
17207         * frame.h (store_in_alist): Remove useless declaration.
17208
17209 2000-02-07  Martin Buchholz  <martin@xemacs.org>
17210
17211         * event-Xt.c (x_has_keysym): Use XConvertCase only if available.
17212         * config.h.in: Add HAVE_XCONVERTCASE.
17213
17214 2000-02-07  Andy Piper  <andy@xemacs.org>
17215
17216         * glyphs.c (image_instance_layout): undo 2000-01-29 change since
17217         it breaks many things.
17218
17219 2000-02-07  Jan Vroonhof  <vroonhof@math.ethz.ch>
17220
17221         * src/syntax.h (SYNTAX_START_P): Check whether the two chars
17222         actually can start a common comment type.
17223         * src/syntax.h (SYNTAX_END_P): ditto for end.
17224
17225 2000-02-07  Martin Buchholz <martin@xemacs.org>
17226
17227         * XEmacs 21.2.28 is released.
17228
17229 2000-02-06  Martin Buchholz  <martin@xemacs.org>
17230
17231         * event-Xt.c (x_keysym_to_character): New.
17232         (maybe_define_x_key_as_self_inserting_character): New.
17233         (x_has_keysym): New.
17234         Auto-define all keys on the keyboard as self-insert-key.
17235
17236 2000-02-02  Martin Buchholz  <martin@xemacs.org>
17237
17238         * menubar.c (vars_of_menubar): A small code simplification.
17239
17240         * minibuf.c (echo_area_append): Workaround egcs-20000131 c++ compiler bug
17241
17242         * ExternalShell.c:
17243         * ExternalClient.c:
17244         * EmacsShell-sub.c:
17245         * EmacsManager.c:
17246         * EmacsFrame.c:
17247         Use consistent style for specifying X resources.
17248
17249         * symbols.c (Fset): Further implement SYMVAL_LISP_MAGIC.
17250         This makes (dontusethis-set-symbol-value-handler) actually usable.
17251
17252         * lrecord.h (lrecord_decription_type):
17253         * alloc.c (pdump_register_sub):
17254         (pdump_dump_data):
17255         (pdump_reloc_one):
17256         Add XD_LISP_OBJECT_ARRAY to describe multiple Lisp_Objects.
17257         Comply with XEmacs coding style.
17258         All lrecord descriptions updated to use XD_LISP_OBJECT with 2
17259         args, and XD_LISP_OBJECT_ARRAY with 3 args.
17260
17261         * keymap.c (Faccessible_keymaps):
17262         Make (accessible-keymaps map "\C-h") do the Right Thing.
17263         Make (accessible-keymaps map []) do the Right Thing.
17264         Make (accessible-keymaps map "") do the Right Thing.
17265         (check_keymap_definition_loop): New function.
17266         (keymap_store_internal): Keep luser from shooting self in foot,
17267           via (define-key ctl-x-4-map "p" global-map).
17268         Remove fullness slot from struct Lisp_Keymap, since hash tables
17269         are now reliable.
17270         (print_keymap): Remove 'Yuck' factor by simply printing "size %d".
17271
17272 2000-01-30  Martin Buchholz  <martin@xemacs.org>
17273
17274         * redisplay.c (init_redisplay): Fix small memory leak.
17275         * elhash.h:
17276         * elhash.c (pdump_reorganize_hash_table):
17277         Rename from reorganize_hash_table. Change prototype.
17278         Reuse the original memory for hentries.  Save 100k.
17279         * alloc.c (PDUMP_READ): new macro.
17280         * alloc.c (pdump_load): Replace LISP_TO_VOID with higher-level macros.
17281         * alloc.c: No need to #ifndef before #undef.
17282
17283         * print.c: Allow debug_print() to print readably by modifying
17284         debug_print_readably.  Use consistent variable names.
17285
17286         * .dbxrc: Try to get things to work even if stopped in a function
17287         without source available by explicitly specifying source files.
17288 2000-02-03  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17289
17290         * unexnt.c (_start): Removed bogus code which caused loading heap
17291         from differrent executable file.
17292         Removed bogus assignment to _fmode, which caused inconsistencies.
17293
17294 2000-02-03  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17295
17296         * s\windowsnt.h: Removed lots of #if 0 blocks of Emacs heritage.
17297         Have spawnve encapsulation regard DONT_ENCAPSULATE.
17298         Do not preliminary `#define signal sigset'.
17299
17300         * systime.h: Do not prototype environ on windows nt and cygwin,
17301         this conflicts with system header.
17302
17303         * syssignal.h: Use correct define for WINDOWSNT
17304
17305         * sysdep.h: Do not prototype environ on windows nt, this conflicts
17306         with system header.
17307
17308         * sysdep.c (near start of file): Fixed commentary and rearranged
17309         ifdefs in readable order.
17310         (NEED_STARTS): Do not force NEED_STARTS when PDUMPing.
17311         (start_of_text):
17312         (end_of_text):
17313         (end_of_data): Do not compile in if using PDUMP.
17314
17315         * symsinit.h: Prototyped vars_of_nt().
17316
17317         * ntproc.c (windows9x_p): Added, instead of os_subtype.
17318         (find_child_console): Use it.
17319         (sys_kill): Use it.
17320
17321         * ntheap.h: Do not extern os_subtype.
17322
17323         * ntheap.c (cache_system_info): Do not cache unneeded:
17324         nt_major_version, nt_minor_version and os_subtype.
17325         (recreate_heap): Do not compile in when PDUMPing.
17326
17327         * nt.c (geteuid and friends): Use the new varibale
17328         nt_fake_unix_uid, instead of hashing fake uid out of NT RID.
17329         (init_user_info): Removed the above mentioned hackery.
17330         (fstat, stat): Do not compile in if using MSVC 5.0 and above -
17331         stat has been fixed in the C runtime.
17332         (vars_of_nt): Added, defined the nt_fake_unix_uid variable there.
17333
17334         * file-coding.c (struct file_coding_dump): Do not define
17335         ucs_to_mule_table in the struct if not MULE.
17336         (struct struct lrecord_description fcd_description_1): Do not dump
17337         the above.
17338
17339         * emacs.c (main_1): Call vars_of_nt().
17340         (right before Fdump_emacs_data): Don't need lastfile if using both
17341         portabe dumper and system malloc.
17342
17343         * alloc.c (Fmemory_limit): Conditionalized out.
17344         (pdump): Use OPEN_BINARY for the portable dump file.
17345         (pdump_load): Ditto.
17346
17347 2000-02-02  Mike Alexander  <mta@arbortext.com>
17348
17349         * nt.c (convert_time): Set tm_isdst before calling mktime and
17350         avoid calling it at all if the compiler supports 64 bit integers.
17351         Also initialize utc_base_ft before using it.
17352
17353 2000-02-03   Daiki Ueno  <ueno@ueda.info.waseda.ac.jp>
17354
17355         * frame.c (change_frame_size_1): Take f->internal_border_width
17356         into consideration when calculating the width of the frame.
17357
17358 2000-02-01  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17359
17360         * window.c (frame_min_height):
17361         (frame_size_valid_p):
17362         (frame_pixsize_valid_p): Added.
17363         (check_frame_size): Generalized.
17364
17365         * window.h: Prototyped the above.
17366
17367         * lisp.h:
17368         * general.c: Added Qbottom_margin, Qduplex, Qlandscape,
17369         Qleft_margin, Qorientation, Qportrait, Qright_margin, Qtop_margin.
17370         Deleted Vwin32_* and Vbinary_process_* unused variables.
17371
17372         * device-msw.c (msprinter_init_device): Do not get printer font
17373         list; Added DEVMODE functions.
17374
17375         * frame-msw.c: Added lots of printer code.
17376
17377         * faces.c: Moved 'left-margin and 'right-margin defsymbols to
17378         general.c.
17379
17380         * console-msw.h: Added more msprinter device private slots.
17381
17382 2000-02-01  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17383
17384         * event-msw.c (key_needs_default_processing_p): Added.
17385         (mswindows_wnd_proc, WM_KEYUP, KEYDOWN): Call it.
17386
17387 2000-01-29  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17388
17389         * glyphs.c (image_instance_layout): Mark image instance as clean
17390         after layout.
17391         (glyph_dirty_p): Removed redundant function.
17392         (invalidate_glyph_geometry_maybe): Added.
17393         (update_glyph_cachel_data): Call it.
17394
17395         * glyphs.h: Prototyped it.
17396
17397         * redisplay.c (add_glyph_rune): Call it.
17398         (redisplay_window): Reset glyphs cachels when frame faces have
17399         changed, thus forcing recomputation of built-in border glyphs.
17400
17401 2000-01-30  Martin Buchholz  <martin@xemacs.org>
17402
17403         * Makefile.in.in: Make portable dumper and purify play well together.
17404         Add imperfect, but better than nothing, support for pdump.
17405         Remove xemacs.dmp when temacs is re-generated.
17406         Don't ignore errors when dumping xemacs.
17407
17408         * symbols.c (maybe_call_magic_handler): Remove one magic number.
17409
17410 2000-01-28  Andy Piper  <andy@xemacs.org>
17411
17412         * frame.c (allocate_frame_core): Use new Fset_window_buffer signature.
17413         (setup_normal_frame): ditto.
17414         (setup_frame_without_minibuffer): ditto.
17415         (setup_minibuffer_frame): ditto.
17416         (delete_frame_internal): ditto.
17417         (Fmake_frame_invisible): ditto.
17418         (Ficonify_frame): ditto.
17419
17420         * window.h: change Fset_window_buffer signature.
17421
17422         * window.c (Fsplit_window): Use new Fset_window_buffer signature.
17423         (Fset_window_buffer): allow recording of buffer if the window is
17424         the selected window.
17425         (window_loop): Use new Fset_window signature.
17426
17427 2000-01-23  Daniel Pittman  <daniel@danann.net>
17428
17429         * config.h.in: Added template for `HAVE_ATHENA_3D'
17430
17431 2000-01-29  Andy Piper  <andy@xemacs.org>
17432
17433         * glyphs-x.c (x_resize_subwindow): Try and catch bogus resizes.
17434
17435         * gutter.c (output_gutter): Don't output if the window isn't live.
17436
17437 2000-01-28  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17438
17439         * glyphs-msw.c (mswindows_unmap_subwindow): Fix of corrupted patch
17440         of 01/12/00: Moved SetFocus back here where it belongs.
17441
17442 2000-01-23  Andy Piper  <andy@xemacs.org>
17443
17444         * s/cygwin32.h: declare printer things.
17445
17446 2000-01-26  Andy Piper  <andy@xemacs.org>
17447
17448         * select.c (Fown_selection_internal): GCPRO bug fix from Mike
17449         Alexander.
17450
17451 2000-01-24  Andy Piper  <andy@xemacs.org>
17452
17453         * glyphs-msw.c (mswindows_locate_pixmap_file): Expand filename.
17454         (mswindows_button_instantiate): Make sure glyph is a pixmap.
17455
17456         * glyphs-widget.c (widget_instantiate): Avoid shadows.
17457
17458         * frame-msw.c (msprinter_init_frame_3): Nuke warning.
17459
17460         * glyphs-msw.c: (mswindows_string_to_color): remove declaration.
17461
17462         * redisplay-msw.c (mswindows_output_cursor): Avoid shadows.
17463         (mswindows_output_display_block): Avoid local shadows.
17464
17465         * event-msw.c (mswindows_enqueue_magic_event): Avoid shadows.
17466         (mswindows_enqueue_mouse_button_event): ditto.
17467         (mswindows_handle_gui_wm_command): remove declaration.
17468
17469         * console-msw.c (mswindows_canonicalize_console_connection): Avoid
17470         warnings.
17471
17472         * console-msw.h: Avoid shadows.
17473         (mswindows_get_toolbar_button_text):
17474         (emacs_mswindows_create_stream_pair):
17475         (emacs_mswindows_delete_stream_pair):
17476         (mswindows_handle_toolbar_wm_command): declare.
17477
17478         * device-msw.c (build_syscolor_string): Avoid shadows.
17479
17480 2000-01-23  Andy Piper  <andy@xemacs.org>
17481
17482         * glyphs-widget.c (widget_instantiate): reverse the items for
17483         layouts so that children are in the expected order.
17484
17485 2000-01-28  Martin Buchholz  <martin@xemacs.org>
17486
17487         * ralloc.c: safe_bcopy ==> memmove
17488         * gmalloc.c: Remove MEMMOVE_MISSING conditional code.
17489         * s/msdos.h: Remove BCOPY macros.
17490         * insdel.c (gap_right): Remove BCOPY conditional code.
17491         * insdel.c (gap_left): Remove BCOPY conditional code.
17492         XEmacs demands a working ANSI C compiler - hence memmove.
17493
17494         * regex.c (regex_compile): Remove accidental use of trigraphs.
17495
17496 2000-01-27  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17497
17498         * event-msw.c (mswindows_enqueue_misc_user_event): Initialize
17499         event timestamp.
17500
17501 2000-01-26  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17502
17503         * event-msw.c (mswindows_drain_windows_queue): Added the
17504         parameter.
17505         (mswindows_need_event): Commented the call to
17506         mswindows_drain_windows_queue().
17507         (emacs_mswindows_quit_p): Lookup the windows for keyboard messages
17508         only.
17509
17510         * console-msw.h: Moved a few function prototypes here from
17511         event-msw.c.
17512
17513         * gui-msw.c (mswindows_handle_gui_wm_command): Changed the ID
17514         parameter from unsigned short to unsigned long.
17515         (Fmswindows_shell_execute): Added return value.
17516
17517 2000-01-27  URA Hiroshi <ura@hiru.aoba.yokohama.jp>
17518
17519         * sysdep.c (init_system_name):
17520           process-unix.c (unix_canonicalized_host_name):
17521         Don't call freeaddrinfo() if getaddrinfo() fails.
17522
17523         * process-unix.c (unix_open_unix_network_stream):
17524         Moved the code to get a port # into address loop.
17525
17526 2000-01-27  Martin Buchholz  <martin@xemacs.org>
17527
17528         * buffer.c (reinit_vars_of_buffer):
17529         The right place to initialize conversion_in_dynarr and
17530         conversion_out_dynarr.
17531
17532         * alloc.c (pdump): Use the real open() till sys_open() is functional.
17533
17534         * process-unix.c (unix_canonicalize_host_name): Muleize.
17535         (unix_open_network_stream): Muleize.
17536
17537         * buffer.h: Fix up prototypes for ralloc.c functions.
17538
17539 2000-01-27  URA Hiroshi <ura@hiru.aoba.yokohama.jp>
17540         * config.h.in: added HAVE_GETADDRINFO and HAVE_GETNAMEINFO
17541         * sysdep.c: In init_system_name(), add code to use getaddrinfo()
17542                 instead of gethostbyname()
17543         * process-unix.c: In unix_canonicalize_host_name() and
17544                 unix_open_network_stream(), add code to use getaddrinfo()
17545                 instead of gethostbyname().
17546
17547 2000-01-27  Daniel Pittman <daniel@danann.net>
17548
17549         * device-x.c (x_init_device): Warn at run-time if using Athena 3d
17550         libs when built with flat Athena.
17551
17552 2000-01-27  Martin Buchholz  <martin@xemacs.org>
17553
17554         * ralloc.c: Replace SIZE (conflicts with Windows headers) with size_t.
17555         Use coding standards for function prototypes.
17556
17557 2000-01-25  Martin Buchholz  <martin@xemacs.org>
17558
17559         * dialog-msw.c (push_lisp_string_as_unicode):
17560         * doc.c (unparesseuxify_doc_string):
17561         * dired.c (Fuser_name_completion_1):
17562         * dired.c (Fuser_name_all_completions):
17563         * dired.c (free_user_cache):
17564         * dired.c (user_name_completion):
17565         * console-x.c (get_display_arg_connection):
17566         * minibuf.c (clear_echo_area_internal):
17567         * minibuf.c (echo_area_append):
17568         * eldap.c (Fldap_open):
17569         * eldap.c (Fldap_search_internal):
17570         * frame-x.c (x_set_frame_text_value):
17571         * frame-x.c (x_set_frame_properties):
17572         * frame-x.c (x_create_widgets):
17573         * redisplay-tty.c (term_get_fkeys_1):
17574         * objects-x.c (x_parse_nearest_color):
17575         * objects-x.c (x_valid_color_name_p):
17576         * objects-x.c (x_initialize_font_instance):
17577         * objects-x.c (x_list_fonts):
17578         * objects-x.c (x_find_charset_font):
17579         * tooltalk.c (Fadd_tooltalk_message_arg):
17580         * tooltalk.c (Fadd_tooltalk_pattern_attribute):
17581         * tooltalk.c (Fadd_tooltalk_pattern_arg):
17582         * process-unix.c (unix_create_process):
17583         * ntproc.c (sys_spawnve):
17584         * sound.c (Fplay_sound_file):
17585         * sound.c (Fplay_sound):
17586         * buffer.c (init_initial_directory):
17587         * buffer.c (init_buffer):
17588         * editfns.c (init_editfns):
17589         * editfns.c (Ftemp_directory):
17590         * editfns.c (Fuser_full_name):
17591         * editfns.c (uncache_home_directory):
17592         * editfns.c (get_home_directory):
17593         * editfns.c (Fuser_home_directory):
17594         * editfns.c (Fformat_time_string):
17595         * editfns.c (Fcurrent_time_string):
17596         * gui-x.c (button_item_to_widget_value):
17597         * database.c (Fopen_database):
17598         * event-Xt.c (x_to_emacs_keysym):
17599         * event-Xt.c (x_event_to_emacs_event):
17600         * event-Xt.c (describe_event_window):
17601         * event-msw.c (mswindows_wnd_proc):
17602         * glyphs-eimage.c (jpeg_instantiate):
17603         * glyphs-eimage.c (gif_instantiate):
17604         * glyphs-eimage.c (png_instantiate):
17605         * glyphs-eimage.c (tiff_instantiate):
17606         * glyphs-x.c (xbm_instantiate_1):
17607         * glyphs-x.c (x_xbm_instantiate):
17608         * glyphs-x.c (x_xface_instantiate):
17609         * glyphs-x.c (autodetect_instantiate):
17610         * glyphs-x.c (cursor_font_instantiate):
17611         * glyphs-x.c (x_widget_instantiate):
17612         * glyphs-x.c (x_widget_set_property):
17613         * glyphs-x.c (x_widget_property):
17614         * glyphs-x.c (BUILD_GLYPH_INST):
17615         * print.c (write_string_to_stdio_stream):
17616         * print.c (output_string):
17617         * print.c (Falternate_debugging_output):
17618         * print.c (Fexternal_debugging_output):
17619         * glyphs-msw.c (extract_xpm_color_names):
17620         * glyphs-msw.c (mswindows_xpm_instantiate):
17621         * glyphs-msw.c (bmp_instantiate):
17622         * glyphs-msw.c (resource_name_to_resource):
17623         * glyphs-msw.c (mswindows_resource_instantiate):
17624         * glyphs-msw.c (xbm_instantiate_1):
17625         * glyphs-msw.c (mswindows_xbm_instantiate):
17626         * glyphs-msw.c (mswindows_xface_instantiate):
17627         * glyphs-msw.c (mswindows_widget_instantiate):
17628         * glyphs-msw.c (add_tree_item):
17629         * glyphs-msw.c (add_tab_item):
17630         * glyphs-msw.c (mswindows_combo_box_instantiate):
17631         * glyphs-msw.c (mswindows_widget_property):
17632         * glyphs-msw.c (mswindows_combo_box_property):
17633         * glyphs-msw.c (mswindows_widget_set_property):
17634         * console.c (stuff_buffered_input):
17635         * objects-msw.c (mswindows_initialize_color_instance):
17636         * objects-msw.c (mswindows_valid_color_name_p):
17637         * objects-msw.c (mswindows_list_fonts):
17638         * objects-msw.c (mswindows_font_instance_truename):
17639         * bytecode.c (optimize_compiled_function):
17640         * select-x.c (symbol_to_x_atom):
17641         * select-x.c (x_atom_to_symbol):
17642         * select-x.c (hack_motif_clipboard_selection):
17643         * select-x.c (selection_data_to_lisp_data):
17644         * select-x.c (lisp_data_to_selection_data):
17645         * select-x.c (Fx_get_cutbuffer_internal):
17646         * select-x.c (Fx_store_cutbuffer_internal):
17647         * buffer.h (TO_EXTERNAL_FORMAT): New function.
17648         * buffer.h (TO_INTERNAL_FORMAT): New function.
17649         * emacs.c (make_arg_list_1):
17650         * emacs.c (make_argc_argv):
17651         * emacs.c (main_1):
17652         * emacs.c (Fdump_emacs):
17653         * emacs.c (split_string_by_emchar_1):
17654         * file-coding.h:
17655         * lisp.h:
17656         * lstream.h:
17657         * symsinit.h:
17658         * device-x.c (x_init_device):
17659         * device-x.c (Fx_valid_keysym_name_p):
17660         * device-x.c (Fx_get_font_path):
17661         * device-x.c (Fx_set_font_path):
17662         * glyphs.c (bitmap_to_lisp_data):
17663         * glyphs.c (pixmap_to_lisp_data):
17664         * alloc.c (make_ext_string): Use coding system arguments.  Update
17665         all callers.
17666         * alloc.c (build_string):
17667         * callproc.c (child_setup):
17668         * callproc.c (init_callproc):
17669         * fileio.c (lisp_strerror):
17670         * fileio.c (directory_file_name):
17671         * fileio.c (Fexpand_file_name):
17672         * fileio.c (Ffile_truename):
17673         * fileio.c (Fsysnetunam):
17674         * fileio.c (Fdo_auto_save):
17675         * sysdep.c (sys_readdir):
17676         * tests.c: New file.  Allow adding C tests.
17677         Replace GET_* macros with a more comprehensible and flexible
17678         interface, TO_INTERNAL_FORMAT() and TO_EXTERNAL_FORMAT().
17679         Modify all calls.
17680         Any coding system can be used to do format conversion.
17681         Eliminate enum external_data_format.
17682         Eliminate convert_to_external_format.
17683         Eliminate convert_to_internal_format.
17684         Make sure file-name, keyboard, terminal, and ctext are always
17685         defined as coding systems or aliases.  Make
17686         file-name-coding-system, terminal-coding-system, and
17687         keyboard-coding-system magical variables that are equivalent to
17688         defining the corresponding coding system aliases.
17689
17690         * file-coding.c (Fcoding_system_canonical_name_p): New function.
17691         * file-coding.c (Fcoding_system_alias_p): New function.
17692         * file-coding.c (Fcoding_system_aliasee): New function.
17693         * file-coding.c (append_suffix_to_symbol): New function.
17694         * file-coding.c (dangling_coding_system_alias_p): New function.
17695         * file-coding.c (Ffind_coding_system):
17696         * file-coding.c (Fcopy_coding_system):
17697         * file-coding.c (encode_coding_no_conversion):
17698         * file-coding.c (syms_of_file_coding):
17699         * file-coding.c (vars_of_file_coding):
17700         Rewrite coding system alias code.
17701         Allow nested aliases, like symbolic links.
17702         Allow redefinition of coding system aliases.
17703         Prevent existence of dangling coding system aliases.
17704
17705         * dired.c (Fuser_name_completion_1):
17706         * dired.c (Fuser_name_all_completions):
17707         A crash would happen if user did QUIT in the middle of building
17708         user_name_cache.  Remove redundant code in mainline and unwind_protect.
17709
17710         * lisp.h:
17711         * dynarr.c (Dynarr_min_size): Make static.  Increase value to 8.
17712
17713         * lstream.c (make_fixed_buffer_input_stream): Take a void *, not
17714         an unsigned char *.  Update all callers.
17715
17716 2000-01-26  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17717
17718         * callproc.c (Fcall_process_internal): Ignore Vbinary-process_output.
17719
17720 2000-01-25  Martin Buchholz  <martin@xemacs.org>
17721
17722         * elhash.c (hentry_description): Use more portable definition.
17723         (resize_hash_table): Initialize new hentries using
17724         xnew_array_and_zero, thereby simplifying the code.
17725
17726         * mule-charset.c (make_charset): Make sure entire object is
17727         initialized, to avoid Purify warnings.
17728
17729         * alloc.c (resize_string): Fix unlikely crash with big strings.
17730
17731 2000-01-24  Martin Buchholz  <martin@xemacs.org>
17732
17733         * realpath.c (xrealpath):
17734         Don't call getwd().
17735
17736 2000-01-25  Martin Buchholz  <martin@xemacs.org>
17737
17738         * lread.c (read_bit_vector): Fix memory leak reading literal bit vectors.
17739
17740 1999-12-28  Max Matveev  <max@melbourne.sgi.com>
17741
17742         * unexelfsgi.c (unexec): Change the way we decide which segment
17743         should be extended.
17744
17745         Assumption that .bss section should be outside the PT_LOADable
17746         segment. On IRIX with version 6.2 and above, .bss (or .sbss, if
17747         it's present) is inside the 'data' segment. This would fail the
17748         test which was used to find a segment to grow and cover new
17749         heap. Instead of this assumption, I created another one - on IRIX
17750         the segment to grow should start below .bss and it's address
17751         should extent above the end of .bss. Once this segment is
17752         identified, it's grown to accommodate the new heap and new
17753         zero-length .bss section is added at the end of .data2.
17754
17755 2000-01-25  Martin Buchholz  <martin@xemacs.org>
17756
17757         * eval.c (Feval): Wrong number of arguments should use original
17758         function, not the indirect_function version of it.
17759
17760 2000-01-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
17761
17762         * glyphs-x.c (x_button_instantiate): Don't add image if
17763         it is not a pixmap.
17764         (x_locate_pixmap_file): Call Fexpand_file_name when file name
17765         is relative.
17766
17767 2000-01-21  Yoshiki Hayashi  <yoshiki@xemacs.org>
17768
17769         * symeval.h (DEFVAR_LISP_MAGIC): Remove semicolon after macro
17770         declaration.
17771         (DEFVAR_INT_MAGIC): Ditto.
17772         (DEFVAR_BOOL_MAGIC): Ditto.
17773         * glyphs.h: Reindent backslash.
17774
17775 2000-01-24  Martin Buchholz  <martin@xemacs.org>
17776
17777         * glyphs-widget.c (layout_query_geometry):
17778         (layout_layout): Use correct types for gheight, gwidth.
17779
17780 2000-01-24  Martin Buchholz  <martin@xemacs.org>
17781
17782         * EmacsManager.c (QueryGeometry): Purified.
17783
17784 2000-01-23  Martin Buchholz  <martin@xemacs.org>
17785
17786         * alloc.c (make_float): Make sure entire object is initialized, to
17787         avoid Purify warnings.
17788         (pdump_register_sub): Remove useless assignment.
17789         (pdump): Use xmalloc, not malloc.
17790         (pdump_load): Use xmalloc, not malloc.
17791
17792 2000-01-23  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17793
17794         * callproc.c:
17795         * dired-msw.c:
17796         * fileio.c:
17797         * process-nt.c:
17798         * redisplay-msw.c:
17799         * sysdep.c: Removed redundant #include <windows.h>
17800
17801 2000-01-22  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17802
17803         * frame.c (delete_frame_internal): Do not delete device when its
17804         implementation so declares.
17805         (delete_frame_internal): Set device selected frame to nil when
17806         last frame goes away.
17807
17808         * device-msw.c (msprinter_device_system_metrics): Implemented.
17809         (mswindows_device_system_metrics): Added 'device-dpi property.
17810
17811         * device.c: (Fdevice_printer_p): Added.
17812         Added 'offset-workspace device metric.
17813
17814         * console.h (device_metrics): Declared DM_offset_workspace.
17815
17816 2000-01-23  Martin Buchholz  <martin@xemacs.org>
17817
17818         * fileio.c (Ffile_truename): Remove pointless and confusing
17819         initialization of elen.
17820
17821         * glyphs-widget.c: Compiler warning fixes.
17822
17823 2000-01-23  Gunnar Evermann  <ge204@eng.cam.ac.uk>
17824
17825         * process.h (PROCESS_LIVE_P): Modify to take a Lisp_Process
17826         instead of a Lisp_Object as argument to make it consistent with
17827         the other LIVE_P macros.
17828         (CHECK_LIVE_PROCESS): New macro.
17829
17830         * process.c: Declare Qprocess_live_p.
17831         (Fprocess_live_p): New function.
17832         (create_process): Use PROCESS_LIVE_P.
17833         (read_process_output): Ditto.
17834         (set_process_filter): Ditto.
17835         (Fdelete_process): Ditto.
17836         (kill_buffer_processes): Ditto
17837         (process_send_signal): Use CHECK_LIVE_PROCESS.
17838         (Fprocess_input_coding_system): Check whether process is still
17839         alive (fix PR#1061).
17840         (Fprocess_output_coding_system): Ditto.
17841         (Fprocess_coding_system): Ditto.
17842         (Fset_process_input_coding_system): Ditto.
17843         (Fset_process_output_coding_system): Ditto.
17844
17845 2000-01-23  Andy Piper  <andy@xemacs.org>
17846
17847         * glyphs.h (struct Lisp_Image_Instance): change format by unifying
17848         layout and widget.
17849
17850         * glyphs.c (mark_image_instance): take into account changed
17851         image_instance format.
17852         (image_instance_equal): ditto.
17853         (image_instance_hash): ditto.
17854
17855         * glyphs-widget.c (widget_instantiate): Incorporate layout
17856         instantiation here. Delay layout of the layout until later.
17857         (layout_instantiate): deleted.
17858         (layout_query_geometry): new function. get the geometry of a
17859         layout.
17860         (layout_layout): layout a layout dynamically.
17861         (image_instantiator_widget): New function - splitting up
17862         image_instantiator_format_create_glyphs_widget for netwinder
17863         compilation.
17864         (image_instantiator_buttons):
17865         (image_instantiator_edit_fields):
17866         (image_instantiator_combo_box):
17867         (image_instantiator_scrollbar):
17868         (image_instantiator_progress_guage):
17869         (image_instantiator_tree_view):
17870         (image_instantiator_tab_control):
17871         (image_instantiator_labels):
17872         (image_instantiator_layout): ditto.
17873         (image_instantiator_format_create_glyphs_widget): Call preceding
17874         functions.
17875
17876 2000-01-22  Martin Buchholz  <martin@xemacs.org>
17877
17878         * process.c (Fset_process_coding_system):
17879         * device-x.c (Fx_keysym_hash_table):
17880         Docstring fixes.
17881
17882         * lstream.c (Lstream_write): Return documented value, not 0.
17883
17884         * fileio.c (directory_file_name):
17885         (Fsubstitute_in_file_name):
17886         (Fsubstitute_insert_file_contents_internal):
17887         (Fwrite_region_internal):
17888         * emacs.c:
17889         * sysdep.c:
17890         * getloadavg.c:
17891         * systty.h:
17892         Remove vestigial APOLLO-conditional code.
17893
17894 2000-01-21  Martin Buchholz  <martin@xemacs.org>
17895
17896         * getpagesize.h: Add guard macros.
17897         * libsst.h: Add guard macros.
17898         * libst.h: Add guard macros.
17899         * line-number.h: Add guard macros.
17900         * ndir.h: Add guard macros.
17901         * sysfloat.h: Add guard macros.
17902         * sysfile.h: Add guard macros.
17903         * sysproc.h: Add guard macros.
17904         * syswait.h: Add guard macros.
17905         * xintrinsic.h: Add guard macros.
17906         * xintrinsicp.h: Add guard macros.
17907         * xmmanager.h: Add guard macros.
17908         * xmmanagerp.h: Add guard macros.
17909         * xmprimitive.h: Add guard macros.
17910         * xmu.h: Add guard macros.
17911         * gpmevent.h: Add copyright statement. Add guard macros.
17912         * miscplay.h: Add guard macros.
17913         * *.h: Use consistent C-standards-approved guard macro names.
17914
17915         * opaque.c (make_opaque): Switch parameter order.
17916         * opaque.h (make_opaque): Switch parameter order.
17917         Update all callers.
17918         * buffer.h (MAKE_MIRROR_TRT_TABLE): Use symbolic constant OPAQUE_CLEAR.
17919
17920         * config.h.in (type_checking_assert): Added.
17921         (bufpos_checking_assert): Added.
17922
17923 2000-01-21  Martin Buchholz  <martin@xemacs.org>
17924
17925         * alloc.c: Harmless pdump changes.
17926         - Use countof().
17927         - spell alignment correctly.
17928         * sysdep.c: Use countof()
17929
17930 2000-01-20  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17931
17932         * console.c (create_console): Use CONMETH_OR_GIVEN when calling
17933         initially_selected_for_input() console method, default to 0.
17934         (semi_canonicalize_console_connection): Try to delegate to
17935         canonicalize_console_connection if no such console method.
17936         (canonicalize_console_connection): Vice versa.
17937         (print_console): Do not print nil connection.
17938
17939         * console.h (XDEVIMPF_IS_A_PRINTER): Added.
17940         (XDEVIMPF_NO_AUTO_REDISPLAY): Added.
17941         (XDEVIMPF_FRAMELESS_OK): Added.
17942         (CONSOLE_INHERITS_METHOD): Added.
17943
17944         * console-msw.c (mswindows_canonicalize_console_connection):
17945         Added.
17946         (mswindows_canonicalize_device_connection): Added.
17947
17948         * console-msw.h (struct msprinter_device): Added this struct and
17949         accessor macros.
17950         (mswindows_device): Made fontlist a lisp object.
17951
17952         * device.c (semi_canonicalize_device_connection):  Try to delegate
17953         to canonicalize_device_connection if no such console method.
17954         (canonicalize_device_connection): Vice versa.
17955         (print_device): Do not print nil connection.
17956
17957         * device-msw.c (mswindows_init_device): Call InitCommonControls
17958         when have widgets.
17959         (mswindows_delete_device): Removed fontlist deallocation.
17960         (mswindows_mark_device): Added.
17961
17962         * events.c (event_equal): Added abort() at unreached code.
17963         (event_hash): Ditto.
17964
17965         * faces.c (complex_vars_of_faces): Added Qmsprinter to the list of
17966         fallback tags of Windows devices.
17967
17968         * general.c (syms_of_general): Initialized Qmsprinter.
17969
17970         * gutter.c (complex_vars_of_gutters): Added Qmsprinter to the list
17971         of fallback tags of Windows devices.
17972
17973         * lisp.h: Declared Qmsprinter.
17974
17975         * objects-msw.c (font_enum_callback_2): Rewrote to build lisp list
17976         of strings.
17977         (mswindows_list_fonts): Ditto.
17978         (mswindows_enumerate_fonts): Removed dependency on XDEVICE, so
17979         that it can be used by both mswindows and msprinter devices.
17980         (initialize_font_instance): Added.
17981         (mswindows_initialize_font_instance): Use it.
17982         (msprinter_initialize_font_instance): Added.
17983
17984         * redisplay.c (redisplay_device): Added the parameter AUTOMATIC
17985         and implementation flags check.
17986         (redisplay_without_hooks): Changed the call to the above.
17987         (Fredraw_device): Ditto.
17988         (Fredisplay_device): Ditto.
17989
17990         * redisplay-msw.c (get_frame_dc): Implemented.
17991         (get_frame_compdc): Implemented.
17992         (many functions): Use the two functions above to get device
17993         contexts, ether for a window or a printer.
17994
17995 2000-01-21  Olivier Galibert  <galibert@pobox.com>
17996
17997         * symbols.c (reinit_symbols_once_early): Put Qzero/Qnull_pointer
17998         initialization here.
17999         (init_symbols_once_early): Call it.
18000         * emacs.c (main_1): Call it.
18001         * symsinit.h: Declare it.
18002
18003 2000-01-19  Olivier Galibert  <galibert@pobox.com>
18004
18005         * alloc.c: Use a lrecord_header * in the backtrace instead of a
18006         Lisp_Object.
18007         (pdump_backtrace): Ditto.
18008         (pdump_register_object): Ditto.  Cleanup use of the pointers.
18009         (pdump_get_entry): Abort if trying to register a null pointer.
18010         (pdump_dump_data): Cleanup types when relocating.
18011         (pdump_dump_staticvec): Cleanup types w.r.t the reloc table.
18012         (pdump_dump_rtables): Remove bad casts.
18013         (pdump_load): Cleanup relocation w.r.t union type.  Use a
18014         Lisp_Object instead of a EMACS_INT for the hashtable
18015         reorganization.
18016
18017 2000-01-20  Martin Buchholz  <martin@xemacs.org>
18018
18019         * emacs.c (main_1): Rearrange morass of #ifdef's for correctness.
18020
18021         * callproc.c (call_process_cleanup): Isolate WINDOWSNT code for clarity.
18022
18023         * EmacsManager.c (GeometryManager): Avoid use of CPP for clarity.
18024
18025         * *.[ch]: global-replace 's/_of_xselect/_of_select_x/g' *.[ch]
18026
18027 2000-01-17  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
18028
18029         * faces.h (FACE_STRIKETHRU_P): Added.
18030
18031         * glyphs-msw.c (mswindows_widget_hfont): Implemented, to take care
18032         of font variants.
18033
18034         * redisplay-msw.c (mswindows_apply_face_effects): Deleted.
18035         (mswindows_set_dc_font): New function, aware of font variants,
18036         separated from mswindows_update_dc.
18037
18038         * objects-msw.h (struct mswindows_font_instance_data): Added
18039         definition.
18040
18041         * objects-msw.c (mswindows_finalize_font_instance): Delete all
18042         cached fonts and the data structure.
18043         (mswindows_initialize_font_instance): Added creation of font data
18044         structure.
18045         (mswindows_print_font_instance): Print at least something.
18046         (mswindows_create_font_variant): Implemented.
18047         (mswindows_get_hfont): Implemented.
18048
18049 2000-01-13  Fabrice Popineau  <Fabrice.Popineau@supelec.fr>
18050
18051         * dired-msw.c: permute "sysdir.h" with "sysfile.h" because of
18052         prototyping problem with msvc.
18053
18054         * emacs.c (main_1): added syms_of_gui_mswindows() call
18055
18056         * gui-msw.c: added "mswindows-shell-execute" lisp subr and
18057         syms_of_gui_mswindows() function
18058
18059         * symsinit.h: added the prototype for syms_of_gui_mswindows()
18060
18061 2000-01-18  Martin Buchholz <martin@xemacs.org>
18062
18063         * XEmacs 21.2.27 is released.
18064
18065 2000-01-18  Martin Buchholz  <martin@xemacs.org>
18066
18067         * glyphs-eimage.c (struct tiff_error_struct):
18068         (tiff_error_func):
18069         (tiff_warning_func):
18070         #if HAVE_VSNPRINTF ==> #ifdef HAVE_VSNPRINTF
18071
18072         * unexmips.c:
18073         * unexhp9k3.c:
18074         * unexfreebsd.c:
18075         * unexec.c: Remove vestigial Lucid C code.
18076         * unexalpha.c:
18077         * unexaix.c:
18078         * termcap.c:
18079         * libsst.c: Ansify.
18080         Remove declarations of errno and strerror().
18081
18082         * eval.c (Fbacktrace): Small Purify-cation.  Fix docstring.
18083
18084         * .dbxrc (run-temacs): Use the horrible ${1+"$@"} instead of "$@".
18085
18086 2000-01-16  Martin Buchholz  <martin@xemacs.org>
18087
18088         * mule-charset.c (Fchar_octet): Resurrect from earlier in 1999.
18089         Optimize.
18090
18091 2000-01-14  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
18092
18093         * md5.c:
18094         * file-coding.c:
18095         * file-coding.h:
18096         Change enum eol_type to eol_type_t.
18097
18098 2000-01-17  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
18099
18100         * gui.c (get_gui_callback): Check cons before accessing car.
18101
18102 2000-01-17  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
18103
18104         * specifier.h (XSPECIFIER_TYPE): Add error checking version.
18105         (XSETSPECIFIER_TYPE): Ditto.
18106
18107 2000-01-17  Didier Verna  <didier@xemacs.org>
18108
18109         * redisplay.c (generate_fstring_runes): compute string size in
18110         characters, not bytes.
18111
18112 2000-01-09  Hrvoje Niksic  <hniksic@iskon.hr>
18113
18114         * window.c (Fwindow_minibuffer_p): Make WINDOW optional.
18115
18116 2000-01-14  Hrvoje Niksic  <hniksic@iskon.hr>
18117
18118         * print.c (print_error_message): Call print_prepare().
18119
18120 2000-01-14  Martin Buchholz  <martin@xemacs.org>
18121
18122         * .dbxrc: Renamed from dbxrc.
18123
18124         * events.c (event_to_character):
18125         Use `assert (foo)' instead of `if (!foo) abort()'
18126
18127         * .gdbinit (xtype): Add documentation.
18128         * .gdbinit (check-temacs): New function.
18129         * .gdbinit (check-xemacs): New function.
18130         * dbxrc (check-xemacs): New function.
18131         * dbxrc (check-xemacs): New function.
18132
18133 2000-01-14  Andy Piper  <andy@xemacs.org>
18134
18135         * glyphs-widget.c (widget_query_geometry): Make sure that we
18136         calculate default dimensions correctly.
18137
18138 2000-01-13  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
18139
18140         * symsinit.h: Added prototype for reinit_vars_of_frame_mswindows.
18141
18142         * event-msw.c (vars_of_event_mswindows): Fixed a mistyped
18143         pdump_wire'd variable.
18144
18145         * emacs.c: (main_1): Conditionalized calls to
18146         reinit_vars_of_scrollbar_x and reinit_vars_of_module.
18147
18148 2000-01-13  Martin Buchholz  <martin@xemacs.org>
18149
18150         * window.c (Fset_window_configuration):
18151         * sysdep.c (_start):
18152         * input-method-motif.c (res):
18153         * event-Xt.c (Xt_process_to_emacs_event):
18154         Simple compiler warning fixes.
18155
18156         * bytecode.c (funcall_compiled_function): Use the original
18157         function symbol on the backtrace list in preference to the
18158         compiled_function object in error messages.
18159
18160 2000-01-13  Andy Piper  <andy@xemacs.org>
18161
18162         * glyphs-x.c (update_widget_face): Make sure we update the widget
18163         background as well as foreground.
18164
18165 2000-01-13  Andy Piper  <andy@xemacs.org>
18166
18167         * glyphs.h (struct Lisp_Image_Instance): Move justify and orient
18168         fields to subwindow.
18169         (IMAGE_INSTANCE_SUBWINDOW_JUSTIFY): new macro.
18170         (XIMAGE_INSTANCE_SUBWINDOW_JUSTIFY): ditto.
18171         (IMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
18172         (XIMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
18173
18174         * glyphs-widget.c (check_valid_tab_orientation): new function.
18175         (initialize_widget_image_instance): zero orientation and
18176         justification.
18177         (widget_instantiate): pick up orientation.
18178         (tab_control_query_geometry): return appropriate values for
18179         vertical tabs.
18180
18181         * glyphs-msw.c: (mswindows_tab_control_instantiate): assign
18182         appropriate creation flags for left, right and bottom tabs.
18183
18184         * s/cygwin32.h: add tab definitions.
18185
18186 2000-01-12  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
18187
18188         * glyphs-msw.c (mswindows_unmap_subwindow): Set focus back to the
18189         frame upon hiding a subwindow.
18190         (mswindows_button_instantiate): Changed the push button style to
18191         BS_PUSHBUTTON.
18192         (mswindows_button_instantiate): Removed button BS_NOTIFY
18193         style.
18194         (mswindows_button_instantiate): Removed redundant check for
18195         a disabled gui item.
18196         (mswindows_button_instantiate): Made use of WS_TABSTOP
18197         consistent: "operable" controls (edit, button, tree, scroll) have
18198         this style, "display-only" ones (static, progress gauge) do
18199         not. This style is currently ignored by XEmacs though. Also,
18200         removed the WS_EX_CONTROLPARENT style - it is not for children,
18201         it is for their parents!
18202         (mswindows_edit_field_instantiate): Ditto.
18203         (mswindows_progress_gauge_instantiate): Ditto.
18204         (mswindows_tree_view_instantiate): Ditto.
18205         (mswindows_tab_control_instantiate): Ditto.
18206         (mswindows_scrollbar_instantiate): Ditto.
18207         (mswindows_combo_box_instantiate): Ditto.
18208         (mswindows_widget_instantiate): Added the WS_EX_CONTROLPARENT
18209         style to the "clip" window.
18210         (mswindows_button_instantiate): Removed compilation warning by
18211         equally typing terms of the ?: operator.
18212
18213 2000-01-12  Didier Verna  <didier@xemacs.org>
18214
18215         * redisplay.c (generate_fstring_runes): new parameter holding the
18216         last modeline-format extent.
18217         (add_glyph_to_fstring_db_runes): new parameter holding the glyph
18218         extent, fill the glyph block with it.
18219         (generate_fstring_runes): handle these parameters.
18220         (generate_formatted_string_db): ditto.
18221
18222         * keymap.c (get_relevant_keymaps): retreive the keymaps from the
18223         glyphs'extents in the modeline.
18224
18225 1999-01-11  Mike Woolley  <mike@bulsara.com>
18226
18227         * ntheap.c: Reduced the reserved heap space from 1Gb down to
18228         256Mb, as a workaround for the non-starting problem many people
18229         have experienced.
18230
18231 2000-01-06  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
18232
18233         * console-tty.c (Fset_console_tty_output_coding_system):
18234         Force redrawing tty frame.
18235
18236 2000-01-10  Didier Verna  <didier@xemacs.org>
18237
18238         * redisplay.c (generate_fstring_runes): fix size computation bug.
18239
18240 2000-01-09  William M. Perry <wmperry@aventail.com>
18241
18242         * gpmevent.c: (gpm_next_event_cb): Don't return value from void function.
18243
18244 2000-01-09  Andy Piper  <andy@xemacs.org>
18245
18246         * glyphs-msw.c: index -> i to avoid shadows.
18247         (xbm_create_bitmap_from_data): make static.
18248         (check_valid_string_or_int): deleted.
18249         (mswindows_control_wnd_proc): message -> msg to avoid shadows.
18250
18251         * glyphs-x.c (x_update_subwindow): remove unused args.
18252
18253         * glyphs.c (glyph_image_instance): return the thing. Don't set the
18254         back pointer - this is done in allocate_image_instance.
18255         (query_string_font): return Qnil to make the compiler happy.
18256         (unmap_subwindow): set to ~0 to make the compiler happy.
18257         (glyph_query_geometry): comment out until used.
18258         (glyph_layout): ditto.
18259
18260 2000-01-09  Hrvoje Niksic  <hniksic@iskon.hr>
18261
18262         * insdel.c (signal_after_change): Remove extraneous unbind_to().