update.
[chise/xemacs-chise.git.1] / src / ChangeLog
1 2011-03-14  MORIOKA Tomohiko  <tomo@zinbun.kyoto-u.ac.jp>
2
3         * chartab.c (Fchar_feature_base_name_eq): New function when
4         UTF2000 is enabled.
5         (Fput_char_attribute): Use `Fchar_feature_base_name_eq'.
6         (syms_of_chartab): Add new builtin function
7         `char-feature-base-name=' when UTF2000 is enabled.
8
9 2011-02-17  MORIOKA Tomohiko  <tomo@zinbun.kyoto-u.ac.jp>
10
11         * text-coding.c (Vdecomposition_feature_list): New variable when
12         UTF2000 is defined.
13         (char_encode_utf8): Refer variable `decomposition-feature-list'
14         instead of `=decomposition' feature.
15         (vars_of_file_coding): Add new variable
16         `decomposition-feature-list' when UTF2000 is defined.
17
18 2011-02-16  MORIOKA Tomohiko  <tomo@zinbun.kyoto-u.ac.jp>
19
20         * chartab.c (Fput_char_attribute): Support `=decomposition@FOO' as
21         `=decomposition' feature.
22
23 2011-02-12  MORIOKA Tomohiko  <tomo@zinbun.kyoto-u.ac.jp>
24
25         * mule-charset.c (Fmake_charset): Fix problem for 94^n or 96^n
26         coded-charsets with builtin characters.
27
28 2011-02-09  MORIOKA Tomohiko  <tomo@zinbun.kyoto-u.ac.jp>
29
30         * text-coding.c (Qrep_decomposition): New extern.
31         (char_encode_utf8): Try to encode as combing sequence (or IVS).
32
33 2011-01-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
34
35         * concord.c (Fconcord_genre_ds): Add "#ifdef HAVE_LIBCHISE" ...
36         "#endif" for code to refer Vchise_system_db_directory.
37
38 2010-12-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
39
40         * concord.c (Fconcord_object_put): Use `member' instead of `memq'.
41         (Fconcord_object_adjoin): New function.
42         (Fconcord_object_adjoinX): New function.
43         (syms_of_concord): Defsubred `Fconcord_object_adjoin' and
44         `Fconcord_object_adjoinX'.
45
46 2010-12-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
47
48         * concord.c:
49         - Include "elconcord.h".
50         - Move EXFUNs for `Fconcord_decode_object', `Fconcord_object_put'
51           and `Fconcord_object_get' to elconcord.h.
52         (Lisp_CONCORD_DS): Moved to elconcord.h.
53         (struct Lisp_CONCORD_DS): Ditto.
54         (XCONCORD_DS): Ditto.
55         (XSET_CONCORD_DS): Ditto.
56         (CONCORD_DS_P): Ditto.
57         (CHECK_CONCORD_DS): Ditto.
58         (CONCHECK_CONCORD_DS): Ditto.
59         (Lisp_CONCORD_Object): Ditto.
60         (struct Lisp_CONCORD_Object): Ditto.
61         (XCONCORD_OBJECT): Ditto.
62         (XSET_CONCORD_OBJECT): Ditto.
63         (CONCORD_OBJECT_P): Ditto.
64         (CHECK_CONCORD_OBJECT): Ditto.
65         (CONCHECK_CONCORD_OBJECT): Ditto.
66         (CONCORD_OBJECT_GENRE): Ditto.
67         (CONCORD_OBJECT_ID): Ditto.
68         (XCONCORD_OBJECT_ID): Ditto.
69         (XCONCORD_OBJECT_GENRE): Ditto.
70         (concord_object_equal): New function.
71         (LRECORD_IMPLEMENTATION of "concord_object"): Use
72         `concord_object_equal'.
73
74         * elconcord.h: New file.
75
76 2010-12-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
77
78         * concord.c (print_concord_object): Use readable form even if
79         `print-readably' is nil.
80
81 2010-11-19  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
82
83         * concord.c (print_concord_object): Don't display location of
84         data-source when `print-readably' is nil.
85
86 2010-11-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
87
88         * concord.c (Fconcord_genre_ds): Use Vchise_system_db_directory as
89         the default location of data-source.
90         (complex_vars_of_concord): Use Vchise_system_db_directory to
91         assign genre `character' and `feature'.
92
93         * chartab.h (Vchise_system_db_directory): New extern when
94         HAVE_CONCORD is defined.
95
96 2010-09-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
97
98         * concord.c: Include <chise.h> if HAVE_LIBCHISE is defined.
99         (Qcharacter): New variable when HAVE_LIBCHISE is defined.
100         (Qfeature): Ditto.
101         (Fconcord_object_genre): New function.
102         (syms_of_concord):
103         - Add new builtin symbols `character' and `feature' when
104           HAVE_LIBCHISE is defined.
105         - Add Add new builtin function `concord-object-genre'.  
106         (complex_vars_of_concord): New function; assign genres `character'
107         and `feature' when HAVE_LIBCHISE is defined.
108
109 2010-09-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
110
111         * emacs.c (main_1): Call `complex_vars_of_concord' when
112         HAVE_CONCORD is defined.
113
114         * symsinit.h (complex_vars_of_concord): New prototype.
115
116 2010-07-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
117
118         * chartab.c (allocate_character): Add `static'.
119
120 2010-07-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
121
122         * chartab.c (allocate_character): New function.
123         (Fdefine_char): Use allocate_character().
124
125 2010-06-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
126
127         * mule.c (vars_of_mule): Update `xemacs-chise-version' to 0.25
128         (Ōkawara).
129
130 2010-03-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
131
132         * chartab.c (save_uint8_byte_table): Fixed problem when a property
133         is unloaded.
134         (save_uint16_byte_table): Likewise.
135
136 2010-02-21  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
137
138         * chartab.c (Fchar_feature_property): New function when LIBCHISE
139         is enabled.
140         (Fput_char_feature_property): Likewise.
141         (syms_of_chartab): Add new builtin functions
142         `char-feature-property' and `put-char-feature-property' when
143         LIBCHISE is enabled.
144
145 2009-04-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
146
147         * mule-charset.c (Fmake_charset): Add DOC-string of 'iso-ir and
148         '=>iso-ir.
149         (Fcharset_property): Regard '=>iso-ir as same as `iso_ir.
150
151 2009-04-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
152
153         * mule-charset.c (Qto_iso_ir): New variable for XEmacs CHISE.
154         (make_charset): Add new argument `iso_ir'.
155         (Fmake_charset): Add new property `=>iso-ir' in XEmacs CHISE.
156         (Fmake_reverse_direction_charset): Copy CHARSET_ISO_IR(cs) in
157         XEmacs CHISE.
158         (Fcharset_property): Support `iso-ir' in XEmacs CHISE.
159         (syms_of_mule_charset): Add new builtin symbol `=>iso-ir' in
160         XEmacs CHISE.
161         (complex_vars_of_mule_charset): Specify argument `iso_ir' of
162         function `make_charset'.
163
164         * char-ucs.h (LEADING_BYTE_*): Enclose negative value with ( ).
165         (struct Lisp_Charset): Add new member `iso_ir'.
166         (CHARSET_ISO_IR): New macro.
167
168 2009-03-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
169
170         * mule-charset.c (Fdecode_char): Fix problem when decoding GR
171         code-point by GL charset.
172
173 2008-10-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
174
175         * concord.c (concord_id_validate): New function.
176         (structure_type_create_concord): Use `concord_id_validate' instead
177         of `concord_name_validate' to accept integer and character as =id.
178
179 2008-09-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
180
181         * concord.c (func_for_each_object): Fix bug about GC-protection.
182
183 2008-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
184
185         * concord.c (Fconcord_object_put): Check argument FEATURE is a
186         symbol.
187
188 2008-09-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
189
190         * text-coding.c (struct decoding_stream): Add new member
191         `bom_flag' in XEmacs CHISE.
192         (reset_decoding_stream): Ignore U+FEFF in the beginning of stream
193         in XEmacs CHISE.
194
195 2008-09-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
196
197         * mule-charset.c: Move definition of `=jis-x0208@1978' to
198         lisp/mule/mule-conf.el.
199
200 2008-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
201
202         * mule-charset.c (Qpartial): New variable in XEmacs CHISE.
203         (make_charset): Add new argument `partial'.
204         (Fmake_charset): Add new property 'partial in XEmacs CHISE.
205         (Fmake_reverse_direction_charset): Modify for `make_charset'.
206         (syms_of_mule_charset): Add new builtin symbol `partial' in XEmacs
207         CHISE.
208         (complex_vars_of_mule_charset): Modify for `make_charset'; specify
209         `=jis-x0208' as a partial coded-charset.
210
211 2008-08-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
212
213         * text-coding.c (decode_add_er_char): Fix problem when a character
214         represented by an entity-reference is not defined.
215
216 2008-06-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
217
218         * char-ucs.h, chartab.c, fns.c, mule-charset.c: Rename Qmap_* to
219         Qrep_*.
220
221 2007-09-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
222
223         * mule.c (vars_of_mule): Update `xemacs-chise-version' to 0.24
224         (Kasagi).
225
226 2006-06-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
227
228         * concord.c (Fconcord_object_put): Add reversed links when FEATURE
229         is a relation feature.
230
231 2006-06-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
232
233         * chartab.c (syms_of_chartab): Define
234         `{<-|->}{subsumptive|denotational}' when HAVE_CONCORD is defined.
235
236         * chartab.h (Q_denotational): New extern when UTF2000 or
237         HAVE_CONCORD is defined.
238         (Q_denotational_from): Likewise.
239         (Q_subsumptive): Likewise.
240         (Q_subsumptive_from): Likewise.
241
242 2006-06-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
243
244         * concord.c (concord_object_put): New function.
245         (Fconcord_object_put): Use `concord_object_put'.
246
247 2006-06-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
248
249         * concord.c (Fconcord_define_object): New function.
250         (syms_of_concord): Add new builtin function
251         `concord-define-object'.
252
253 2006-05-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
254
255         * mule.c (vars_of_mule): Update `xemacs-chise-version' to 0.23
256         (Kamo).
257
258 2006-04-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
259
260         * concord.c: Add EXFUN for Fconcord_object_get.
261         (Vconcord_genre_object_hash_table): New variable.
262         (concord_genre_cache_get_object): New function.
263         (concord_genre_cache_put_object): New function.
264         (Fconcord_make_object): Use object cache; put object-ID into `=id'
265         feature.
266         (Fconcord_object_put): Call `concord_index_sync' after
267         `concord_index_strid_put_obj'.
268         (vars_of_concord): Setup Vconcord_genre_object_hash_table.
269
270 2006-04-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
271
272         * concord.c (Fconcord_decode_object): Do GCPRO for
273         Fconcord_make_object.
274         (func_for_each_object): Likewise; do GCPRO for
275         for_each_object_closure->function.
276         (Fconcord_foreach_object_in_feature): Use GCPRO4 for
277         for_each_object_closure->function, for_each_object_closure->genre,
278         for_each_object_closure->ds and for_each_object_closure->ret.
279         (concord_object_validate): Do GCPRO for Fconcord_make_object.
280
281 2006-04-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
282
283         * concord.c: Add EXFUNs for Fconcord_decode_object and
284         Fconcord_object_put.
285         (Fconcord_make_object): Change order of arguments.
286         (Fconcord_decode_object): Modify for Fconcord_make_object.
287         (func_for_each_object): Likewise.
288         (concord_object_validate): Likewise.
289         (concord_object_instantiate): Use GCPRO2 for `data' and `retval'.
290
291 2006-04-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
292
293         * concord.c (Fconcord_object_put): Setup index for `=FOO' feature.
294
295 2006-04-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
296
297         * concord.c (Fconcord_decode_object): Try to use readable print
298         form as a key of Concord-index.
299         (Fconcord_object_get): Try to use readable print form as an ID of
300         Concord-object.
301         (Fconcord_object_put): Try to use readable print form as an ID of
302         Concord-object and a feature value.
303         (Fconcord_object_spec): Try to use readable print form as an ID of
304         Concord-object.
305
306 2006-04-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
307
308         * concord.c (print_concord_object): Support readable form.
309
310 2006-04-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
311
312         * emacs.c (main_1): Call `structure_type_create_concord' when
313         HAVE_CONCORD is defined.
314
315         * symsinit.h (structure_type_create_concord): New prototype.
316
317         * concord.c (Qconcord_object): New variable.
318         (Qgenre): Likewise.
319         (Q_id): Likewise.
320         (Fconcord_ds_directory): Use <char*> instead of <unsigned char*>
321         for directory.
322         (add_feature_to_list_mapper): Use <char*> instead of <unsigned
323         char*> for genre-name.
324         (Fconcord_feature_list): Likewise.
325         (Fconcord_make_object): Likewise.
326         (Fconcord_decode_object): Likewise; use <char*> instead of
327         <unsigned char*> for feature_name and strid.
328         (Fconcord_object_get): Use <char*> instead of <unsigned char*> for
329         c_obj and feature_name.
330         (Fconcord_object_put): Likewise; use <char*> instead of <unsigned
331         char*> for c_value.
332         (struct closure_for_object_spec): Use <char*> instead of <unsigned
333         char*> for member `object_id'.
334         (add_feature_to_spec_mapper): Use <char*> instead of <unsigned
335         char*> for feature-name.
336         (Fconcord_object_spec): Use <char*> instead of <unsigned char*>
337         for c_obj.
338         (func_for_each_object): Cast to avoid warnings.
339         (Fconcord_foreach_object_in_feature): Use <char*> instead of
340         <unsigned char*> for genre_name and feature_name.
341         (concord_name_validate): New function.
342         (concord_object_validate): Likewise.
343         (concord_object_instantiate): Likewise.
344         (syms_of_concord): Add new builtin symbols `concord-object',
345         `genre' and `=id'.
346         (structure_type_create_concord): New function.
347
348 2006-04-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
349
350         * concord.c (Vconcord_ds_hash_table): New variable.
351         (Vconcord_genre_hash_table): New variable.
352         (Fconcord_open_ds): Use Vconcord_ds_hash_table.
353         (Fconcord_ds_directory): New function.
354         (Fconcord_assign_genre): New function.
355         (Fconcord_genre_directory): New function.
356         (Fconcord_genre_ds): New function.
357         (Fconcord_feature_list): Allow to omit `ds'.
358         (Fconcord_make_object): Likewise.
359         (Fconcord_decode_object): Likewise.
360         (Fconcord_foreach_object_in_feature): Likewise.
361         (syms_of_concord): Add new builtin function Fconcord_ds_directory,
362         Fconcord_assign_genre, Fconcord_genre_directory and
363         Fconcord_genre_ds.
364         (vars_of_concord): Setup Vconcord_ds_hash_table and
365         Vconcord_genre_hash_table.
366
367 2006-02-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
368
369         * concord.c (struct closure_for_each_object): Add new member
370         `ret'.
371         (func_for_each_object): Setup the return value to
372         `for_each_object_closure->ret'.
373         (Fconcord_foreach_object_in_feature): If FUNCTION returns non-nil,
374         returns the value instead of Qt.
375
376 2005-12-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
377
378         * concord.c: New file.
379
380 2005-12-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
381
382         * lrecord.h (enum lrecord_type): Add `lrecord_type_concord_ds' and
383         `lrecord_type_concord_object'.
384
385 2005-09-21  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
386
387         * symsinit.h (syms_of_concord): New prototype.
388         (vars_of_concord): New prototype.
389
390         * emacs.c (main_1): Setup symbols and variable about concord if
391         HAVE_CONCORD is defined.
392
393         * config.h.in (HAVE_CONCORD): New macro.
394
395 2005-09-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
396
397         * chartab.c (Fput_char_attribute): For each character relation
398         feature `{<-|->}FOO', set up the reversed link `{->|<-}FOO'.
399
400 2005-08-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
401
402         * chartab.c (Fput_char_attribute): Use
403         `Fchar_refs_simplify_char_specs' for `=>decomposition' before
404         calling `put_char_composition'.
405
406 2005-08-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
407
408         * chartab.c (Q_halfwidth_of): New variable.
409         (put_char_composition): Return `<-halfwidth' instead of
410         `=decomposition' for compatibility mapping to single character
411         tagged `narrow'.
412         (Fput_char_attribute): Convert char-specs in value of
413         `{<-|->}halfwidth[^*]*' to characters and put reverse links.
414         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
415         for `<-halfwidth'.
416         (syms_of_chartab): Add new symbol `<-halfwidth'.
417
418 2005-08-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
419
420         * chartab.c (put_char_composition): Return
421         `<-formed@{isolated|initial|medial|final}' for compatibility
422         mapping to single character tagged
423         `{isolated|initial|medial|final}'.
424
425 2005-08-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
426
427         * chartab.c (Q_compat_of): Deleted.
428         (put_char_composition): Return `<-FOO' for compatibility mapping
429         to single character tagged `FOO'; use `Fsymbol_name (...)' instead
430         of `symbol_name (XSYMBOL(...))'.
431         (Fput_char_attribute): Convert char-specs in value of
432         `{<-|->}font[^*]*' to characters and put reverse links.
433         (Fsave_char_attribute_table): Don't refer Q_compat_of.
434         (syms_of_chartab): Delete builtin symbol `<-compat'.
435
436 2005-08-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
437
438         * chartab.c (Q_circled_of): New variable.
439         (put_char_composition): Return `<-circled' instead of
440         `=decomposition' for compatibility mapping to single character
441         tagged `circle'.
442         (Fput_char_attribute): Convert char-specs in value of
443         `{<-|->}circled[^*]*' to characters and put reverse links.
444         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
445         for `<-circled'.
446         (syms_of_chartab): Add new symbol `<-circled'.
447
448 2005-08-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
449
450         * chartab.c (Qto_decomposition_at_circled): New variable.
451         (put_char_composition): Return `=>decomposition@circled' instead
452         of `=decomposition' for compatibility decomposition mapping tagged
453         `circle'.
454         (syms_of_chartab): Add new symbol `=>decomposition@circled'.
455
456 2005-08-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
457
458         * chartab.c (Q_subscript_of): New variable.
459         (put_char_composition): Return `<-subscript' instead of
460         `=decomposition' for compatibility mapping to single character
461         tagged `sub'.
462         (Fput_char_attribute): Convert char-specs in value of
463         `{<-|->}subscript[^*]*' to characters and put reverse links.
464         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
465         for `<-subscript'.
466         (syms_of_chartab): Add new symbol `<-subscript'.
467
468 2005-08-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
469
470         * chartab.c (Q_superscript_of): New variable.
471         (put_char_composition): Return `<-superscript' instead of
472         `=decomposition' for compatibility mapping to single character
473         tagged `super'.
474         (Fput_char_attribute): Convert char-specs in value of
475         `{<-|->}superscript[^*]*' to characters and put reverse links.
476         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
477         for `<-superscript'.
478         (syms_of_chartab): Add new symbol `<-superscript'.
479
480 2005-08-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
481
482         * chartab.c (Qto_decomposition_at_compat): Deleted.
483         (Qto_decomposition_at_superscript): New variable.
484         (put_char_composition): Use `=>decomposition@superscript' instead
485         of `=decomposition' for compatibility decomposition mapping tagged
486         `super'.
487         (Fput_char_attribute): Fix condition about `put_char_composition'.
488         (syms_of_chartab): Delete builtin symbol `=>decomposition@compat';
489         add news symbol `=>decomposition@superscript'.
490
491 2005-07-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
492
493         * chartab.c (put_char_composition): Return `=>decomposition@FOO'
494         for compatibility decomposition mapping tagged FOO.
495         (Fput_char_attribute): Modify for `put_char_composition'.
496
497 2005-07-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
498
499         * chartab.c (Qto_decomposition_at_compat): New variable.
500         (Q_compat_of): Renamed from `Q_compatibility_of'.
501         (put_char_composition): Rename `Q_compatibility_of' to
502         `Q_compat_of'; return `=>decomposition@compat' for compatibility
503         decomposition mapping.
504         (Fsave_char_attribute_table): Rename `Q_compatibility_of' to
505         `Q_compat_of'.
506         (syms_of_chartab): Add new symbol `=>decomposition@compat'; rename
507         `<-compatibility' to `<-compat'.
508
509 2005-07-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
510
511         * chartab.c (Q_compatibility_of): New variable.
512         (put_char_composition): Use XCAR/XCDR instead of Fcar/Fcdr if an
513         object is proved to be a cons cell; return `<-compatibility' if
514         the first element of argument `value' is `compat'.
515         (Fput_char_attribute): Eliminate the first value if
516         `put_char_composition' returns `<-compatibility'.
517         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
518         for `<-compatibility'.
519         (syms_of_chartab): Add new symbol `<-compatibility'.
520
521 2005-07-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
522
523         * chartab.c (Q_canonical): New variable.
524         (put_char_composition): Return a feature name: return
525         `->canonical' if argument `value' specifies single character.
526         (Fput_char_attribute): Use `put_char_composition' to determine
527         feature name for `=decomposition' or `->denotational'.
528         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
529         for `->canonical'.
530         (syms_of_chartab): Add new symbol `->canonical'.
531
532 2005-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
533
534         * chartab.c (Qmap_decomposition): New variable.
535         (Fput_char_attribute): Convert `->decomposition' to
536         `=decomposition'.
537         (syms_of_chartab): Add new symbol `=decomposition'.
538
539 2005-07-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
540
541         * chartab.c (Fget_range_char_table): Fix serious problem when
542         `range' is nil.
543
544 2005-06-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
545
546         * chartab.c (char_table_get_db): Use `read_from_c_string'.
547
548 2005-06-19  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
549
550         * lread.c (read_from_c_string): New function.
551
552         * lisp.h (read_from_c_string): New prototype.
553
554 2005-05-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
555
556         * chartab.c (Fput_char_attribute): Convert char-specs in value of
557         `{<-|->}Oracle-Bones[^*]*' to characters and put reverse links.
558         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
559         for `{<-|->}Oracle-Bones[^*]*'.
560
561 2005-05-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
562
563         * mule.c (vars_of_mule): Update `xemacs-chise-version' to 0.22
564         (Kizu).
565
566 2005-02-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
567
568         * text-coding.c (Qccs_priority_list): New variable in XEmacs
569         CHISE.
570         (Fmake_coding_system): Support new property `ccs-priority-list' in
571         XEmacs CHISE.
572         (Fcoding_system_property): Likewise.
573         (char_encode_iso2022): Prefer CODING_SYSTEM_CCS_PRIORITY_LIST than
574         Vdefault_coded_charset_priority_list in XEmacs CHISE.
575         (syms_of_file_coding): Add builtin symbol `ccs-priority-list' in
576         XEmacs CHISE.
577         (complex_vars_of_file_coding): Define new coding-system-property
578         `ccs-priority-list' in XEmacs CHISE.
579
580         * file-coding.h (XCODING_SYSTEM_CCS_PRIORITY_LIST): New macro.
581
582 2004-12-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
583
584         * char-ucs.h (decoding_table_put_char): Moved to mule-charset.c;
585         changed to normal function.
586         (encode_char_2): Likewise.
587
588         * mule-charset.c (decoding_table_put_char): Copied from
589         char-ucs.h; changed to normal function.
590         (encode_char_2): Likewise.
591
592 2004-12-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
593
594         * char-ucs.h (Vdisplay_coded_charset_priority_use_inheritance):
595         New extern.
596         (Vdisplay_coded_charset_priority_use_hierarchy_order): Likewise.
597         (encode_char_2_search_children): New inline function.
598         (encode_char_2): Refer
599         `Vdisplay_coded_charset_priority_use_{inheritance|hierarchy_order}'
600         and use `encode_char_2_search_children'.
601
602 2004-12-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
603
604         * mule-charset.c
605         (Vdisplay_coded_charset_priority_use_inheritance): New variable.
606         (Vdisplay_coded_charset_priority_use_hierarchy_order): Likewise.
607         (vars_of_mule_charset): Add new variable
608         `display-coded-charset-priority-use-inheritance' and
609         `display-coded-charset-priority-use-hierarchy-order'.
610
611 2004-11-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
612
613         * char-ucs.h (Q_subsumptive): New extern.
614         (Q_denotational): Likewise.
615         (encode_char_2): Search children specified by `->subsumptive' and
616         `->denotational'.
617
618 2004-11-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
619
620         * mule-charset.c (complex_vars_of_mule_charset): Modify the
621         X-registry of `ucs-bmp'.
622
623 2004-10-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
624
625         * chartab.c (char-variants): Refer `->subsumptive',
626         `->denotational' and `->identical' as same as `->ucs-unified'.
627
628 2004-10-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
629
630         * chartab.c (Fput_char_attribute): Convert char-specs in value of
631         `{<-|->}{fullwidth|halfwidth}[^*]*' to characters and put reverse
632         links.
633
634 2004-09-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
635
636         * text-coding.c: Add EXFUN for `Fregexp_quote'.
637         (decode_add_er_char): Fix problem about infinite loop when a CCS
638         specified in `coded-charset-entity-reference-alist' is not
639         existed.
640
641 2004-09-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
642
643         * mule-charset.c (syms_of_mule_charset): Rename
644         `=jis-x0208-{1978|1983|1990}' to `=jis-x0208@{1978|1983|1990}'.
645
646 2004-08-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
647
648         * fns.c (simplify_char_spec): Don't allocate new character-object
649         if specified char_spec does not have any CCS-features.
650
651         * chartab.h: Add EXFUN for Fdefine_char.
652
653         * chartab.c: Delete EXFUN for Fdefine_char.
654
655 2004-08-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
656
657         * fns.c (simplify_char_spec): Use Fdefine_char instead of
658         Ffind_char for char-spec.
659
660 2004-07-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
661
662         * lisp-disunion.h (XCHARVAL): Fix condition about
663         SIZEOF_EMACS_INT.
664
665 2004-07-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
666
667         * mule-charset.c (decode_builtin_char): Use <EMACS_INT> instead of
668         <int> for `code'.
669         (Fdecode_builtin_char): Use <EMACS_INT> instead of <int> for code
670         point; use <Emchar> instead of <int> for character-id.
671
672 2004-07-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
673
674         * lisp-disunion.h (make_int): Cast the argument into <EMACS_INT>.
675         (make_char): Likewise.
676         (XCHARVAL): Don't use the inline function for UTF-2000 in 64 bit
677         environment.
678         (XCHARVAL[for UTF-2000 in 32 bit environment]): Use <Emchar>
679         instead of <int> as the type of return value; use <Lisp_Object>
680         instead of <Emchar> as the type of argument.
681         (XCHARVAL[macro version]): Cast the result into <Emchar>.
682
683         * syntax.h (SYNTAX_CODE_UNSAFE): Use <Lisp_Object> and <enum
684         syntaxcode> instead of <int>.
685
686 2004-07-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
687
688         * chartab.c (put_char_composition): Use DECODE_CHAR to get
689         character corresponding with UCS code point.
690         (Fput_char_attribute): Likewise.
691
692         * mule-charset.c (put_char_ccs_code_point): Don't omit a UCS
693         character in the UCS decoding-table if the char-id is not equal to
694         the UCS code point.
695
696 2004-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
697
698         * mule-charset.c (Fsave_charset_properties): Use `true-name' only
699         for aliases; write `description'; write
700         `mother-code-{min|max|offset|conversion}' if CHARSET_MAX_CODE is
701         not 0.
702
703 2004-07-21  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
704
705         * chartab.c (Fsave_char_attribute_table): Don't use
706         `save_charset_properties'.
707
708         * mule-charset.c (Fsave_charset_properties): Renamed from
709         `save_charset_properties' and changed to Lisp function again;
710         write property `type' as `CCS'; write properties `final-byte' and
711         `mother' if they exists.
712         (syms_of_mule_charset): Revive builtin function
713         `save-charset-properties' when HAVE_LIBCHISE is defined.
714
715 2004-07-21  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
716
717         * chartab.c (open_chise_data_source_maybe): Use Vdata_directory
718         instead of Vexec_directory.
719         (char_attribute_system_db_file): Likewise.
720
721 2004-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
722
723         * chartab.c (Fsave_char_attribute_table): Use
724         `save_charset_properties' for CCS features when HAVE_LIBCHISE is
725         defined.
726
727         * mule-charset.c (save_charset_properties): Renamed from
728         `Fsave_charset_properties'; changed to non-Lisp function.
729         (syms_of_mule_charset): Abolish builtin function
730         `save-charset-properties'.
731
732 2004-07-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
733
734         * mule-charset.c (Fsave_charset_properties): New function when
735         HAVE_LIBCHISE is defined.
736         (syms_of_mule_charset): Add new builtin function
737         `save-charset-properties' when HAVE_LIBCHISE is defined.
738
739 2004-06-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
740
741         * chartab.c (Fput_char_attribute): Convert char-specs in value of
742         `{<-|->}ancient[^*]*' to characters and put reverse links.
743         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
744         for `{<-|->}ancient[^*]*'.
745
746 2004-06-19  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
747
748         * chartab.c (Fput_char_attribute): Convert char-specs in value of
749         `{<-|->}original[^*]*' to characters and put reverse links.
750         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
751         for `{<-|->}original[^*]*'.
752
753 2004-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
754
755         * mule-canna.c (m2c): Fix problem with XEmacs CHISE.
756
757 2004-06-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
758
759         * mule-charset.c (Qsystem_char_id): New variable.
760
761         * chartab.c (Qsystem_char_id): Deleted even if HAVE_CHISE is
762         defined and HAVE_LIBCHISE_LIBCHISE is not defined.
763
764 2004-05-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
765
766         * chartab.c (Fput_char_attribute): When processing a reference of
767         a character, put into the end of the reversed reference of each
768         target character.
769
770 2004-05-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
771
772         * chartab.c (Q_same): Deleted.
773         (Q_same_of): Deleted.
774         (Fput_char_attribute): Use Fstring_match to find `{<-|->}same'.
775         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
776         for `{<-|->}same'.
777         (syms_of_chartab): Delete builtin symbol `{<-|->}same'.
778
779 2004-05-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
780
781         * chartab.c (Q_vulgar): Deleted.
782         (Q_vulgar_of): Deleted.
783         (Fput_char_attribute): Use Fstring_match to find `{<-|->}vulgar'.
784         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
785         for `{<-|->}vulgar'.
786         (syms_of_chartab): Don't define `{<-|->}vulgar'.
787
788 2004-04-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
789
790         * chartab.c (Fput_char_attribute): Convert char-specs in value of
791         `{<-|->}wrong[^*]*' to characters and put reverse links.
792         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
793         for `{<-|->}wrong[^*]*'.
794
795 2004-04-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
796
797         * chartab.c (Q_vulgar): New variable.
798         (Q_vulgar_of): New variable.
799         (Fput_char_attribute): Convert char-specs in value of
800         `{->|<-}vulgar' to characters and put reverse links.
801         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
802         for `{->|<-}vulgar'.
803         (syms_of_chartab): Add new symbols `{->|<-}vulgar'.
804
805 2004-04-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
806
807         * text-coding.c (decode_add_er_char): Must to quote prefix string
808         as regexp.
809
810 2004-04-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
811
812         * mule-charset.c (put_char_ccs_code_point): Store characters of
813         =ucs whose code_points >= 0xF0000.
814
815 2004-04-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
816
817         * mule-charset.c (Vcharset_system_char_id): New variable in XEmacs
818         CHISE.
819         (syms_of_mule_charset): Add new symbol `system-char-id' in XEmacs
820         CHISE.
821         (complex_vars_of_mule_charset): Add new coded-charset
822         `system-char-id' in XEmacs CHISE; modify `=ucs' to eliminate
823         builtin characters over 0xEFFFF.
824
825         * chartab.c (syms_of_chartab): Don't define symbol
826         `system-char-id' in every case.
827
828         * char-ucs.h (Qsystem_char_id): New extern variable.
829         (LEADING_BYTE_SYSTEM_CHAR_ID): New macro.
830
831 2004-04-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
832
833         * text-coding.c (char_encode_utf8): Try to use entity-references
834         for U-000F0000 ...  U-0010FFFF.
835
836 2004-04-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
837
838         * text-coding.c (ER_BUF_SIZE): New macro.
839         (struct decoding_stream): Use `ER_BUF_SIZE' to specify size of
840         `er_buf'.
841         (decode_add_er_char): Use `ER_BUF_SIZE' instead of 16.
842         (char_encode_as_entity_reference): Use `ER_BUF_SIZE'.
843
844 2004-03-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
845
846         * chartab.c (find_char_feature_in_family): New function.
847         (Fchar_feature): Use `find_char_feature_in_family' with
848         `->identical', `<-subsumptive' and `<-denotational'.
849
850 2004-03-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
851
852         * text-coding.c (char_encode_as_entity_reference): Allow prefix
853         within 8 characters; fix infinite loop.
854
855 2004-03-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
856
857         * chartab.c (Q_same): New variable.
858         (Q_same_of): New variable.
859         (Fput_char_attribute): Convert char-specs in value of
860         `{->|<-}same' to characters and put reverse links.
861         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
862         for `{->|<-}same'.
863         (syms_of_chartab): Add new symbols `{->|<-}same'.
864
865 2004-03-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
866
867         * chartab.c (Q_component): New variable.
868         (Q_component_of): Likewise.
869         (Fput_char_attribute): Convert char-specs in value of
870         `{->|<-}ideographic-component-forms' to characters and put reverse
871         links.
872         (syms_of_chartab): Add new symbols
873         `{->|<-}ideographic-component-forms'.
874
875 2004-02-24  MORIOKA Tomohiko  <tomo@m17n.org>
876
877         * chartab.c (Q_identical): New variable.
878         (Q_identical_from): New variable.
879         (Fchar_feature): Regard `->identical' as a feature to find
880         ancestors.
881         (Fput_char_attribute): Add reversed link for `{->|<-}identical'.
882         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
883         for `{->|<-}identical'.
884         (syms_of_chartab): Add new symbols `{->|<-}identical'.
885
886 2004-02-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
887
888         * char-ucs.h (encode_char_2): New inline function.
889         (CHAR_TO_CHARC): Use `encode_char_2' instead of `encode_char_1'.
890
891 2004-02-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
892
893         * chartab.c (Fput_char_attribute): Convert char-specs to
894         characters in value of `ideographic-structure'.
895         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
896         for `{<-|->}simplified(@...)'.
897         (Fdefine_char): Try to use predefined character's id.
898
899 2004-02-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
900
901         * fns.c (simplify_char_spec): Try to convert builtin chars to
902         defined chars.
903
904 2004-02-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
905
906         * chartab.c (Fput_char_attribute): Convert char-specs in value of
907         `<-simplified[^*]*' to characters and put reverse links.
908
909 2004-02-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
910
911         * chartab.c (Q_subsumptive): Renamed from Q_unified.
912         (Q_subsumptive_from): Renamed from Q_unified_from.
913         (Fchar_feature): Use `Q_subsumptive_from' instead of
914         `Q_unified_from'.
915         (Fput_char_attribute): Likewise; Use `Q_subsumptive' instead of
916         `Q_unified'.
917         (syms_of_chartab): Rename `->unified' to `->subsumptive' and
918         `<-unified' to `<-subsumptive'.
919
920 2004-02-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
921
922         * chartab.c (Fchar_feature): Check `<-denotational' to avoid
923         inheritance itself; fix typo; stop recursive search if cyclic
924         inheritance is found.
925
926 2004-02-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
927
928         * chartab.c (Q_denotational): New variable.
929         (Q_denotational_from): New variable.
930         (Fchar_feature): Refer `<-denotational' as same as `<-unified'.
931         (put_char_attribute): New function.
932         (Fput_char_attribute): Use `put_char_attribute'; regard
933         `->denotational' and `<-denotational' as same as `->unified' and
934         `<-unified'.
935         (syms_of_chartab): Add new symbols `->denotational' and
936         `<-denotational'.
937
938 2004-02-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
939
940         * chartab.c (Fget_composite_char): Use `Fchar_feature' instead of
941         `Fget_char_attribute'.
942         (Fchar_variants): Likewise.
943         (get_char_table): Likewise.
944         (Fchar_feature): New function.
945         (put_char_composition): Use `Fchar_feature' instead of
946         `Fget_char_attribute'.
947         (Fput_char_attribute): Likewise; don't put the target character
948         into its `->unified' value.
949         (syms_of_chartab): Add new builtin function `char-feature'.
950
951 2004-01-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
952
953         * text-coding.c (COMPOSE_ADD_CHAR): Use `Fchar_feature' instead of
954         `Fget_char_attribute'.
955         (char_encode_utf8): Likewise.
956
957         * chartab.h: Add an EXFUN for `Fchar_feature'.
958
959 2004-01-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
960
961         * chartab.c (Vnext_defined_char_id): New variable.
962         (Fput_char_attribute): Accept characters in `->unified'.
963         (Fdefine_char): Refer and update Vnext_defined_char_id to allocate
964         new characters which are not related with builtin char-id ranges.
965         (vars_of_chartab): Add new variable `next-defined-char-id'.
966
967 2004-01-19  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
968
969         * chartab.c (Q_unified): New variable.
970         (Q_unified_from): New variable.
971         (Fput_char_attribute): Add code for `->unified'.
972         (syms_of_chartab): Add new symbols `->unified' and `<-unified' in
973         XEmacs CHISE.
974
975 2003-11-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
976
977         * mule-charset.c (decode_ccs_conversion): New function.
978         (decode_defined_char): Use `decode_ccs_conversion'.
979         (decode_builtin_char): Likewise.
980
981 2003-11-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
982
983         * char-ucs.h: Change some charset-ids of private coded-charsets.
984
985 2003-11-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
986
987         * text-coding.c (decode_add_er_char): Modify for `DECODE_CHAR'.
988         (char_encode_as_entity_reference): Likewise.
989         (decode_coding_big5): Modify for `decode_defined_char' and
990         `DECODE_CHAR'.
991         (decode_coding_utf8): Modify for `decode_defined_char'; modify to
992         avoid compiler warning.
993         (decode_coding_iso2022): Modify for `DECODE_CHAR'.
994
995         * mule-charset.c (decode_defined_char): Add new argument
996         `without_inheritance'.
997         (Fdecode_char): Add new optional argument `without_inheritance'.
998         (Fdecode_builtin_char): Modify for `Fdecode_char'.
999
1000         * fns.c (ids_format_unit): Modify for `Fdecode_char'.
1001         (simplify_char_spec): Likewise.
1002
1003         * chartab.h (Fdecode_char): Modify number of arguments of EXFUN
1004         setting.
1005
1006         * chartab.c (put_char_table): Modify for `DECODE_CHAR'.
1007         (map_char_table): Likewise.
1008         (Fdefine_char): Use `Fdecode_char' without inheritance.
1009         (Ffind_char): Modify for `Fdecode_char'.
1010
1011         * character.h (CHARC_TO_CHAR): Modify for `DECODE_CHAR'.
1012
1013         * char-ucs.h (decode_defined_char): Add new argument
1014         `without_inheritance'.
1015         (DECODE_CHAR): Likewise.
1016         (MAKE_CHAR): Modify for `DECODE_CHAR'.
1017
1018 2003-10-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1019
1020         * chartab.c (Vchise_system_db_directory): New variable.
1021         (vars_of_chartab): Add new variable `chise-system-db-directory'.
1022
1023 2003-10-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1024
1025         * chartab.c: EXFUN `Fmount_char_attribute_table'.
1026         (print_chartab_range): Don't define when `UTF2000' is defined.
1027         (open_chise_data_source_maybe): Specify 0 instead of DB_HASH for
1028         `CHISE_DS_open'.
1029
1030 2003-10-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1031
1032         * chartab.c (Fchar_attribute_list): When HAVE_LIBCHISE is defined
1033         and optional argument `rehash' is specified, call
1034         `open_chise_data_source_maybe' before
1035         `chise_ds_foreach_char_feature_name' is called.
1036
1037 2003-10-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1038
1039         * chartab.c (char_attribute_list_reset_map_func): New function
1040         when HAVE_LIBCHISE is defined.
1041         (Fchar_attribute_list): Add new optional argument `rehash' when
1042         HAVE_LIBCHISE is defined.
1043         (open_chise_data_source_maybe): Use "chise-db" instead of
1044         "char-db".
1045         (char_attribute_system_db_file): Likewise.
1046         (Fload_char_attribute_table): Use
1047         `chise_feature_foreach_char_with_value' instead of
1048         `chise_char_feature_value_iterate'.
1049
1050 2003-10-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1051
1052         * chartab.c (Vchise_db_directory): New variable.
1053         (vars_of_chartab): Add new built-in variable `chise-db-directory'.
1054
1055 2003-10-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1056
1057         * mule-charset.c (Freset_charset_mapping_table): Use HAVE_LIBCHISE
1058         instead of HAVE_CHISE to specify using with libchise.
1059
1060         * config.h.in (HAVE_CHISE_CLIENT): Deleted.
1061
1062         * chartab.h: Don't use HAVE_CHISE_CLIENT.
1063
1064         * chartab.c (Qsystem_char_id): Don't define when HAVE_CHISE is not
1065         defined or HAVE_LIBCHISE_LIBCHISE is defined.
1066         (char_attribute_system_db_file): Don't define when HAVE_LIBCHISE
1067         is defined.
1068         (Freset_char_attribute_table): Use HAVE_LIBCHISE instead of
1069         HAVE_CHISE to specify using with libchise.
1070         (syms_of_chartab): Don't define symbol `system-char-id' when
1071         HAVE_CHISE is not defined or HAVE_LIBCHISE_LIBCHISE is defined.
1072
1073 2003-10-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1074
1075         * mule-charset.c: Use HAVE_CHISE instead of HAVE_CHISE_CLIENT to
1076         specify CHISE DB support.
1077         (Freset_charset_mapping_table): Use `chise_ccs_setup_db' instead
1078         of `char_attribute_system_db_file' to check feature DB file.
1079
1080         * chartab.h, casetab.c, char-ucs.h: Use HAVE_CHISE instead of
1081         HAVE_CHISE_CLIENT to specify CHISE DB support.
1082
1083         * chartab.c: Use HAVE_CHISE instead of HAVE_CHISE_CLIENT to
1084         specify CHISE DB support.
1085         (open_chise_data_source_maybe): Don't define when HAVE_LIBCHISE is
1086         not defined.
1087         (Freset_char_attribute_table): Use `chise_feature_setup_db'
1088         instead of `char_attribute_system_db_file' to check feature DB
1089         file.
1090
1091 2003-10-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1092
1093         * mule.c (vars_of_mule): Use `HAVE_CHISE' instead of `CHISE' and
1094         `HAVE_CHISE_CLIENT'.
1095
1096 2003-10-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1097
1098         * mule-charset.c: Use HAVE_LIBCHISE instead of CHISE.
1099         (Fsave_charset_mapping_table): Don't use
1100         `char_attribute_system_db_file' when HAVE_LIBCHISE is defined.
1101
1102         * config.h.in (HAVE_CHISE): Renamed from `CHISE'.
1103         (HAVE_LIBCHISE): New macro.
1104
1105         * chartab.h: Use HAVE_LIBCHISE instead of CHISE.
1106
1107         * chartab.c: Use HAVE_LIBCHISE instead of CHISE.
1108         (Fsave_char_attribute_table): Don't use
1109         `char_attribute_system_db_file' when HAVE_LIBCHISE is defined.
1110
1111 2003-10-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1112
1113         * chartab.c (save_uint8_byte_table): Use libchise when CHISE is
1114         defined.
1115         (save_uint16_byte_table): Likewise.
1116         (save_byte_table): Likewise.
1117         (char_table_get_db): Use `chise_ds_load_char_feature_value'
1118         instead of `chise_char_load_feature_value'.
1119         (Fsave_char_attribute_table): Use libchise when CHISE is defined.
1120
1121 2003-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1122
1123         * chartab.h (struct Lisp_Char_Table): Delete member
1124         `feature_table' if CHISE is defined.
1125
1126         * chartab.c (Fmake_char_table): Don't refer `ct->feature_table'.
1127         (Fcopy_char_table): Likewise.
1128         (char_table_open_db_maybe): Likewise.
1129         (char_table_close_db_maybe): Likewise.
1130         (char_table_get_db): Likewise.
1131         (Fmount_char_attribute_table): Likewise.
1132         (Fload_char_attribute_table): Likewise.
1133
1134 2003-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1135
1136         * mule-charset.c (load_char_decoding_entry_maybe): Use
1137         `chise_ds_decode_char' instead of `chise_ds_get_ccs' and
1138         `chise_ccs_decode'.
1139
1140 2003-10-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1141
1142         * chartab.c (open_chise_data_source_maybe): Use `CHISE_DS_open'
1143         instead of `chise_open_data_source'.
1144         (Fclose_char_data_source): Use `CHISE_DS_close' instead of
1145         `chise_ds_close'.
1146
1147 2003-10-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1148
1149         * chartab.c (char_table_open_db_maybe): Use `chise_ds_get_feature'
1150         instead of `chise_ds_open_feature_table'.
1151         (char_table_close_db_maybe): Don't use `chise_ft_close'.
1152
1153 2003-10-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1154
1155         * mule-charset.c (Fsave_charset_mapping_table): Use
1156         `chise_ds_get_ccs' instead of `chise_ds_open_ccs_table'; use
1157         `chise_ccs_set_decoded_char' instead of `chise_ccst_put_char'; use
1158         `chise_ccs_sync' instead of `chise_ccst_close'.
1159         (load_char_decoding_entry_maybe): Modify for `chise_ds_get_ccs'.
1160
1161         * chartab.c (open_chise_data_source_maybe): Modify for
1162         `chise_open_data_source'.
1163         (char_table_open_db_maybe): Modify for
1164         `chise_ds_open_feature_table'.
1165
1166 2003-08-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1167
1168         * mule-charset.c (load_char_decoding_entry_maybe): Use
1169         `chise_ds_get_ccs' instead of `chise_ds_open_ccs_table'; don't use
1170         `chise_ccst_close'.
1171
1172 2003-08-25  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1173
1174         * mule-charset.c (Fsave_charset_mapping_table): Use
1175         `chise_ds_open_ccs_table', `chise_ccst_put_char' and
1176         `chise_ccst_close' instead of `chise_ds_open_decoding_table',
1177         `chise_dt_put_char' and `chise_dt_close'.
1178         (load_char_decoding_entry_maybe): Use `chise_ds_open_ccs_table',
1179         `chise_ccs_decode' and `chise_ccst_close' instead of
1180         `chise_ds_open_decoding_table', `chise_dt_get_char' and
1181         `chise_dt_close'.
1182
1183         * chartab.c (char_table_get_db): Use
1184         `chise_char_load_feature_value' instead of `chise_ft_get_value'.
1185         (load_char_attribute_table_map_func): Modify for
1186         `chise_char_feature_value_iterate'.
1187         (Fload_char_attribute_table): Use
1188         `chise_char_feature_value_iterate' instead of `chise_ft_iterate'.
1189
1190 2003-10-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1191
1192         * text-coding.c (COMPOSE_ADD_CHAR): Fixed.
1193
1194 2003-08-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1195
1196         * chartab.c (put_char_table): Modify for inherited coded-charsets
1197         in XEmacs CHISE.
1198
1199 2003-08-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1200
1201         * chartab.c (Fput_char_table_map_function): Fixed.
1202         (word_boundary_p): Don't check charset in XEmacs CHISE.
1203
1204 2003-08-17  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1205
1206         * mule-charset.c (Fsave_charset_mapping_table): Use
1207         `open_chise_data_source_maybe'; use `chise_ds_open_decoding_table'
1208         instead of `chise_open_decoding_table'; refer
1209         `default_chise_data_source'; use `chise_dt_close' instead of
1210         `chise_close_decoding_table'.
1211         (load_char_decoding_entry_maybe): Likewise.
1212
1213         * chartab.c (default_chise_data_source): New variable when `CHISE'
1214         is defined.
1215         (Fcopy_char_table): `ct->ds' is deleted.
1216         (open_chise_data_source_maybe): New function.
1217         (Fclose_char_data_source): New function.
1218         (char_table_open_db_maybe): Use `open_chise_data_source_maybe';
1219         use `chise_ds_open_feature_table' instead of
1220         `chise_open_feature_table'.
1221         (char_table_close_db_maybe): Use `chise_ft_close' instead of
1222         `chise_close_feature_table'; `cit->ds' is deleted.
1223         (syms_of_chartab): Add new builtin function
1224         `close-char-data-source' when `HAVE_CHISE_CLIENT' is defined.
1225
1226         * chartab.h (default_chise_data_source): New extern variable.
1227         (open_chise_data_source_maybe): New prototype.
1228         (struct Lisp_Char_Table): Delete `ds'.
1229
1230 2003-08-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1231
1232         * mule-charset.c (Fsave_charset_mapping_table): Use libchise when
1233         `CHISE' is defined.
1234
1235 2003-08-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1236
1237         * chartab.c (char_table_open_db_maybe): Defined even if `CHISE' is
1238         not defined; add code for non-libchise setting.
1239         (char_table_close_db_maybe): Likewise.
1240         (char_table_get_db): New function when `HAVE_CHISE_CLIENT' is
1241         defined.
1242         (Fclose_char_attribute_table): Use `char_table_close_db_maybe'
1243         even if `CHISE' is not defined.
1244         (Freset_char_attribute_table): Likewise.
1245         (load_char_attribute_maybe): Use `char_table_open_db_maybe' and
1246         `char_table_close_db_maybe' even if `CHISE' is not defined; use
1247         `char_table_get_db'.
1248         (Fload_char_attribute_table): Use `char_table_open_db_maybe' and
1249         `char_table_close_db_maybe' even if `CHISE' is not defined.
1250
1251 2003-08-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1252
1253         * chartab.c (char_table_open_db_maybe): New function.
1254         (char_table_close_db_maybe): New function.
1255         (Fclose_char_attribute_table): Use `char_table_close_db_maybe'.
1256         (Freset_char_attribute_table): Likewise.
1257         (load_char_attribute_maybe): Use `char_table_open_db_maybe' and
1258         `char_table_close_db_maybe'.
1259         (Fload_char_attribute_table): Likewise.
1260
1261 2003-08-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1262
1263         * chartab.c: Don't include <chise.h> because it is included in
1264         chartab.h.
1265         (Fmake_char_table): Initialize `ct->feature_table' when `CHISE' is
1266         defined.
1267         (Fcopy_char_table): Copy `ct->ds' and `ct->feature_table' when
1268         `CHISE' is defined.
1269         (Fmount_char_attribute_table): Initialize `ct->feature_table' when
1270         `CHISE' is defined.
1271         (Fclose_char_attribute_table): Close `ct->feature_table' and
1272         `ct->ds' when `CHISE' is defined.
1273         (Freset_char_attribute_table): Likewise.
1274         (load_char_attribute_maybe): Use `cit->ds' and
1275         `cit->feature_table' when `CHISE' is defined.
1276         (Fload_char_attribute_table): Likewise.
1277
1278         * chartab.h: Include <chise.h> when `CHISE' is defined.
1279         (struct Lisp_Char_Table): Add new member `ds' and `feature_table'
1280         when `CHISE' is defined.
1281
1282 2003-08-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1283
1284         * chartab.c (mark_char_table): Member `db' is deleted when `CHISE'
1285         is defined.
1286         (char_table_description): Likewise.
1287         (Fmake_char_table): Likewise.
1288         (Fcopy_char_table): Likewise.
1289         (Fmount_char_attribute_table): Likewise.
1290         (Fclose_char_attribute_table): Likewise.
1291         (Freset_char_attribute_table): Likewise.
1292         (load_char_attribute_maybe): Likewise.
1293         (Fload_char_attribute_table): Likewise.
1294
1295         * chartab.h (struct Lisp_Char_Table): Delete `db' when `CHISE' is
1296         defined.
1297
1298 2003-08-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1299
1300         * chartab.c (load_char_attribute_table_map_func): New function
1301         when CHISE is defined.
1302         (Qload_char_attribute_table_map_function): Don't define when CHISE
1303         is defined.
1304         (Fload_char_attribute_table_map_function): Likewise.
1305         (Fload_char_attribute_table): Use libchise when `CHISE' is
1306         defined.
1307         (syms_of_chartab): Don't define
1308         `load-char-attribute-table-map-function' when CHISE is defined.
1309
1310 2003-08-06  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1311
1312         * chartab.c: Include <chise.h> when `CHISE' is defined.
1313         (load_char_attribute_maybe): Use libchise when `CHISE' is defined.
1314
1315 2003-07-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1316
1317         * mule-charset.c (charset_code_point): Fix problem when searching
1318         in mother CCS fails with `defined_only' mode.
1319
1320 2003-06-29  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1321
1322         * chartab.c (Q_ucs_unified): Renamed from `Q_ucs_variants'.
1323         (Fchar_variants): Rename `Q_ucs_variants' to `Q_ucs_unified'.
1324         (put_char_composition): Likewise.
1325         (Fput_char_attribute): Likewise.
1326         (syms_of_chartab): Rename `->ucs-variants' to `->ucs-unified'.
1327
1328 2003-06-29  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1329
1330         * chartab.c (Q_ucs): Deleted.
1331         (Fput_char_attribute): Don't refer `->ucs'.
1332         (Fdefine_char): Likewise.
1333         (Ffind_char): Likewise.
1334         (syms_of_chartab): Delete `->ucs'.
1335
1336 2003-04-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1337
1338         * mule-charset.c (Qmap_cns11643_2): Renamed from
1339         `Qchinese_cns11643_2'.
1340         (syms_of_mule_charset): Add new symbol `=cns11643-2' instead of
1341         `chinese-cns11643-2'.
1342         (complex_vars_of_mule_charset): Rename `chinese-cns11643-2' to
1343         `=cns11643-2'.
1344
1345 2003-04-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1346
1347         * mule-charset.c (Qmap_cns11643_1): Renamed from
1348         `Qchinese_cns11643_1'.
1349         (syms_of_mule_charset): Add new symbol `=cns11643-1' instead of
1350         `chinese-cns11643-1'.
1351         (complex_vars_of_mule_charset): Rename `chinese-cns11643-1' to
1352         `=cns11643-1'.
1353
1354 2003-04-24  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1355
1356         * mule-charset.c (Qmap_gb12345): Renamed from `Qchinese_gb12345'.
1357         (syms_of_mule_charset): Add new symbol `=gb12345' instead of
1358         `chinese-gb12345'.
1359         (complex_vars_of_mule_charset): Rename `chinese-gb12345' to
1360         `=gb12345'.
1361
1362 2003-04-21  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1363
1364         * mule-charset.c (Qmap_gb2312): Renamed from `Qchinese_gb2312'.
1365         (syms_of_mule_charset): Add new symbol `=gb2312' instead of
1366         `chinese-gb2312'.
1367         (complex_vars_of_mule_charset): Rename `chinese-gb2312' to
1368         `=gb2312'.
1369
1370 2003-04-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1371
1372         * mule-charset.c (Qmap_big5): Renamed from `Qchinese_big5'.
1373         (syms_of_mule_charset): Add new symbol `=big5' instead of
1374         `chinese-big5'.
1375         (complex_vars_of_mule_charset): Rename `chinese-big5' to `=big5'.
1376
1377 2003-04-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1378
1379         * mule-charset.c (Qmap_ks_x1001): Renamed from `Qkorean_ksc5601'.
1380         (syms_of_mule_charset): Add new symbol `=ks-x1001' instead of
1381         `korean-ksc5601'.
1382         (complex_vars_of_mule_charset): Rename `korean-ksc5601' to
1383         `=ks-x1001'.
1384
1385 2003-04-15  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1386
1387         * mule-charset.c (Qmap_jis_x0212): Renamed from
1388         `Qjapanese_jisx0212'.
1389         (syms_of_mule_charset): Add new symbol `=jis-x0212' instead of
1390         `japanese-jisx0212'.
1391         (complex_vars_of_mule_charset): Rename `japanese-jisx0212' to
1392         `=jis-x0212'.
1393
1394 2003-04-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1395
1396         * mule-charset.c (Qmap_jis_x0208_1983): Renamed from
1397         `Qjapanese_jisx0208'.
1398         (syms_of_mule_charset): Add new symbol `=jis-x0208-1983' instead
1399         of `japanese-jisx0208'.
1400         (complex_vars_of_mule_charset): Rename `japanese-jisx0208' to
1401         `=jis-x0208-1983'.
1402
1403 2003-04-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1404
1405         * mule-charset.c (Qmap_jis_x0208_1978): Renamed from
1406         `Qjapanese_jisx0208_1978'.
1407         (syms_of_mule_charset): Add new symbol `=jis-x0208-1978' instead
1408         of `japanese-jisx0208-1978'.
1409         (complex_vars_of_mule_charset): Rename `japanese-jisx0208-1978' to
1410         `=jis-x0208-1978'.
1411
1412 2003-04-04  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1413
1414         * chartab.c (decode_char_table_range): CHARTAB_RANGE_DEFAULT is
1415         only for XEmacs CHISE.
1416
1417 2003-04-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1418
1419         * char-ucs.h: Compact non-ISO-IR charset-ids.
1420         (LEADING_BYTE_UCS): Changed to -177.
1421         (LEADING_BYTE_CONTROL_1): Changed to -77.
1422         (LEADING_BYTE_UCS_BMP): Changed to -176.
1423         (LEADING_BYTE_JAPANESE_JISX0208_1990): Changed to -168.
1424
1425 2003-04-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1426
1427         * mule-charset.c (Qiso_ir): New variable.
1428         (Fmake_charset): Recognise new property `iso-ir'.
1429         (syms_of_mule_charset): Add new symbol `iso-ir'.
1430
1431 2003-04-02  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1432
1433         * char-ucs.h: Change charset-id of ISO-IR sets from ISO-IR-number
1434         n to -n; charset-id of non ISO-IR sets are changed to positive
1435         numbers.
1436
1437 2003-03-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1438
1439         * text-coding.c (decode_add_er_char): Use XUINT instead of XINT
1440         for &MCS-XXXXXXXX; values.
1441
1442 2003-03-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1443
1444         * mule.c (Vxemacs_chise_version): Renamed from
1445         `Vutf_2000_version'.
1446         (vars_of_mule): Add new variable `xemacs-chise-version'; define
1447         `utf-2000-version' as an alias for `xemacs-chise-version'.
1448
1449 2003-03-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1450
1451         * mule-charset.c: Include <chise.h> when `CHISE' is defined.
1452         (load_char_decoding_entry_maybe): Use libchise when `CHISE' is
1453         defined.
1454
1455         * config.h.in (CHISE): New macro.
1456
1457 2003-03-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1458
1459         * mule-charset.c (put_char_ccs_code_point): Refer `=ucs' instead
1460         of `ucs'.
1461         (Qmap_ucs): New variable.
1462         (syms_of_mule_charset): Add new symbol `=ucs'.
1463         (complex_vars_of_mule_charset): Rename `ucs' to `=ucs'.
1464
1465         * fns.c (ids_format_unit): Refer `=ucs' instead of `ucs'.
1466         (simplify_char_spec): Likewise.
1467
1468         * chartab.c (Fdefine_char): Refer `=ucs' as same as `ucs'.
1469
1470         * char-ucs.h (Qmap_ucs): New extern variable.
1471
1472 2003-03-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1473
1474         * mule-charset.c (Qmap_jis_x0208): Renamed from `Qjis_x0208'.
1475         (Qmap_jis_x0208_1990): Renamed from `Qjapanese_jisx0208_1990';
1476         don't define it when UTF2000 is not defined.
1477         (syms_of_mule_charset): Modify for `Qmap_jis_x0208'; rename
1478         `japanese-jisx0208-1990' to `=jis-x0208-1990'; don't define it
1479         when UTF2000 is not defined.
1480         (complex_vars_of_mule_charset): Modify for `Qmap_jis_x0208';
1481         rename `japanese-jisx0208-1990' to `=jis-x0208-1990'.
1482
1483 2003-03-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1484
1485         * char-ucs.h (LEADING_BYTE_UCS_GB): Deleted.
1486
1487         * mule-charset.c (Vcharset_ucs_gb): Deleted.
1488         (Qucs_gb): Deleted.
1489         (syms_of_mule_charset): Delete `ucs-gb'.
1490         (complex_vars_of_mule_charset): Likewise.
1491
1492 2003-03-04  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1493
1494         * char-ucs.h (LEADING_BYTE_UCS_CNS): Deleted.
1495
1496         * mule-charset.c (Vcharset_ucs_cns): Deleted.
1497         (Qucs_cns): Deleted.
1498         (syms_of_mule_charset): Delete `ucs-cns'.
1499         (complex_vars_of_mule_charset): Likewise.
1500
1501 2003-03-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1502
1503         * char-ucs.h (LEADING_BYTE_UCS_JIS): Deleted.
1504
1505         * mule-charset.c (Vcharset_ucs_jis): Deleted.
1506         (Qucs_jis): Deleted.
1507         (syms_of_mule_charset): Delete `ucs-jis'.
1508         (complex_vars_of_mule_charset): Likewise.
1509
1510 2003-03-02  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1511
1512         * char-ucs.h (LEADING_BYTE_UCS_KS): Deleted.
1513
1514         * mule-charset.c (Vcharset_ucs_ks): Deleted.
1515         (Qucs_ks): Deleted.
1516         (syms_of_mule_charset): Delete `ucs-ks'.
1517         (complex_vars_of_mule_charset): Likewise.
1518
1519 2003-03-01  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1520
1521         * mule-charset.c (Vcharset_ideograph_daikanwa_2): Deleted.
1522         (Qideograph_daikanwa_2): Deleted.
1523         (syms_of_mule_charset): Delete `ideograph-daikanwa-2'.
1524         (complex_vars_of_mule_charset): Likewise.
1525
1526         * char-ucs.h (LEADING_BYTE_DAIKANWA_0): Deleted.
1527         (LEADING_BYTE_DAIKANWA_1): Deleted.
1528         (LEADING_BYTE_DAIKANWA_2): Deleted.
1529         (MIN_CHAR_DAIKANWA): Deleted.
1530         (MAX_CHAR_DAIKANWA): Deleted.
1531
1532 2003-02-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1533
1534         * char-ucs.h (LEADING_BYTE_DAIKANWA_3): Deleted.
1535         (LEADING_BYTE_HANZIKU_{1..12}): Deleted.
1536         ({MIN|MAX}_CHAR_HANZIKU_{1..12}): Deleted.
1537
1538         * mule-charset.c (Vcharset_ideograph_hanziku_{1..12}): Deleted.
1539         (Vcharset_ideograph_daikanwa): Deleted.
1540         (Qideograph_hanziku_{1..12}): Deleted.
1541         (Qideograph_daikanwa): Deleted.
1542         (encode_builtin_char_1): Don't use {MIN|MAX}_CHAR_DAIKANWA and
1543         Vcharset_ideograph_daikanwa.
1544         (syms_of_mule_charset): Delete `ideograph-daikanwa' and
1545         `ideograph-hanziku-{1..12}'.
1546         (complex_vars_of_mule_charset): Likewise.
1547
1548 2003-02-26  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1549
1550         * char-ucs.h (LEADING_BYTE_GT_PJ_{1..11}): Deleted.
1551
1552         * mule-charset.c (Vcharset_ideograph_gt_pj_{1..11}): Deleted.
1553         (Qideograph_gt_pj_{1..11}): Deleted.
1554         (syms_of_mule_charset): Delete `ideograph-gt-pj-{1..11}'.
1555         (complex_vars_of_mule_charset): Likewise.
1556
1557 2003-02-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1558
1559         * mule-charset.c (Vcharset_ucs_big5): Deleted.
1560         (Vcharset_ideograph_gt): Deleted.
1561         (Qucs_big5): Deleted.
1562         (Qideograph_gt): Deleted.
1563         (syms_of_mule_charset): Delete symbol `ucs-big5' and
1564         `ideograph-gt'.
1565         (complex_vars_of_mule_charset): Delete coded-charset `ucs-big5'
1566         and `ideograph-gt'.
1567
1568         * char-ucs.h (LEADING_BYTE_UCS_BIG5): Deleted.
1569         (LEADING_BYTE_GT): Deleted.
1570         (MIN_CHAR_GT): Deleted.
1571         (MAX_CHAR_GT): Deleted.
1572
1573 2003-02-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1574
1575         * chartab.c (Fput_char_attribute): Canonicalise charset-aliases.
1576
1577 2003-01-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1578
1579         * chartab.c (save_uint8_byte_table): Add new argument `filter'.
1580         (save_uint16_byte_table): Likewise.
1581         (save_byte_table): Likewise; convert values by it.
1582         (Fput_char_attribute): Don't use `char-refs-simplify-char-specs'
1583         for `ideographic-structure'.
1584         (Fsave_char_attribute_table): Use `char-refs-simplify-char-specs'
1585         as the filter for `ideographic-structure'.
1586
1587 2003-01-07  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1588
1589         * chartab.c (put_char_composition): New function.
1590         (Fput_char_attribute): Use `put_char_composition'; use
1591         `Fchar_refs_simplify_char_specs' for `ideographic-structure'.
1592
1593         * fns.c (simplify_char_spec): New function.
1594         (char_ref_simplify_spec): New function.
1595         (Fchar_refs_simplify_char_specs): New function.
1596         (syms_of_fns): Add new builtin function
1597         `char-refs-simplify-char-specs'.
1598
1599 2003-01-05  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1600
1601         * mule-charset.c (Vcharset_ideograph_cbeta): Deleted.
1602         (Qideograph_cbeta): Deleted.
1603         (syms_of_mule_charset): Don't define `ideograph-cbeta'.
1604         (complex_vars_of_mule_charset): Likewise.
1605
1606         * char-ucs.h (LEADING_BYTE_CBETA): Deleted.
1607         (MIN_CHAR_CBETA): Comment out.
1608         (MAX_CHAR_CBETA): Likewise.
1609
1610 2002-12-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1611
1612         * mule-charset.c, chartab.h, casetab.c, char-ucs.h, chartab.c: Use
1613         `HAVE_CHISE_CLIENT' instead of `HAVE_DATABASE' to indicate the
1614         CHISE client feature.
1615
1616 2002-12-25  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1617
1618         * mule.c (vars_of_mule): Update `utf-2000-version' to 0.20.
1619
1620 2002-12-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1621
1622         * mule-charset.c (charset_lookup_description_1): Use
1623         `NUM_LEADING_BYTES' in UTF-2000.
1624
1625 2002-12-18  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1626
1627         * char-ucs.h (GC_CHARSETP): Deleted.
1628
1629 2002-12-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1630
1631         * char-ucs.h (MAX_CHAR_GT): Updated.
1632
1633 2002-12-15  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1634
1635         * text-coding.c: Sync with XEmacs 21.4.10.
1636
1637 2002-11-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1638
1639         * mule-charset.c (Vcharset_china3_jef): Deleted.
1640         (Qchina3_jef): Deleted.
1641         (syms_of_mule_charset): Don't define `china3-jef'.
1642         (complex_vars_of_mule_charset): Likewise.
1643
1644         * char-ucs.h (LEADING_BYTE_CHINA3_JEF): Deleted.
1645         (MIN_CHAR_CHINA3_JEF): Comment out.
1646         (MAX_CHAR_CHINA3_JEF): Comment out.
1647
1648 2002-11-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1649
1650         * mule-charset.c (Vcharset_ucs_gb): New variable.
1651         (Qucs_gb): New variable.
1652         (syms_of_mule_charset): Add new symbol `ucs-gb'.
1653         (complex_vars_of_mule_charset): Add new coded-charset `ucs-gb'.
1654
1655         * char-ucs.h (LEADING_BYTE_UCS_GB): New macro.
1656
1657 2002-11-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1658
1659         * mule-charset.c (charset_code_point): if a coded-charset has a
1660         final-byte, don't inherit the builtin range of the mother CCS.
1661
1662 2002-11-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1663
1664         * mule-charset.c (charset_code_point): Fix problem about
1665         inheritance.
1666
1667 2002-11-14  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1668
1669         * mule-charset.c (decode_builtin_char): Reorganized.
1670
1671 2002-10-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1672
1673         * text-coding.c (char_encode_as_entity_reference): Modify for
1674         `charset_code_point'.
1675         (char_encode_shift_jis): Likewise.
1676         (char_encode_big5): Likewise.
1677         (char_encode_utf8): Likewise.
1678         (char_encode_iso2022): Likewise.
1679
1680         * mule-charset.c (charset_code_point): Add new argument
1681         `defined_only'.
1682         (Fencode_char): Add new optional argument `defined_only'.
1683
1684         * chartab.c (put_char_table): Modify for `charset_code_point'.
1685
1686         * char-ucs.h (charset_code_point): Add new argument
1687         `defined_only'.
1688         (encode_char_1): Modify for `charset_code_point'.
1689
1690 2002-10-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1691
1692         * mule-charset.c (complex_vars_of_mule_charset): Don't specify
1693         `MIN_CHAR_THAI' and `MAX_CHAR_THAI' for `thai-tis620'.
1694
1695 2002-10-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1696
1697         * mule-charset.c (Vcharset_jis_x0208): New variable in UTF-2000.
1698         (Qjis_x0208): Likewise.
1699         (decode_builtin_char): Prefer XCHARSET_MAX_CODE(charset) than
1700         XCHARSET_FINAL(charset).
1701         (charset_code_point): Modify condition for final-byte based
1702         builtin-chars.
1703         (syms_of_mule_charset): Add new symbol `=jis-x0208' in UTF-2000.
1704         (complex_vars_of_mule_charset): Add new coded-charset `=jis-x0208'
1705         in UTF-2000; specify `=jis-x0208' as the mother of
1706         `japanese-jisx0208-1978', `japanese-jisx0208' and
1707         `japanese-jisx0208-1990' in UTF-2000.
1708
1709 2002-10-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1710
1711         * char-ucs.h (LEADING_BYTE_JIS_X0208): New macro.
1712
1713 2002-10-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1714
1715         * text-coding.c (decode_coding_utf16): Support UTF-16.
1716         (char_encode_utf16): Fixed.
1717
1718 2002-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1719
1720         * text-coding.c (Qutf16): New variable in MULE.
1721         (Fmake_coding_system): Accept `utf-16' as `type' in MULE.
1722         (Fcoding_system_type): Add `utf-16' in MULE.
1723         (struct detection_state): Add a structure for utf16 in MULE.
1724         (detect_coding_type): Setup st->utf16.mask in MULE.
1725         (mule_decode): Use `decode_coding_utf16' for `CODESYS_UTF16' in
1726         MULE.
1727         (reset_encoding_stream): Use `char_encode_utf16' and
1728         `char_finish_utf16' for `CODESYS_UTF16' in MULE.
1729         (detect_coding_utf16): New function [incomplete].
1730         (decode_coding_utf16): New function [support only UCS-2].
1731         (char_encode_utf16): New function.
1732         (char_finish_utf16): New function.
1733         (syms_of_file_coding): Add new symbol `utf-16'; setup
1734         `coding_category_symbol[CODING_CATEGORY_UTF16]'.
1735
1736         * file-coding.h (enum coding_system_type): Add `CODESYS_UTF16' in
1737         UTF-2000.
1738         (enum coding_category_type): Add `CODING_CATEGORY_UTF16' in MULE.
1739         (CODING_CATEGORY_UTF16_MASK): New macro in MULE.
1740
1741 2002-10-08  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1742
1743         * chartab.c (put_char_table): When a charset is specified as a
1744         range in UTF-2000, don't support builtin characters.
1745
1746 2002-09-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1747
1748         * mule-charset.c (decode_defined_char): Don't refer external
1749         database if Qunbound or Qnil are found.
1750         (Fsave_charset_mapping_table): Don't define it if
1751         HAVE_CHISE_CLIENT is not defined.
1752         (Freset_charset_mapping_table): New function.
1753         (load_char_decoding_entry_maybe): Store Qnil if a character is not
1754         found in external database.
1755         (syms_of_mule_charset): Don't define `save-charset-mapping-table'
1756         if HAVE_CHISE_CLIENT is not defined; add new builtin function
1757         `reset-charset-mapping-table' if HAVE_CHISE_CLIENT is defined.
1758
1759 2002-09-18  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1760
1761         * text-coding.c (decode_coding_utf8): Check CCS is specified or
1762         not.
1763
1764 2002-08-26  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1765
1766         * chartab.h: Add extern declarations for Qdowncase, Qflippedcase,
1767         Q_lowercase, Q_uppercase in UTF-2000.
1768
1769         * chartab.c (get_char_table): Add special code for the standard
1770         case table to use character attribute `->downcase' and
1771         `->uppercase' for case operations in UTF-2000.
1772
1773         * casetab.c (Qflippedcase): New variable in UTF-2000.
1774         (Q_lowercase): Likewise.
1775         (Q_uppercase): Likewise.
1776         (syms_of_casetab): Add new symbols `flippedcase', `->lowercase'
1777         and `->uppercase' in UTF-2000.
1778         (complex_vars_of_casetab): Assign attribute name `downcase' to
1779         downcase and CANON table of Vstandard_case_table in UTF-2000;
1780         assign attribute name `flippedcase' to upcase and EQV table of
1781         Vstandard_case_table in UTF-2000.
1782
1783 2002-08-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1784
1785         * text-coding.c (decode_add_er_char): Support isolated-chars.
1786         (char_encode_as_entity_reference): Likewise.
1787
1788 2002-08-13  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1789
1790         * emacs.c (Vutf_2000_lisp_directory): New variable.
1791         (Vconfigure_utf_2000_lisp_directory): Likewise.
1792         (complex_vars_of_emacs): Add new variable
1793         `utf-2000-lisp-directory' and `configure-utf-2000-lisp-directory'.
1794
1795 2002-08-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1796
1797         * char-ucs.h (DECODE_CHAR): Delete special code for
1798         `chinese-big5-1' and `chinese-big5-2'.
1799
1800         * mule-charset.c (Qbig5_1): New variable in UTF-2000.
1801         (Qbig5_2): Likewise.
1802         (decode_defined_char): Support CONVERSION_BIG5_1 and
1803         CONVERSION_BIG5_2.
1804         (decode_builtin_char): Likewise.
1805         (charset_code_point): Likewise.
1806         (Fmake_charset): Accept `big5-1' and `big5-2' as a value of
1807         'conversion in UTF-2000.
1808         (syms_of_mule_charset): Add new symbol `big5-1' and `big5-2'.
1809         (complex_vars_of_mule_charset): Define `chinese-big5-1' and
1810         `chinese-big5-2' as children of `chinese-big5'.
1811
1812         * char-ucs.h (CONVERSION_BIG5_1): New macro.
1813         (CONVERSION_BIG5_2): New macro.
1814
1815 2002-08-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1816
1817         * text-coding.c (char_encode_big5): Support entity-reference.
1818
1819 2002-08-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1820
1821         * text-coding.c (char_encode_as_entity_reference): New function.
1822         (char_encode_utf8): Use `char_encode_as_entity_reference'.
1823
1824 2002-08-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1825
1826         * text-coding.c (decode_coding_big5): Support entity-reference
1827         decoding feature.
1828
1829 2002-08-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1830
1831         * text-coding.c (allocate_coding_system): Initialize initial
1832         charsets for CODESYS_UTF8.
1833         (Fmake_coding_system): Accept charset-g0, charset-g1 and
1834         charset-g2 for CODESYS_UTF8.
1835         (decode_coding_utf8): Use charset-g0.
1836         (char_encode_utf8): Use charset-g0; use charset-g1 and charset-g2
1837         to force variants to map to UCS.
1838
1839 2002-07-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1840
1841         * text-coding.c (Qutf_8_mcs): New variable.
1842         (syms_of_file_coding): Add new symbol `utf-8-mcs' in UTF-2000.
1843         (complex_vars_of_file_coding): Define coding-system `utf-8-mcs'
1844         instead of `utf-8' in UTF-2000.
1845
1846 2002-07-22  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1847
1848         * mule-charset.c (charset_code_point): If CHARSET_CONVERSION is
1849         CONVERSION_IDENTICAL, identical conversion is used even if a CCS
1850         is ISO-2022 style; instead of it, CONVERSION_94, CONVERSION_96,
1851         CONVERSION_94x94, CONVERSION_96x96, CONVERSION_94x94x94,
1852         CONVERSION_96x96x96, CONVERSION_94x94x94x94 and
1853         CONVERSION_96x96x96x96 are introduced.
1854         (complex_vars_of_mule_charset): Specify CONVERSION_96 instead of
1855         CONVERSION_IDENTICAL for thai-tis620; Specify CONVERSION_94x94
1856         instead of CONVERSION_IDENTICAL for japanese-jisx0208-1990.
1857
1858         * char-ucs.h (CONVERSION_94): New macro.
1859         (CONVERSION_96): New macro.
1860         (CONVERSION_94x94): New macro.
1861         (CONVERSION_96x96): New macro.
1862         (CONVERSION_94x94x94): New macro.
1863         (CONVERSION_96x96x96): New macro.
1864         (CONVERSION_94x94x94x60): New macro.
1865         (CONVERSION_94x94x94x94): New macro.
1866         (CONVERSION_96x96x96x96): New macro.
1867
1868 2002-07-17  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1869
1870         * chartab.c (Vcharacter_variant_table): Deleted.
1871         (Fchar_variants): Use character-attribute `->ucs-variants' instead
1872         of `Vcharacter_variant_table'.
1873         (Fput_char_attribute): Likewise.
1874         (vars_of_chartab): Don't setup `Vcharacter_variant_table'.
1875         (complex_vars_of_chartab): Likewise.
1876
1877 2002-07-17  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1878
1879         * lisp.h: Add an EXFUN for `Fchar_ref_p'.
1880
1881         * fns.c (Qideographic_structure): New variable.
1882         (Qkeyword_char): New variable.
1883         (ids_format_unit): New function.
1884         (Fideographic_structure_to_ids): New function.
1885         (syms_of_fns): Add new symbols `ideographic-structure' and
1886         `:char'; add new builtin function `ideographic-structure-to-ids'.
1887
1888         * data.c (Fchar_ref_p): New function.
1889         (syms_of_data): Add new builtin function `char-ref-p'.
1890
1891         * chartab.h: Add an EXFUN for `Ffind_char'.
1892
1893 2002-07-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1894
1895         * text-coding.c (Vcharacter_composition_table): Deleted.
1896         (COMPOSE_ADD_CHAR): Use the implementation for external-DB support
1897         in every UTF-2000.
1898
1899         * chartab.c: Add EXFUN for `Fmap_char_attribute' in every
1900         UTF-2000.
1901         (Vcharacter_composition_table): Deleted.
1902         (Fget_composite_char): Use the implementation for external-DB
1903         support in every UTF-2000.
1904         (Fput_char_attribute): Likewise.
1905         (char_attribute_system_db_file): Don't define if external-DB
1906         feature is not available.
1907         (Fsave_char_attribute_table): Likewise.
1908         (Fmount_char_attribute_table): Likewise.
1909         (Fclose_char_attribute_table): Likewise.
1910         (Freset_char_attribute_table): Likewise.
1911         (Fload_char_attribute_table): Likewise.
1912         (syms_of_chartab): Don't define `save-char-attribute-table',
1913         `mount-char-attribute-table', `reset-char-attribute-table',
1914         `close-char-attribute-table' and `load-char-attribute-table' if
1915         external-DB feature is not available.
1916         (vars_of_chartab): Don't setup `Vcharacter_composition_table'.
1917
1918 2002-07-15  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1919
1920         * text-coding.c (Qcomposition): Add extern if external-DB feature
1921         is supported.
1922         (Vcharacter_composition_table): Don't add extern if external-DB
1923         feature is supported.
1924         (COMPOSE_ADD_CHAR): Modify for new data-representation of
1925         character composition rule if external-DB feature is supported.
1926
1927         * chartab.c (Vcharacter_composition_table): Don't define if
1928         external-DB feature is supported.
1929         (Qcomposition): New variable.
1930         (Fget_composite_char): New implementation for external-DB support.
1931         (Fput_char_attribute): Use `composition' property of each
1932         character instead of `Vcharacter_composition_table' to store
1933         character-composition rules if external-DB feature is supported.
1934         (syms_of_chartab): Add new symbol `composition'.
1935         (vars_of_chartab): Don't setup `Vcharacter_composition_table' if
1936         external-DB feature is supported.
1937
1938 2002-07-14  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1939
1940         * chartab.c (Vchar_db_stingy_mode): New variable.
1941         (load_char_attribute_maybe): Close database if
1942         Vchar_db_stingy_mode is not NIL.
1943         (Fload_char_attribute_table_map_function): Use
1944         `get_char_id_table_0' instead of `get_char_id_table'.
1945         (vars_of_chartab): Add new variable `char-db-stingy-mode'.
1946
1947         * chartab.h (get_char_id_table_0): New inline function.
1948         (get_char_id_table): Use `get_char_id_table_0'.
1949
1950 2002-07-07  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1951
1952         * text-coding.c (decode_coding_utf8): Use `COMPOSE_FLUSH_CHARS'
1953         and `COMPOSE_ADD_CHAR'.
1954         (decode_coding_iso2022): Use `decode_flush_er_chars'.
1955
1956 2002-07-07  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1957
1958         * text-coding.c (COMPOSE_FLUSH_CHARS): Use `decode_add_er_char'
1959         instead of `DECODE_ADD_UCS_CHAR'.
1960         (COMPOSE_ADD_CHAR): Likewise.
1961
1962 2002-07-06  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1963
1964         * text-coding.c (decode_flush_er_chars): New inline function.
1965         (decode_add_er_char): New function.
1966         (decode_coding_utf8): Use `decode_flush_er_chars' and
1967         `decode_add_er_char'.
1968
1969 2002-07-06  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1970
1971         * text-coding.c (decode_coding_utf8): Flush for er_buf must be
1972         done before `decode_output_utf8_partial_char'.
1973
1974         * mule-charset.c (complex_vars_of_mule_charset): Specify
1975         `Vcharset_ucs' as the mother of `Vcharset_ucs_cns',
1976         `Vcharset_ucs_ks' and `Vcharset_ucs_big5'.
1977
1978 2002-07-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1979
1980         * mule-charset.c (decode_defined_char): New function; search
1981         mother.
1982         (decode_builtin_char): Don't search mother if
1983         XCHARSET_MAX_CODE(charset) == 0.
1984         (charset_code_point): Search mother if XCHARSET_MAX_CODE(charset)
1985         == 0 even if code >= XCHARSET_MAX_CODE(charset).
1986         (Fdecode_char): Use `decode_defined_char' instead of
1987         `DECODE_DEFINED_CHAR'.
1988         (complex_vars_of_mule_charset): Specify `Vcharset_ucs' as the
1989         mother of `Vcharset_ucs_jis'.
1990
1991         * text-coding.c (decode_coding_big5): Use `decode_defined_char'
1992         instead of `DECODE_DEFINED_CHAR'.
1993
1994         * char-ucs.h (decode_defined_char): Renamed from
1995         `DECODE_DEFINED_CHAR'; changed to normal function.
1996         (DECODE_CHAR): Use `decode_defined_char' instead of
1997         `DECODE_DEFINED_CHAR'.
1998
1999         * lisp.h: Add `EXFUN' for `Fstring_to_number'.
2000
2001 2002-07-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2002
2003         * char-ucs.h: Add `extern' for `Vcharset_ucs'.
2004
2005         * text-coding.c (Vcoded_charset_entity_reference_alist): New
2006         variable.
2007         (Quse_entity_reference): New variable.
2008         (Qd): New variable.
2009         (Qx): New variable.
2010         (QX): New variable.
2011         (coding_system_description): Add description for
2012         `ccs_priority_list'.
2013         (mark_coding_system): Mark `ccs_priority_list' in UTF-2000.
2014         (allocate_coding_system): Initialize `ccs_priority_list' in
2015         UTF-2000.
2016         (Fmake_coding_system): Add description about
2017         'use-entity-reference; setup CODING_SYSTEM_USE_ENTITY_REFERENCE
2018         (codesys).
2019         (Fcoding_system_property): Accept `disable-composition' and
2020         `use-entity-reference' in UTF-2000.
2021         (struct decoding_stream): Add new member `er_counter' and `er_buf'
2022         in UTF-2000.
2023         (reset_decoding_stream): Initialize `str->er_counter' in UTF-2000.
2024         (decode_coding_utf8): Decode entity-reference if
2025         CODING_SYSTEM_USE_ENTITY_REFERENCE (str->codesys).
2026         (char_encode_utf8): Encode non-Unicode characters as
2027         entity-references if CODING_SYSTEM_USE_ENTITY_REFERENCE
2028         (str->codesys).
2029         (syms_of_file_coding): Add new symbols `use-entity-reference',
2030         `d', `x', `X'.
2031         (vars_of_file_coding): Add new variable
2032         `coded-charset-entity-reference-alist'.
2033         (complex_vars_of_file_coding): Declare `disable-composition' and
2034         `use-entity-reference' to be coding-system-properties in UTF-2000.
2035
2036         * file-coding.h (struct Lisp_Coding_System): Add new member
2037         `use_entity_reference' and `ccs_priority_list'.
2038         (CODING_SYSTEM_USE_ENTITY_REFERENCE): New macro.
2039         (CODING_SYSTEM_CCS_PRIORITY_LIST): New macro.
2040         (XCODING_SYSTEM_USE_ENTITY_REFERENCE): New macro.
2041
2042 2002-07-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2043
2044         * chartab.c (save_uint8_byte_table): Don't clear the table.
2045         (save_uint16_byte_table): Likewise.
2046         (save_byte_table): Likewise.
2047         (Fmount_char_attribute_table): New function.
2048         (syms_of_chartab): Add new builtin function
2049         `mount-char-attribute-table'.
2050
2051 2002-07-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2052
2053         * mule-charset.c (Fsave_charset_mapping_table): Open database as
2054         "w+" mode.
2055         (load_char_decoding_entry_maybe): Open database as read-only mode.
2056
2057         * chartab.c (Fsave_char_attribute_table): Don't share `ct->db';
2058         open database as "w+" mode.
2059         (load_char_attribute_maybe): Open database as read-only mode.
2060         (Fload_char_attribute_table): Likewise.
2061
2062 2002-07-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2063
2064         * chartab.c (mark_char_table): Don't refer `ct->db_file'.
2065         (char_table_description): Delete member `db_file'.
2066         (Fmake_char_table): Don't refer `ct->db_file'.
2067         (Fcopy_char_table): Likewise.
2068         (Fsave_char_attribute_table): Likewise.
2069         (Fclose_char_attribute_table): Likewise.
2070         (Freset_char_attribute_table): Likewise.
2071         (load_char_attribute_maybe): Likewise.
2072         (Fload_char_attribute_table): Likewise.
2073
2074         * chartab.h (struct Lisp_Char_Table): Delete member `db_file'.
2075
2076 2002-07-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2077
2078         * chartab.c: Add an EXFUN for `Fmap_char_attribute'.
2079         (Fsave_char_attribute_table): Don't check `ct->db_file' if
2080         `ct->db' is living.
2081         (load_char_attribute_maybe): Likewise.
2082         (Fload_char_attribute_table): Likewise.
2083
2084 2002-07-01  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2085
2086         * chartab.c (Fclose_char_attribute_table): Set Qnil on
2087         `ct->db_file' unconditionally.
2088
2089 2002-07-01  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2090
2091         * chartab.c (mark_char_table): Mark `ct->db_file' and `ct->db' in
2092         UTF-2000.
2093         (char_table_description): Add description for `db_file' and `db'
2094         in UTF-2000.
2095         (Fmake_char_table): Initialize `ct->db_file' and `ct->db' in
2096         UTF-2000.
2097         (Fcopy_char_table): Copy `ct->db_file' and `ct->db' in UTF-2000.
2098         (Fsave_char_attribute_table): Use `ct->db_file' and `ct->db'.
2099         (Fclose_char_attribute_table): New function.
2100         (Freset_char_attribute_table): Reset `ct->db_file' and `ct->db'.
2101         (load_char_attribute_maybe): Change interface; use `cit->db_file'
2102         and `cit->db'.
2103         (Fload_char_attribute_table): Use `ct->db_file' and `ct->db'.
2104         (syms_of_chartab): Add new builtin function
2105         `Fclose_char_attribute_table'.
2106
2107 2002-06-28  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2108
2109         * chartab.h (struct Lisp_Char_Table): Add new member `db_file' and
2110         `db' in UTF-2000.
2111         (load_char_attribute_maybe): Change interface.
2112         (get_char_id_table): Modify for `load_char_attribute_maybe'.
2113
2114 2002-06-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2115
2116         * database.h: Add an EXFUN for `Fdatabase_live_p'.
2117
2118 2002-04-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2119
2120         * mule-charset.c (decode_builtin_char): Use `decode_builtin_char'
2121         instead of `DECODE_CHAR' for mother; don't use special code for
2122         chinese-big5 to use code space of chinese-big5-1 and
2123         chinese-big5-2.
2124         (complex_vars_of_mule_charset): Use `MIN_CHAR_BIG5_CDP' and
2125         `MAX_CHAR_BIG5_CDP' for chinese-big5.
2126
2127         * char-ucs.h (MIN_CHAR_BIG5_CDP): Revival.
2128         (MAX_CHAR_BIG5_CDP): Revival.
2129
2130 2002-04-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2131
2132         * mule-charset.c (complex_vars_of_mule_charset): Use "big5-0" as
2133         the XLFD registry-encoding name of `chinese-big5'.
2134
2135 2002-04-08  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2136
2137         * mule-charset.c (Vcharset_chinese_big5_cdp): Deleted.
2138         (Qchinese_big5_cdp): Deleted.
2139         (syms_of_mule_charset): Delete symbol `chinese-big5-cdp'.
2140         (complex_vars_of_mule_charset): Delete coded-charset
2141         `chinese-big5-cdp'.
2142
2143         * char-ucs.h (CHARSET_ID_OFFSET): Deleted.
2144         (LEADING_BYTE_*): Use `MIN_LEADING_BYTE + n' instead of
2145         `CHARSET_ID_OFFSET - n' for private CCS.
2146         (LEADING_BYTE_CHINESE_BIG5_CDP): Deleted.
2147         (MIN_LEADING_BYTE_PRIVATE): Use `(MIN_LEADING_BYTE + 97)' instead
2148         of `MIN_LEADING_BYTE'.
2149         (MAX_LEADING_BYTE_PRIVATE): Use `-1' instead of
2150         `(CHARSET_ID_OFFSET - 97)'.
2151         (MIN_CHAR_BIG5_CDP): Deleted.
2152         (MAX_CHAR_BIG5_CDP): Deleted.
2153
2154 2002-03-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2155
2156         * mule.c (vars_of_mule): Update `utf-2000-version' to 0.19.
2157
2158 2002-03-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2159
2160         * mule.c (Vutf_2000_version): New variable [moved from chartab.c].
2161         (vars_of_mule): Add new variable `utf-2000-version' [moved from
2162         chartab.c].
2163
2164         * chartab.c (Vutf_2000_version): Moved to mule.c.
2165         (vars_of_chartab): Move code about `utf-2000-version' into mule.c.
2166
2167 2002-03-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2168
2169         * mule-charset.c (load_char_decoding_entry_maybe): Don't define it
2170         when HAVE_CHISE_CLIENT is not defined.
2171
2172         * mule.c (vars_of_mule): Provide feature `chise' when
2173         HAVE_CHISE_CLIENT is defined.
2174
2175 2002-03-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2176
2177         * config.h.in (UTF2000): Add comment.
2178         (HAVE_CHISE_CLIENT): New macro.
2179
2180 2002-02-25  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2181
2182         * chartab.c (Fchar_variants): Check Vcharacter_variant_table is
2183         CONSP.
2184         (Fput_char_attribute): Likewise.
2185         (char_attribute_system_db_file): Encode file-name of attribute.
2186         (vars_of_chartab): Set Qunbound into Vcharacter_variant_table as
2187         the initial value.
2188
2189 2002-02-13  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2190
2191         * mule-charset.c (put_char_ccs_code_point): Delete unused codes.
2192         (Fsave_charset_mapping_table): Use
2193         `char_attribute_system_db_file'.
2194         (load_char_decoding_entry_maybe): Likewise.
2195
2196         * chartab.h (Qsystem_char_id): New external variable.
2197         (char_attribute_system_db_file): New prototype.
2198
2199         * chartab.c (Qsystem_char_id): New variable in UTF-2000.
2200         (char_attribute_system_db_file): New function.
2201         (Fsave_char_attribute_table): Use `char_attribute_system_db_file'.
2202         (Freset_char_attribute_table): Likewise.
2203         (load_char_attribute_maybe): Likewise.
2204         (Fload_char_attribute_table): Likewise.
2205         (syms_of_chartab): Add new symbol `system-char-id'.
2206
2207 2002-02-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2208
2209         * char-ucs.h (DECODE_DEFINED_CHAR): Don't check
2210         `XCHARSET_GRAPHIC(ccs)'.
2211
2212 2002-02-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2213
2214         * mule-charset.c (Fsave_charset_mapping_table): Fixed.
2215
2216 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2217
2218         * chartab.c (Q_ucs_variants): New variable.
2219         (syms_of_chartab): Add new symbol `->ucs-variants'.
2220         (complex_vars_of_chartab): Set `Vcharacter_variant_table' on
2221         `Vchar_attribute_hash_table' as the value of `->ucs-variants'; set
2222         `->ucs-variants' on `XCHAR_TABLE_NAME (Vcharacter_variant_table)'.
2223
2224         * mule-charset.c (load_char_decoding_entry_maybe): New function.
2225
2226         * char-ucs.h (load_char_decoding_entry_maybe): New prototype when
2227         `HAVE_DATABASE' is defined.
2228         (DECODE_DEFINED_CHAR): Use `load_char_decoding_entry_maybe' when
2229         `HAVE_DATABASE' is defined.
2230
2231 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2232
2233         * chartab.c (Fsave_char_attribute_table): Don't clear internal
2234         attribute-table.
2235         (Freset_char_attribute_table): New function.
2236         (syms_of_chartab): Add new builtin function
2237         `reset-char-attribute-table'.
2238
2239 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2240
2241         * chartab.c (load_char_attribute_maybe): Don't make directories.
2242
2243 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2244
2245         * char-ucs.h: Add EXFUN for `Fmake_directory_internal'.
2246
2247         * mule-charset.c (put_char_ccs_code_point): Don't prepare a vector
2248         for decoding-table.
2249
2250 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2251
2252         * mule-charset.c (Fsave_charset_mapping_table): Use
2253         `XCHARSET_BYTE_SIZE' instead of `XCHARSET_CHARS'.
2254
2255         * char-ucs.h (put_ccs_octet_table): Use `XCHARSET_BYTE_SIZE'
2256         instead of `XCHARSET_CHARS'.
2257
2258 2002-02-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2259
2260         * mule-charset.c (CHARSET_BYTE_SIZE): Moved to char-ucs.h.
2261         (XCHARSET_BYTE_SIZE): Likewise.
2262
2263         * char-ucs.h (CHARSET_BYTE_SIZE): New inline function [moved from
2264         mule-charset.c].
2265         (XCHARSET_BYTE_SIZE): Likewise.
2266
2267 2002-02-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2268
2269         * chartab.c (Fput_char_attribute): Use exec-directory instead of
2270         data-directory to store database.
2271         (Fsave_char_attribute_table): Likewise.
2272         (load_char_attribute_maybe): Likewise.
2273         (Fload_char_attribute_table): Likewise.
2274
2275 2002-02-08  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2276
2277         * mule-charset.c (Fsave_charset_mapping_table): New function.
2278         (syms_of_mule_charset): Add new builtin function
2279         `save-charset-mapping-table'.
2280
2281 2002-02-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2282
2283         * char-ucs.h (decoding_table_check_elements): Delete prototype.
2284         (get_ccs_octet_table): New inline function.
2285         (put_ccs_octet_table): Likewise.
2286         (decoding_table_put_char): Use `get_ccs_octet_table' and
2287         `put_ccs_octet_table'.
2288         (decoding_table_remove_char): Use `decoding_table_put_char'.
2289         (DECODE_DEFINED_CHAR): Use `get_ccs_octet_table'.
2290
2291         * mule-charset.c (remove_char_ccs): Store Qunbound instead of Qnil
2292         into encoding_table.
2293         (make_charset): Use Qunbound instead Qnil as initial value of
2294         decoding_table.
2295
2296 2002-02-04  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2297
2298         * chartab.c (map_over_uint8_byte_table): Set Qunbound if an
2299         element is Qunloaded.
2300         (map_over_uint16_byte_table): Likewise.
2301         (map_over_byte_table): Likewise.
2302         (map_char_table): Likewise for CHARTAB_RANGE_ALL in UTF-2000; when
2303         CHARTAB_RANGE_CHARSET is specified in UTF-2000 with external
2304         database support, load encoding-table of the specified
2305         coded-charset if it is not loaded yet.
2306         (save_uint8_byte_table): New function of UTF-2000 with external
2307         database support.
2308         (save_uint16_byte_table): Likewise.
2309         (save_byte_table): Likewise.
2310         (Fput_char_attribute): Don't store value into external database
2311         even if the external database feature is supported in UTF-2000;
2312         set `attribute' as name of char-table if the external database
2313         feature is supported.
2314         (Fsave_char_attribute_table): New function in UTF-2000.
2315         (syms_of_chartab): Add new builtin function
2316         `save-char-attribute-table' in UTF-2000.
2317
2318 2002-02-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2319
2320         * chartab.c (char_attribute_table_to_put): New variable in
2321         UTF-2000.
2322         (Qput_char_table_map_function): Likewise.
2323         (value_to_put): Likewise.
2324         (Fput_char_table_map_function): New function in UTF-2000.
2325         (put_char_table): Use `Fmap_char_attribute' for
2326         CHARTAB_RANGE_CHARSET in UTF-2000.
2327         (Fput_char_attribute): Store symbol instead of string in
2328         `XCHAR_TABLE_NAME (table)'.
2329         (load_char_attribute_maybe): Likewise.
2330         (syms_of_chartab): Add new symbol/function
2331         `put-char-table-map-function'.
2332
2333 2002-01-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2334
2335         * database.h: Add new EXFUN for `Fmap_database'.
2336
2337         * database.c (Fmap_database): Renamed from `Fmapdatabase'.
2338         (syms_of_database): Likewise.
2339
2340         * chartab.h (struct Lisp_Char_Table): Add new member `unloaded' in
2341         UTF-2000.
2342         (CHAR_TABLE_UNLOADED): New macro of UTF-2000.
2343         (XCHAR_TABLE_UNLOADED): Likewise.
2344
2345         * chartab.c (fill_char_table): Initialize `ct->unloaded'.
2346         (Fput_char_attribute): Set XCHAR_TABLE_UNLOADED(table) if
2347         HAVE_DATABASE is defined.
2348         (char_attribute_table_to_load): New variable of UTF-2000 with
2349         external database support.
2350         (Qload_char_attribute_table_map_function): Likewise.
2351         (Fload_char_attribute_table_map_function): New function of
2352         UTF-2000 with external database support.
2353         (Fload_char_attribute_table): New function of UTF-2000.
2354         (Fmap_char_attribute): Call Fload_char_attribute_table if
2355         CHAR_TABLE_UNLOADED(ct) is set when HAVE_DATABASE is defined.
2356         (syms_of_chartab): Add new symbol and function
2357         `load-char-attribute-table-map-function' in UTF-2000 with external
2358         database support; add new function `load-char-attribute-table' in
2359         UTF-2000.
2360
2361 2002-01-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2362
2363         * chartab.h (load_char_attribute_maybe): New prototype for
2364         UTF-2000 with DATABASE support.
2365         (get_char_id_table): Use `load_char_attribute_maybe' if
2366         HAVE_DATABASE is defined.
2367
2368         * chartab.c (load_char_attribute_maybe): New function in UTF-2000
2369         with DATABASE support.
2370
2371 2002-01-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2372
2373         * chartab.c (Fput_char_attribute): Use S-expression as key of
2374         external database.
2375
2376         * chartab.h (get_char_id_table): Use S-expression as key of
2377         external database.
2378
2379 2002-01-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2380
2381         * chartab.c (map_over_uint8_byte_table): Add new argument `root';
2382         if an element is not loaded, load the corresponding attributes
2383         from an external database.
2384         (map_over_uint16_byte_table): Likewise.
2385         (map_over_byte_table): Likewise.
2386         (map_char_table): Modify for `map_over_uint8_byte_table',
2387         `map_over_uint16_byte_table' and `map_over_byte_table'; if an
2388         element is not loaded, load the corresponding attributes from an
2389         external database.
2390         (Fput_char_attribute): Change initial values to Qunloaded.
2391
2392         * chartab.h (get_char_id_table): If a character attribute is not
2393         loaded and the attribute value is not found in an external
2394         database, store Qunbound as the attribute value.
2395
2396 2002-01-22  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2397
2398         * chartab.c (BT_UINT8_unloaded): New macro.
2399         (UINT8_VALUE_P): Accept Qunloaded.
2400         (UINT8_ENCODE): Likewise.
2401         (UINT8_DECODE): Likewise.
2402         (BT_UINT16_unloaded): New macro.
2403         (UINT16_VALUE_P): Accept Qunloaded.
2404         (UINT16_ENCODE): Likewise.
2405         (UINT16_DECODE): Likewise.
2406         (UINT8_TO_UINT16): Convert BT_UINT8_unloaded into
2407         BT_UINT16_unloaded.
2408         (mark_char_table): Mark `ct->name' in UTF-2000.
2409         (char_table_description): Add `name' in UTF-2000.
2410         (Fmake_char_table): Initialize `ct->name'.
2411         (Fcopy_char_table): Copy `ct->name'.
2412         (Fput_char_attribute): Store value into an external database if
2413         HAVE_DATABASE is defined.
2414
2415         * chartab.h (struct Lisp_Char_Table): Add new member `name' in
2416         UTF-2000.
2417         (CHAR_TABLE_NAME): New macro in UTF-2000.
2418         (XCHAR_TABLE_NAME): New macro in UTF-2000.
2419         (get_char_id_table): Try to read an external database if Qunloaded
2420         is stored in a table.
2421
2422         * symbols.c (init_symbols_once_early): Assign '#<unloaded> into
2423         Qunloaded.
2424
2425 2002-01-21  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2426
2427         * database.h: Add EXFUN definitions for Fopen_database,
2428         Fput_database, Fget_database and Fclose_database.
2429
2430         * data.c (Qunloaded): New variable in UTF-2000.
2431
2432         * lisp.h (Qunloaded): New variable in UTF-2000.
2433
2434 2002-01-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2435
2436         * mule-charset.c (put_char_ccs_code_point): Modify for
2437         `decoding_table_remove_char' and `decoding_table_put_char'.
2438         (remove_char_ccs): Modify for `decoding_table_remove_char'.
2439
2440         * char-ucs.h (decoding_table_remove_char): Change arguments to
2441         hide decoding_table vector.
2442         (decoding_table_put_char): Likewise.
2443
2444 2002-01-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2445
2446         * mule-charset.c (decoding_table_remove_char): Moved to
2447         char-ucs.h.
2448         (decoding_table_put_char): Likewise.
2449
2450         * char-ucs.h (decoding_table_check_elements): New prototype [moved
2451         from mule-charset.c].
2452         (decoding_table_remove_char): New inline function [moved from
2453         mule-charset.c].
2454         (decoding_table_put_char): Likewise.
2455
2456 2002-01-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2457
2458         * mule-charset.c (Fmake_charset): Modify DOC-string for UTF-2000
2459         extension.
2460
2461 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2462
2463         * mule-charset.c (decode_builtin_char): Support mother charsets.
2464
2465 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2466
2467         * mule-charset.c (Q94x94x60): New variable.
2468         (charset_code_point): Support conversion `94x94x60'.
2469         (Fmake_charset): Likewise.
2470         (syms_of_mule_charset): Add new symbol `94x94x60'.
2471
2472         * char-ucs.h (CONVERSION_94x94x60): New macro.
2473
2474 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2475
2476         * mule-charset.c (charset_code_point): Unify code about
2477         `code-offset'.
2478
2479 2001-12-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2480
2481         * mule-charset.c (charset_code_point): Merge code about builtin
2482         characters into code about mother charsets; don't use
2483         `range_charset_code_point'.
2484         (range_charset_code_point): Deleted.
2485
2486 2001-12-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2487
2488         * mule-charset.c (Qcode_offset): New variable.
2489         (Fmake_charset): Use `XUINT' to get value of `min-code' and
2490         `max-code'; accept new property `code-offset'.
2491         (syms_of_mule_charset): Add new symbol `code-offset'.
2492
2493 2001-12-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2494
2495         * mule-charset.c (range_charset_code_point): Fixed.
2496
2497 2001-12-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2498
2499         * mule-charset.c (decode_builtin_char): Change semantics of
2500         code-offset of coded-charset.
2501         (charset_code_point): Likewise.
2502         (range_charset_code_point): Likewise.
2503         (complex_vars_of_mule_charset): Modify for the change.
2504
2505 2001-12-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2506
2507         * mule-charset.c (Fencode_char): Reverse arguments.
2508
2509         * mule-charset.c (charset_code_point): Fixed.
2510
2511 2001-12-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2512
2513         * mule-charset.c (Vcharset_mojikyo): Deleted.
2514         (Vcharset_mojikyo_2022_1): Deleted.
2515         (Vcharset_mojikyo_pj_{1..21}): Deleted.
2516         (Qmin_code): New variable in UTF-2000.
2517         (Qmax_code): Likewise.
2518         (Qmother): Likewise.
2519         (Qconversion): Likewise.
2520         (Q94x60): Likewise.
2521         (Qmojikyo): Deleted.
2522         (Qmojikyo_2022_1): Deleted.
2523         (Qmojikyo_pj_{1..22}): Deleted.
2524         (mark_charset): Mark `cs->mother'.
2525         (charset_description): Add description for `mother'.
2526         (make_charset): Rename `ucs_{min|max}' to `{min|max}_code'; add
2527         new arguments `mother' and `conversion'; use
2528         `CHARSET_{MIN|MAX}_CODE' instead of `CHARSET_UCS_{MIN|MAX}'.
2529         (charset_code_point): Moved from char-ucs.h; support `mother'
2530         charset feature.
2531         (range_charset_code_point): use `CHARSET_{MIN|MAX}_CODE' instead
2532         of `CHARSET_UCS_{MIN|MAX}'; delete hard code for `mojikyo-2022-1'.
2533         (Fmake_charset): Allow 3 and 4 as the value of `dimension' in
2534         UTF-2000; allow 128 and 256 as the value of `chars' in UTF-2000;
2535         allow 2 as the value of `graphic' in UTF-2000; add new properties
2536         `min-code', `max-code', `mother', `conversion' in UTF-2000; don't
2537         require `final' in UTF-2000; modify for `make_charset'.
2538         (Fmake_reverse_direction_charset): use `CHARSET_{MIN|MAX}_CODE'
2539         instead of `CHARSET_UCS_{MIN|MAX}'; modify for `make_charset'.
2540         (Fcharset_property): Support `mother', `min-code' and `max-code'.
2541         (Fencode_char): New function.
2542         (syms_of_mule_charset): Add new builtin function `encode-char' in
2543         UTF-2000; add new symbols `min-code', `max-code', `mother',
2544         `conversion' and `94x60'; delete symbols `mojikyo',
2545         `mojikyo-2022-1' and `mojikyo-pj-{1..21}'.
2546         (complex_vars_of_mule_charset): Modify for `make_charset' change;
2547         delete coded-charsets `mojikyo', `mojikyo-2022-1' and
2548         `mojikyo-pj-{1..21}'; delete `DEF_MOJIKYO_PJ'.
2549
2550         * chartab.c (Fdefine_char): Use `XCHARSET_MAX_CODE' instead of
2551         `XCHARSET_UCS_MAX'; regard `chinese-big5' as a base CCS.
2552
2553         * char-ucs.h (Vcharset_mojikyo): Deleted.
2554         (Vcharset_mojikyo_2022_1): Deleted.
2555         (LEADING_BYTE_MOJIKYO): Deleted.
2556         (LEADING_BYTE_MOJIKYO_2022_1): Deleted.
2557         (LEADING_BYTE_MOJIKYO_2022_2): Deleted.
2558         (LEADING_BYTE_MOJIKYO_PJ_{1 .. 21}): Deleted.
2559         (struct Lisp_Charset): Rename `ucs_{min|max}' to `{min|max}_code';
2560         add new member `mother'; add new member `conversion'.
2561         (CHARSET_MIN_CODE): Renamed from `CHARSET_UCS_MIN'.
2562         (CHARSET_MAX_CODE): Renamed from `CHARSET_UCS_MAX'.
2563         (CHARSET_MOTHER): New macro.
2564         (CHARSET_CONVERSION): New macro.
2565         (CONVERSION_IDENTICAL): New macro.
2566         (CONVERSION_94x60): New macro.
2567         (XCHARSET_MIN_CODE): Renamed from `CHARSET_MIN_CODE'.
2568         (XCHARSET_MAX_CODE): Renamed from `CHARSET_MAX_CODE'.
2569         (XCHARSET_MOTHER): New macro.
2570         (XCHARSET_CONVERSION): New macro.
2571         (MIN_CHAR_MOJIKYO): Deleted.
2572         (MAX_CHAR_MOJIKYO): Deleted.
2573         (DECODE_MOJIKYO_2022): Deleted.
2574         (DECODE_CHAR): Delete hard code for builtin Mojikyo characters.
2575         (charset_code_point): Changed to non-inline function.
2576         (encode_char_1): Use `charset_code_point'.
2577         (CHAR_TO_CHARC): Delete hard code for Mojikyo characters.
2578
2579 2001-12-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2580
2581         * lread.c (read_compiled_function): Fix prototype.
2582         (read_vector): Likewise.
2583
2584 2001-12-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2585
2586         * lrecord.h (struct lrecord_header): Delete `older'.
2587         (set_lheader_implementation): Delete code for `older'.
2588         (set_lheader_older_implementation): Deleted.
2589         (enum lrecord_type): Delete `lrecord_type_char_id_table'.
2590         (OLDER_RECORD_P): Deleted.
2591         (OLDER_RECORD_HEADER_P): Deleted.
2592         (alloc_older_lcrecord): Deleted.
2593         (alloc_older_lcrecord_type): Deleted.
2594
2595         * alloc.c (all_older_lcrecords): Deleted.
2596         (alloc_older_lcrecord): Deleted.
2597         (disksave_object_finalization_1): Delete code for older objects.
2598         (mark_object): Don't use `OLDER_RECORD_HEADER_P'.
2599         (reinit_alloc_once_early): Don't initialize `all_older_lcrecords'.
2600
2601 2001-12-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2602
2603         * mule-charset.c (decoding_table_put_char): Use `make_vector'
2604         instead of `make_older_vector'.
2605         (put_char_ccs_code_point): Likewise.
2606         (mark_charset): Mark `cs->decoding_table'.
2607         (Fset_charset_mapping_table): Don't use `make_vector_newer'.
2608
2609         * lisp.h (make_older_vector): Deleted.
2610         (make_vector_newer): Deleted.
2611
2612         * config.h.in (HAVE_GGC): Deleted.
2613
2614         * alloc.c (make_older_vector): Deleted.
2615         (make_vector_newer_1): Deleted.
2616         (make_vector_newer): Deleted.
2617
2618 2001-12-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2619
2620         * mule-charset.c (Vcharset_ideograph_daikanwa_2): New variable.
2621         (Qideograph_daikanwa_2): New variable.
2622         (syms_of_mule_charset): Add new symbol `ideograph-daikanwa-2'.
2623         (complex_vars_of_mule_charset): Add new coded-charset
2624         `ideograph-daikanwa-2'; use `LEADING_BYTE_DAIKANWA_3' instead of
2625         `LEADING_BYTE_DAIKANWA'.
2626
2627         * char-ucs.h (LEADING_BYTE_DAIKANWA_0): New macro.
2628         (LEADING_BYTE_DAIKANWA_1): New macro.
2629         (LEADING_BYTE_DAIKANWA_2): New macro.
2630         (LEADING_BYTE_DAIKANWA_3): Renamed from `LEADING_BYTE_DAIKANWA'.
2631
2632 2001-12-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2633
2634         * mule-charset.c (complex_vars_of_mule_charset): Change
2635         DOC-strings and registry of `ideograph-daikanwa'; now it indicates
2636         the second revised version.
2637
2638 2001-12-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2639
2640         * mule-charset.c (Vcharset_ucs_smp): New variable.
2641         (Vcharset_ucs_sip): New variable.
2642         (Qucs_smp): New variable.
2643         (Qucs_sip): New variable.
2644         (encode_builtin_char_1): Treat MIN_CHAR_{SMP|SIP} to
2645         MAX_CHAR_{SMP|SIP} as `ucs-{smp|sip}'.
2646         (syms_of_mule_charset): Add new symbols `ucs-smp' and `ucs-sip'.
2647         (complex_vars_of_mule_charset): Modify middle-DOC and registry of
2648         `ucs-bmp'; add new coded-charset `ucs-smp' and `ucs-sip'; change
2649         charset width of `ucs-cns', `ucs-jis', `ucs-ks' and `ucs-big5'.
2650
2651         * char-ucs.h (LEADING_BYTE_UCS_SMP): New macro.
2652         (LEADING_BYTE_UCS_SIP): New macro.
2653         (MIN_CHAR_SMP): New macro.
2654         (MAX_CHAR_SMP): New macro.
2655         (MIN_CHAR_SIP): New macro.
2656         (MAX_CHAR_SIP): New macro.
2657
2658 2001-11-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
2659
2660         * dumper.c (PDUMP_HASH_SIZE): Increase the size of hash table when
2661         utf-2000.
2662
2663 2001-11-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2664
2665         * mule-charset.c (put_char_ccs_code_point): Return canonicalized
2666         value; don't store value into `encoding_table' of `Lisp_Charset'.
2667         (mark_charset): `encoding_table' was deleted.
2668         (charset_description): Likewise.
2669         (make_charset): Likewise.
2670         (Fset_charset_mapping_table): Use `Fput_char_attribute' instead of
2671         `put_char_ccs_code_point'.
2672
2673         * chartab.h (Fput_char_attribute): New EXFUN.
2674
2675         * chartab.c (Fchar_attribute_alist): Name space of CCS-attributes
2676         is unified with normal symbol space.
2677         (Fget_char_attribute): Likewise.
2678         (Fput_char_attribute): Likewise; behavior of
2679         `put_char_ccs_code_point' is changed.
2680
2681         * char-ucs.h: Include "elhash.h".
2682         (Vchar_attribute_hash_table): New external variable.
2683         (struct Lisp_Charset): Delete `encoding_table'.
2684         (CHARSET_ENCODING_TABLE): New implementation; refer
2685         `Vchar_attribute_hash_table' instead of `encoding_table' of struct
2686         `Lisp_Charset'.
2687
2688 2001-11-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2689
2690         * mule-charset.c (Fcharset_property): Return Qnil if CHARSET_FINAL
2691         (cs) == 0.
2692
2693 2001-11-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2694
2695         * text-coding.c (char_encode_big5): Prefer charset-g1 than
2696         `chinese-big5'.
2697
2698 2001-11-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2699
2700         * chartab.c (uint8_byte_table_description): New constant.
2701         (uint8-byte-table): Use `uint8_byte_table_description'.
2702         (uint16_byte_table_description): New constant.
2703         (uint16-byte-table): Use `uint16_byte_table_description'.
2704
2705 2001-10-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2706
2707         * mule-charset.c (complex_vars_of_mule_charset): Don't use builtin
2708         range MIN_CHAR_BIG5_CDP .. MAX_CHAR_BIG5_CDP.
2709
2710 2001-10-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2711
2712         * mule-charset.c (Vcharset_ucs_ks): New variable.
2713         (Qucs_ks): New variable.
2714         (syms_of_mule_charset): Add new symbol `ucs-ks'.
2715         (complex_vars_of_mule_charset): Add new coded-charset `ucs-ks'.
2716
2717         * char-ucs.h (LEADING_BYTE_UCS_KS): New macro.
2718
2719 2001-10-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2720
2721         * chartab.h (Fmake_char): New EXFUN; moved from chartab.c.
2722         (Fdecode_char): Likewise.
2723
2724         * chartab.c: Move EXFUN for Fmake_char and Fdecode_char into
2725         chartab.h.
2726         (Fdefine_char): Modify for Fdecode_char.
2727         (Ffind_char): Likewise.
2728
2729         * mule-charset.c (Fdecode_char): Add new optional argument
2730         `defined-only'.
2731         (Fdecode_builtin_char): Modify for `Fdecode_char'.
2732
2733 2001-10-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2734
2735         * text-coding.c (mark_coding_system): Mark initial-charset-g0 and
2736         -g1 of CODESYS_BIG5 in XEmacs UTF-2000.
2737         (allocate_coding_system): Initialize initial-charsets of
2738         CODESYS_BIG5 in XEmacs UTF-2000.
2739         (Fmake_coding_system): Accept `charset-g0' and `charset-g1' for
2740         CODESYS_BIG5 in XEmacs UTF-2000.
2741         (decode_coding_big5): Use initial-charset-g0 and -g1 of
2742         CODESYS_BIG5 in XEmacs UTF-2000; use `DECODE_DEFINED_CHAR'.
2743
2744         * mule-charset.c (Vcharset_ideograph_hanziku_{1 .. 12}): New
2745         variables.
2746         (Qideograph_hanziku_{1 .. 12}): Likewise.
2747         (syms_of_mule_charset): Add new symbols `ideograph-hanziku-{1
2748         .. 12}'.
2749         (complex_vars_of_mule_charset): Use `MIN_CHAR_BIG5_CDP' to
2750         `MAX_CHAR_BIG5_CDP' for `chinese-big5'; add news coded-charsets
2751         `ideograph-hanziku-{1 .. 12}'.
2752
2753         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x200.
2754         (LEADING_BYTE_HANZIKU_{1 .. 12}): New macros.
2755         ({MIN|MAX}_CHAR_BIG5_CDP): New macros.
2756         ({MIN|MAX}_CHAR_HANZIKU_{1 .. 12}): New macros.
2757         (DECODE_DEFINED_CHAR): New inline function.
2758         (DECODE_CHAR): Use `DECODE_DEFINED_CHAR'.
2759
2760 2001-10-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2761
2762         * mule-charset.c (Vcharset_china3_jef): Renamed from
2763         `Vcharset_japanese_jef_china3'.
2764         (Qchina3_jef): Renamed from `Qjapanese_jef_china3'.
2765         (encode_builtin_char_1): Rename `{MIN|MAX}_CHAR_CHINA3_JEF' from
2766         `{MIN|MAX}_CHAR_JEF_CHINA3'..
2767         (syms_of_mule_charset): Rename `china3-jef' from
2768         `japanese-jef-china3'.
2769         (complex_vars_of_mule_charset): Likewise; rename
2770         `LEADING_BYTE_CHINA3_JEF' from `LEADING_BYTE_JEF_CHINA3'.
2771
2772         * char-ucs.h (LEADING_BYTE_CHINA3_JEF): Renamed from
2773         `LEADING_BYTE_JEF_CHINA3'.
2774         (MIN_CHAR_CHINA3_JEF): Renamed from `MIN_CHAR_JEF_CHINA3'.
2775         (MAX_CHAR_CHINA3_JEF): Renamed from `MAX_CHAR_JEF_CHINA3'.
2776
2777 2001-10-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2778
2779         * mule-charset.c (encode_builtin_char_1): Comment out special code
2780         for MIN_CHAR_MOJIKYO_0 ... MAX_CHAR_MOJIKYO_0.
2781
2782         * char-ucs.h (MIN_CHAR_MOJIKYO_0): Comment out.
2783         (MAX_CHAR_MOJIKYO_0): Comment out.
2784         (MIN_CHAR_CBETA): Changed to 0x00E20000.
2785         (MAX_CHAR_CBETA): Changed to 0x00E2FFFF.
2786         (MIN_CHAR_JEF_CHINA3): Changed to 0x00E80000.
2787         (MAX_CHAR_JEF_CHINA3): Changed to 0x00E8FFFF.
2788
2789 2001-10-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2790
2791         * mule-charset.c (Vcharset_ideograph_cbeta): New variable.
2792         (Qideograph_cbeta): New variable.
2793         (encode_builtin_char_1): Comment out special code for
2794         coded-charset `mojikyo' and `japanese-jef-china3'.
2795         (syms_of_mule_charset): Add new symbol `ideograph-cbeta'.
2796         (complex_vars_of_mule_charset): Add new coded-charset
2797         `ideograph-cbeta'.
2798
2799         * char-ucs.h (LEADING_BYTE_CBETA): New macro.
2800         (MIN_CHAR_CBETA): New macro.
2801         (MAX_CHAR_CBETA): New macro.
2802
2803 2001-10-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2804
2805         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x100.
2806         (LEADING_BYTE_JEF_CHINA3): New macro.
2807         (MIN_CHAR_JEF_CHINA3): New macro.
2808         (MAX_CHAR_JEF_CHINA3): Likewise.
2809         (DECODE_CHAR): Fixed.
2810
2811 2001-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2812
2813         * mule-charset.c (Vcharset_japanese_jef_china3): New variable.
2814         (Qjapanese_jef_china3): New variable.
2815         (encode_builtin_char_1): Support `japanese-jef-china3'.
2816         (syms_of_mule_charset): Add new symbol `japanese-jef-china3'.
2817         (complex_vars_of_mule_charset): Add new coded-charset
2818         `japanese-jef-china3'.
2819
2820 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2821
2822         * chartab.c (XCHARSET_CELL_RANGE): New inline function.
2823         (decode_char_table_range): Use `XCHARSET_CELL_RANGE'; accept 94^3,
2824         94^4, 96^3, 96^4, 128^n and 256^n set.
2825         (put_char_table): Use `XCHARSET_CELL_RANGE'.
2826         (map_char_table): Likewise.
2827
2828 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2829
2830         * chartab.c (get_char_table): Use `get_char_id_table' in XEmacs
2831         UTF-2000.
2832
2833 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2834
2835         * chartab.h (get_char_id_table): New inline function.
2836
2837         * chartab.c (get_char_id_table): Moved to chartab.h as an inline
2838         function.
2839
2840 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2841
2842         * chartab.h (decode_char_table_range): New prototype in XEmacs
2843         UTF-2000.
2844         (put_char_id_table): New inline function in XEmacs UTF-2000.
2845
2846         * chartab.c (put_char_id_table): Moved to chartab.h as an inline
2847         function.
2848         (decode_char_table_range): Delete static declaration in XEmacs
2849         UTF-2000.
2850
2851 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2852
2853         * chartab.c (put_char_id_table): Use `put_char_table'.
2854
2855 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2856
2857         * chartab.c (map_over_uint8_byte_table): Delete argument `ccs'.
2858         (map_over_uint16_byte_table): Likewise.
2859         (map_over_byte_table): Likewise.
2860         (map_char_table): Modify for `map_over_uint8_byte_table',
2861         `map_over_uint16_byte_table' and `map_over_byte_table' in XEmacs
2862         UTF-2000.
2863
2864 2001-09-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2865
2866         * chartab.c (struct map_char_table_for_charset_arg): New
2867         structure.
2868         (map_char_table_for_charset_fun): New function.
2869         (map_char_table): Use `map_char_table' for encoding_table of
2870         `range->charset'.
2871
2872 2001-09-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2873
2874         * chartab.c (map_char_table): Check a character is found in
2875         range->charset instead of non default value is defined in
2876         char-table when range is CHARTAB_RANGE_ROW.
2877
2878 2001-09-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2879
2880         * chartab.c (map_char_id_table): Deleted.
2881         (Fmap_char_attribute): Use `map_char_table' instead of
2882         `map_char_id_table'.
2883
2884 2001-09-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2885
2886         * syntax.h (SYNTAX_CODE_UNSAFE): New implementation in XEmacs
2887         UTF-2000.
2888         (update_syntax_table): Deleted in XEmacs UTF-2000.
2889
2890         * syntax.c (find_defun_start): Use `syntax_table' instead of
2891         `mirror_syntax_table' in XEmacs UTF-2000.
2892         (Fset_syntax_table): Don't use `mirror_syntax_table' in XEmacs
2893         UTF-2000.
2894         (Fchar_syntax): Use `syntax_table' instead of `mirror_table' in
2895         XEmacs UTF-2000.
2896         (Fmatching_paren): Likewise.
2897         (scan_words): Use `syntax_table' instead of `mirror_syntax_table'
2898         in XEmacs UTF-2000.
2899         (find_start_of_comment): Likewise.
2900         (find_end_of_comment): Likewise.
2901         (Fforward_comment): Likewise.
2902         (scan_lists): Likewise.
2903         (char_quoted): Likewise.
2904         (Fbackward_prefix_chars): Likewise.
2905         (scan_sexps_forward): Likewise.
2906         (update_just_this_syntax_table): Deleted in XEmacs UTF-2000.
2907         (update_syntax_table): Likewise.
2908
2909         * search.c (skip_chars): Use `syntax_table' instead of
2910         `mirror_syntax_table' in XEmacs UTF-2000.
2911         (wordify): Likewise.
2912         (Freplace_match): Likewise.
2913
2914         * regex.c (re_compile_fastmap): Use `syntax_table' instead of
2915         `mirror_syntax_table' in XEmacs UTF-2000.
2916         (WORDCHAR_P_UNSAFE): Likewise.
2917         (re_match_2_internal): Likewise.
2918
2919         * font-lock.c (find_context): Use `buf->syntax_table' instead of
2920         `buf->mirror_syntax_table' in XEmacs UTF-2000.
2921
2922         * cmds.c (internal_self_insert): Use `buf->syntax_table' instead
2923         of `buf->mirror_syntax_table' in XEmacs UTF-2000.
2924
2925         * chartab.h (struct Lisp_Char_Table): Delete `mirror_table' in
2926         XEmacs UTF-2000.
2927
2928         * chartab.c (mark_char_table): Don't mark `mirror_table' in XEmacs
2929         UTF-2000.
2930         (print_char_table): Print `default_value' in XEmacs UTF-2000.
2931         (char_table_description): Delete `mirror_table' in XEmacs
2932         UTF-2000.
2933         (fill_char_table): Don't call `update_syntax_table' in XEmacs
2934         UTF-2000.
2935         (Fmake_char_table): Don't use `mirror_table' in XEmacs UTF-2000.
2936         (Fcopy_char_table): Likewise.
2937         (put_char_table): Don't call `update_syntax_table' in XEmacs
2938         UTF-2000.
2939
2940         * casefiddle.c (casify_object): Use `buf->syntax_table' instead of
2941         `buf->mirror_syntax_table' in XEmacs UTF-2000.
2942         (casify_region_internal): Likewise.
2943
2944         * bufslots.h: Delete `mirror_syntax_table' in XEmacs UTF-2000.
2945
2946         * buffer.c (common_init_complex_vars_of_buffer): Don't use
2947         `mirror_syntax_table' in XEmacs UTF-2000.
2948
2949         * abbrev.c (abbrev_match): Use `buf->syntax_table' instead of
2950         `buf->mirror_syntax_table' in XEmacs UTF-2000.
2951         (Fexpand_abbrev): Likewise.
2952
2953 2001-09-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2954
2955         * chartab.c (vars_of_chartab): Update `utf-2000-version' to 0.18.
2956
2957 2001-09-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2958
2959         * chartab.c (map_over_uint8_byte_table): Cancel temporary hack.
2960         (map_over_uint16_byte_table): Likewise.
2961         (map_over_byte_table): Likewise.
2962         (get_char_id_table): Refer `cit->default_value'.
2963         (put_char_id_table): Support `CHARTAB_RANGE_DEFAULT'.
2964         (map_char_id_table): Use `1 << 30' instead of `1 << 24' as number
2965         of character-id ranges.
2966         (mark_char_table): Mark `ct->default_value'.
2967         (char_table_description): Add `default_value'.
2968         (fill_char_table): Use `default_value'.
2969         (decode_char_table_range): Decode `nil' as
2970         `CHARTAB_RANGE_DEFAULT'.
2971         (get_char_id_table): Refer `cit->default_value'.
2972         (put_char_id_table): Support `CHARTAB_RANGE_DEFAULT'.
2973         (map_char_table): Support `CHARTAB_RANGE_DEFAULT'; cancel
2974         temporary hack; check value of char-table is bound or not.
2975         (slow_map_char_table_fun): Support `CHARTAB_RANGE_DEFAULT'.
2976
2977         * chartab.h (struct Lisp_Char_Table): Add new member
2978         `default_value' in XEmacs UTF-2000.
2979         (CHAR_TABLE_VALUE_UNSAFE): Use `default_value'.
2980         (enum chartab_range_type): Add `CHARTAB_RANGE_DEFAULT' in XEmacs
2981         UTF-2000.
2982
2983 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2984
2985         * chartab.h (Lisp_Char_ID_Table): Deleted.
2986
2987         * chartab.c (char_table_description): Fix typo.
2988         (Fmap_char_attribute): Use `Lisp_Char_Table' instead of
2989         `Lisp_Char_ID_Table'.
2990
2991 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2992
2993         * text-coding.c (COMPOSE_ADD_CHAR): Use `CHAR_TABLEP' instead of
2994         `CHAR_ID_TABLE_P'.
2995
2996         * mule-charset.c (remove_char_ccs): Use `CHAR_TABLEP' instead of
2997         `CHAR_ID_TABLE_P'.
2998
2999         * chartab.h (XCHAR_ID_TABLE): Deleted.
3000         (XSETCHAR_ID_TABLE): Deleted.
3001         (CHAR_ID_TABLE_P): Deleted.
3002
3003         * chartab.c (put_char_id_table): Use `CHAR_TABLEP' instead of
3004         `CHAR_ID_TABLE_P'.
3005         (Fget_composite_char): Likewise.
3006         (put_char_table): Likewise.
3007         (add_char_attribute_alist_mapper): Fixed.
3008         (Fchar_attribute_alist): Use `CHAR_TABLEP' instead of
3009         `CHAR_ID_TABLE_P'.
3010         (Fget_char_attribute): Likewise.
3011         (Fget_char_attribute): Likewise.
3012         (Fmap_char_attribute): Likewise.
3013
3014         * char-ucs.h (charset_code_point): Use `CHAR_TABLEP' instead of
3015         `CHAR_ID_TABLE_P'.
3016         (encode_char_1): Likewise.
3017
3018 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3019
3020         * text-coding.c (COMPOSE_ADD_CHAR): Use `XCHAR_TABLE' instead of
3021         `XCHAR_ID_TABLE'.
3022
3023         * mule-charset.c (put_char_ccs_code_point): Use `XCHAR_TABLE'
3024         instead of `XCHAR_ID_TABLE'.
3025         (remove_char_ccs): Likewise.
3026
3027         * chartab.c (put_char_id_table): Use `XCHAR_TABLE' instead of
3028         `XCHAR_ID_TABLE'.
3029         (Fget_composite_char): Likewise.
3030         (Fchar_variants): Likewise.
3031         (put_char_table): Likewise.
3032         (add_char_attribute_alist_mapper): Likewise.
3033         (Fchar_attribute_alist): Likewise.
3034         (Fget_char_attribute): Likewise.
3035         (Fput_char_attribute): Likewise.
3036         (Fmap_char_attribute): Likewise.
3037         (Fmap_char_attribute): Likewise.
3038
3039         * char-ucs.h (charset_code_point): Use `XCHAR_TABLE' instead of
3040         `XCHAR_ID_TABLE'.
3041         (encode_char_1): Likewise.
3042
3043 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3044
3045         * chartab.c (map_char_id_table): Use `Lisp_Char_Table' instead of
3046         `Lisp_Char_ID_Table'.
3047         (mark_char_id_table): Deleted.
3048         (print_char_id_table): Likewise.
3049         (char_id_table_equal): Likewise.
3050         (char_id_table_hash): Likewise.
3051         (char_id_table_description): Likewise.
3052         (char_id_table): Likewise.
3053         (make_char_id_table): Use `Fmake_char_table' and
3054         `fill_char_table'.
3055         (get_char_id_table): Use `Lisp_Char_Table' instead of
3056         `Lisp_Char_ID_Table'.
3057         (put_char_id_table): Likewise.
3058         (Fput_char_attribute): Use `XCHAR_TABLE' instead of
3059         `XCHAR_ID_TABLE'.
3060         (Fremove_char_attribute): Likewise.
3061         (syms_of_chartab): Don't define type `char-id-table'.
3062
3063         * chartab.h (struct Lisp_Char_ID_Table): Deleted.
3064         (char_id_table): Likewise.
3065         (GC_CHAR_ID_TABLE_P): Likewise.
3066         (Lisp_Char_ID_Table): Use structure `Lisp_Char_Table'.
3067         (XCHAR_ID_TABLE): Use `XCHAR_TABLE'.
3068         (XSETCHAR_ID_TABLE): Use `XSETCHAR_TABLE'.
3069         (CHAR_ID_TABLE_P): Use `CHAR_TABLEP'.
3070         (get_char_id_table): Use `Lisp_Char_Table' instead of
3071         `Lisp_Char_ID_Table'.
3072         (put_char_id_table_0): Likewise.
3073         (put_char_id_table): Likewise.
3074
3075 2001-09-02  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
3076
3077         * chartab.h: Lisp_Byte_Table related codes are moved from
3078         chartab.h.
3079
3080         * char-ucs.h: Move Lisp_Byte_Table related codes to chartab.h.
3081
3082 2001-09-02  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
3083
3084         * chartab.h: Don't include "chartab.h".
3085         (struct Lisp_Char_ID_Table): Moved from char-ucs.h.
3086         (Lisp_Char_ID_Table): Likewise.
3087         (char_id_table): Likewise.
3088         (XCHAR_ID_TABLE): Likewise.
3089         (XSETCHAR_ID_TABLE): Likewise.
3090         (CHAR_ID_TABLE_P): Likewise.
3091         (GC_CHAR_ID_TABLE_P): Likewise.
3092         (get_char_id_table): Likewise.
3093
3094         * char-ucs.h: Include "chartab.h".
3095         (struct Lisp_Char_ID_Table): Moved to chartab.h.
3096         (Lisp_Char_ID_Table): Likewise.
3097         (char_id_table): Likewise.
3098         (XCHAR_ID_TABLE): Likewise.
3099         (XSETCHAR_ID_TABLE): Likewise.
3100         (CHAR_ID_TABLE_P): Likewise.
3101         (GC_CHAR_ID_TABLE_P): Likewise.
3102         (get_char_id_table): Likewise.
3103
3104 2001-09-01  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
3105
3106         * chartab.c (copy_uint8_byte_table): New function.
3107         (copy_uint16_byte_table): New function.
3108         (copy_byte_table): New function.
3109         (map_over_uint8_byte_table): Modify to avoid huge numbers of
3110         characters to call.
3111         (map_over_uint16_byte_table): Likewise.
3112         (map_over_byte_table): Likewise.
3113         (get_byte_table): Move prototype to chartab.h.
3114         (put_byte_table): Likewise.
3115         (put_char_id_table_0): Moved to chartab.h.
3116         (mark_char_table_entry): Don't define in XEmacs UTF-2000.
3117         (char_table_entry_equal): Likewise.
3118         (char_table_entry_hash): Likewise.
3119         (char_table_entry_description): Likewise.
3120         (char_table_entry): Likewise.
3121         (make_char_table_entry): Likewise.
3122         (copy_char_table_entry): Likewise.
3123         (get_non_ascii_char_table_value): Likewise.
3124         (map_over_charset_ascii): Likewise.
3125         (map_over_charset_control_1): Likewise.
3126         (map_over_charset_row): Likewise.
3127         (map_over_other_charset): Likewise.
3128         (mark_char_table): Modify for new structure in XEmacs UTF-2000.
3129         (print_char_table): Likewise.
3130         (char_table_equal): Likewise.
3131         (char_table_hash): Likewise.
3132         (char_table_description): Likewise.
3133         (fill_char_table): Likewise.
3134         (Fcopy_char_table): Likewise.
3135         (get_char_table): Likewise.
3136         (Fget_range_char_table): Likewise.
3137         (put_char_table): Likewise.
3138         (map_char_table): Likewise.
3139         (syms_of_chartab): Don't define `char_table_entry' in XEmacs
3140         UTF-2000.
3141
3142 2001-08-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3143
3144         * cmds.c (vars_of_cmds): Use `put_char_id_table_0' for
3145         `Vauto_fill_chars' in XEmacs UTF-2000.
3146
3147         * chartab.h (get_byte_table): New prototype [moved from
3148         chartab.c].
3149         (put_byte_table): Likewise [moved from chartab.c].
3150         (put_char_id_table_0): New inline function [moved from chartab.c].
3151         (struct Lisp_Char_Table_Entry): Don't define in XEmacs UTF-2000.
3152         (Lisp_Char_Table_Entry): Likewise.
3153         (char_table_entry): Likewise.
3154         (XCHAR_TABLE_ENTRY): Likewise.
3155         (XSETCHAR_TABLE_ENTRY): Likewise.
3156         (CHAR_TABLE_ENTRYP): Likewise.
3157         (CHECK_CHAR_TABLE_ENTRY): Likewise.
3158         (NUM_ASCII_CHARS): Likewise.
3159         (struct Lisp_Char_Table): New implementation in XEmacs UTF-2000.
3160         (CHAR_TABLE_VALUE_UNSAFE): Likewise.
3161
3162 2001-08-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3163
3164         * chartab.c (get_char_id_table): Change interface.
3165         (put_char_id_table_0): New function.
3166         (put_char_id_table): Change interface; new implementation.
3167         (Fget_composite_char): Modify for interface change of
3168         `get_char_id_table'.
3169         (Fchar_variants): Likewise.
3170         (add_char_attribute_alist_mapper): Likewise.
3171         (Fchar_attribute_alist): Likewise.
3172         (Fget_char_attribute): Likewise.
3173         (Fput_char_attribute): Allow coded-charset or [CODED-CHARSET ROW]
3174         as same as character as the first argument like `put-char-table';
3175         modify for interface change of `put_char_id_table'.
3176         (Fremove_char_attribute): Modify for interface change of
3177         `put_char_id_table'.
3178
3179 2001-08-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3180
3181         * text-coding.c: Sync up with XEmacs 21.2.41.
3182         (COMPOSE_ADD_CHAR): Modify for interface change of
3183         `get_char_id_table'.
3184
3185         * mule-charset.c (put_char_ccs_code_point): Modify for interface
3186         change of `put_char_id_table'.
3187         (remove_char_ccs): Likewise.
3188
3189         * chartab.h (put_char_id_table): Change interface.
3190
3191         * char-ucs.h (get_char_id_table): Change interface.
3192         (charset_code_point): Modify for interface change of
3193         `get_char_id_table'.
3194         (encode_char_1): Likewise.
3195
3196 2001-08-19  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3197
3198         * chartab.c (map_over_uint8_byte_table): Change arguments; add new
3199         argument `ccs'.
3200         (map_over_uint16_byte_table): Likewise.
3201         (map_over_byte_table): Likewise.
3202         (map_char_id_table): Add new argument `range' like
3203         `map_char_table'.
3204         (Fmap_char_attribute): Add new argument `range' like
3205         `Fmap_char_table'.
3206
3207 2001-08-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3208
3209         * chartab.c (map_over_uint8_byte_table): Change interface of
3210         mapping function to use struct chartab_range instead of Emchar.
3211         (map_over_uint16_byte_table): Likewise.
3212         (map_over_byte_table): Likewise.
3213         (map_char_id_table): Likewise.
3214         (struct slow_map_char_id_table_arg): Deleted.
3215         (slow_map_char_id_table_fun): Deleted.
3216         (Fmap_char_attribute): Use struct `slow_map_char_table_arg' and
3217         function `slow_map_char_table_fun' instead of struct
3218         `slow_map_char_id_table_arg' and function
3219         `slow_map_char_id_table_fun'.
3220
3221 2001-08-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3222
3223         * mule-charset.c: Move char-it-table related codes to chartab.c.
3224         (Vutf_2000_version): Moved to chartab.c.
3225         (Fdefine_char): Likewise.
3226         (Ffind_char): Likewise.
3227         (syms_of_mule_charset): Move types `uint8-byte-table',
3228         `uint16-byte-table', `byte-table' and `char-id-table' to
3229         chartab.c; move functions `char_attribute_list,
3230         `find_char_attribute_table, `char_attribute_alist,
3231         `get_char_attribute, `put_char_attribute, `remove_char_attribute,
3232         `map_char_attribute, `define_char, `find_char, `char_variants and
3233         `get_composite_char to chartab.c; move symbols `=>ucs',
3234         `->decomposition', `compat', `isolated', `initial', `medial',
3235         `final', `vertical', `noBreak', `fraction', `super', `sub',
3236         `circle', `square', `wide', `narrow', `small' and `font' to
3237         chartab.c.
3238         (vars_of_mule_charset): Move `utf-2000-version' to chartab.c; move
3239         setting codes for `Vcharacter_composition_table' and
3240         `Vcharacter_variant_table' to chartab.c.
3241         (complex_vars_of_mule_charset): Move setting code for
3242         `Vchar_attribute_hash_table' to chartab.c.
3243
3244         * chartab.h: Include "char-ucs.h" if --with-utf-2000 is specified.
3245         (make_char_id_table): New prototype.
3246         (put_char_id_table): Likewise.
3247         (Fget_char_attribute): Likewise.
3248
3249         * chartab.c: Move char-id-table related code from mule-charset.c.
3250         (Vutf_2000_version): Moved from mule-charset.c.
3251
3252         * char-ucs.h (Qucs): New external variable.
3253         (put_char_ccs_code_point): New prototype.
3254         (remove_char_ccs): Likewise.
3255
3256 2001-08-14  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
3257
3258         * mule-charset.c (Vcharset_ucs_jis): New variable.
3259         (Qucs_jis): Likewise.
3260         (syms_of_mule_charset): Add new symbol `ucs-jis'.
3261         (complex_vars_of_mule_charset): Add new coded-charset `ucs-jis'.
3262
3263         * char-ucs.h (LEADING_BYTE_UCS_JIS): New macro.
3264
3265 2001-08-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3266
3267         * mule-charset.c (map_over_uint8_byte_table): New function.
3268         (map_over_uint16_byte_table): Likewise.
3269         (map_over_byte_table): Likewise.
3270         (map_char_id_table): Likewise.
3271         (slow_map_char_id_table_fun): Likewise.
3272         (Fmap_char_attribute): Likewise.
3273         (syms_of_mule_charset): Add new function `map-char-attribute'.
3274
3275 2001-08-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3276
3277         * mule-charset.c (Ffind_char): New function in XEmacs UTF-2000.
3278         (syms_of_mule_charset): Add new function `find-char'.
3279
3280 2001-08-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3281
3282         * mule-charset.c (Vcharset_chinese_big5_cdp): New variable in
3283         XEmacs UTF-2000.
3284         (Qchinese_big5_cdp): New variable in XEmacs UTF-2000.
3285         (syms_of_mule_charset): Add new symbol `chinese-big5-cdp' in
3286         XEmacs UTF-2000.
3287         (complex_vars_of_mule_charset): Add new coded-charset
3288         `chinese-big5-cdp' in XEmacs UTF-2000; change registry of
3289         `ideograph-gt-pj-*'.
3290
3291         * char-ucs.h (LEADING_BYTE_CHINESE_BIG5_CDP): New macro.
3292
3293 2001-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3294
3295         * mule-charset.c (encode_builtin_char_1): Purge codes about
3296         {MIN|MAX}_CHAR_{GREEK|CYRILLIC}; comment out code about
3297         {MIN|MAX}_CHAR_HEBREW.
3298         (complex_vars_of_mule_charset): Comment out {MIN|MAX}_CHAR_HEBREW;
3299         don't use {MIN|MAX}_CHAR_HEBREW to define `hebrew-iso8859-8'.
3300
3301         * char-ucs.h (MIN_CHAR_GREEK): Purged.
3302         (MAX_CHAR_GREEK): Purged.
3303         (MIN_CHAR_CYRILLIC): Purged.
3304         (MAX_CHAR_CYRILLIC): Purged.
3305         (MIN_CHAR_HEBREW): Commented out.
3306         (MAX_CHAR_HEBREW): Likewise.
3307
3308 2001-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3309
3310         * mule-charset.c (Qto_ucs): New variable.
3311         (Fput_char_attribute): Treat `=>ucs' as same as `->ucs'.
3312         (Fdefine_char): Likewise.
3313         (syms_of_mule_charset): Add new symbol `=>ucs'.
3314
3315 2001-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3316
3317         * mule-charset.c (Fdecode_char): Fixed.
3318
3319 2001-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3320
3321         * mule-charset.c (complex_vars_of_mule_charset): Modify registry
3322         of latin-tcvn5712 to accept "tcvn5712.1993-1" as same as
3323         "tcvn5712-1".
3324
3325 2001-07-21  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3326
3327         * mule-charset.c (Vcharset_ucs_big5): New variable.
3328         (Qucs_big5): Likewise.
3329         (syms_of_mule_charset): Add new symbol `ucs-big5'.
3330         (complex_vars_of_mule_charset): Add new coded-charset `ucs-big5'.
3331
3332         * char-ucs.h (LEADING_BYTE_UCS_BIG5): New macro.
3333
3334 2001-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3335
3336         * mule-charset.c (decode_builtin_char): Check Big5 code range
3337         which can be mapped to `chinese-big5-1' and `chinese-big5-2'.
3338
3339 2001-07-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3340
3341         * mule-charset.c (Vcharset_chinese_gb12345): New variable.
3342         (Qchinese_gb12345): Likewise.
3343         (Fdecode_builtin_char): Fixed.
3344         (syms_of_mule_charset): Add `chinese-gb12345'.
3345         (complex_vars_of_mule_charset): Add coded-charset
3346         `chinese-gb12345'.
3347
3348         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x70.
3349         (LEADING_BYTE_CHINESE_GB12345): New macro.
3350
3351 2001-07-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3352
3353         * mule-charset.c (Fdecode_builtin_char): Use `latin-viscii-lower'
3354         and `latin-viscii-upper' for `latin-viscii'.
3355
3356 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3357
3358         * mule-charset.c (Fdecode_builtin_char): Comment out
3359         regularization code for ISO-IR GR representation.
3360
3361 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3362
3363         * mule-charset.c (decode_builtin_char): New function; renamed from
3364         `make_builtin_char'; return -1 instead of signal.
3365         (Fdecode_builtin_char): Use `decode_builtin_char'.
3366
3367         * char-ucs.h (decode_builtin_char): New prototype; renamed from
3368         `make_builtin_char'.
3369         (DECODE_CHAR): Use `decode_builtin_char' instead of
3370         `make_builtin_char'; use mapping table of `chinese-big5' for
3371         `chinese-big5-{1,2}'.
3372
3373 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3374
3375         * text-coding.c (char_encode_big5): New function.
3376         (char_finish_big5): Likewise.
3377         (reset_encoding_stream): Use `char_encode_big5' and
3378         `char_finish_big5' for CODESYS_BIG5.
3379         (mule_encode): Don't use `encode_coding_big5'.
3380         (encode_coding_big5): Deleted.
3381
3382 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3383
3384         * text-coding.c (BYTE_BIG5_TWO_BYTE_1_P): Support private area
3385         0x81- in XEmacs UTF-2000.
3386         (detect_coding_big5): Likewise.
3387
3388 2001-07-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3389
3390         * mule-charset.c (Fdefine_char): Don't use a CCS property to
3391         generate character-id if the CCS property does not have
3392         corresponding predefined character.
3393         (make_builtin_char): Return -1 if corresponding predefined
3394         character is not found.
3395         (Fdecode_char): Return nil if corresponding character is not
3396         found.
3397         (complex_vars_of_mule_charset): Change `ucs-cns' to 256^3-set and
3398         don't map to builtin ucs space.
3399
3400 2001-07-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3401
3402         * char-ucs.h (MAX_LEADING_BYTE_PRIVATE): Fixed.
3403         (MAX_CHAR_GT): Changed to `(MIN_CHAR_GT + 66773)'.
3404
3405 2001-07-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3406
3407         * mule-charset.c (Vcharset_ideograph_gt): New variable.
3408         (Vcharset_ideograph_gt_pj_{1..11}): Likewise.
3409         (Qideograph_gt): Likewise.
3410         (Qideograph_gt_pj_{1..11}): Likewise.
3411         (syms_of_mule_charset): Add `ideograph-gt', `ideograph-gt-pj-1',
3412         `ideograph-gt-pj-2', ..., `ideograph-gt-pj-10' and
3413         `ideograph-gt-pj-11'.
3414         (complex_vars_of_mule_charset): Add coded-charset `ideograph-gt',
3415         `ideograph-gt-pj-1', `ideograph-gt-pj-2', ...,
3416         `ideograph-gt-pj-10' and `ideograph-gt-pj-11'.
3417
3418         * char-ucs.h (LEADING_BYTE_GT): New macro.
3419         (LEADING_BYTE_GT_PJ_{1..11}): Likewise.
3420         (MIN_CHAR_GT): Likewise.
3421         (MAX_CHAR_GT): Likewise.
3422
3423 2001-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3424
3425         * lisp-disunion.h (XCHARVAL): New implementation for UTF-2000 to
3426         support U-60000000 .. U-7FFFFFFF with 32 bits architecture.
3427
3428         * doprnt.c (unsigned_int_converters): Add `c'.
3429         (emacs_doprnt_1): Use `XUINT' for unsigned integers.
3430
3431         * char-ucs.h (MIN_CHAR_DAIKANWA): Don't refer `MIN_CHAR_MOJIKYO'.
3432         (MAX_CHAR_DAIKANWA): Refer `MIN_CHAR_DAIKANWA' instead of
3433         `MIN_CHAR_MOJIKYO'.
3434         (MIN_CHAR_MOJIKYO_0): New macro; refer `MIN_CHAR_DAIKANWA'.
3435         (MAX_CHAR_MOJIKYO_0): New macro.
3436         (MIN_CHAR_MOJIKYO): Changed to 0x60000000.
3437
3438 2001-06-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3439
3440         * mule-charset.c (Fdefine_char): Delete cemented out code.
3441         (encode_builtin_char_1): Modify for new allocation of builtin
3442         Mojikyo characters.
3443
3444         * lisp-disunion.h (XCHARVAL): Cast the argument into EMACS_UINT.
3445
3446 2001-06-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3447
3448         * mule-charset.c (Vcharset_ucs_cns): New variable.
3449         (Qucs_cns): New variable.
3450         (syms_of_mule_charset): Add new symbol `ucs-cns'.
3451         (complex_vars_of_mule_charset): Add new coded-charset `ucs-cns'.
3452
3453 2001-05-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3454
3455         * char-ucs.h (LEADING_BYTE_UCS_CNS): New macro.
3456
3457 2000-12-09  MORIOKA Tomohiko  <tomo@m17n.org>
3458
3459         * search.c (search_buffer): Make `charset_base_code' as
3460         character-id >> 6 to eliminate the corresponding last byte in
3461         UTF-8 representation [I'm not sure it is right thing].
3462         (boyer_moore): Likewise.
3463
3464 2000-12-09  MORIOKA Tomohiko  <tomo@m17n.org>
3465
3466         * emacs.c (vars_of_emacs): Convert XEMACS_CODENAME to internal
3467         representation in MULE.
3468
3469 2000-11-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3470
3471         * text-coding.c (Fmake_coding_system): Use
3472         `EXTERNAL_PROPERTY_LIST_LOOP_3' instead of
3473         `EXTERNAL_PROPERTY_LIST_LOOP'.
3474
3475 2000-11-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3476
3477         * text-coding.c (decode_output_utf8_partial_char): New function.
3478         (decode_coding_utf8): Use `decode_output_utf8_partial_char'.
3479
3480 2000-11-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3481
3482         * text-coding.c (decode_coding_utf8): Output original byte
3483         sequence if it is broken; change order of conditions.
3484
3485         * mb-utf-8.h (REP_BYTES_BY_FIRST_BYTE): Use Bufbyte; reverse order
3486         of conditions.
3487
3488         * mb-multibyte.h (BYTE_ASCII_P):
3489         Use bit ops for char-signedness safety.
3490         (BYTE_C0_P): Use bit ops for char-signedness safety.
3491         (BYTE_C1_P): Use bit ops for char-signedness safety.
3492
3493         * character.h: (XCHAR_OR_CHAR_INT):
3494         Always use inline function.
3495         Remove redundant type checking assert() - XINT will abort quite
3496         nicely.
3497
3498 2000-11-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3499
3500         * text-coding.c: (Fencode_shift_jis_char):
3501         (Fencode_big5_char):
3502         Docstring arglist/Texinfo fixes.  See man/ChangeLog for details.
3503         Replace 0 with '\0' when working with bytes.
3504         Replace initial "(" with "\(" in docstrings.
3505
3506         (Fmake_coding_system):
3507         When type is ccl and value is vector, register it with a proper
3508         symbol.  And checks whether the given ccl program is valid.
3509         (mule_decode): When calling ccl_driver, if src indicates
3510         NULL pointer, set an empty string instead.
3511         (mule_encode): Likewise.
3512
3513         (detect_eol_type):
3514         (detect_coding_sjis):
3515         (decode_coding_sjis):
3516         (detect_coding_big5):
3517         (decode_coding_big5):
3518         (detect_coding_ucs4):
3519         (decode_coding_ucs4):
3520         (detect_coding_utf8):
3521         (decode_coding_utf8):
3522         (detect_coding_iso2022):
3523         (decode_coding_iso2022):
3524         (decode_coding_no_conversion):
3525         (mule_decode):
3526         Make all detecting and decoding functions take an Extbyte * arg.
3527         (text_encode_generic):
3528         (encode_coding_big5):
3529         (encode_coding_no_conversion):
3530         (mule_encode):
3531         Make all encoding functions take a Bufbyte * arg.
3532         Use size_t instead of unsigned int for memory sizes.
3533         Only cast to unsigned char whenever dereferencing Extbyte *.
3534
3535         (struct lrecord_description fcd_description_1): Use countof.
3536         (complex_vars_of_file_coding):
3537         Use countof instead of sizeof.
3538         Use CHECK_NATNUM instead of CHECK_INT.
3539
3540 2000-11-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3541
3542         * mule-charset.c (Fget_char_attribute): Add new optional argument
3543         `default-value'.
3544         (put_char_ccs_code_point): Modify for `Fget_char_attribute'.
3545         (remove_char_ccs): Likewise.
3546
3547 2000-10-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3548
3549         * text-coding.c (char_encode_shift_jis): New implementation in
3550         UTF-2000.
3551         (decode_coding_big5): Use `DECODE_CHAR (Vcharset_chinese_big5,
3552         ...)'.
3553
3554         * mule-charset.c (Vcharset_chinese_big5): New variable in
3555         UTF-2000.
3556         (Qchinese_big5): New variable in UTF-2000.
3557         (BIG5_SAME_ROW): New macro in UTF-2000.
3558         (make_builtin_char): Use builtin characters of
3559         `Vcharset_chinese_big5_1' and `Vcharset_chinese_big5_2' as builtin
3560         characters of `Vcharset_chinese_big5'.
3561         (syms_of_mule_charset): Add new symbol `chinese-big5' in UTF-2000.
3562         (complex_vars_of_mule_charset): Add new coded-charset
3563         `chinese-big5' in UTF-2000.
3564
3565         * char-ucs.h (LEADING_BYTE_CHINESE_BIG5): New macro.
3566         (Vcharset_chinese_big5): New external variable declaration.
3567         (Vcharset_japanese_jisx0208_1990): Likewise.
3568
3569 2000-07-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3570
3571         * mule-charset.c (expand_uint8_byte_table_to_uint16): New
3572         function.
3573         (put_byte_table): Use `expand_uint8_byte_table_to_uint16'.
3574
3575 2000-07-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3576
3577         * mule-charset.c (complex_vars_of_mule_charset): Define new macro
3578         `DEF_MOJIKYO_PJ' in UTF-2000; use `DEF_MOJIKYO_PJ' to define
3579         `mojikyo-pj-*'; add "MojikyoPJ-*" to charset-registry of
3580         `mojikyo-pj-*'.
3581
3582 2000-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3583
3584         * text-coding.c (decode_coding_big5): Modify for UTF-2000.
3585
3586 2000-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3587
3588         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3589         to 0.17.
3590
3591 2000-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3592
3593         * file-coding.c (ucs_to_char): Don't use `CHARSET_TYPE_*'; modify
3594         for `CHARSET_BY_ATTRIBUTES'.
3595         (parse_iso2022_esc): Don't use `CHARSET_TYPE_*'; modify for
3596         `CHARSET_BY_ATTRIBUTES'.
3597
3598         * text-coding.c (struct decoding_stream): Rename member `CH' to
3599         `CPOS'.
3600         (reset_decoding_stream): Use `str->cpos' instead of `str->ch'.
3601         (decode_coding_sjis): Likewise.
3602         (decode_coding_big5): Likewise.
3603         (decode_coding_ucs4): Likewise.
3604         (decode_coding_utf8): Likewise.
3605         (parse_iso2022_esc): Don't use `CHARSET_TYPE_*'; modify for
3606         `CHARSET_BY_ATTRIBUTES'.
3607         (decode_coding_iso2022): Use `str->cpos' instead of `str->ch'; use
3608         `str->counter'; decode 3, 4 bytes sets.
3609         (char_encode_iso2022): Don't use `BREAKUP_CHAR'; encode 3, 4 bytes
3610         sets.
3611         (decode_coding_no_conversion): Use `str->cpos' instead of
3612         `str->ch'.
3613
3614         * mule-charset.c (Vcharset_mojikyo_2022_1): New variable.
3615         (Qmojikyo_2022_1): New variable.
3616         (make_charset): Don't use `CHARSET_TYPE_*'.
3617         (range_charset_code_point): Support coded-charset
3618         `mojikyo-2022-1'.
3619         (encode_builtin_char_1): Modify for `CHARSET_BY_ATTRIBUTES'.
3620         (Fmake_charset): Don't use `CHARSET_TYPE_*'; modify for
3621         `CHARSET_BY_ATTRIBUTES'.
3622         (Fcharset_from_attributes): Don't use `CHARSET_TYPE_*'; modify for
3623         `CHARSET_BY_ATTRIBUTES'.
3624         (syms_of_mule_charset): Add new symbol `mojikyo-2022-1'.
3625         (complex_vars_of_mule_charset): Add new coded-charset
3626         `mojikyo-2022-1'.
3627
3628         * mule-charset.h (CHARSET_BY_ATTRIBUTES): New implementation and
3629         interface; changed to inline function.
3630
3631         * char-ucs.h (Vcharset_mojikyo_2022_1): New variable.
3632         (LEADING_BYTE_MOJIKYO_2022_1): New macro.
3633         (LEADING_BYTE_MOJIKYO_2022_2): New macro.
3634         (CHARSET_TYPE_94): Deleted.
3635         (CHARSET_TYPE_94X94): Deleted.
3636         (CHARSET_TYPE_96): Deleted.
3637         (CHARSET_TYPE_96X96): Deleted.
3638         (CHARSET_TYPE_128): Deleted.
3639         (CHARSET_TYPE_128X128): Deleted.
3640         (CHARSET_TYPE_256): Deleted.
3641         (CHARSET_TYPE_256X256): Deleted.
3642         (CHARSET_BY_ATTRIBUTES): New implementation and interface; changed
3643         to inline function.
3644         (DECODE_MOJIKYO_2022): New inline function.
3645         (DECODE_CHAR): Use `DECODE_MOJIKYO_2022'; decode
3646         `Vcharset_mojikyo_2022_1'.
3647
3648 2000-07-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3649
3650         * mule-charset.c (byte_table_same_value_p): Use `internal_equal'
3651         instead of `EQ'.
3652         (put_byte_table): Likewise.
3653         (char_id_table_equal): Use `get_byte_table' [new implementation].
3654
3655 2000-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3656
3657         * mule-charset.c: Include <limits.h> in UTF-2000.
3658         (BT_UINT8_MIN): New macro in UTF-2000.
3659         (BT_UINT8_MAX): New macro in UTF-2000.
3660         (BT_UINT8_t): New macro in UTF-2000.
3661         (BT_UINT8_nil): New macro in UTF-2000.
3662         (BT_UINT8_unbound): New macro in UTF-2000.
3663         (INT_UINT8_P): New inline function in UTF-2000.
3664         (UINT8_VALUE_P): New inline function in UTF-2000.
3665         (UINT8_ENCODE): New inline function in UTF-2000.
3666         (UINT8_DECODE): New inline function in UTF-2000.
3667         (mark_uint8_byte_table): New function in UTF-2000.
3668         (print_uint8_byte_table): New function in UTF-2000.
3669         (uint8_byte_table_equal): New function in UTF-2000.
3670         (uint8_byte_table_hash): New function in UTF-2000.
3671         (make_uint8_byte_table): New function in UTF-2000.
3672         (uint8_byte_table_same_value_p): New function in UTF-2000.
3673         (BT_UINT16_MIN): New macro in UTF-2000.
3674         (BT_UINT16_MAX): New macro in UTF-2000.
3675         (BT_UINT16_t): New macro in UTF-2000.
3676         (BT_UINT16_nil): New macro in UTF-2000.
3677         (BT_UINT16_unbound): New macro in UTF-2000.
3678         (INT_UINT16_P): New inline function in UTF-2000.
3679         (UINT16_VALUE_P): New inline function in UTF-2000.
3680         (UINT16_ENCODE): New inline function in UTF-2000.
3681         (UINT16_DECODE): New inline function in UTF-2000.
3682         (UINT8_TO_UINT16): New inline function in UTF-2000.
3683         (mark_uint16_byte_table): New function in UTF-2000.
3684         (print_uint16_byte_table): New function in UTF-2000.
3685         (uint16_byte_table_equal): New function in UTF-2000.
3686         (uint16_byte_table_hash): New function in UTF-2000.
3687         (make_uint16_byte_table): New function in UTF-2000.
3688         (uint16_byte_table_same_value_p): New function in UTF-2000.
3689         (print_byte_table): New function in UTF-2000.
3690         (byte-table): Use `print_byte_table' as printer.
3691         (make_byte_table): Delete second argument `older'.
3692         (byte_table_same_value_p): New function in UTF-2000.
3693         (copy_byte_table): Deleted.
3694         (get_byte_table): New function in UTF-2000.
3695         (put_byte_table): New function in UTF-2000.
3696         (print_char_id_table): New function in UTF-2000.
3697         (char-id-table): Use `print_char_id_table' as printer.
3698         (make_char_id_table): Delete second argument `older'.
3699         (get_char_id_table): Use `get_byte_table [new implementation].
3700         (put_char_id_table): Use `get_byte_table and `put_byte_table' [new
3701         implementation].
3702         (Ffind_char_attribute_table): New function in UTF-2000.
3703         (mark_charset): Mark `cs->encoding_table' in UTF-2000.
3704         (syms_of_mule_charset): Add LRECORD_IMPLEMENTATION
3705         `uint8_byte_table' and `uint16_byte_table' in UTF-2000.
3706         (syms_of_mule_charset): Add new function
3707         `find-char-attribute-table' in UTF-2000.
3708
3709         * lrecord.h (enum lrecord_type): Add
3710         `lrecord_type_uint16_byte_table' and
3711         `lrecord_type_uint8_byte_table'.
3712
3713         * char-ucs.h (struct Lisp_Uint8_Byte_Table): New structure.
3714         (Lisp_Uint8_Byte_Table): New type.
3715         (XUINT8_BYTE_TABLE): New macro.
3716         (XSETUINT8_BYTE_TABLE): New macro.
3717         (UINT8_BYTE_TABLE_P): New macro.
3718         (GC_UINT8_BYTE_TABLE_P): New macro.
3719         (struct Lisp_Uint16_Byte_Table): New structure.
3720         (Lisp_Uint16_Byte_Table): New type.
3721         (XUINT16_BYTE_TABLE): New macro.
3722         (XSETUINT16_BYTE_TABLE): New macro.
3723         (UINT16_BYTE_TABLE_P): New macro.
3724         (GC_UINT16_BYTE_TABLE_P): New macro.
3725
3726 2000-07-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3727
3728         * mule-charset.c (Vcharacter_ideographic_radical_table): Deleted.
3729         (Vcharacter_ideographic_strokes_table): Deleted.
3730         (Vcharacter_total_strokes_table): Deleted.
3731         (Vcharacter_morohashi_daikanwa_table): Deleted.
3732         (Vcharacter_decomposition_table): Deleted.
3733         (Qname): Deleted because it is duplicated.
3734         (Qideographic_radical): Deleted.
3735         (Qideographic_strokes): Deleted.
3736         (Qtotal_strokes): Deleted.
3737         (Qmorohashi_daikanwa): Deleted.
3738         (Fchar_attribute_alist): Use `Vchar_attribute_hash_table' for
3739         `ideographic-radical', `ideographic-strokes', `total-strokes',
3740         `morohashi-daikanwa' and `->decomposition'.
3741         (Fget_char_attribute): Likewise.
3742         (Fput_char_attribute): Likewise; use `make-vector' instead of
3743         `make_older_vector' for `->decomposition' value.
3744         (Fdefine_char): Comment out code to check `morohashi-daikanwa' and
3745         `ideograph-daikanwa'.
3746         (syms_of_mule_charset): Delete builtin symbols `name',
3747         `ideographic-radical', `ideographic-strokes', `total-strokes' and
3748         `morohashi-daikanwa'.
3749         (vars_of_mule_charset): Don't setup
3750         `Vcharacter_ideographic_radical_table',
3751         `Vcharacter_ideographic_strokes_table',
3752         `Vcharacter_total_strokes_table',
3753         `Vcharacter_morohashi_daikanwa_table' and
3754         `Vcharacter_decomposition_table'.
3755
3756 2000-06-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3757
3758         * alloc.c: Use `HAVE_GGC' instead of `UTF2000' for
3759         `make_older_vector', `make_vector_newer_1' and
3760         `make_vector_newer'.
3761
3762         * lisp.h: Use `HAVE_GGC' instead of `UTF2000' for
3763         `make_older_vector' and `make_vector_newer'.
3764
3765         * config.h.in (HAVE_GGC): New macro.
3766
3767 2000-06-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3768
3769         * mule-charset.c (struct char_attribute_list_closure): New
3770         structure in UTF-2000.
3771         (add_char_attribute_to_list_mapper): New function in UTF-2000.
3772         (Fchar_attribute_list): Likewise.
3773         (Fset_charset_mapping_table): Use `make_vector_newer'.
3774         (Fdecode_builtin_char): New function in UTF-2000.
3775         (syms_of_mule_charset): Add new function `char-attribute-list' and
3776         `decode-builtin-char' in UTF-2000.
3777
3778         * lisp.h (make_vector_newer): New prototype.
3779
3780         * alloc.c (make_vector_newer_1): New function.
3781         (make_vector_newer): New function.
3782
3783 2000-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3784
3785         * char-ucs.h (MAX_CHAR_DAIKANWA): Changed to `(MIN_CHAR_MOJIKYO +
3786         50100)'.
3787
3788 2000-06-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3789
3790         * mule-charset.c (Vchar_attribute_hash_table): New variable.
3791         (Vcharacter_attribute_table): Deleted.
3792         (Vcharacter_name_table): Deleted.
3793         (put_char_attribute): Deleted.
3794         (remove_char_attribute): Deleted.
3795         (struct char_attribute_alist_closure): New structure.
3796         (add_char_attribute_alist_mapper): New function.
3797         (Fchar_attribute_alist): Use `Vchar_attribute_hash_table' instead
3798         of `Vcharacter_attribute_table' and `Vcharacter_name_table'.
3799         (Fget_char_attribute): Likewise.
3800         (Fput_char_attribute): Likewise.
3801         (Fremove_char_attribute): Use `Vchar_attribute_hash_table' instead
3802         of `remove_char_attribute'.
3803         (Fdefine_char): Return character.
3804         (vars_of_mule_charset): Don't setup `Vcharacter_attribute_table'
3805         and `Vcharacter_name_table'.
3806         (complex_vars_of_mule_charset): Likewise
3807         `Vchar_attribute_hash_table'.
3808
3809 2000-06-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3810
3811         * character.h (CHARC_CHARSET): New macro.
3812         (CHARC_CHARSET_ID): New macro.
3813         (CHARC_CODE_POINT): New macro.
3814         (CHARC_COLUMNS): New macro.
3815         (CHARC_TO_CHAR): New inline function.
3816         (CHARC_EQ): New inline function.
3817         (CHARC_ASCII_EQ): New inline function.
3818         (CHARC_IS_SPACE): New inline function.
3819         (ASCII_TO_CHARC): New inline function.
3820
3821         * char-ucs.h (encode_char_2): Deleted.
3822         (ENCODE_CHAR): Use `encode_char_1' again.
3823         (breakup_char_1): Likewise.
3824         (CHAR_TO_CHARC): New inline function.
3825
3826         * char-lb.h, char-1byte.h (CHAR_TO_CHARC): New inline function.
3827
3828 2000-06-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3829
3830         * redisplay.c (add_emchar_rune): Use `ASCII_TO_CHARC',
3831         `CHAR_TO_CHARC' and `CHARC_CHARSET'.
3832         (create_text_block): Use `CHARC_ASCII_EQ' and `CHARC_IS_SPACE'.
3833         (generate_formatted_string_db): Use `CHARC_TO_CHAR'.
3834         (create_string_text_block): Use `CHARC_ASCII_EQ' and
3835         `CHARC_IS_SPACE'.
3836         (pixel_to_glyph_translation): Use `CHARC_ASCII_EQ'.
3837
3838         * redisplay-x.c (separate_textual_runs): Use `CHARC_CHARSET' and
3839         `CHARC_CODE_POINT'.
3840         (x_output_display_block): Use `CHARC_CHARSET' and
3841         `CHARC_ASCII_EQ'.
3842
3843         * redisplay-tty.c (tty_output_display_block): Use
3844         `CHARC_ASCII_EQ'.
3845         (tty_output_display_block): Likewise; use `ASCII_TO_CHARC'.
3846
3847         * redisplay-output.c (compare_runes): Use `CHARC_EQ'.
3848
3849         * insdel.c (find_charsets_in_charc_string): Use
3850         `CHARC_CHARSET_ID'.
3851         (charc_string_displayed_columns): Use `CHARC_COLUMNS'.
3852         (convert_bufbyte_string_into_charc_dynarr): Use `CHAR_TO_CHARC'.
3853         (convert_charc_string_into_bufbyte_dynarr): Use `CHARC_TO_CHAR'.
3854         (convert_charc_string_into_malloced_string): Likewise.
3855
3856 2000-06-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3857
3858         * toolbar-x.c (x_output_toolbar_button): Use <Charc_dynarr *>
3859         instead of <Emchar_dynarr *> for buf; use
3860         `convert_bufbyte_string_into_charc_dynarr' instead of
3861         `convert_bufbyte_string_into_emchar_dynarr'; use
3862         `find_charsets_in_charc_string' instead of
3863         `find_charsets_in_emchar_string'.
3864
3865         * redisplay.h:
3866         - Include "character.h".
3867         (struct rune): New member `cglyph'; delete member `chr'.
3868
3869         * redisplay.c (redisplay_text_width_charc_string): New function;
3870         delete `redisplay_text_width_emchar_string'.
3871         (rtw_charc_dynarr): New variable; renamed from
3872         `rtw_emchar_dynarr'.
3873         (redisplay_text_width_string): Use `rtw_charc_dynarr' instead of
3874         `rtw_emchar_dynarr'; use
3875         `convert_bufbyte_string_into_charc_dynarr' instead of
3876         `convert_bufbyte_string_into_emchar_dynarr'; use
3877         `redisplay_text_width_charc_string' instead of
3878         `redisplay_text_width_emchar_string'.
3879         (redisplay_frame_text_width_string): Use `rtw_charc_dynarr'
3880         instead of `rtw_emchar_dynarr'; use
3881         `convert_bufbyte_string_into_charc_dynarr' instead of
3882         `convert_bufbyte_string_into_emchar_dynarr'.
3883         (add_emchar_rune): Add <Charc> instead of <Emchar>; use
3884         `redisplay_text_width_charc_string' instead of
3885         `redisplay_text_width_emchar_string'.
3886         (create_text_block): Modify for <struct rune> change.
3887         (generate_formatted_string_db): Likewise.
3888         (create_string_text_block): Likewise.
3889         (pixel_to_glyph_translation): Likewise.
3890
3891         * redisplay-x.c (separate_textual_runs): Use <const Charc *>
3892         instead of <const Emchar *>.
3893         (x_text_width): Likewise.
3894         (x_output_display_block): Use <Charc_dynarr *> instead
3895         <Emchar_dynarr *>; modify for <structure rune> change.
3896         (x_output_string): Use <Charc_dynarr *> instead of <Emchar_dynarr
3897         *>.
3898
3899         * redisplay-tty.c (tty_text_width): Use <const Charc *> instead of
3900         <const Emchar *>; use `charc_string_displayed_columns' instead of
3901         `emchar_string_displayed_columns'.
3902         (tty_output_display_block): Use <Charc_dynarr *> instead of
3903         <Emchar_dynarr *> for buf; modify for <structure rune> change; use
3904         `tty_output_charc_dynarr' instead of `tty_output_emchar_dynarr'.
3905         (tty_output_charc_dynarr_dynarr): New variable; renamed from
3906         `tty_output_emchar_dynarr_dynarr'.
3907         (tty_output_charc_dynarr): New function; delete
3908         `tty_output_charc_dynarr'.
3909
3910         * redisplay-output.c (compare_runes): Modify for `struct rune'.
3911         (redisplay_output_layout): Use <Charc_dynarr *> instead of
3912         <Emchar_dynarr *> for buf; use
3913         `convert_bufbyte_string_into_charc_dynarr' instead of
3914         `convert_bufbyte_string_into_emchar_dynarr'.
3915
3916         * frame.c (title_string_charc_dynarr): New variable; renamed from
3917         `title_string_emchar_dynarr'.
3918         (generate_title_string): Use `title_string_charc_dynarr' instead
3919         of `title_string_emchar_dynarr'; use
3920         `convert_charc_string_into_malloced_string' instead of
3921         `convert_emchar_string_into_malloced_string'.
3922         (init_frame): Use `title_string_charc_dynarr' instead of
3923         `title_string_emchar_dynarr'.
3924
3925         * console.h:
3926         - Include "character.h".
3927         (struct console_methods): Use <const Charc *> instead of <const
3928         Emchar *> in `text_width_method'; use <Charc_dynarr *> instead of
3929         <Emchar_dynarr *> in output_string_method.
3930
3931         * console-x.h (x_output_string): Use <Charc_dynarr *> instead of
3932         <Emchar_dynarr *>.
3933
3934         * console-stream.c (stream_text_width): Use <const Charc *>
3935         instead of <const Emchar *>.
3936
3937         * character.h (Charc_dynarr): New type.
3938
3939         * char-ucs.h (structure Charc): New structure; define new type
3940         `Charc'.
3941
3942         * char-lb.h (DECODE_CHAR): New inline function.
3943         (encode_char_1): New inline function.
3944         (ENCODE_CHAR): New macro.
3945         (structure Charc): New structure; define new type `Charc'.
3946
3947         * char-1byte.h (Vcharset_control_1): New macro.
3948         (Vcharset_latin_iso8859_1): New macro.
3949         (DECODE_CHAR): New inline function.
3950         (encode_char_1): New inline function.
3951         (ENCODE_CHAR): New macro.
3952         (structure Charc): New structure; define new type `Charc'.
3953
3954         * insdel.c (find_charsets_in_charc_string): New function; delete
3955         `find_charsets_in_emchar_string'.
3956         (charc_string_displayed_columns): New function; delete
3957         `emchar_string_displayed_columns'.
3958         (convert_bufbyte_string_into_charc_dynarr): New function; delete
3959         `convert_bufbyte_string_into_emchar_dynarr'.
3960         (convert_charc_string_into_bufbyte_dynarr): New function; delete
3961         `convert_charc_string_into_bufbyte_dynarr'.
3962         (convert_charc_string_into_malloced_string): New function; delete
3963         `convert_charc_string_into_malloced_string'.
3964
3965         * buffer.h (find_charsets_in_charc_string): New prototype; delete
3966         `find_charsets_in_emchar_string'.
3967         (charc_string_displayed_columns): New prototype; delete
3968         `emchar_string_displayed_columns'.
3969         (convert_charc_string_into_bufbyte_dynarr): New prototype; delete
3970         `convert_charc_string_into_bufbyte_dynarr'.
3971         (convert_charc_string_into_malloced_string): New prototype; delete
3972         `convert_charc_string_into_malloced_string'.
3973
3974 2000-06-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3975
3976         * select-x.c (Fx_store_cutbuffer_internal): Modify for UTF-2000.
3977
3978 2000-06-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3979
3980         * chartab.h (get_non_ascii_char_table_value): Use <Charset_ID>.
3981
3982         * char-ucs.h: Use <short> for <Charset_ID>.
3983
3984         * mule-charset.h, char-1byte.h: Use <unsigned char> for
3985         <Charset_ID>.
3986
3987 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3988
3989         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3990         to 0.16.
3991
3992 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3993
3994         * mule-charset.c (Vcharacter_morohashi_daikanwa_table): New
3995         variable.
3996         (Qmorohashi_daikanwa): New variable.
3997         (Fchar_attribute_alist): Use `Vcharacter_morohashi_daikanwa_table'
3998         for `morohashi-daikanwa' attribute.
3999         (Fget_char_attribute): Likewise.
4000         (Fput_char_attribute): Likewise.
4001         (Fdefine_char): Don't setup `morohashi-daikanwa' attribute if it
4002         has the same value of `ideograph-daikanwa'.
4003         (syms_of_mule_charset): Add new symbol `morohashi-daikanwa'.
4004         (vars_of_mule_charset): Setup
4005         `Vcharacter_morohashi_daikanwa_table'.
4006
4007 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4008
4009         * mule-charset.c (Fchar_attribute_alist): Add coded-charset
4010         attributes.
4011         (add_charset_to_list_mapper): Add `key' instead of
4012         `XCHARSET_NAME (value)' to return aliases.
4013
4014 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4015
4016         * mule-charset.c (Vcharacter_ideographic_radical_table): New
4017         variable.
4018         (Vcharacter_ideographic_strokes_table): New variable.
4019         (Qideographic_radical): New variable.
4020         (Qideographic_strokes): New variable.
4021         (Fchar_attribute_alist): Use
4022         `Vcharacter_ideographic_radical_table' for `ideographic-radical'
4023         attribute; use `Vcharacter_ideographic_strokes_table' for
4024         `ideographic-strokes' attribute.
4025         (Fget_char_attribute): Likewise.
4026         (Fput_char_attribute): Likewise.
4027         (syms_of_mule_charset): Add new symbol `ideographic-radical' and
4028         `ideographic-strokes'.
4029         (vars_of_mule_charset): Setup
4030         `Vcharacter_ideographic_radical_table' and
4031         `Vcharacter_ideographic_strokes_table'.
4032
4033 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4034
4035         * mule-charset.c (Vcharacter_total_strokes_table): New variable.
4036         (Qtotal_strokes): New variable.
4037         (Fchar_attribute_alist): Use `Vcharacter_total_strokes_table' for
4038         `total-strokes' attribute.
4039         (Fget_char_attribute): Likewise.
4040         (Fput_char_attribute): Likewise.
4041         (syms_of_mule_charset): Add new symbol `total-strokes'.
4042         (vars_of_mule_charset): Setup `Vcharacter_total_strokes_table'.
4043
4044 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4045
4046         * mule-charset.c (Vcharacter_decomposition_table): New variable.
4047         (Fchar_attribute_alist): Add `name' and `->decomposition' if they
4048         are found.
4049         (Fget_char_attribute): Use `Vcharacter_decomposition_table' for
4050         `->decomposition' attribute.
4051         (Fput_char_attribute): Likewise.
4052         (vars_of_mule_charset): Setup `Vcharacter_decomposition_table'.
4053
4054 2000-06-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4055
4056         * mule-charset.c (decoding_table_check_elements): New function.
4057         (Fset_charset_mapping_table): Use `decoding_table_check_elements'.
4058
4059 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4060
4061         * mule-charset.c (Fset_charset_mapping_table): Use
4062         `put_char_ccs_code_point'.
4063
4064 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4065
4066         * mule-charset.c (decoding_table_put_char): New inline function.
4067         (put_char_ccs_code_point): Use `decoding_table_put_char'.
4068
4069 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4070
4071         * mule-charset.c (CHARSET_BYTE_SIZE): New inline function.
4072         (XCHARSET_BYTE_SIZE): New macro.
4073         (decoding_table_remove_char): New inline function.
4074         (put_char_ccs_code_point): Use `XCHARSET_BYTE_SIZE'; use
4075         `decoding_table_remove_char'.
4076         (remove_char_ccs): Use `decoding_table_remove_char'.
4077         (Fset_charset_mapping_table): Use `CHARSET_BYTE_SIZE'.
4078
4079 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4080
4081         * mule-charset.c (Vcharacter_name_table): New variable.
4082         (Qname): New variable.
4083         (Fget_char_attribute): Use `Vcharacter_name_table' for `name'
4084         attribute.
4085         (Fput_char_attribute): Use function `put_char_ccs_code_point'; use
4086         `Vcharacter_name_table' for `name' attribute.
4087         (Fremove_char_attribute): Use function `remove_char_ccs'.
4088         (put_char_ccs_code_point): New function.
4089         (remove_char_ccs): New function.
4090         (syms_of_mule_charset): Add new symbol `name'.
4091         (vars_of_mule_charset): Setup `Vcharacter_name_table'.
4092
4093 2000-05-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4094
4095         * mule-charset.c (make_byte_table): Add new argument `older'.
4096         (make_char_id_table): Likewise.
4097         (copy_char_id_table): Comment out because it is not used.
4098         (put_char_id_table): Modify for `make_byte_table'.
4099         (Fput_char_attribute): Make encoding_table as older object;
4100         inherit older bit of `Vcharacter_composition_table'.
4101         (mark_charset): Don't mark `cs->encoding_table'.
4102         (vars_of_mule_charset): Make `Vcharacter_attribute_table' as a
4103         normal object; make `Vcharacter_composition_table' as an older
4104         object; delete staticpro for `Vcharacter_composition_table'; make
4105         `Vcharacter_variant_table' as a normal object.
4106
4107         * alloc.c (alloc_older_lcrecord): New function in UTF-2000.
4108         (mark_object): Don't check older object in UTF-2000.
4109
4110         * lrecord.h (struct lrecord_header): Add new member `older' in
4111         UTF-2000.
4112         (set_lheader_implementation): Setup `SLI_header->older' in
4113         UTF-2000.
4114         (set_lheader_older_implementation): New macro in UTF-2000.
4115         (OLDER_RECORD_P): New macro in UTF-2000.
4116         (OLDER_RECORD_HEADER_P): New macro in UTF-2000.
4117         (alloc_older_lcrecord): New prototype in UTF-2000.
4118         (alloc_older_lcrecord_type): New macro in UTF-2000.
4119
4120 2000-05-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4121
4122         * mule-charset.c (byte_table_description): Use
4123         `XD_LISP_OBJECT_ARRAY' instead of `XD_LISP_OBJECT'.
4124         (char_id_table_description): Delete bogus `, 1'.
4125         (Fget_char_attribute): Refer encoding_table of each coded-charset
4126         to get value of coded-charset attribute of a character.
4127         (Fput_char_attribute): Use `make_older_vector' instead of
4128         `make_vector'; use encoding_table of each coded-charset to store
4129         value of coded-charset attribute of a character.
4130         (Fremove_char_attribute): Use encoding_table of each coded-charset
4131         to store value of coded-charset attribute of a character.
4132         (mark_charset): Mark `cs->encoding_table'; don't mark
4133         `cs->decoding_table'.
4134         (charset_description): Add description of new member
4135         `encoding_table'.
4136         (make_charset): Initialize `encoding_table'.
4137
4138         * char-ucs.h (struct Lisp_Charset): Add new member
4139         `encoding_table'.
4140         (CHARSET_ENCODING_TABLE): New macro.
4141         (XCHARSET_ENCODING_TABLE): New macro.
4142         (charset_code_point): New implementation.
4143         (encode_char_1): Likewise.
4144
4145         * alloc.c (all_older_lcrecords): New variable in UTF-2000.
4146         (disksave_object_finalization_1): Call finalizers of
4147         `all_older_lcrecords' in UTF-2000.
4148         (make_older_vector): New function in UTF-2000.
4149         (reinit_alloc_once_early): Initialize `all_older_lcrecords' in
4150         UTF-2000.
4151
4152         * lisp.h (make_older_vector): New prototype in UTF-2000.
4153
4154 2000-05-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4155
4156         * lrecord.h (enum lrecord_type): Rename
4157         `lrecord_type_char_code_table' to `lrecord_type_char_id_table'.
4158
4159         * text-coding.c (COMPOSE_ADD_CHAR): Use `CHAR_ID_TABLE_P' and
4160         `get_char_id_table' instead of `CHAR_CODE_TABLE_P' and
4161         `get_char_code_table'.
4162
4163         * mule-charset.c (mark_char_id_table): Renamed from
4164         `mark_char_code_table'.
4165         (char_id_table_equal): Renamed from `char_code_table_equal'.
4166         (char_id_table_hash): Renamed from `char_code_table_hash'.
4167         (make_char_id_table): Renamed from `make_char_code_table'.
4168         (copy_char_id_table): Renamed from `copy_char_code_table'.
4169         (get_char_id_table): Renamed from `get_char_code_table'.
4170         (put_char_id_table): Renamed from `put_char_code_table'.
4171         (to_char_id): Renamed from `to_char_code'.
4172
4173         * char-ucs.h (struct Lisp_Char_ID_Table): Renamed from
4174         `Lisp_Char_Code_Table'.
4175         (char_id_table): Renamed from `char_code_table'.
4176         (XCHAR_ID_TABLE): Renamed from `XCHAR_CODE_TABLE'.
4177         (XSETCHAR_ID_TABLE): Renamed from `XSETCHAR_CODE_TABLE'.
4178         (CHAR_ID_TABLE_P): Renamed from `CHAR_CODE_TABLE_P'.
4179         (GC_CHAR_ID_TABLE_P): Renamed from `GC_CHAR_CODE_TABLE_P'.
4180         (get_char_id_table): Renamed from `get_char_code_table'.
4181
4182 2000-05-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4183
4184         * lrecord.h (enum lrecord_type): Rename
4185         `lrecord_type_char_byte_table' to `lrecord_type_byte_table'.
4186
4187         * mule-charset.c (mark_byte_table): Renamed from
4188         `mark_char_byte_table'.
4189         (byte_table_equal): Renamed from `char_byte_table_equal'.
4190         (byte_table_hash): Renamed from `byte_table_hash'.
4191         (make_byte_table): Renamed from `make_byte_table'.
4192         (copy_byte_table): Renamed from `copy_char_byte_table'.
4193
4194         * char-ucs.h (struct Lisp_Byte_Table): Renamed from
4195         `Lisp_Char_Byte_Table'.
4196         (byte_table): Renamed from `char_byte_table'.
4197         (XBYTE_TABLE): Renamed from `XCHAR_BYTE_TABLE'.
4198         (XSETBYTE_TABLE): Renamed from `XSET_CHAR_BYTE_TABLE'.
4199         (BYTE_TABLE_P): Renamed from `XBYTE_TABLE_P'.
4200         (GC_BYTE_TABLE_P): Renamed from `GC_CHAR_BYTE_TABLE_P'.
4201
4202 2000-05-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4203
4204         * buffer.c (dfc_convert_to_external_format): Modify for UTF-2000.
4205         (dfc_convert_to_internal_format): Likewise.
4206         
4207         * text-coding.c (Fcoding_system_canonical_name_p): New function.
4208         * text-coding.c (Fcoding_system_alias_p): New function.
4209         * text-coding.c (Fcoding_system_aliasee): New function.
4210         * text-coding.c (append_suffix_to_symbol): New function.
4211         * text-coding.c (dangling_coding_system_alias_p): New function.
4212         * text-coding.c (Ffind_coding_system):
4213         * text-coding.c (Fcopy_coding_system):
4214         * text-coding.c (encode_coding_no_conversion):
4215         * text-coding.c (syms_of_file_coding):
4216         * text-coding.c (vars_of_file_coding):
4217         Rewrite coding system alias code.
4218         Allow nested aliases, like symbolic links.
4219         Allow redefinition of coding system aliases.
4220         Prevent existence of dangling coding system aliases.
4221         Eliminate convert_to_external_format.
4222         Eliminate convert_to_internal_format.
4223         
4224         * text-coding.c: Change enum eol_type to eol_type_t.
4225
4226 2000-05-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4227
4228         * mule-charset.c (encode_builtin_char_1): Limit builtin-code-range
4229         of `mojikyo' to MIN_CHAR_MOJIKYO + 94 * 60 * 22.
4230
4231         * char-ucs.h (MAX_CHAR_MOJIKYO): Limit builtin-code-range to
4232         MIN_CHAR_MOJIKYO + 94 * 60 * 22.
4233
4234 2000-04-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4235
4236         * mule-charset.c (encode_builtin_char_1): Use `mojikyo' instead of
4237         `ideograph-daikanwa'.
4238
4239         * char-ucs.h (Vcharset_ucs): Deleted because it is not used.
4240         (Vcharset_ucs_bmp): Likewise.
4241         (Vcharset_mojikyo): Add new extern variable definition.
4242         (Vcharset_latin_iso8859_2): Deleted because it is not used.
4243         (Vcharset_latin_iso8859_3): Likewise.
4244         (Vcharset_latin_iso8859_4): Likewise.
4245         (Vcharset_latin_iso8859_9): Likewise.
4246         (Vcharset_latin_viscii_lower): Likewise.
4247         (Vcharset_latin_viscii_upper): Likewise.
4248         (DECODE_CHAR): If charset is `mojikyo-pj-N', corresponding
4249         `mojikyo' code-point is used to decode.
4250         (encode_char_2): New function [to convert `mojikyo' code-point to
4251         Mojikyo font encoding].
4252         (ENCODE_CHAR): Use `encode_char_2' instead of `encode_code_1'.
4253         (breakup_char_1): Likewise.
4254         (CHAR_CHARSET): Use `ENCODE_CHAR' instead of `BREAKUP_CHAR'.
4255
4256 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4257
4258         * text-coding.c (Fmake_coding_system): Add document about
4259         `disable-composition' property.
4260
4261 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4262
4263         * text-coding.c (Qdisable_composition): New variable; delete
4264         `Qcomposite'.
4265         (Fmake_coding_system): Add new property `disable-composite';
4266         delete property `composite'.
4267         (COMPOSE_ADD_CHAR): Use `CODING_SYSTEM_DISABLE_COMPOSITION'
4268         instead of `!CODING_SYSTEM_COMPOSITE'.
4269         (syms_of_file_coding): Add new symbol `disable-composition';
4270         delete symbol `composite'.
4271
4272         * file-coding.h (struct Lisp_Coding_System): Add
4273         `disable_composition'; delete `enable_composition'.
4274         (CODING_SYSTEM_DISABLE_COMPOSITION): New macro; delete
4275         `CODING_SYSTEM_COMPOSITE'.
4276         (XCODING_SYSTEM_DISABLE_COMPOSITION): New macro; delete
4277         `XCODING_SYSTEM_COMPOSITE'.
4278
4279 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4280
4281         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
4282         to 0.15.
4283
4284 2000-04-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4285
4286         * text-coding.c (Qcomposite): New variable.
4287         (Fmake_coding_system): Add new property `composite'.
4288         (struct decoding_stream): Add `combined_char_count',
4289         `combined_chars' and `combining_table' in UTF-2000.
4290         (COMPOSE_FLUSH_CHARS): New macro.
4291         (COMPOSE_ADD_CHAR): New macro.
4292         (reset_decoding_stream): Reset `str->combined_char_count' and
4293         `str->combining_table' in UTF-2000.
4294         (decode_coding_iso2022): Modify for character-decomposition.
4295         (syms_of_file_coding): Add new symbol `composite'.
4296
4297 2000-04-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4298
4299         * mule-charset.c (Vcharset_latin_tcvn5712): New variable.
4300         (Fput_char_attribute): Set up `Vcharacter_variant_table' instead
4301         of `Vcharacter_composition_table' if `->decomposition' property
4302         has only 1 element.
4303         (Qlatin_tcvn5712): New variable.
4304         (syms_of_mule_charset): Add new symbol `latin-tcvn5712'.
4305         (complex_vars_of_mule_charset): Add new coded-charset
4306         `latin-tcvn5712'.
4307
4308         * char-ucs.h (LEADING_BYTE_LATIN_TCVN5712): New macro.
4309
4310 2000-04-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4311
4312         * file-coding.h (struct Lisp_Coding_System): Add
4313         `enable_composition'.
4314         (CODING_SYSTEM_COMPOSITE): New macro.
4315         (XCODING_SYSTEM_COMPOSITE): New macro.
4316
4317 2000-03-17  MORIOKA Tomohiko  <tomo@m17n.org>
4318
4319         * mule-canna.c (c2mu): Fix problem with UTF-2000.
4320
4321 2000-03-16  MORIOKA Tomohiko  <tomo@m17n.org>
4322
4323         * mule-charset.c (Fput_char_attribute): Don't make mapping-table
4324         if ATTRIBUTE is `ucs' and character-id of CHARACTER = VALUE.
4325
4326 2000-02-24  MORIOKA Tomohiko  <tomo@m17n.org>
4327
4328         * mule-charset.c (Vcharset_mojikyo): New variable.
4329         (Fdefine_char): Don't use coded-charset which does not have
4330         non-builtin character range to allocate character-id.
4331         (Qmojikyo): New variable.
4332         (syms_of_mule_charset): Add new symbol `mojikyo'.
4333         (complex_vars_of_mule_charset): Add new coded-charset `mojikyo'.
4334
4335         * char-ucs.h (LEADING_BYTE_DAIKANWA_EKANJI): New macro.
4336         (LEADING_BYTE_MOJIKYO): New macro.
4337         (MIN_CHAR_MOJIKYO): New macro.
4338         (MIN_CHAR_DAIKANWA): Use `MIN_CHAR_MOJIKYO'.
4339         (MAX_CHAR_MOJIKYO): New macro.
4340
4341 2000-02-12  MORIOKA Tomohiko  <tomo@m17n.org>
4342
4343         * mule-charset.c (remove_char_attribute): Fixed.
4344
4345 2000-02-08  MORIOKA Tomohiko  <tomo@m17n.org>
4346
4347         * mule-charset.c (remove_char_attribute): New function.
4348         (Fremove_char_attribute): New function.
4349         (encode_builtin_char_1): Comment out builtin-support for
4350         greek-iso8859-7 and cyrillic-iso8859-5.
4351         (Fdecode_char): Check `code' is an integer.
4352         (syms_of_mule_charset): Add `remove-char-attribute'.
4353         (MIN_CHAR_GREEK): Deleted.
4354         (MAX_CHAR_GREEK): Likewise.
4355         (MIN_CHAR_CYRILLIC): Likewise.
4356         (MAX_CHAR_CYRILLIC): Likewise.
4357         (complex_vars_of_mule_charset): Don't use MIN_CHAR_GREEK and
4358         MAX_CHAR_GREEK for `greek-iso8859-7'.
4359
4360         * char-ucs.h (MIN_CHAR_GREEK): Comment out.
4361         (MAX_CHAR_GREEK): Likewise.
4362         (MIN_CHAR_CYRILLIC): Likewise.
4363         (MAX_CHAR_CYRILLIC): Likewise.
4364
4365 2000-02-02  MORIOKA Tomohiko  <tomo@m17n.org>
4366
4367         * mule-charset.c (Fdefine_char): Fix problem when new code-point
4368         format is used without `ucs' property.
4369         (Fdecode_char): Fix problem with GR representation.
4370         (complex_vars_of_mule_charset): Don't use `MIN_CHAR_CYRILLIC' and
4371         `MAX_CHAR_CYRILLIC' as range of builtin `cyrillic-iso8859-5'.
4372
4373 2000-01-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
4374
4375         * mule-charset.c (make_builtin_char): New function.
4376         (encode_builtin_char_1): Check ISO-2022-charset is defined or not.
4377         (Fset_charset_mapping_table): Modify for new representation of
4378         code-point.
4379         (Fdecode_char): New function.
4380         (syms_of_mule_charset): Add new builtin function `decode-char' in
4381         UTF-2000.
4382
4383         * char-ucs.h (make_builtin_char): New prototype.
4384         (DECODE_CHAR): New inline function.
4385         (MAKE_CHAR): Use `DECODE_CHAR'.
4386
4387 2000-01-28  MORIOKA Tomohiko  <tomo@m17n.org>
4388
4389         * text-coding.c (parse_charset_conversion_specs): Use
4390         `XCHARSET_CHARS' and `XCHARSET_DIMENSION' instead of
4391         `XCHARSET_TYPE'.
4392         (iso2022_designate): Likewise.
4393
4394         * chartab.c (decode_char_table_range): Use `XCHARSET_CHARS' and
4395         `XCHARSET_DIMENSION' instead of `XCHARSET_TYPE'.
4396
4397         * mule-charset.c (Vcharset_ucs): New variable.
4398         (print_charset): Change design; use `CHARSET_CHARS' and
4399         `CHARSET_DIMENSION' instead of `CHARSET_TYPE'.
4400         (make_charset): Change signature to specify `chars' and
4401         `dimension' instead of `type'.
4402         (range_charset_code_point): Modify for 256^n-set.
4403         (encode_builtin_char_1): Encode as `ucs' in default.
4404         (Fmake_charset): Modify for `make_charset'.
4405         (Fmake_reverse_direction_charset): Likewise.
4406         (Fsplit_char): Use `ENCODE_CHAR' instead of `BREAKUP_CHAR' in
4407         UTF-2000.
4408         (complex_vars_of_mule_charset): Add coded-charset `ucs'; modify
4409         for `make_charset'.
4410
4411         * char-ucs.h (Vcharset_ucs): New variable.
4412         (LEADING_BYTE_UCS): New macro.
4413         (struct Lisp_Charset): Delete `type'; change type of `dimension'
4414         and `chars' to `unsigned short' from `unsigned int'.
4415         (CHARSET_TYPE): Deleted.
4416         (XCHARSET_TYPE): Deleted.
4417
4418 2000-01-27  MORIOKA Tomohiko  <tomo@m17n.org>
4419
4420         * mule-charset.c (charset_code_point): Moved to char-ucs.h.
4421
4422         * char-ucs.h (charset_code_point): Moved from mule-charset.c.
4423         (ENCODE_CHAR): New macro.
4424
4425 2000-01-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
4426
4427         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
4428         to 0.14 (Kawachi-Katakami).
4429
4430 2000-01-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
4431
4432         * text-coding.c (char_encode_shift_jis): Modify for
4433         `charset_code_point'.
4434         (char_encode_iso2022): Likewise.
4435
4436         * mule-charset.c (Fput_char_attribute): Use <Lisp_Object>
4437         (integer) instead of list of <Lisp_Object>s (integers) as the
4438         format of code-point of a coded-charset.
4439         (range_charset_code_point): Return <int> instead of <Lisp_Object>.
4440         (encode_builtin_char_1): New function; delete
4441         `split_builtin_char'.
4442         (charset_code_point): Return <int> instead of <Lisp_Object>.
4443         (Fsplit_char): Don't use `SPLIT_CHAR'.
4444
4445         * char-ucs.h (encode_builtin_char_1): New prototype; delete
4446         prototype for `split_builtin_char'.
4447         (range_charset_code_point): Return <int> instead of <Lisp_Object>.
4448         (charset_code_point): Likewise.
4449         (encode_char_1): New inline function; delete `SPLIT_CHAR'.
4450         (breakup_char_1): Use `encode_char_1' instead of `SPLIT_CHAR'.
4451
4452 2000-01-20  MORIOKA Tomohiko  <tomo@m17n.org>
4453
4454         * mule-charset.c (complex_vars_of_mule_charset): Don't define
4455         `japanese-jisx0208-1990' in non-UTF-2000 Mule.
4456
4457 2000-01-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
4458
4459         * mule-charset.c (split_builtin_char): Don't support OBS_94x94.
4460
4461         * char-ucs.h (MIN_CHAR_OBS_94x94): Deleted.
4462         (MAX_CHAR_OBS_94x94): Deleted.
4463
4464 2000-01-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
4465
4466         * mule-charset.c (split_builtin_char): Use `MAX_CHAR_BMP'.
4467
4468         * char-ucs.h (MAX_CHAR_BMP): New macro.
4469
4470 2000-01-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
4471
4472         * text-coding.c: Sync with r21-2-24.
4473
4474 2000-01-08  MORIOKA Tomohiko  <tomo@etl.go.jp>
4475
4476         * file-coding.c: Modify for UTF-2000.
4477
4478 2000-01-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
4479
4480         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
4481         to 0.13 (Takaida).
4482
4483 2000-01-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
4484
4485         * mule-charset.c (split_builtin_char): Delete builtin support for
4486         `katakana-jisx0201'.
4487         (complex_vars_of_mule_charset): Don't map `katakana-jisx0201' to
4488         BMP area in builtin representation.
4489
4490         * char-ucs.h (MAKE_CHAR): Delete builtin support for
4491         `Vcharset_katakana_jisx0201'.
4492
4493 1999-12-24  MORIOKA Tomohiko  <tomo@etl.go.jp>
4494
4495         * mule-charset.c (Vcharset_mojikyo_pj_[1 .. 21]): New variable.
4496         (Qisolated): New variable.
4497         (Qinitial): New variable.
4498         (Qmedial): New variable.
4499         (Qfinal): New variable.
4500         (Qvertical): New variable.
4501         (Qsmall): New variable.
4502         (to_char_code): Use `Qisolated', `Qinitial', `Qmedial', `Qfinal',
4503         `Qvertical' and `Qsmall'.
4504         (Qmojikyo_pj_[1 .. 21]): New variable.
4505         (syms_of_mule_charset): Add new symbols `isolated', `initial',
4506         `medial', `final', `vertical', `small' and `mojikyo-pj-[1 .. 21]'.
4507         (complex_vars_of_mule_charset): Add new charset `mojikyo-pj-[1
4508         .. 21]'.
4509
4510 1999-11-23  MORIOKA Tomohiko  <tomo@etl.go.jp>
4511
4512         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x60.
4513         (LEADING_BYTE_MOJIKYO_PJ_[1 .. 21]): New macros.
4514         (MAX_LEADING_BYTE_PRIVATE): Changed to `(CHARSET_ID_OFFSET - 32)'.
4515
4516 1999-11-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
4517
4518         * mule-charset.c (Vcharset_japanese_jisx0208_1990): New variable.
4519         (Fdefine_char): Use Group 00 Plane 10 for non-coded variants of
4520         BMP.
4521         (Qjapanese_jisx0208_1990): New variable.
4522         (syms_of_mule_charset): Add new symbol `Qjapanese_jisx0208_1990'.
4523         (complex_vars_of_mule_charset): Add new coded-charset
4524         `japanese-jisx0208-1990'.
4525
4526         * char-ucs.h (LEADING_BYTE_JAPANESE_JISX0208_1990): New macro.
4527         (MIN_CHAR_JIS_X0208_1990): New macro.
4528         (MAX_CHAR_JIS_X0208_1990): New macro.
4529
4530 1999-11-16  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4531
4532         * text-coding.c (char_encode_iso2022): Output `~' if ISO 2022
4533         coded-charset is not found.
4534
4535 1999-11-16  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4536
4537         * mule-charset.c (Fget_char_attribute): Forgot to `CHECK_CHAR'.
4538         (Fdefine_char): Use `Fmake_char'.
4539
4540 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4541
4542         * mule-charset.c (Vcharset_ideograph_daikanwa): New variable.
4543         (Vcharset_hiragana_jisx0208): Deleted.
4544         (Vcharset_katakana_jisx0208): Deleted.
4545         (Qideograph_daikanwa): New variable.
4546         (Qhiragana_jisx0208): Deleted.
4547         (Qkatakana_jisx0208): Deleted.
4548         (split_builtin_char): Split `ideograph-daikanwa'.
4549         (Fsplit_char): New implementation for UTF-2000.
4550         (syms_of_mule_charset): Add new symbol `ideograph-daikanwa';
4551         delete symbol `hiragana-jisx0208' and `katakana-jisx0208'.
4552         (complex_vars_of_mule_charset): Add new coded-charset
4553         `ideograph-daikanwa'; delete coded-charset `hiragana-jisx0208' and
4554         `katakana-jisx0208'.
4555
4556         * char-ucs.h (LEADING_BYTE_DAIKANWA): New macro.
4557         (LEADING_BYTE_HIRAGANA_JISX0208): Deleted.
4558         (LEADING_BYTE_KATAKANA_JISX0208): Deleted.
4559         (MIN_CHAR_DAIKANWA): New macro.
4560         (MAX_CHAR_DAIKANWA): New macro.
4561
4562 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4563
4564         * data.c (Fstring_to_number): Don't recognize floating point if
4565         base is not 10.
4566
4567 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4568
4569         * mule-charset.c (Fput_char_attribute): Forgot to `CHECK_CHAR'.
4570
4571 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4572
4573         * mule-charset.c (Qsquare): New variable.
4574         (to_char_code): Add `Qsquare'.
4575         (syms_of_mule_charset): Add new symbol `square'.
4576
4577 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4578
4579         * mule-charset.c (Qcircle): New variable.
4580         (to_char_code): Add `Qcircle'.
4581         (syms_of_mule_charset): Add new symbol `circle'.
4582
4583 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4584
4585         * mule-charset.c (Qfont): New variable.
4586         (to_char_code): Add `Qfont'.
4587         (syms_of_mule_charset): Add new symbol `font'.
4588
4589 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4590
4591         * mule-charset.c (Qsub): New variable.
4592         (to_char_code): Add `Qsub'.
4593         (syms_of_mule_charset): Add new symbol `sub'.
4594
4595 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4596
4597         * mule-charset.c (Fput_char_attribute): Convert each element of
4598         VALUE to GL position if ATTRIBUTE is a GR-set,
4599
4600 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4601
4602         * mule-charset.c (Fput_char_attribute): Allow GR code-point if a
4603         coded-charset is a GR-set.
4604
4605 1999-11-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4606
4607         * mule-charset.c (Fput_char_attribute): Check each element of
4608         VALUE is a byte if ATTRIBUTE is a coded-charset or its name.
4609
4610 1999-11-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4611
4612         * mule-charset.c (Vcharset_ethiopic_ucs): New variable in
4613         UTF-2000.
4614         (Qethiopic_ucs): New variable in UTF-2000.
4615         (syms_of_mule_charset): Add new symbol `ethiopic-ucs' in UTF-2000.
4616         (complex_vars_of_mule_charset): Add new coded-charset
4617         `ethiopic-ucs' in UTF-2000.
4618
4619         * char-ucs.h (LEADING_BYTE_ETHIOPIC_UCS): New macro.
4620         (LEADING_BYTE_HIRAGANA_JISX0208): Changed to `(CHARSET_ID_OFFSET -
4621         9)'.
4622         (LEADING_BYTE_KATAKANA_JISX0208): Changed to `(CHARSET_ID_OFFSET -
4623         10)'.
4624         (LEADING_BYTE_PRIVATE): Changed to `(CHARSET_ID_OFFSET - 11)'.
4625
4626 1999-11-13  MORIOKA Tomohiko  <tomo@etl.go.jp>
4627
4628         * mule-charset.c (Fset_charset_mapping_table): Fix problem with
4629         `ascii'.
4630
4631 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4632
4633         * mule-charset.c (Vcharacter_variant_table): New variable.
4634         (Q_ucs): New variable.
4635         (Fchar_variants): New function.
4636         (Fput_char_attribute): Register `->ucs' value to
4637         `Vcharacter_variant_table'.
4638         (syms_of_mule_charset): Add new function `char-variants' and new
4639         symbol `->ucs'.
4640         (vars_of_mule_charset): Setup `Vcharacter_variant_table'.
4641
4642 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4643
4644         * mule-charset.c (get_char_code_table): Allow negative character
4645         code.
4646         (put_char_code_table): Likewise.
4647         (Vcharacter_composition_table): New variable.
4648         (Q_decomposition): New variable.
4649         (Qwide): New variable.
4650         (Qnarrow): New variable.
4651         (Qcompat): New variable.
4652         (QnoBreak): New variable.
4653         (Qsuper): New variable.
4654         (Qfraction): New variable.
4655         (to_char_code): New function.
4656         (Fget_composite_char): New function.
4657         (Fput_char_attribute): Register `->decomposition' value to
4658         `Vcharacter_composition_table'.
4659         (syms_of_mule_charset): Add new function `get-composite-char', new
4660         symbol `->decomposition', `wide', `narrow', `compat', `noBreak',
4661         `super' and `fraction'.
4662         (vars_of_mule_charset): Setup `Vcharacter_composition_table'.
4663
4664 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4665
4666         * mule-charset.c (Fchar_attribute_alist): Check the argument is a
4667         character; copy the return value.
4668
4669 1999-11-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
4670
4671         * char-ucs.h (SPLIT_CHAR): Use `split_builtin_char'.
4672
4673         * mule-charset.c (range_charset_code_point): Must use make_int.
4674         (split_builtin_char): New function.
4675
4676 1999-11-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
4677
4678         * mule-charset.c (char_byte_table): Change name from
4679         "char-code-table" to "char-byte-table".
4680         (mark_char_code_table): New function.
4681         (char_code_table_equal): New function.
4682         (char_code_table_hash): New function.
4683         (char_code_table_description): New constant.
4684         (char_code_table): New type.
4685         (make_char_code_table): New function.
4686         (copy_char_code_table): New function.
4687         (get_char_code_table): Modify for `char_code_table' type.
4688         (put_char_code_table): Likewise.
4689         (vars_of_mule_charset): Update `utf-2000-version' to 0.12
4690         (Kashiwara).
4691
4692         * char-ucs.h (char_code_table): New type.
4693         (XCHAR_CODE_TABLE): New macro.
4694         (XSETCHAR_CODE_TABLE): New macro.
4695         (CHAR_CODE_TABLE_P): New macro.
4696         (GC_CHAR_CODE_TABLE_P): New macro.
4697         (struct Lisp_Char_Code_Table): New structure.
4698
4699 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
4700
4701         * mule-charset.c (Fmake_charset): Setup byte_offset for
4702         {94|96}^n-set.
4703
4704 1999-11-09  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4705
4706         * mule-charset.c (Fdefine_char): Fix problem with non-UCS
4707         character.
4708
4709 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
4710
4711         * char-ucs.h (SPLIT_CHAR): Don't make new cell if a charset slot
4712         is found.
4713
4714 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
4715
4716         * mule-charset.c (Fget_char_attribute): If ATTRIBUTE is a name of
4717         charset, it is regarded as a charset.
4718         (put_char_attribute): New function in UTF-2000.
4719         (Fput_char_attribute): If ATTRIBUTE is a charset or a name of
4720         charset, mapping-table of the charset is modified.
4721         (Fdefine_char): New function in UTF-2000.
4722         (Fset_charset_mapping_table): Use `put_char_attribute' instead of
4723         `Fput_char_attribute'.
4724         (syms_of_mule_charset): Add new function `define-char' and new
4725         symbol `ucs' in UTF-2000.
4726         (vars_of_mule_charset): Update `utf-2000-version' to 0.11 (Shiki).
4727
4728 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
4729
4730         * mule-charset.c (Fcharset_name): Define `byte_offset' in
4731         non-UTF-2000 configuration.
4732
4733 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
4734
4735         * text-coding.c (char_encode_shift_jis): Use `charset_code_point'
4736         not to use `XCHARSET_ENCODING_TABLE (Vcharset_latin_jisx0201)'.
4737
4738         * mule-charset.c (mark_charset): `cs->encoding_table' has been
4739         deleted.
4740         (make_charset): Don't use `CHARSET_ENCODING_TABLE(cs)'.
4741         (Fset_charset_mapping_table): Likewise.
4742
4743         * char-ucs.h (struct Lisp_Charset): Delete `encoding_table'.
4744         (CHARSET_ENCODING_TABLE): Delete.
4745         (XCHARSET_ENCODING_TABLE): Delete.
4746         (charset_code_point): New interface.
4747
4748 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
4749
4750         * text-coding.c (char_encode_iso2022): Use `charset_code_point'
4751         instead of `charset_get_byte1' and `charset_get_byte2'.
4752
4753         * mule-charset.c, char-ucs.h (charset_get_byte1): Deleted.
4754         (charset_get_byte2): Deleted.
4755
4756 1999-10-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
4757
4758         * char-ucs.h (SPLIT_CHAR): New inline function.
4759         (breakup_char_1): Use `SPLIT_CHAR'.
4760
4761         * mule-charset.c (range_charset_code_point): New function.
4762         (charset_code_point): New function.
4763
4764         * char-ucs.h (range_charset_code_point): New interface.
4765         (breakup_char_1): Use `range_charset_code_point'.
4766
4767 1999-10-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
4768
4769         * mule-charset.c (Fmake_charset): Delete unused local variable
4770         `code_offset'.
4771
4772         * char-ucs.h (Vcharacter_attribute_table): New extern variable.
4773         (breakup_char_1): Find a charset and code-point in
4774         `Vcharacter_attribute_table'.
4775
4776 1999-10-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
4777
4778         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
4779         to 0.10 (Yao).
4780
4781 1999-10-25  MORIOKA Tomohiko  <tomo@etl.go.jp>
4782
4783         * mule-charset.c (Vcharacter_attribute_table): New variable.
4784         (Fchar_attribute_alist): New function.
4785         (Fget_char_attribute): New function.
4786         (Fput_char_attribute): New function.
4787         (Fset_charset_mapping_table): Setup `Vcharacter_attribute_table'
4788         too.
4789         (syms_of_mule_charset): Add new function `char-attribute-alist',
4790         `get-char-attribute' and `put-char-attribute'.
4791         (vars_of_mule_charset): Setup `Vcharacter_attribute_table'.
4792
4793 1999-10-19  MORIOKA Tomohiko  <tomo@etl.go.jp>
4794
4795         * mule-charset.c (Fmake_charset): Just use
4796         `get_unallocated_leading_byte'.
4797
4798         * char-ucs.h (LEADING_BYTE_*): Use ISO-IR numbers for official
4799         sets; don't use final-byte based number for private sets.
4800
4801 1999-10-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
4802
4803         * doprnt.c (emacs_doprnt_1): Fix problem with %0XXd for a negative
4804         integer.
4805
4806 1999-10-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
4807
4808         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
4809         to 0.9.
4810
4811 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4812
4813         * regex.c (compile_extended_range): Use `CHAR_CHARSET_ID' instead
4814         of `CHAR_LEADING_BYTE' in UTF-2000.
4815
4816         * insdel.c (find_charsets_in_bufbyte_string): Use
4817         `CHAR_CHARSET_ID' instead of `CHAR_LEADING_BYTE' in UTF-2000.
4818         (find_charsets_in_emchar_string): Likewise.
4819
4820         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use
4821         `CHAR_CHARSET_ID' instead of `CHAR_LEADING_BYTE' in UTF-2000.
4822
4823         * char-ucs.h (CHAR_LEADING_BYTE): Deleted.
4824         (CHAR_CHARSET_ID): New macro.
4825
4826 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4827
4828         * chartab.c (get_char_table): Don't use type `Charset_ID' for
4829         charset-id - MIN_LEADING_BYTE.
4830         (put_char_table): Likewise.
4831
4832 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4833
4834         * char-ucs.h (MIN_LEADING_BYTE): Changed to `-0x40'.
4835         (NUM_LEADING_BYTES): Changed to (80 * 3 - MIN_LEADING_BYTE).
4836         (CHARSET_LEADING_BYTE): Don't cast by `Bufbyte'.
4837         (CHARSET_ID_OFFSET): New macro.
4838         (LEADING_BYTE_CONTROL_1): Changed to (CHARSET_ID_OFFSET - 1).
4839         (LEADING_BYTE_UCS_BMP): Changed to (CHARSET_ID_OFFSET - 2).
4840         (LEADING_BYTE_LATIN_VISCII): Changed to (CHARSET_ID_OFFSET - 3).
4841         (LEADING_BYTE_HIRAGANA_JISX0208): Changed to (CHARSET_ID_OFFSET -
4842         4).
4843         (LEADING_BYTE_KATAKANA_JISX0208): Changed to (CHARSET_ID_OFFSET -
4844         5).
4845         (MIN_LEADING_BYTE_PRIVATE): Changed to `MIN_LEADING_BYTE'.
4846         (MAX_LEADING_BYTE_PRIVATE): Changed to (CHARSET_ID_OFFSET - 6).
4847         (CHARSET_ID_OFFSET_94): Changed to (CHARSET_ID_OFFSET - '0').
4848         (CHARSET_ID_OFFSET_96): Changed to (CHARSET_ID_OFFSET_94 + 80).
4849         (CHARSET_ID_OFFSET_94x94): Changed to (CHARSET_ID_OFFSET_96 + 80).
4850
4851 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4852
4853         * mule-charset.c (next_allocated_leading_byte): New variable in
4854         UTF-2000.
4855         (next_allocated_1_byte_leading_byte): Don't define in UTF-2000.
4856         (next_allocated_2_byte_leading_byte): Don't define in UTF-2000.
4857         (get_unallocated_leading_byte): Simply use
4858         `next_allocated_leading_byte' [ignore dimension] in UTF-2000.
4859         (vars_of_mule_charset): Setup `next_allocated_leading_byte' in
4860         UTF-2000.
4861
4862         * char-ucs.h (MIN_LEADING_BYTE_PRIVATE): New macro.
4863         (MAX_LEADING_BYTE_PRIVATE): New macro.
4864         (MIN_LEADING_BYTE_OFFICIAL_2): Deleted.
4865         (MAX_LEADING_BYTE_OFFICIAL_2): Deleted.
4866
4867 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4868
4869         * mule-charset.c (Fmake_charset): Allocate final-byte based
4870         charset-id for 94-set, 96-set and 94x94-set.
4871
4872 1999-10-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
4873
4874         * mule-charset.c (char_byte_table_equal): Fill braces to avoid
4875         ambiguous `else'.
4876         (Fmake_charset): Likewise.
4877         (complex_vars_of_mule_charset): Modify the font registry of
4878         `ucs-bmp' not to match `Ethiopic-Unicode'.
4879
4880 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4881
4882         * mule-charset.c (complex_vars_of_mule_charset): Add font
4883         registory of `ucs-bmp'.
4884
4885 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4886
4887         * text-coding.c (char_encode_iso2022): Ignore non-ISO-2022
4888         coded-charsets in `default-coded-charset-priority-list' when
4889         breaking up a character.
4890
4891         * mule-charset.c (Vcharset_latin_viscii): New variable.
4892         (Qlatin_viscii): New variable.
4893         (make_charset): Don't use `decoding_table'.
4894         (Fmake_charset): Regard graphic = 2 as 256^n-set; setup
4895         byte_offset.
4896         (Fset_charset_mapping_table): New implementation.
4897         (syms_of_mule_charset): Add new symbol `latin-viscii'.
4898         (complex_vars_of_mule_charset): Set `graphic' attribute of charset
4899         `ucs-bmp' and `latin_viscii' to 2; change font registry of charset
4900         `latin-viscii-lower' to "MULEVISCII-LOWER"; change font registry
4901         of charset `latin-viscii-upper' to "MULEVISCII-UPPER"; add new
4902         charset `latin_viscii'.
4903
4904         * char-ucs.h (LEADING_BYTE_LATIN_VISCII): New macro.
4905         (CHARSET_TYPE_94X94): Change to 1 from 2.
4906         (CHARSET_TYPE_96): Change to 2 from 1.
4907         (CHARSET_TYPE_128): New macro.
4908         (CHARSET_TYPE_128X128): Change to 5 from 4.
4909         (CHARSET_TYPE_256): New macro.
4910         (CHARSET_TYPE_256X256): Change to 7 from 5.
4911         (MAKE_CHAR): Use `XCHARSET_BYTE_OFFSET(charset)'.
4912
4913 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4914
4915         * text-coding.c (char_encode_shift_jis): Refer
4916         `XCHARSET_ENCODING_TABLE(Vcharset_latin_jisx0201)' instead of
4917         `XCHARSET_TO_BYTE1_TABLE(Vcharset_latin_jisx0201)'.
4918
4919         * mule-charset.c (mark_char_byte_table): New function in UTF-2000.
4920         (char_byte_table_equal): New function in UTF-2000.
4921         (char_byte_table_hash): New function in UTF-2000.
4922         (char_byte_table_description): New constant in UTF-2000.
4923         (char_byte_table): New type in UTF-2000.
4924         (make_char_byte_table): New function in UTF-2000.
4925         (copy_char_byte_table): New function in UTF-2000.
4926         (make_char_code_table): New macro in UTF-2000.
4927         (get_char_code_table): New function in UTF-2000.
4928         (put_char_code_table): New function in UTF-2000.
4929         (mark_charset): Mark `cs->encoding_table' in UTF-2000.
4930         (charset_description): Add setting in UTF-2000.
4931         (make_charset): Setup `CHARSET_ENCODING_TABLE(cs)' instead of
4932         `CHARSET_TO_BYTE1_TABLE(cs)'.
4933         (charset_get_byte1): Refer `XCHARSET_ENCODING_TABLE(charset)'
4934         instead of `XCHARSET_TO_BYTE1_TABLE(charset)'.
4935         (charset_get_byte2): Refer `XCHARSET_ENCODING_TABLE(charset)'
4936         instead of `XCHARSET_TO_BYTE2_TABLE(charset)'.
4937         (Fset_charset_mapping_table): Setup `CHARSET_ENCODING_TABLE(cs)'
4938         instead of `CHARSET_TO_BYTE1_TABLE(cs)' and
4939         `CHARSET_TO_BYTE2_TABLE(cs)'.
4940
4941         * char-ucs.h (char_byte_table): New type.
4942         (XCHAR_BYTE_TABLE): New macro.
4943         (XSETCHAR_BYTE_TABLE): New macro.
4944         (CHAR_BYTE_TABLE_P): New macro.
4945         (GC_CHAR_BYTE_TABLE_P): New macro.
4946         (struct Lisp_Char_Byte_Table): New structure.
4947         (get_char_code_table): New interface.
4948         (Emchar_to_byte_table): Deleted.
4949         (get_byte_from_character_table): Deleted.
4950         (struct Lisp_Charset): Add `encoding_table'; delete
4951         `to_byte1_table' and `to_byte2_table'.
4952         (CHARSET_ENCODING_TABLE): New macro.
4953         (CHARSET_TO_BYTE1_TABLE): Deleted.
4954         (CHARSET_TO_BYTE2_TABLE): Deleted.
4955         (XCHARSET_ENCODING_TABLE): New macro.
4956         (XCHARSET_TO_BYTE1_TABLE): Deleted.
4957         (XCHARSET_TO_BYTE2_TABLE): Deleted.
4958
4959 1999-10-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
4960
4961         * mule-charset.c (syms_of_mule_charset): Delete charset alias
4962         `vietnamese-viscii-*'.
4963
4964 1999-10-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
4965
4966         * mule-charset.c (Qvietnamese_viscii_lower): New variable.
4967         (Qvietnamese_viscii_upper): New variable.
4968         (Fdefine_charset_alias): New function.
4969         (syms_of_mule_charset): Add new function `define-charset-alias'.
4970         (syms_of_mule_charset): Rename charset `vietnamese-viscii-*' to
4971         `latin-viscii-*'; define `vietnamese-viscii-*' as aliases for
4972         `latin-viscii-*'.
4973
4974 1999-10-04  MORIOKA Tomohiko  <tomo@etl.go.jp>
4975
4976         * char-ucs.h (MIN_CHAR_OBS_94x94): New macro.
4977         (MAX_CHAR_OBS_94x94): New macro.
4978         (breakup_char_1): Support obsolete XEmacs-UCS private code space
4979         for 94x94 sets.
4980
4981         * mule-charset.c (put_byte_from_character_table): Change unit size
4982         from 128 to 256.
4983         (mark_charset): Don't mark `cs->decoding_table' if `UTF2000' is
4984         not defined.
4985         (Fmake_reverse_direction_charset): Modify dummy argument of
4986         `make_charset' for non-UTF-2000 environment.
4987
4988 1999-10-03  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4989
4990         * char-ucs.h (MAKE_CHAR): Allow nested decoding-table.
4991
4992         * mule-charset.c (destroy_byte_from_character_table): New macro.
4993         (latin_jisx0201_to_ucs): Deleted.
4994         (latin_iso8859_2_to_ucs): Deleted.
4995         (latin_iso8859_3_to_ucs): Deleted.
4996         (latin_iso8859_4_to_ucs): Deleted.
4997         (latin_iso8859_9_to_ucs): Deleted.
4998         (latin_viscii_lower_to_ucs): Deleted.
4999         (latin_viscii_upper_to_ucs): Deleted.
5000         (mark_charset): Mark `cs->decoding_table'.
5001         (Fcharset_mapping_table): Fix DOC-string.
5002         (Fset_charset_mapping_table): New function.
5003         (syms_of_mule_charset): Add nwe function
5004         `set-charset-mapping-table'.
5005         (complex_vars_of_mule_charset): Don't setup and use
5006         `latin_*_to_ucs'.
5007
5008 1999-10-01  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5009
5010         * char-ucs.h (MAKE_CHAR): Check the result for range-represented
5011         charset.
5012
5013 1999-09-30  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5014
5015         * mule-charset.c (Vcharset_hiragana_jisx0208): New variable.
5016         (Vcharset_katakana_jisx0208): New variable.
5017         (Qhiragana_jisx0208): New variable.
5018         (Qkatakana_jisx0208): New variable.
5019         (make_charset): Add new argument `byte_offset'.
5020         (charset_get_byte1): Modify for new coded-charset definition; use
5021         `XCHARSET_UCS_MIN', `XCHARSET_UCS_MAX', `XCHARSET_CODE_OFFSET' and
5022         `XCHARSET_BYTE_OFFSET'.
5023         (Fmake_charset): Modify for `make_charset'.
5024         (Fmake_reverse_direction_charset): Likewise.
5025         (syms_of_mule_charset): Add new symbols `hiragana-jisx0208' and
5026         `katakana-jisx0208'.
5027         (complex_vars_of_mule_charset): Modify for `make_charset'; quote
5028         `.'  in font registry of charset `katakana-jisx0201',
5029         `latin-jisx0201', `vietnamese-viscii-lower' and
5030         `vietnamese-viscii-upper'; modify DOC-string of charset
5031         `japanese-jisx0208-1978' and `japanese-jisx0208'; modify font
5032         registry of charset `japanese-jisx0208' not to use font for JIS
5033         X0208:1990; add new charset `hiragana-jisx0208' and
5034         `katakana-jisx0208'.
5035
5036         * char-ucs.h (LEADING_BYTE_HIRAGANA_JISX0208): New macro.
5037         (LEADING_BYTE_KATAKANA_JISX0208): New macro.
5038         (struct Lisp_Charset): Add `byte_offset'.
5039         (CHARSET_BYTE_OFFSET): New macro.
5040         (XCHARSET_UCS_MIN): New macro.
5041         (XCHARSET_UCS_MAX): New macro.
5042         (XCHARSET_CODE_OFFSET): New macro.
5043         (XCHARSET_BYTE_OFFSET): New macro.
5044         (MIN_CHAR_HIRAGANA): New macro.
5045         (MAX_CHAR_HIRAGANA): New macro.
5046         (MIN_CHAR_KATAKANA): New macro.
5047         (MAX_CHAR_KATAKANA): New macro.
5048         (MAKE_CHAR): Modify for new coded-charset definition; use
5049         `XCHARSET_UCS_MIN', `XCHARSET_UCS_MAX', `XCHARSET_CODE_OFFSET' and
5050         `XCHARSET_BYTE_OFFSET'.
5051
5052 1999-09-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
5053
5054         * mule-charset.c (CHAR96): Deleted.
5055         (latin_jisx0201_to_ucs): Type is changed from array of <Emchar> to
5056         <Lisp_Object>.
5057         (latin_iso8859_2_to_ucs): Likewise.
5058         (latin_iso8859_3_to_ucs): Likewise.
5059         (latin_iso8859_4_to_ucs): Likewise.
5060         (latin_iso8859_9_to_ucs): Likewise.
5061         (latin_viscii_lower_to_ucs): Likewise.
5062         (latin_viscii_upper_to_ucs): Likewise.
5063         (latin_tcvn5712_to_ucs): Commented out.
5064         (make_charset): Change type of argument `decoding_table' from
5065         <Emchar*> to <Lisp_Object> [vector of characters].
5066         (Fmake_charset): Modify for `make_charset'.
5067         (Fmake_reverse_direction_charset): Likewise.
5068         (Fcharset_mapping_table): New function in UTF-2000.
5069         (syms_of_mule_charset): Setup `Fcharset_mapping_table' in
5070         UTF-2000.
5071         (complex_vars_of_mule_charset): Modify for type change of
5072         `*_to_ucs'; modify for `make_charset'.
5073
5074         * char-ucs.h (struct Lisp_Charset): Change type of
5075         `decoding_table' from <Emchar*> to <Lisp_Object>.
5076         (MAKE_CHAR): Modify for new specification of `decoding_table'.
5077
5078 1999-09-23  MORIOKA Tomohiko  <tomo@etl.go.jp>
5079
5080         * mule-charset.c (Fmake_reverse_direction_charset): Fix compile
5081         error with non-UTF-2000-Mule.
5082
5083 1999-09-21  MORIOKA Tomohiko  <tomo@etl.go.jp>
5084
5085         * mule-charset.c (Vcharset_chinese_cns11643_3): Deleted [defined
5086         in lisp again].
5087         (Vcharset_chinese_cns11643_4): Likewise.
5088         (Vcharset_chinese_cns11643_5): Likewise.
5089         (Vcharset_chinese_cns11643_6): Likewise.
5090         (Vcharset_chinese_cns11643_7): Likewise.
5091         (Qchinese_cns11643_3): Likewise.
5092         (Qchinese_cns11643_4): Likewise.
5093         (Qchinese_cns11643_5): Likewise.
5094         (Qchinese_cns11643_6): Likewise.
5095         (Qchinese_cns11643_7): Likewise.
5096         (syms_of_mule_charset): Move definitions for `chinese-cns11643-3',
5097         `chinese-cns11643-4', `chinese-cns11643-5', `chinese-cns11643-6'
5098         and `chinese-cns11643-7' to lisp/mule/chinese.el.
5099         (complex_vars_of_mule_charset): Likewise.
5100
5101 1999-09-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
5102
5103         * mule-charset.c (charset_get_byte1): Fix bug about 94- and
5104         96-set.
5105         (Fmake_reverse_direction_charset): Inherit CHARSET_DECODING_TABLE,
5106         CHARSET_UCS_MIN, CHARSET_UCS_MAX and CHARSET_CODE_OFFSET.
5107
5108 1999-09-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
5109
5110         * char-ucs.h (MIN_CHAR_HALFWIDTH_KATAKANA): Changed to 0xFF61 from
5111         0xFF60.
5112         (MAKE_CHAR): Change offset for katakana-jisx0201 to 33 from 0x20.
5113         (breakup_char_1): Likewise.
5114
5115         * text-coding.c (char_encode_iso2022): Keep designated charsets if
5116         one of them includes the specified character.
5117
5118 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
5119
5120         * mule-charset.c: Update `utf-2000-version' to 0.8 (Kami).
5121
5122 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
5123
5124         * char-ucs.h (MAKE_CHAR): Fix problem in 2-dimension charset.
5125
5126 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
5127
5128         * mule-charset.c (latin_iso8859_2_to_ucs NULL): Add pseudo
5129         definition for non-UTF-2000 Mule.
5130         (latin_iso8859_3_to_ucs): Likewise.
5131         (latin_iso8859_4_to_ucs): Likewise.
5132         (latin_iso8859_9_to_ucs): Likewise.
5133         (latin_jisx0201_to_ucs): Likewise.
5134         (MIN_CHAR_THAI): Likewise.
5135         (MAX_CHAR_THAI): Likewise.
5136         (MIN_CHAR_GREEK): Likewise.
5137         (MAX_CHAR_GREEK): Likewise.
5138         (MIN_CHAR_HEBREW): Likewise.
5139         (MAX_CHAR_HEBREW): Likewise.
5140         (MIN_CHAR_HALFWIDTH_KATAKANA): Likewise.
5141         (MAX_CHAR_HALFWIDTH_KATAKANA): Likewise.
5142         (MIN_CHAR_CYRILLIC): Likewise.
5143         (MAX_CHAR_CYRILLIC): Likewise.
5144
5145 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
5146
5147         * char-ucs.h (breakup_char_1): Use
5148         `Vdefault_coded_charset_priority_list' for hebrew-iso8859-8,
5149         thai-tis620 and katakana-jisx0201 area.
5150
5151 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5152
5153         * char-ucs.h (breakup_char_1): Use
5154         `Vdefault_coded_charset_priority_list' for cyrillic-iso8859-5
5155         area.
5156
5157         * text-coding.c (reset_encoding_stream): Fixed.
5158         (char_encode_ucs4): Delete `& 255'.
5159
5160         * char-ucs.h (breakup_char_1): Use
5161         `Vdefault_coded_charset_priority_list' for greek-iso8859-7 area.
5162
5163 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5164
5165         * file-coding.c (Fmake_coding_system): Don't set up
5166         `codesys->fixed.size'.
5167         (encode_coding_no_conversion): Don't refer
5168         `str->codesys->fixed.size'.
5169
5170 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5171
5172         * mule-charset.c, char-ucs.h (latin_a_char_to_charset): Deleted.
5173         (latin_a_char_to_byte1): Deleted.
5174         (latin_a_char_to_byte2): Deleted.
5175
5176 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5177
5178         * mule-charset.c (make_charset): Add new argument `ucs_min',
5179         `ucs_max' and `code_offset'.
5180         (charset_get_byte1): New implementation [delete specific charset
5181         depended implementations].
5182         (Fmake_charset): Modify for `make_charset'.
5183         (Fmake_reverse_direction_charset): Likewise.
5184         (complex_vars_of_mule_charset): Likewise.
5185
5186         * char-ucs.h (struct Lisp_Charset): Add `ucs_min', `ucs_max' and
5187         `code_offset'.
5188         (CHARSET_UCS_MIN): New macro.
5189         (CHARSET_UCS_MAX): New macro.
5190         (CHARSET_CODE_OFFSET): New macro.
5191         (MAKE_CHAR): Delete charset depended definitions [except
5192         katakana-jisx0201].
5193
5194 1999-09-13  MORIOKA Tomohiko  <tomo@etl.go.jp>
5195
5196         * char-ucs.h (breakup_char_1): Use
5197         `Vdefault_coded_charset_priority_list' for C0-Controls,
5198         Basic-Latin, C1-Controls and Latin-1-Supplement area.
5199
5200 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5201
5202         * char-ucs.h (charset_get_byte1): New function.
5203         (XCHARSET_GET_BYTE1): Deleted.
5204         (charset_get_byte2): New function.
5205         (XCHARSET_GET_BYTE2): Deleted.
5206         (Vdefault_coded_charset_priority_list): New external variable.
5207         (breakup_char_1): Use `charset_get_byte1', `charset_get_byte2' and
5208         `Vdefault_preferred_coded_charset_list'.
5209
5210         * mule-charset.c (charset_get_byte1): New function.
5211         (charset_get_byte2): New function.
5212         (Vdefault_coded_charset_priority_list): New variable.
5213         (vars_of_mule_charset): Add new variable
5214         `default-coded-charset-priority-list'.
5215
5216 1999-09-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5217
5218         * char-ucs.h (XCHARSET_GET_BYTE1): New inline function.
5219         (XCHARSET_GET_BYTE2): New inline function.
5220         (breakup_char_1): Use `XCHARSET_GET_BYTE1' and
5221         `XCHARSET_GET_BYTE2'.
5222
5223 1999-09-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5224
5225         * mule-charset.c (make_charset): Initialize
5226         `CHARSET_TO_BYTE1_TABLE(cs)' and `CHARSET_TO_BYTE2_TABLE(cs)' by
5227         NULL if table is not defined.
5228
5229 1999-09-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5230
5231         * text-coding.c (char_encode_shift_jis): Use
5232         `XCHARSET_TO_BYTE1_TABLE' for `Vcharset_latin_jisx0201' instead of
5233         `ucs_to_latin_jisx0201'.
5234
5235         * mule-charset.c (ucs_to_latin_jisx0201): Deleted.
5236         (ucs_to_latin_iso8859_2): Deleted.
5237         (ucs_to_latin_iso8859_3): Deleted.
5238         (ucs_to_latin_iso8859_4): Deleted.
5239         (ucs_to_latin_iso8859_9): Deleted.
5240         (ucs_to_latin_viscii_lower): Deleted.
5241         (ucs_to_latin_viscii_upper): Deleted.
5242         (ucs_to_latin_tcvn5712): Deleted.
5243         (make_charset): Add new argument `decoding_table'; set up
5244         `CHARSET_DECODING_TABLE(cs)' in UTF-2000; set up
5245         `CHARSET_TO_BYTE1_TABLE(cs)' for 94-set and 96-set if
5246         `decoding_table' is defined in UTF-2000.
5247         (Fmake_charset): Modify for `make_charset'.
5248         (Fmake_reverse_direction_charset): Likewise.
5249         (complex_vars_of_mule_charset): Likewise; delete `GENERATE_94_SET'
5250         and `GENERATE_96_SET'.
5251
5252         * char-ucs.h (latin_jisx0201_to_ucs): Deleted.
5253         (ucs_to_latin_jisx0201): Deleted.
5254         (latin_iso8859_2_to_ucs): Deleted.
5255         (ucs_to_latin_iso8859_2): Deleted.
5256         (latin_iso8859_3_to_ucs): Deleted.
5257         (ucs_to_latin_iso8859_3): Deleted.
5258         (latin_iso8859_4_to_ucs): Deleted.
5259         (ucs_to_latin_iso8859_4): Deleted.
5260         (latin_iso8859_9_to_ucs): Deleted.
5261         (ucs_to_latin_iso8859_9): Deleted.
5262         (latin_viscii_lower_to_ucs): Deleted.
5263         (ucs_to_latin_viscii_lower): Deleted.
5264         (latin_viscii_upper_to_ucs): Deleted.
5265         (ucs_to_latin_viscii_upper): Deleted.
5266         (struct Lisp_Charset): Renamed `encoding_table' to
5267         `to_byte1_table'; add `to_byte2_table'.
5268         (CHARSET_DECODING_TABLE): New macro.
5269         (CHARSET_TO_BYTE1_TABLE): New macro.
5270         (CHARSET_TO_BYTE2_TABLE): New macro.
5271         (XCHARSET_DECODING_TABLE): New macro.
5272         (XCHARSET_TO_BYTE1_TABLE): New macro.
5273         (XCHARSET_TO_BYTE2_TABLE): New macro.
5274         (MAKE_CHAR): Use `XCHARSET_DECODING_TABLE'; don't use `*_to_ucs'
5275         tables.
5276         (breakup_char_1): Use `XCHARSET_TO_BYTE1_TABLE' if it is defined;
5277         don't use `ucs_to_*' tables.
5278
5279 1999-09-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5280
5281         * text-coding.c (Fmake_coding_system): Don't set up
5282         `codesys->fixed.size'.
5283         (encode_coding_no_conversion): Use `if' instead of `switch'.
5284
5285         * file-coding.h (struct Lisp_Coding_System): Delete `fixed.size'.
5286
5287 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
5288
5289         * mule-charset.c (make_charset): Delete argument `rep_bytes'.
5290         (Fmake_charset): Modify for `make_charset'.
5291         (Fmake_reverse_direction_charset): Likewise.
5292         (complex_vars_of_mule_charset): Likewise.
5293
5294 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
5295
5296         * text-coding.c (char_encode_shift_jis): Use table
5297         `ucs_to_latin_jisx0201' and BREAKUP_CHAR.
5298
5299 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
5300
5301         * text-coding.c (text_encode_generic): Use `if' instead of
5302         `switch'.
5303         (decode_coding_sjis): Use `MAKE_CHAR' and `DECODE_ADD_UCS_CHAR' to
5304         decode JIS-Latin.
5305
5306 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
5307
5308         * text-coding.c (encode_coding_sjis): Deleted.
5309         (char_encode_shift_jis): New function.
5310         (char_finish_shift_jis): New function.
5311         (reset_encoding_stream): Set up `encode_char' and `finish' for
5312         `CODESYS_UCS4' and `CODESYS_SHIFT_JIS'.
5313         (mule_encode): Use generic encoder for `CODESYS_SHIFT_JIS'.
5314         (char_encode_utf8): Treat `eol_type'.
5315
5316 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
5317
5318         * file-coding.c (decode_coding_iso2022): Use
5319         `DECODE_ADD_UCS_CHAR'; don't use `XCHARSET_REP_BYTES'.
5320
5321 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
5322
5323         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
5324         to 0.7 (Hirano).
5325
5326 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
5327
5328         * char-lb.h (CHAR_COLUMNS): New macro.
5329
5330 1999-09-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
5331
5332         * text-coding.c (char_encode_ucs4): New function.
5333         (char_finish_ucs4): New function.
5334         (encode_coding_ucs4): Deleted.
5335         (mule_encode): Use generic encoder for `CODESYS_UCS4'.
5336         (text_encode_generic): Delete local variable `charset' and `half'.
5337         (ucs_to_mule_table): Deleted.
5338         (mule_to_ucs_table): Deleted.
5339         (Fset_ucs_char): Deleted.
5340         (ucs_to_char): Deleted.
5341         (Fucs_char): Deleted.
5342         (Fset_char_ucs): Deleted.
5343         (Fchar_ucs): Deleted.
5344         (decode_ucs4): Deleted.
5345         (mule_char_to_ucs4): Deleted.
5346         (encode_ucs4): Deleted.
5347         (decode_coding_ucs4): Use `DECODE_ADD_UCS_CHAR'.
5348         (decode_coding_utf8): Likewise.
5349         (decode_coding_iso2022): Likewise; don't use `XCHARSET_REP_BYTES'.
5350         (char_encode_iso2022): Fixed.
5351         (syms_of_file_coding): Delete `Fset_ucs_char', `Fucs_char',
5352         `Fset_char_ucs' and `Fchar_ucs'.
5353         (complex_vars_of_file_coding): Don't initialize
5354         `ucs_to_mule_table'.
5355
5356         * objects-tty.c (tty_initialize_font_instance): Don't use
5357         `XCHARSET_COLUMNS'.
5358
5359         * mule-charset.c (make_charset): Don't set up CHARSET_REP_BYTES in
5360         UTF-2000.
5361
5362         * redisplay-tty.c (tty_output_display_block): Use `CHAR_COLUMNS'
5363         instead of `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
5364
5365         * insdel.c (bufbyte_string_displayed_columns): Use `CHAR_COLUMNS'
5366         instead of `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
5367         (emchar_string_displayed_columns): Likewise.
5368
5369         * indent.c (column_at_point): Use `CHAR_COLUMNS' instead of
5370         `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
5371         (string_column_at_point): Likewise.
5372         (Fmove_to_column): Likewise.
5373
5374         * char-ucs.h (struct Lisp_Charset): Delete `rep_bytes'; add
5375         `encoding_table' and `decoding_table'.
5376         (CHARSET_REP_BYTES): Deleted.
5377         (XCHARSET_REP_BYTES): Deleted.
5378         (XCHARSET_COLUMNS): Deleted.
5379         (CHAR_COLUMNS): New macro.
5380         (lookup_composite_char): Deleted unconditionally.
5381         (composite_char_string): Likewise.
5382
5383 1999-09-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
5384
5385         * char-ucs.h (Emchar_to_byte_table): New type.
5386         (get_byte_from_character_table): New function interface.
5387         (Vcharset_latin_jisx0201): New variable.
5388         (latin_jisx0201_to_ucs): New variable.
5389         (ucs_to_latin_jisx0201): New variable.
5390         (Vcharset_latin_iso8859_2): New variable.
5391         (latin_iso8859_2_to_ucs): New variable.
5392         (ucs_to_latin_iso8859_2): New variable.
5393         (Vcharset_latin_iso8859_3): New variable.
5394         (latin_iso8859_3_to_ucs): New variable.
5395         (ucs_to_latin_iso8859_3): New variable.
5396         (Vcharset_latin_iso8859_4): New variable.
5397         (latin_iso8859_4_to_ucs): New variable.
5398         (ucs_to_latin_iso8859_4): New variable.
5399         (Vcharset_latin_iso8859_9): New variable.
5400         (latin_iso8859_9_to_ucs): New variable.
5401         (ucs_to_latin_iso8859_9): New variable.
5402         (Vcharset_latin_viscii_lower): New variable.
5403         (latin_viscii_lower_to_ucs): New variable.
5404         (ucs_to_latin_viscii_lower): New variable.
5405         (Vcharset_latin_viscii_upper): New variable.
5406         (latin_viscii_upper_to_ucs): New variable.
5407         (ucs_to_latin_viscii_upper): New variable.
5408         (CHARSET_ID_OFFSET_94): Changed from 0x60 to 0x55.
5409         (LEADING_BYTE_LATIN_VISCII_LOWER): New macro.
5410         (LEADING_BYTE_LATIN_VISCII_UPPER): New macro.
5411         (MAKE_CHAR): Map `latin-iso8859-2', `latin-iso8859-3',
5412         `latin-iso8859-4', `latin-iso8859-9', `latin-jisx0201',
5413         `vietnamese-viscii-lower' and `vietnamese-viscii-upper' to BMP.
5414         (breakup_char_1): Use `ucs_to_latin_iso8859_2',
5415         `ucs_to_latin_iso8859_3', `ucs_to_latin_iso8859_4',
5416         `ucs_to_latin_iso8859_9', `ucs_to_latin_viscii_lower',
5417         `ucs_to_latin_viscii_upper' and `ucs_to_latin_jisx0201' tables.
5418
5419         * mule-charset.c (Vcharset_latin_viscii_lower): New variable.
5420         (Vcharset_latin_viscii_upper): New variable.
5421         (make_byte_from_character_table): New function.
5422         (put_byte_from_character_table): New function.
5423         (get_byte_from_character_table): New function.
5424         (CHAR96): New macro.
5425         (ucs_to_latin_jisx0201): New variable.
5426         (latin_jisx0201_to_ucs): New variable.
5427         (ucs_to_latin_iso8859_2): New variable.
5428         (latin_iso8859_2_to_ucs): New variable.
5429         (ucs_to_latin_iso8859_3): New variable.
5430         (latin_iso8859_3_to_ucs): New variable.
5431         (ucs_to_latin_iso8859_4): New variable.
5432         (latin_iso8859_4_to_ucs): New variable.
5433         (ucs_to_latin_iso8859_9): New variable.
5434         (latin_iso8859_9_to_ucs): New variable.
5435         (ucs_to_latin_viscii_lower): New variable.
5436         (latin_viscii_lower_to_ucs): New variable.
5437         (ucs_to_latin_viscii_upper): New variable.
5438         (latin_viscii_upper_to_ucs): New variable.
5439         (ucs_to_latin_tcvn5712): New variable.
5440         (latin_tcvn5712_to_ucs): New variable.
5441         (Qlatin_viscii_lower): New variable.
5442         (Qlatin_viscii_upper): New variable.
5443         (syms_of_mule_charset): Set up new symbol
5444         `vietnamese-viscii-lower' and `vietnamese-viscii-upper'.
5445         (complex_vars_of_mule_charset): Set up new charset
5446         `vietnamese-viscii-lower' and `vietnamese-viscii-upper'; new macro
5447         `GENERATE_94_SET' and `GENERATE_96_SET'; use them to generate
5448         `ucs_to_<CHARSET>' tables.
5449
5450 1999-09-08  MORIOKA Tomohiko  <tomo@etl.go.jp>
5451
5452         * text-coding.c: New file.
5453
5454 1999-09-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
5455
5456         * mule-charset.c (Fmake_char): Fix problem of 256-set.
5457
5458         * char-ucs.h (Vcharset_ucs_bmp): New variable.
5459         (MAKE_CHAR): Modify for `ucs-bmp'.
5460         (breakup_char_1): Return `ucs-bmp' and code point of BMP for
5461         non-MULE characters of BMP.
5462
5463 1999-09-06  MORIOKA Tomohiko  <tomo@etl.go.jp>
5464
5465         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
5466         to 0.6.
5467
5468 1999-09-05  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5469
5470         * lstream.h:
5471         - Include multibyte.h instead of character.h for `BYTE_ASCII_P'.
5472         - Include character.h for `CHAR_ASCII_P'.
5473
5474         * mb-multibyte.h (CHAR_MULTIBYTE_P): Moved from mule-charset.h.
5475
5476         * mule-charset.h (CHAR_MULTIBYTE_P): Moved to mb-multibyte.h.
5477         (CHAR_ASCII_P): Don't use `CHAR_MULTIBYTE_P'.
5478
5479         * mb-multibyte.h (BYTE_ASCII_P): Moved from char-ucs.h.
5480         (BYTE_C0_P): Likewise.
5481         (BYTE_C1_P): Likewise.
5482         (Lstream_get_emchar_1): Likewise.
5483         (Lstream_fput_emchar): Likewise.
5484         (Lstream_funget_emchar): Likewise.
5485         (copy_internal_to_external): Likewise.
5486         (copy_external_to_internal): Likewise.
5487
5488         * char-ucs.h (BYTE_ASCII_P): Moved to mb-multibyte.h.
5489         (BYTE_C0_P): Likewise.
5490         (BYTE_C1_P): Likewise.
5491         (Lstream_get_emchar_1): Likewise.
5492         (Lstream_fput_emchar): Likewise.
5493         (Lstream_funget_emchar): Likewise.
5494         (copy_internal_to_external): Likewise.
5495         (copy_external_to_internal): Likewise.
5496
5497         * mb-1byte.h (BYTE_ASCII_P): Moved from buffer.h.
5498         (REP_BYTES_BY_FIRST_BYTE): Likewise.
5499
5500         * buffer.h (REP_BYTES_BY_FIRST_BYTE): Moved to mb-1byte.h.
5501         (BYTE_ASCII_P): Moved to mb-1byte.h.
5502
5503 1999-09-04  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5504
5505         * mb-utf-8.h, mb-lb.h: Include mb-multibyte.h.
5506
5507         * multibyte.h: Include mb-1byte.h in unibyte-XEmacs.
5508         (MAX_EMCHAR_LEN): Moved to mb-1byte.h.
5509         (VALID_CHARPTR_P): Moved to mb-*byte.h.
5510         (VALIDATE_CHARPTR_BACKWARD): Likewise.
5511         (VALIDATE_CHARPTR_FORWARD): Likewise.
5512         (simple_charptr_emchar): Moved to mb-multibyte.h.
5513         (simple_set_charptr_emchar): Likewise.
5514         (simple_charptr_copy_char): Likewise.
5515         (non_ascii_charptr_emchar): Likewise.
5516         (non_ascii_set_charptr_emchar): Likewise.
5517         (non_ascii_charptr_copy_char): Likewise.
5518         (charptr_emchar): Moved to mb-*byte.h.
5519         (set_charptr_emchar): Likewise.
5520         (charptr_copy_char): Likewise.
5521
5522         * mb-1byte.h, mb-multibyte.h: New files.
5523
5524 1999-09-03  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5525
5526         * mb-utf-8.h (MULTIBYTE): New macro.
5527         (MAX_EMCHAR_LEN): Moved from buffer.h.
5528         (REP_BYTES_BY_FIRST_BYTE): Moved from char-ucs.h.
5529
5530         * char-ucs.h (REP_BYTES_BY_FIRST_BYTE): Moved to mb-utf-8.h.
5531
5532         * mb-lb.h, multibyte.h: New files.
5533
5534         * char-1byte.h (Charset_ID): Moved from buffer.h.
5535         (MIN_LEADING_BYTE): Likewise.
5536         (LEADING_BYTE_ASCII): Likewise.
5537         (NUM_LEADING_BYTES): Likewise.
5538         (CHARSETP): Likewise.
5539         (CHARSET_BY_LEADING_BYTE): Likewise.
5540         (XCHARSET_LEADING_BYTE): Likewise.
5541         (XCHARSET_GRAPHIC): Likewise.
5542         (XCHARSET_COLUMNS): Likewise.
5543         (XCHARSET_DIMENSION): Likewise.
5544         (CHAR_CHARSET): Likewise.
5545         (CHAR_LEADING_BYTE): Likewise.
5546         (BREAKUP_CHAR): Likewise.
5547         (Vcharset_ascii): Likewise.
5548
5549         * buffer.h: Include multibyte.h unconditionally.
5550         (VALID_CHARPTR_P): Moved to multibyte.h.
5551         (ASSERT_VALID_CHARPTR): Likewise.
5552         (REAL_INC_CHARPTR): Likewise.
5553         (REAL_INC_CHARBYTIND): Likewise.
5554         (REAL_DEC_CHARPTR): Likewise.
5555         (INC_CHARPTR): Likewise.
5556         (INC_CHARBYTIND): Likewise.
5557         (DEC_CHARPTR): Likewise.
5558         (VALIDATE_CHARPTR_BACKWARD): Likewise.
5559         (VALIDATE_CHARPTR_FORWARD): Likewise.
5560         (charptr_n_addr): Likewise.
5561         (MAX_EMCHAR_LEN): Moved to mb-*.h.
5562         (simple_charptr_emchar): Moved to 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): Likewise.
5569         (set_charptr_emchar): Likewise.
5570         (charptr_copy_char): Likewise.
5571         (charptr_emchar_n): Likewise.
5572         (Charset_ID): Moved to char-1byte.h.
5573         (Vcharset_ascii): Likewise.
5574         (CHAR_CHARSET): Likewise.
5575         (CHAR_LEADING_BYTE): Likewise.
5576         (LEADING_BYTE_ASCII): Likewise.
5577         (NUM_LEADING_BYTES): Likewise.
5578         (MIN_LEADING_BYTE): Likewise.
5579         (CHARSETP): Likewise.
5580         (CHARSET_BY_LEADING_BYTE): Likewise.
5581         (XCHARSET_LEADING_BYTE): Likewise.
5582         (XCHARSET_GRAPHIC): Likewise.
5583         (XCHARSET_COLUMNS): Likewise.
5584         (XCHARSET_DIMENSION): Likewise.
5585         (BREAKUP_CHAR): Likewise.
5586
5587 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5588
5589         * character.h: Add document about interface for characters.
5590
5591         * char-ucs.h (CHAR_ASCII_P): Modify name of argument.
5592         (MAKE_CHAR): Delete comment about
5593         `FIELD2_TO_OFFICIAL_LEADING_BYTE' and
5594         `FIELD2_TO_PRIVATE_LEADING_BYTE'.
5595         (BREAKUP_CHAR): Modify name of arguments.
5596         (CHAR_CHARSET): Modify name of argument.
5597
5598         * buffer.h: Delete document about Emchar accessors.
5599
5600 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5601
5602         * character.h (CHAR_INTP): Moved from buffer.h
5603         (CHAR_OR_CHAR_INTP): Likewise.
5604         (XCHAR_OR_CHAR_INT): Likewise.
5605         (CHECK_CHAR_COERCE_INT): Likewise.
5606
5607         * buffer.h (CHAR_INTP): Moved to character.h
5608         (CHAR_OR_CHAR_INTP): Likewise.
5609         (XCHAR_OR_CHAR_INT): Likewise.
5610         (CHECK_CHAR_COERCE_INT): Likewise.
5611
5612 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5613
5614         * character.h:
5615         - Move definitions about UCS-2000 (UCS-4) to char-ucs.h.
5616         - Include char-1byte.h, char-lb.h or char-ucs.h.
5617
5618         * mb-utf-8.h (CHAR_ASCII_P): Moved to char-ucs.h.
5619
5620         * buffer.h: Include character unconditionally.
5621         (valid_char_p): Moved to char-*.h.
5622         (non_ascii_valid_char_p): Moved to char-lb.h.
5623
5624         * char-1byte.h, char-lb.h, char-ucs.h: New files.
5625
5626 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5627
5628         * mule-ccl.c (ccl_driver): Don't define `CCL_WriteMultibyteChar2'
5629         in UTF-2000 because it is not ported yet and not to use
5630         `FIELD2_TO_OFFICIAL_LEADING_BYTE', `MIN_LEADING_BYTE_OFFICIAL_2',
5631         `FIELD1_TO_OFFICIAL_LEADING_BYTE' and
5632         `FIELD1_TO_PRIVATE_LEADING_BYTE'.
5633
5634         * mb-utf-8.h (CHAR_MULTIBYTE_P): Moved from character.h.
5635         (CHAR_ASCII_P): Moved from character.h.
5636
5637         * character.h (CHAR_MULTIBYTE_P): Moved to mb-utf-8.h.
5638         (CHAR_ASCII_P): Likewise.
5639         (CHAR_FIELD1_MASK): Deleted.
5640         (CHAR_FIELD2_MASK): Deleted.
5641         (CHAR_FIELD3_MASK): Deleted.
5642         (MAX_CHAR_BASIC_LATIN): New macro.
5643         (CHAR_FIELD1): Deleted.
5644         (CHAR_FIELD2_INTERNAL): Deleted.
5645         (CHAR_FIELD3_INTERNAL): Deleted.
5646         (FIELD1_TO_PRIVATE_LEADING_BYTE): Deleted.
5647         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Deleted.
5648         (FIELD2_TO_PRIVATE_LEADING_BYTE): Deleted.
5649         (FIELD2_TO_OFFICIAL_LEADING_BYTE): Deleted.
5650         (MIN_CHAR_FIELD1_OFFICIAL): Deleted.
5651         (MAX_CHAR_FIELD1_OFFICIAL): Deleted.
5652         (MIN_CHAR_FIELD2_PRIVATE): Deleted.
5653         (MAX_CHAR_FIELD2_PRIVATE): Deleted.
5654         (MIN_CHAR_FIELD1_PRIVATE): Deleted.
5655         (MAX_CHAR_FIELD1_PRIVATE): Deleted.
5656         (MULE_CHAR_PRIVATE_OFFSET): Deleted.
5657         (MIN_CHAR_PRIVATE_TYPE9N): Deleted.
5658         (MAX_CHAR_PRIVATE_TYPE9N): Deleted.
5659         (MIN_CHAR_PRIVATE_TYPE9NX9N): Deleted.
5660         (MIN_CHAR_OFFICIAL_TYPE9NX9N): Deleted.
5661         (MIN_CHAR_COMPOSITION): Deleted.
5662         (breakup_char_1): Use `MAX_CHAR_BASIC_LATIN' instead of
5663         `CHAR_ASCII_P'; use `0x7f' instead of `CHAR_FIELD3_INTERNAL'.
5664
5665 1999-09-02  MORIOKA Tomohiko  <tomo@m17n.org>
5666
5667         * buffer.h: Include mb-utf-8.h in UTF-2000.
5668
5669         * character.h (BUFBYTE_FIRST_BYTE_P): Moved to mb-utf-8.h.
5670
5671         * mb-utf-8.h: New file.
5672
5673 1999-09-02  MORIOKA Tomohiko  <tomo@etl.go.jp>
5674
5675         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use `Charset_ID'
5676         instead of `int'.
5677
5678         * mule-charset.h, buffer.h (Charset_ID): New type.
5679
5680 1999-09-01  MORIOKA Tomohiko  <tomo@etl.go.jp>
5681
5682         * mule-canna.c (c2mu): Use `MAKE_CHAR',
5683         `Vcharset_japanese_jisx0212' and `Vcharset_japanese_jisx0208'
5684         instead of `MULE_CHAR_PRIVATE_OFFSET',
5685         `LEADING_BYTE_JAPANESE_JISX0212', `LEADING_BYTE_JAPANESE_JISX0208'
5686         and `FIELD1_TO_OFFICIAL_LEADING_BYTE'.
5687         (m2c): Use `BREAKUP_CHAR' and `XCHARSET_FINAL'.
5688
5689         * character.h (Vcharset_japanese_jisx0212): New variable
5690         definition.
5691
5692 1999-09-01  MORIOKA Tomohiko  <tomo@etl.go.jp>
5693
5694         * mule-charset.c (Vcharset_ucs_bmp): New variable in UTF-2000.
5695         (charset_by_attributes): Delete array about direction.
5696         (latin_a_char_to_charset): New variable in UTF-2000.
5697         (latin_a_char_to_byte1): New variable in UTF-2000.
5698         (latin_a_char_to_byte2): New variable in UTF-2000.
5699         (Qucs_bmp): New variable.
5700         (next_allocated_1_byte_leading_byte): Use `Charset_ID' instead of
5701         `Bufbyte'.
5702         (next_allocated_2_byte_leading_byte): Likewise.
5703         (non_ascii_set_charptr_emchar): Likewise.
5704         (make_charset): Likewise; add `CHARSET_TYPE_128X128' and
5705         `CHARSET_TYPE_256X256' in UTF-2000; modify for
5706         `charset_by_attributes'.
5707         (get_unallocated_leading_byte): Use `Charset_ID' instead of `int'.
5708         (char-charset): Use `CHAR_CHARSET' instead of `CHAR_LEADING_BYTE'
5709         and `CHARSET_BY_LEADING_BYTE'.
5710         (syms_of_mule_charset): Set up `ucs-bmp'; move setting of
5711         `utf-2000-version' to `vars_of_mule_charset'.
5712         (vars_of_mule_charset): Modify for `charset_by_attributes'; don't
5713         define `leading-code-private-11' in UTF-2000; move setting of
5714         `utf-2000-version' from `syms_of_mule_charset'.
5715         (complex_vars_of_mule_charset): Set up charset `ucs-bmp' in
5716         UTF-2000.
5717
5718         * character.h (Charset_ID): New type.
5719         (LEADING_BYTE_UCS_BMP): New macro.
5720         (LEADING_BYTE_CONTROL_1): Changed from 0x8F to 0x81.
5721         (CHARSET_ID_OFFSET_94): New macro.
5722         (MIN_CHARSET_ID_PRIVATE_94): New macro.
5723         (MAX_CHARSET_ID_PRIVATE_94): New macro.
5724         (LEADING_BYTE_ASCII): Changed to use CHARSET_ID_OFFSET_94 and
5725         final-byte.
5726         (LEADING_BYTE_KATAKANA_JISX0201): Likewise.
5727         (LEADING_BYTE_LATIN_JISX0201): Likewise.
5728         (CHARSET_ID_OFFSET_96): New macro.
5729         (LEADING_BYTE_LATIN_ISO8859_1): Changed to use
5730         CHARSET_ID_OFFSET_96 and final-byte.
5731         (LEADING_BYTE_LATIN_ISO8859_2): Likewise.
5732         (LEADING_BYTE_LATIN_ISO8859_3): Likewise.
5733         (LEADING_BYTE_LATIN_ISO8859_4): Likewise.
5734         (LEADING_BYTE_GREEK_ISO8859_7): Likewise.
5735         (LEADING_BYTE_ARABIC_ISO8859_6): Likewise.
5736         (LEADING_BYTE_HEBREW_ISO8859_8): Likewise.
5737         (LEADING_BYTE_CYRILLIC_ISO8859_5): Likewise.
5738         (LEADING_BYTE_LATIN_ISO8859_9): Likewise.
5739         (LEADING_BYTE_THAI_TIS620): Likewise.
5740         (MIN_LEADING_BYTE_PRIVATE_1): Changed from 0x0D0 to 0xD0.
5741         (MAX_LEADING_BYTE_PRIVATE_1): Changed from 0x11f to 0xDF.
5742         (CHARSET_ID_OFFSET_94x94): New macro.
5743         (LEADING_BYTE_CHINESE_BIG5_1): Changed to use
5744         CHARSET_ID_OFFSET_94x94 and final-byte.
5745         (LEADING_BYTE_CHINESE_BIG5_2): Likewise.
5746         (MIN_LEADING_BYTE_PRIVATE_2): Likewise.
5747         (MAX_LEADING_BYTE_PRIVATE_2): Likewise.
5748         (LEADING_BYTE_JAPANESE_JISX0208_1978): Likewise.
5749         (LEADING_BYTE_CHINESE_GB2312): Likewise.
5750         (LEADING_BYTE_JAPANESE_JISX0208): Likewise.
5751         (LEADING_BYTE_KOREAN_KSC5601): Likewise.
5752         (LEADING_BYTE_JAPANESE_JISX0212): Likewise.
5753         (LEADING_BYTE_CHINESE_CCITT_GB): Likewise.
5754         (LEADING_BYTE_CHINESE_CNS11643_*): Likewise.
5755         (LEADING_BYTE_KOREAN_KPS9566): Likewise.
5756         (CHARSET_TYPE_128X128): New macro.
5757         (CHARSET_TYPE_256X256): New macro.
5758         (XCHARSET_PRIVATE_P): Delete unconditionally.
5759         (charset_by_attributes): Delete array about direction.
5760         (CHARSET_BY_LEADING_BYTE): Use `Charset_ID' instead of `int'.
5761         (CHARSET_BY_ATTRIBUTES): Modify for `charset_by_attributes'.
5762         (MIN_CHAR_94): New macro.
5763         (MAX_CHAR_94): New macro.
5764         (MIN_CHAR_96): New macro.
5765         (MAX_CHAR_96): New macro.
5766         (MIN_CHAR_94x94): New macro.
5767         (MAX_CHAR_94x94): New macro.
5768         (MIN_CHAR_96x96): New macro.
5769         (MAX_CHAR_96x96): New macro.
5770         (FIELD1_TO_PRIVATE_LEADING_BYTE): Use `CHARSET_ID_OFFSET_94x94'.
5771         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Likewise.
5772         (FIELD2_TO_PRIVATE_LEADING_BYTE): Use `(MIN_LEADING_BYTE_PRIVATE_1
5773         - 32)'.
5774         (FIELD2_TO_OFFICIAL_LEADING_BYTE): Use `LEADING_BYTE_ASCII'.
5775         (MIN_CHAR_FIELD2_OFFICIAL): Deleted.
5776         (MAX_CHAR_FIELD2_OFFICIAL): Deleted.
5777         (MIN_CHAR_OFFICIAL_TYPE9N): Deleted.
5778         (MAX_CHAR_PRIVATE_TYPE9N): Changed.
5779         (MAKE_CHAR): Use `XCHARSET_FINAL' instead of
5780         `XCHARSET_LEADING_BYTE' to make code-point.
5781         (latin_a_char_to_charset): New variable.
5782         (latin_a_char_to_byte1): New variable.
5783         (latin_a_char_to_byte2): New variable.
5784         (breakup_char_1): Use `latin_a_char_to_{charset|byte1|byte2}' for
5785         Latin Extended-A; use `CHARSET_BY_ATTRIBUTES' instead of
5786         `CHARSET_BY_LEADING_BYTE' to get charset for ISO-2022 characters.
5787
5788         * insdel.c (find_charsets_in_bufbyte_string): Use `Charset_ID'
5789         instead of `unsigned char'; use `MIN_LEADING_BYTE' instead of 128.
5790         (find_charsets_in_emchar_string): Likewise.
5791         (vars_of_insdel): Don't define local variable `i' in UTF-2000.
5792
5793         * file-coding.c (Fdecode_big5_char): Use `Charset_ID' instead of
5794         `int'.
5795         (decode_coding_iso2022): Likewise.
5796
5797         * toolbar-x.c (x_output_toolbar_button): Use `Charset_ID' instead
5798         of `unsigned char'.
5799
5800         * redisplay.c (redisplay_text_width_emchar_string): Use
5801         `Charset_ID' instead of `unsigned char'.
5802         (redisplay_frame_text_width_string): Likewise.
5803
5804         * glyphs.c (glyph_height_internal): Use `Charset_ID' instead of
5805         `unsigned char'.
5806
5807         * faces.h, faces.c (ensure_face_cachel_complete): Use `Charset_ID'
5808         instead of `unsigned char'.
5809         (face_cachel_charset_font_metric_info): Likewise.
5810
5811         * chartab.c (print_char_table): Use `Charset_ID' instead of `int'.
5812         (get_non_ascii_char_table_value): Likewise.
5813         (get_char_table): Likewise.
5814         (put_char_table): Likewise.
5815         (map_over_other_charset): Likewise.
5816         (map_char_table): Likewise.
5817
5818         * buffer.h (find_charsets_in_bufbyte_string): Use `Charset_ID'
5819         instead of `unsigned char'.
5820
5821 1999-08-31  MORIOKA Tomohiko  <tomo@etl.go.jp>
5822
5823         * character.h (PRE_LEADING_BYTE_PRIVATE_1): Deleted.
5824         (PRE_LEADING_BYTE_PRIVATE_2): Deleted.
5825
5826         * mule-charset.c (leading_code_private_11): Don't define in
5827         UTF-2000.
5828
5829         * mule-ccl.c (ccl_driver): Don't define `CCL_ReadMultibyteChar2'
5830         in UTF-2000 because it is not ported yet and not to use
5831         `PRE_LEADING_BYTE_PRIVATE_1' and `PRE_LEADING_BYTE_PRIVATE_2'.
5832
5833 1999-08-30  MORIOKA Tomohiko  <tomo@etl.go.jp>
5834
5835         * character.h (LEADING_BYTE_COMPOSITE): Deleted.
5836
5837 1999-08-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
5838
5839         * regex.c (re_compile_fastmap): Don't use `LEADING_BYTE_PREFIX_P'
5840         in UTF-2000.
5841
5842         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use int instead
5843         of unsigned char to store leading-byte.
5844
5845         * chartab.c (get_non_ascii_char_table_value): Don't use
5846         `BREAKUP_CHAR_1_UNSAFE' in UTF-2000.
5847
5848         * file-coding.c (encode_coding_big5): Delete bogus implementation
5849         in UTF2000.
5850
5851         * character.h (LEADING_BYTE_*): Delete definition for
5852         non-UTF-2000.
5853         (LEADING_BYTE_PRIVATE_P): Deleted unconditionally.
5854         (LEADING_BYTE_PREFIX_P): Deleted.
5855         (PRIVATE_LEADING_BYTE_PREFIX): Deleted.
5856         (BUFBYTE_FIRST_BYTE_P): Delete definition for non-UTF-2000.
5857         (BUFBYTE_LEADING_BYTE_P): Deleted.
5858         (CHARSET_PRIVATE_P): Deleted unconditionally.
5859         (rep_bytes_by_first_byte): Deleted unconditionally.
5860         (REP_BYTES_BY_FIRST_BYTE): Delete definition for non-UTF-2000.
5861         (FIELD1_TO_PRIVATE_LEADING_BYTE): Likewise.
5862         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Likewise.
5863         (FIELD2_TO_PRIVATE_LEADING_BYTE): Likewise.
5864         (CHAR_FIELD2): Deleted.
5865         (CHAR_FIELD3): Deleted.
5866         (MAKE_CHAR): Delete definition for non-UTF-2000.
5867         (BREAKUP_CHAR_1_UNSAFE): Deleted.
5868         (breakup_char_1): New implementation.
5869         (CHAR_CHARSET): Use `BREAKUP_CHAR'.
5870         (CHAR_LEADING_BYTE): Use `CHAR_CHARSET'.
5871
5872 1999-08-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
5873
5874         * character.h (REP_BYTES_BY_FIRST_BYTE): Change order of
5875         condition.
5876
5877 1999-08-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
5878
5879         * character.h (LEADING_BYTE_PRIVATE_P): Don't define in UTF2000.
5880         (CHARSET_PRIVATE_P): Likewise.
5881         (XCHARSET_PRIVATE_P): Likewise.
5882         (MAKE_CHAR): Don't use XCHARSET_PRIVATE_P in UTF2000.
5883
5884         * file-coding.c (encode_coding_ucs4): Delete bogus implement in
5885         UTF2000.
5886         (decode_coding_iso2022): Don't use XCHARSET_PRIVATE_P in UTF2000.
5887
5888 1999-08-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
5889
5890         * character.h (LEADING_BYTE_*): Changed in UTF2000.
5891         (NUM_LEADING_BYTES): Changed from 128 to 256.
5892         (FIELD1_TO_PRIVATE_LEADING_BYTE): Change value to 0x80 in UTF2000.
5893         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Change value to 0x80 in
5894         UTF2000.
5895         (FIELD2_TO_PRIVATE_LEADING_BYTE): Change value to 0x80 in UTF2000.
5896
5897         * mule-charset.c (Vcharset_chinese_cns11643_3): New variable in
5898         UTF2000.
5899         (Vcharset_chinese_cns11643_4): New variable in UTF2000.
5900         (Vcharset_chinese_cns11643_5): New variable in UTF2000.
5901         (Vcharset_chinese_cns11643_6): New variable in UTF2000.
5902         (Vcharset_chinese_cns11643_7): New variable in UTF2000.
5903         (Qchinese_cns11643_3): New variable in UTF2000.
5904         (Qchinese_cns11643_4): New variable in UTF2000.
5905         (Qchinese_cns11643_5): New variable in UTF2000.
5906         (Qchinese_cns11643_6): New variable in UTF2000.
5907         (Qchinese_cns11643_7): New variable in UTF2000.
5908         (syms_of_mule_charset): Define `chinese-cns11643-3',
5909         `chinese-cns11643-4', `chinese-cns11643-5', `chinese-cns11643-6'
5910         and `chinese-cns11643-7' in UTF2000.
5911         (vars_of_mule_charset): Initialize
5912         next_allocated_2_byte_leading_byte by LEADING_BYTE_CHINESE_BIG5_2
5913         + 1 in UTF2000.
5914         (complex_vars_of_mule_charset): Setup charset
5915         `chinese-cns11643-3', `chinese-cns11643-4', `chinese-cns11643-5',
5916         `chinese-cns11643-6' and `chinese-cns11643-7' in UTF2000.
5917
5918 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
5919
5920         * mule-charset.c: Move setting for `leading-code-private-11' from
5921         `syms_of_mule_charset' to `vars_of_mule_charset'.
5922
5923 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
5924
5925         * mule-charset.h (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE'
5926         and `NUM_LEADING_BYTES' in assert.
5927
5928 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
5929
5930         * character.h (charset_by_leading_byte): Use `NUM_LEADING_BYTES'
5931         instead of 128.
5932         (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE' and
5933         `NUM_LEADING_BYTES' instead of 128.
5934
5935 1999-08-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
5936
5937         * mule-charset.h (charset_by_leading_byte): Use
5938         `NUM_LEADING_BYTES' instead of 128.
5939         (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE' instead of 128.
5940
5941         * mule-charset.c (charset_by_leading_byte): Use
5942         `NUM_LEADING_BYTES' instead of 128.
5943         (make_charset): Use `MIN_LEADING_BYTE' instead of 128.
5944
5945         * faces.h (FACE_CACHEL_FONT): Use `MIN_LEADING_BYTE' instead of
5946         128.
5947
5948 1999-08-25  MORIOKA Tomohiko  <tomo@etl.go.jp>
5949
5950         * mule-charset.c (syms_of_mule_charset): Update to
5951         0.4 (Shin-Imamiya).
5952
5953 1999-07-13 Daiki Ueno <ueno@ueda.info.waseda.ac.jp>
5954
5955         * file-coding.c (encode_coding_sjis): New implementation for
5956         UTF2000.  (decode_coding_sjis): Ditto.
5957
5958 1999-06-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
5959
5960         * mule-charset.c, character.h (Bytecount rep_bytes_by_first_byte):
5961         Don't define in UTF2000.
5962
5963         * character.h: Include mule-charset.h if CHAR_IS_UCS4 is not
5964         defined.
5965
5966         * redisplay-msw.c, objects-tty.c, objects-msw.c, mule-wnnfns.c,
5967         mule-ccl.c, lstream.h, buffer.h: Include character.h in every
5968         MULE.
5969
5970 1999-06-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
5971
5972         * config.h.in (CHAR_IS_UCS4): New macro.
5973
5974         * mule-charset.c (rep_bytes_by_first_byte): Modify for
5975         conventional MULE representation.
5976         (syms_of_mule_charset): Update to 0.3 (Imamiya).
5977
5978         * mule-charset.h: Reverted to original.
5979
5980         * redisplay-msw.c, objects-tty.c, objects-msw.c, mule-wnnfns.c,
5981         mule-ccl.c, lstream.h, buffer.h: Use "character.h" instead of
5982         "mule-charset.h" if CHAR_IS_UCS4 is defined.
5983
5984         * character.h: New file.
5985
5986         * file-coding.c (Fmake_coding_system): Set 1 to
5987         `codesys->fixed.size' if TYPE is `no-conversion' and UTF2000 is
5988         defined.
5989         (encode_coding_no_conversion): New implementation for UTF2000.
5990
5991         * file-coding.h (struct Lisp_Coding_System): Add new member
5992         `fixed.size'.
5993
5994 1999-06-16  MORIOKA Tomohiko  <tomo@etl.go.jp>
5995
5996         * file-coding.c (decode_coding_iso2022): Code-point arguments of
5997         `MAKE_CHAR' must be smaller than 0x80 in UTF2000.
5998         (encode_coding_iso2022): New implementation for UTF2000.
5999
6000 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
6001
6002         * mule-canna.c (c2mu): New implementation for UTF2000.
6003         (m2c): Likewise.
6004
6005 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
6006
6007         * file-coding.c (encode_coding_no_conversion): Modify for UTF2000.
6008
6009 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
6010
6011         * file-coding.c (reset_encoding_stream): Set 0 to
6012         `str->iso2022.current_char_boundary' in UTF2000.
6013         (encode_utf8): Don't define in UTF2000.
6014         (encode_coding_utf8): New implementation for UTF-8 representation
6015         of UTF2000.
6016         (complex_vars_of_file_coding): Define coding-system `utf-8'.
6017
6018 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
6019
6020         * mule.c (vars_of_mule): Provide `utf-2000' in UTF2000.
6021
6022         * mule-charset.h (BUFBYTE_FIRST_BYTE_P): Modify for UTF-8 in
6023         UTF2000.
6024         (REP_BYTES_BY_FIRST_BYTE): Likewise.
6025
6026         * buffer.h (non_ascii_valid_char_p): Don't define in UTF2000.
6027
6028         * mule-charset.c (non_ascii_set_charptr_emchar): Don't define
6029         local variables `lb', `c1', `c2' and `charset' in UTF2000; encode
6030         as UTF-8 in UTF2000.
6031         (non_ascii_charptr_emchar): Decode as UTF-8 in UTF2000.
6032         (non_ascii_valid_char_p): Don't define in UTF2000.
6033         (non_ascii_charptr_copy_char): Add case 5 and 6 in UTF2000.
6034         (Lstream_get_emchar_1): Likewise.
6035         (utf-2000-version): New variable in UTF2000.
6036
6037         * lread.c (read_escape): Add new reader `u'.
6038
6039         * insdel.c (three_to_one_table): Don't define in UTF2000.
6040         (bufpos_to_bytind_func): Use `buf->text->mule_size' instead of
6041         `buf->text->mule_shifter' and `buf->text->mule_three_p' in
6042         UTF2000.
6043         (bytind_to_bufpos_func): Likewise.
6044         (buffer_mule_signal_inserted_region): Likewise.
6045         (vars_of_insdel): Don't initialize `three_to_one_table'.
6046         (init_buffer_text): Use `buf->text->mule_size' instead of
6047         `buf->text->mule_shifter' and `buf->text->mule_three_p' in
6048         UTF2000.
6049
6050         * file-coding.c (DECODE_ADD_BINARY_CHAR): New implementation for
6051         UTF-8 representation in UTF2000.
6052         (DECODE_ADD_UCS_CHAR): New macro in UTF2000.
6053         (decode_ucs4): Use `DECODE_ADD_UCS_CHAR' in UTF2000.
6054         (decode_coding_iso2022): Don't define local variable `lb' in
6055         UTF2000; don't use LEADING_BYTE in UTF2000; use
6056         `DECODE_ADD_UCS_CHAR' in UTF2000.
6057         (convert_to_external_format): Decode as UTF-8 in UTF2000.
6058
6059         * config.h.in (UTF2000): New macro.
6060
6061         * buffer.h (struct buffer_text): Add new member `mule_size' and
6062         don't add `mule_shifter' and `mule_three_p' in UTF2000.
6063         (valid_char_p): Return always 1 in UTF2000.
6064         (MAX_EMCHAR_LEN): 6 in UTF2000.
6065         (three_to_one_table): Don't define in UTF2000.
6066         (real_bufpos_to_bytind): Modify for UTF-8 representation in
6067         UTF2000.
6068         (real_bytind_to_bufpos): Likewise.
6069
6070         * alloc.c (Fmake_string): Add case 5 and 6 for UTF2000.
6071
6072 1999-06-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
6073
6074         * mule-charset.c (rep_bytes_by_first_byte): Modified for character
6075         representation change.
6076         (Vutf_2000_version): New variable.
6077         (leading_code_private_11): New variable.
6078         (syms_of_mule_charset): Add new variables `utf-2000-version' and
6079         `leading-code-private-11'.
6080
6081         * mule-charset.h (LEADING_BYTE_CHINESE_CCITT_GB): New macro.
6082         (LEADING_BYTE_CHINESE_BIG5_1): Changed to 0x96 temporally.
6083         (LEADING_BYTE_CHINESE_CNS11643_1): Changed to 0x97.
6084         (LEADING_BYTE_CHINESE_CNS11643_2): Changed to 0x98.
6085         (LEADING_BYTE_CHINESE_CNS11643_3): New macro.
6086         (LEADING_BYTE_CHINESE_CNS11643_4): Likewise.
6087         (LEADING_BYTE_CHINESE_CNS11643_5): Likewise.
6088         (LEADING_BYTE_CHINESE_CNS11643_6): Likewise.
6089         (LEADING_BYTE_CHINESE_CNS11643_7): Likewise [but not used].
6090         (LEADING_BYTE_CHINESE_BIG5_2): Changed to 0x9D temporally.
6091         (LEADING_BYTE_KOREAN_KPS9566): New macro [but not used].
6092         (CHAR_FIELD1_MASK): Changed to (0x7F << 14).
6093         (MIN_CHAR_GREEK): New macro.
6094         (MAX_CHAR_GREEK): New macro.
6095         (MIN_CHAR_CYRILLIC): New macro.
6096         (MAX_CHAR_CYRILLIC): New macro.
6097         (MIN_CHAR_HEBREW): New macro.
6098         (MAX_CHAR_HEBREW): New macro.
6099         (MIN_CHAR_THAI): New macro.
6100         (MAX_CHAR_THAI): New macro.
6101         (MIN_CHAR_HALFWIDTH_KATAKANA): New macro.
6102         (MAX_CHAR_HALFWIDTH_KATAKANA): New macro.
6103         (CHAR_FIELD2_INTERNAL): New macro [renamed from `CHAR_FIELD2'.
6104         (CHAR_FIELD3_INTERNAL): New macro [renamed from `CHAR_FIELD3'.
6105         (FIELD1_TO_PRIVATE_LEADING_BYTE): Changed to 0xc0.
6106         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Changed to 0x50.
6107         (CHAR_FIELD2): New inline function.
6108         (CHAR_FIELD3): New inline function.
6109         (MULE_CHAR_PRIVATE_OFFSET): New macro.
6110         (MIN_CHAR_OFFICIAL_TYPE9N): Shifted to `MULE_CHAR_PRIVATE_OFFSET'.
6111         (MIN_CHAR_PRIVATE_TYPE9N): Likewise.
6112         (MIN_CHAR_PRIVATE_TYPE9NX9N): Likewise.
6113         (MIN_CHAR_OFFICIAL_TYPE9NX9N): Likewise.
6114         (MIN_CHAR_COMPOSITION): Likewise.
6115         (CHAR_LEADING_BYTE): Modified for character representation change.
6116         (MAKE_CHAR): Likewise.
6117
6118         * lisp.h (Vcharset_latin_iso8859_1): New variable.
6119         (Vcharset_greek_iso8859_7): Likewise.
6120         (Vcharset_cyrillic_iso8859_5): Likewise.
6121         (Vcharset_hebrew_iso8859_8): Likewise.
6122         (Vcharset_thai_tis620): Likewise.
6123         (Vcharset_katakana_jisx0201): Likewise.
6124
6125 2008-12-28  Vin Shelton  <acs@xemacs.org>
6126
6127         * XEmacs 21.4.22 is released
6128
6129 2008-12-27  Vin Shelton  <acs@xemacs.org>
6130
6131         * syswindows.h: Don't define wide character interfaces for Cygwin
6132         1.7 and up.
6133
6134 2008-03-05  Dominique Quatravaux  <domq@cpan.org>
6135
6136         * glyphs-gtk.c: Fixed compilation under gcc 4.x.
6137
6138 2008-11-01  Stephen J. Turnbull  <stephen@xemacs.org>
6139
6140         * regex.c (re_search_2): Fix at_dot by changing charpos to bytepos.
6141         From Julian Bradfield <18654.1143.304851.782755@krk.inf.ed.ac.uk>.
6142
6143 2008-12-25  Vin Shelton  <acs@xemacs.org>
6144
6145         * mule-ccl.c (ccl_driver): Fix off-by-one error.
6146         By Julian Bradfield in
6147         <18691.16568.526264.972026@krk.inf.ed.ac.uk>.
6148
6149         * mule-ccl.c (ccl_driver): 
6150
6151 2007-10-07  Vin Shelton  <acs@xemacs.org>
6152
6153         * XEmacs 21.4.21 is released
6154
6155 2007-08-14  Marcus Crestani  <crestani@xemacs.org>
6156
6157         * s/sol2.h: Fix for GCC lossage not needed with SunOS 5.10.
6158
6159 2007-02-17  Stephen J. Turnbull  <stephen@xemacs.org>
6160
6161         * glyphs-eimage.c (png_instantiate_unwind): Avoid recursion.
6162         (png_instantiate): Initialize setjmp_buffer early, and avoid
6163         recursive entry to error handler.
6164
6165 2007-06-23  Stephen J. Turnbull  <stephen@xemacs.org>
6166
6167         * linuxplay.c (linux_play_data_or_file): More 64-bit tweaking, and
6168         a typo fix.
6169
6170 2007-05-12  Aidan Kehoe  <kehoea@parhasard.net>
6171
6172         * event-Xt.c (x_reset_modifier_mapping):
6173         * event-gtk.c (gtk_reset_modifier_mapping):
6174         Zero out the device's modifier map once we've freed it, to prevent
6175         a double free on a re-entrant call. 
6176
6177 2007-05-17  Vin Shelton  <acs@xemacs.org>
6178
6179         * linuxplay.c (linux_play_data_or_file): Fix playing sound on
6180         64-bit linux.  Patch from Hans de Graaff.
6181
6182 2007-05-02  Vin Shelton  <acs@xemacs.org>
6183
6184         * dumper.c (pdump): Don't close pdump_fd (already closed by
6185         fclose() call.  Patch from Steve Higham.
6186         * callproc.c (Fold_call_process_internal): Don't close fd1 if it's
6187         already closed.  Patch inspired by Steve Higham.
6188
6189 2007-05-01  Vin Shelton  <acs@xemacs.org>
6190
6191         * nt.c (mswindows_stat): Tie _S_IEXEC permission to read access.
6192         (mswindows_fstat): Ditto.
6193         * sysfile.h: Under Windows, define X_OK to be the same as R_OK.
6194
6195 2007-02-08  Adrian Aichner  <adrian@xemacs.org>
6196
6197         * postgresql.c: Update Steve Baur's email address by his request.
6198         * postgresql.h: Ditto.
6199
6200 2007-01-04  Vin Shelton  <acs@xemacs.org>
6201
6202         * fileio.c (check_writable): Check old-style readonly bit only for
6203         non-directories.
6204
6205 2006-12-25  Benson I. Margulies  <benson@dchbk.us>
6206
6207         * src/fileio.c (check_writable): 
6208         Cope with the fact that the read-only attribute trumps Windows NTFS
6209         ACLS.
6210
6211
6212 2006-12-09  Vin Shelton  <acs@xemacs.org>
6213
6214         * XEmacs 21.4.20 is released
6215
6216 2006-12-08  Nelson Ferreira  <njsf@sxemacs.org>
6217
6218         * src/fns.c (XMALLOC_OR_ALLOCA,free_malloced_ptr,XMALLOC_UNBIND):
6219         relocated the definitions to be used sooner in file.
6220         (concat,plists_differ,mapcar1,Fmapconcat,Fmapcar): Use
6221         XMALLOC_OR_ALLOCA macro instead of alloca to prevent stack
6222         overflow.
6223
6224 2006-11-29  Aidan Kehoe  <kehoea@parhasard.net>
6225
6226         * sound.c (init_native_sound):
6227         Only X11 and GTK devices can possibly not be on the console of the
6228         associated machine. Fixes a crash when init_native_sound is called
6229         on a msprinter device. 
6230
6231 2006-11-14  Stephen J. Turnbull  <stephen@xemacs.org>
6232
6233         * buffer.c (buffer-file-name): Document invariant.
6234         (buffer-file-truename): Sync wording to buffer-file-name.
6235         Thanks to Nelson Ferreira <nelson.ferreira@ieee.org> for report
6236         and discussion.
6237
6238 2006-11-19  Benson Margulies  <benson@dchbk.us>
6239
6240         * fileio.c: Add code to use full Win32 API to check for write
6241         access.  Win32 has the general design policy that you aren't
6242         supposed to ask this question, since security checks change
6243         depending on asynchronous processes.  Nonetheless, there is a way,
6244         by acting as if we are a server doing interpretive access
6245         control.
6246
6247 2006-07-31  Aidan Kehoe <kehoea@parhasard.net>
6248
6249         * bytecode.c: Use xnew_array instead of alloca.
6250
6251 2006-07-04  Vin Shelton  <acs@xemacs.org>
6252
6253         * redisplay-msw.c: Fix tiny, but crucial typo.
6254
6255 2006-06-22  Jerry James  <james@xemacs.org>
6256
6257         * EmacsShell-sub.c (ChangeManaged):
6258         * device-x.c (x_IO_error_handler): Do not dereference d if it is
6259         NULL.
6260         * dgif_lib.c (DGifCloseFile): Do not dereference GifFile before
6261         checking if it is NULL.  Also fix a memory leak.
6262         * dialog-x.c (dbox_selection_callback): Ensure f is non-NULL, then
6263         dereference it, not the other way around.
6264         * dumper.c (pdump_register_object): Fix off-by-one array bounds
6265         overflow check.
6266         * dumper.c (pdump_register_struct): Ditto.
6267         * editfns.c (Ftemp_directory): Don't let a copy from (long) path
6268         to (short) warnpath overflow warnpath.
6269         * extents.c (detach_all_extents): Call extent_list_delete_all with
6270         a non-NULL parameter only.
6271         * glyphs-widget.c (widget_query_geometry): Guard against possibly
6272         NULL width and height.
6273         * input-method-xlib.c (XIM_SetGeometry): Do not dereference f or
6274         xic before checking if they are NULL.
6275         * keymap.c (where_is_recursive_mapper): Don't throw away the newly
6276         allocated array.
6277         * md5.c (Fmd5): Check whether Lstream_read encountered an error.
6278         * nas.c (Err): Fix a memory leak.
6279         * redisplay-gtk.c (gtk_output_display_block): Fix a Dynarr leak.
6280         Don't create the buffer if there is nothing to do.
6281         * redisplay-msw.c (mswindows_output_display_block): Ditto.
6282         * redisplay-output.c (redisplay_output_layout): Ditto.
6283         * redisplay-tty.c (tty_output_display_block): Ditto.
6284         * redisplay-x.c (x_output_display_block): Ditto.
6285         * scrollbar-gtk.c (gtk_free_scrollbar_instance): Do not
6286         dereference instance->scrollbar_data if it is NULL.
6287         * scrollbar-x.c (x_free_scrollbar_instance): Ditto.
6288         * scrollbar-msw.c (mswindows_free_scrollbar_instance): Ditto, but
6289         for sb->scrollbar_data.
6290         * sound.c (init_native_sound): Avoid a buffer overflow by
6291         allocating a buffer with the appropriate size.
6292
6293 2006-05-08  Stephen J. Turnbull  <stephen@xemacs.org>
6294
6295         * EmacsShell-sub.c (RootGeometryManager):
6296         Change garbage to useful messages under DEBUG_GEOMETRY_MANAGEMENT.
6297         Based on a suggestion by Francois L'Archeveque.
6298
6299 2006-03-21  Malcolm Purvis  <malcolmp@xemacs.org>
6300
6301         * regex.c: Bump INIT_FAILURE_ALLOC and re_max_failures to the
6302         current values found in GNU Emacs.
6303
6304 2006-03-17  Vin Shelton  <acs@xemacs.org>
6305
6306         * dialog-msw.c (handle_directory_dialog_box): Don't declare
6307         Q_title here.  LOCAL_FILE_FORMAT_TO_TSTR requires an lvalue.
6308
6309         * glyphs-msw.c (read_bitmap_data): change 'initialized' to
6310         'hex_initialized' because it conflicts with 'initialized' in
6311         lisp.h.
6312
6313 2006-01-28  Vin Shelton  <acs@xemacs.org>
6314
6315         * XEmacs 21.4.19 is released
6316
6317 2006-01-20  Rick Rankin <rrankin1424-xemacs@yahoo.com>
6318
6319         * sysdir.h: Workaround missing d_ino field from 'struct dirent'.
6320
6321 2005-12-24  Aidan Kehoe  <kehoea@parhasard.net>
6322
6323         * objects-gtk.c (MAX_FONT_COUNT): Increase MAX_FONT_COUNT from
6324         5000 to INT_MAX.
6325
6326 2005-12-05  Dr. Volker Zell  <Dr.Volker.Zell@oracle.com>
6327
6328         * database.c: Suppress compiler warning under Cygwin.
6329         * database.c: Removed __FreeBSD__ check, should be handled by
6330         HAVE_U_xxx_T defines.
6331
6332 2005-12-18  Malcolm Purvis  <malcolmp@xemacs.org>
6333
6334         * console.c (stuff_buffered_input): Compile body only if
6335         HAVE_TTY.
6336
6337 2005-05-10  Aidan Kehoe  <kehoea@parhasard.net>
6338
6339         * callproc.c: #include sysdir.h, so that any appropriate Mule
6340         magic happens with the chdir() call when calling a subprocess. 
6341
6342 2005-12-06  Aidan Kehoe  <kehoea@parhasard.net>
6343
6344         * mule-ccl.c (POSSIBLE_LEADING_BYTE_P): Add.
6345         * mule-ccl.c: Check that a character set exists before using it
6346         to create a character. 
6347
6348 2005-12-06  Vin Shelton  <acs@xemacs.org>
6349
6350         * objects-x.c (MAX_FONT_COUNT): Increase MAX_FONT_COUNT from 5000
6351         to INT_MAX.
6352
6353 2005-12-03  Vin Shelton <acs@xemacs.org>
6354
6355         * XEmacs 21.4.18 is released
6356
6357 2005-11-27  Kean Johnston <kean@armory.com>
6358
6359         * redisplay-tty.c (set_tty_modes):
6360         (reset_tty_modes): disable auto-margins if the terminal supports
6361         them.
6362         (init_tty_for_redisplay): fix cursor shape.
6363
6364 2005-04-05  Aidan Kehoe  <kehoea@parhasard.net>
6365
6366         * mule-ccl.c (ccl_driver): Calculate the charset and position code
6367         for control-1 characters properly, both when reading multibyte
6368         characters and writing them. 
6369
6370 2005-03-12  Aidan Kehoe  <kehoea@parhasard.net>
6371
6372         * config.h.in: Make HAVE_XTREGISTERDRAWABLE available. 
6373         * select-x.c (x_reply_selection_request): Use it; fix the bug we
6374         were seeing with incremental selection transfer failing. 
6375
6376 2005-11-26  Vin Shelton  <acs@xemacs.org>
6377
6378         * callproc.c (Fold_call_process_internal): Create the buffer if it
6379         does not already exist.  The original patch came from Ben Wing in
6380         http://list-archive.xemacs.org/xemacs-patches/200205/msg00117.html
6381
6382 2002-05-13  Adrian Aichner  <adrian@xemacs.org>
6383
6384         * callproc.c: Process-related docstring improvements spurred by
6385         Norbert Koch.
6386
6387 2005-11-25  Vin Shelton  <acs@xemacs.org>
6388
6389         * depend: Regenerated.
6390
6391 2005-07-11  Malcolm Purvis  <malcolmp@xemacs.org>
6392
6393         * glyphs-gtk.c:  Rename a local static variable because gcc 4.0
6394         says it clashes with a global with the same name.
6395
6396 2005-07-11  Atanu Ghosh <atanu@icsi.berkeley.edu>
6397
6398         * sysdll.c (dll_open): Under MacOS X return NULL under the
6399         filename is NULL.  Fixes problems finding local symbols under 10.4
6400         (Tiger)
6401
6402 2005-11-15  Dr. Volker Zell  <Dr.Volker.Zell@oracle.com>
6403         
6404         * config.h.in: New HAVE_U_INT*_T defines.
6405         
6406         * database.c: Only use u_int*_t typedefs if not already
6407         defined.
6408
6409 2005-04-07 15:08  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
6410
6411         * src/process-unix.c (unix_open_network_stream): moved
6412           'portbuf' buffer out of an inner block as it is used in the
6413           entire function. With gcc4, the stack may get corrupted
6414           after leaving this block. This patches adjusts the size of
6415           the used buffer also; static '128' bytes are far too much
6416           currently and might not suffice for future architectures
6417           (e.g. for 512 bit ones ;)). Instead of, use only the really
6418           required space (max octets * ln(256)/ln(10) chars + space
6419           for '\0' and the sign)
6420
6421 2005-04-08  Aidan Kehoe  <kehoea@parhasard.net>
6422
6423         * callproc.c: Include sysdir.h, so any necessary Mule processing
6424         is done on the current directory name before starting a new
6425         process.
6426
6427 2005-04-06  Stephen J. Turnbull  <stephen@xemacs.org>
6428
6429         * chartab.c (Fchar_table_p):
6430         (Fget_range_char_table):
6431         (Fput_char_table):
6432         (Fmap_char_table):
6433         Describe range representation and fix typo.
6434
6435 2005-02-12  Vin Shelton  <acs@xemacs.org>
6436
6437         * emacs.c (shut_down_emacs): Advise users to send email to the
6438         xemacs-beta list instead of crashes@xemacs.org.
6439
6440 2005-02-03  David Evers  <extsw@appliedgenerics.com>
6441
6442         * process-unix.c (unix_send_process): Flush the last chunk, even
6443         when the pipe is blocked.
6444
6445 2005-02-06  Vin Shelton <acs@xemacs.org>
6446
6447         * XEmacs 21.4.17 is released
6448
6449 2005-01-31  Ben Wing  <ben@xemacs.org>
6450
6451         * emacs.c:
6452         Define assert_failed() always.
6453         * lisp.h:
6454         Always define ABORT().
6455
6456 2005-01-25  Ben Wing  <ben@xemacs.org>
6457
6458         * Makefile.in.in:
6459         * Makefile.in.in (%.o):
6460         Don't compile executable as Windows (-mwindows) under Cygwin.
6461         Semi-recent changes to Cygwin's executable-startup handling make
6462         it impossible to access the TTY this way.
6463
6464         Don't use special linker file under Cygwin (cygwin.sc) except
6465         when non-PDUMP (even in this case it is highly questionable); you
6466         get errors like
6467
6468       1 [main] temacs 1364 fhandler_console::fixup_after_exec: error opening input console handle after exec, errno 13, Win32 error 5
6469    5820 [main] temacs 1364 fhandler_console::fixup_after_exec: error opening output console handle after exec, errno 13, Win32 error 5
6470
6471 2005-01-29  Ben Wing  <ben@xemacs.org>
6472
6473         Port this: 2003-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
6474
6475         * mule-charset.c (get_unallocated_leading_byte): Compiler quietus.
6476
6477 2005-01-29  Ben Wing  <ben@xemacs.org>
6478
6479         * bytecode.c (optimize_compiled_function):
6480         * print.c (FROB):
6481         * print.c (long_to_string):
6482         Add casts to avoid warning.
6483         
6484         * glyphs-eimage.c:
6485         Some really nasty hacks to allow TIFF and JPEG to both be compiled.
6486         #### The better solution is to move the TIFF and JPEG code to
6487         different files.
6488         
6489         * glyphs-msw.c (mswindows_xbm_instantiate):
6490         Define __STDC__ to avoid problems with compface.h.
6491         
6492         * EmacsFrame.c (EmacsFrameRecomputeCellSize):
6493         * EmacsShell-sub.c:
6494         * EmacsShell-sub.c (ABORT):
6495         * EmacsShell-sub.c (SuperClassRootGeometryManager):
6496         * EmacsShell-sub.c (RootGeometryManager):
6497         * EmacsShell.c:
6498         * EmacsShell.c (ABORT):
6499         * EmacsShell.c (EmacsShellUpdateSizeHints):
6500         * alloc.c (free_lcrecord):
6501         * alloca.c (i00afunc):
6502         * buffer.c (delete_from_buffer_alist):
6503         * buffer.c (MARKED_SLOT):
6504         * bytecode.c (execute_rare_opcode):
6505         * bytecode.c (optimize_byte_code):
6506         * bytecode.c (Ffetch_bytecode):
6507         * chartab.c (char_table_type_to_symbol):
6508         * chartab.c (Freset_char_table):
6509         * chartab.c (decode_char_table_range):
6510         * chartab.c (Fget_range_char_table):
6511         * chartab.c (check_valid_char_table_value):
6512         * chartab.c (map_char_table):
6513         * chartab.c (slow_map_char_table_fun):
6514         * chartab.c (chartab_instantiate):
6515         * cm.c (cmcheckmagic):
6516         * console-msw.c (DHEADER):
6517         * console.c (MARKED_SLOT):
6518         * data.c (finish_marking_weak_lists):
6519         * data.c (encode_weak_list_type):
6520         * debug.h (DASSERT):
6521         * device-gtk.c (gtk_init_device):
6522         * device-msw.c (mswindows_get_default_margin):
6523         * device-tty.c (tty_init_device):
6524         * device-x.c (get_device_from_display):
6525         * device-x.c (x_get_visual_depth):
6526         * doprnt.c (parse_doprnt_spec):
6527         * doprnt.c (get_doprnt_args):
6528         * dumper.c (pdump_get_indirect_count):
6529         * dumper.c (pdump_register_sub):
6530         * dumper.c (pdump_register_object):
6531         * dumper.c (pdump_register_struct):
6532         * dumper.c (pdump_dump_data):
6533         * dumper.c (pdump_reloc_one):
6534         * elhash.c (print_hash_table):
6535         * elhash.c (make_standard_lisp_hash_table):
6536         * elhash.c (hash_table_instantiate):
6537         * emacs.c:
6538         * emacs.c (Fforce_debugging_signal):
6539         * emacs.c (sort_args):
6540         * emacs.c (main):
6541         * emacs.c (assert_failed):
6542         * eval.c (throw_or_bomb_out):
6543         * eval.c (signal_1):
6544         * eval.c (Fsignal):
6545         * event-Xt.c:
6546         * event-Xt.c (emacs_Xt_mapping_action):
6547         * event-Xt.c (Xt_process_to_emacs_event):
6548         * event-msw.c:
6549         * event-stream.c (check_event_stream_ok):
6550         * event-stream.c (Fadd_timeout):
6551         * event-stream.c (Fadd_async_timeout):
6552         * event-stream.c (Fdiscard_input):
6553         * event-stream.c (execute_internal_event):
6554         * event-stream.c (Frecent_keys):
6555         * event-stream.c (extract_this_command_keys_nth_mouse_event):
6556         * event-stream.c (lookup_command_event):
6557         * event-unixoid.c (poll_fds_for_input):
6558         * events.c:
6559         * events.c (mark_event):
6560         * events.c (event_equal):
6561         * events.c (event_hash):
6562         * events.c (Fmake_event):
6563         * events.c (Fdeallocate_event):
6564         * events.c (event_chain_find_previous):
6565         * events.c (event_to_character):
6566         * events.c (format_event_object):
6567         * events.c (Fevent_type):
6568         * events.c (event_pixel_translation):
6569         * events.c (Fevent_properties):
6570         * extents.c (extent_in_region_p):
6571         * extents.c (print_extent):
6572         * extents.c (process_extents_for_insertion_mapper):
6573         * extents.c (report_extent_modification_mapper):
6574         * extents.c (glyph_layout_to_symbol):
6575         * faces.c (face_validate):
6576         * file-coding.c (eol_type_to_symbol):
6577         * file-coding.c (subsidiary_coding_system):
6578         * file-coding.c (Fcoding_system_type):
6579         * file-coding.c (Fcoding_system_property):
6580         * file-coding.c (mule_decode):
6581         * file-coding.c (mule_encode):
6582         * file-coding.c (encode_coding_ucs4):
6583         * file-coding.c (encode_coding_utf8):
6584         * file-coding.c (parse_iso2022_esc):
6585         * file-coding.c (encode_coding_iso2022):
6586         * fileio.c:
6587         * fns.c (concat):
6588         * fns.c (Fsubseq):
6589         * fns.c (mapcar1):
6590         * fns.c (Fbase64_encode_region):
6591         * fns.c (Fbase64_encode_string):
6592         * fns.c (Fbase64_decode_region):
6593         * fns.c (Fbase64_decode_string):
6594         * font-lock.c (find_context):
6595         * font-lock.c (context_to_symbol):
6596         * frame-gtk.c (gtk_set_frame_pointer):
6597         * frame-gtk.c (gtk_update_frame_external_traits):
6598         * frame-x.c (x_wm_mark_shell_size_user_specified):
6599         * frame-x.c (x_wm_mark_shell_position_user_specified):
6600         * frame-x.c (x_wm_set_shell_iconic_p):
6601         * frame-x.c (x_wm_set_cell_size):
6602         * frame-x.c (x_wm_set_variable_size):
6603         * frame-x.c (x_wm_store_class_hints):
6604         * frame-x.c (x_wm_maybe_store_wm_command):
6605         * frame-x.c (x_initialize_frame_size):
6606         * frame-x.c (x_update_frame_external_traits):
6607         * frame.c:
6608         * frame.c (delete_frame_internal):
6609         * frame.c (mouse_pixel_position_1):
6610         * frame.c (change_frame_size_1):
6611         * free-hook.c (check_free):
6612         * free-hook.c (check_realloc):
6613         * free-hook.c (note_block_input):
6614         * free-hook.c (log_gcpro):
6615         * gccache-gtk.c (gc_cache_lookup):
6616         * glyphs-eimage.c (tiff_memory_write):
6617         * glyphs-gtk.c (gtk_finalize_image_instance):
6618         * glyphs-gtk.c (init_image_instance_from_gdk_pixmap):
6619         * glyphs-gtk.c (init_image_instance_from_xbm_inline):
6620         * glyphs-gtk.c (gtk_xpm_instantiate):
6621         * glyphs-gtk.c (gtk_unmap_subwindow):
6622         * glyphs-gtk.c (gtk_map_subwindow):
6623         * glyphs-gtk.c (gtk_button_redisplay):
6624         * glyphs-msw.c:
6625         * glyphs-msw.c (init_image_instance_from_xbm_inline):
6626         * glyphs-x.c (init_image_instance_from_xbm_inline):
6627         * glyphs-x.c (extract_xpm_color_names):
6628         * glyphs-x.c (x_xpm_instantiate):
6629         * glyphs.c (get_image_instantiator_governing_domain):
6630         * glyphs.c (print_image_instance):
6631         * glyphs.c (image_instance_equal):
6632         * glyphs.c (image_instance_hash):
6633         * glyphs.c (encode_image_instance_type):
6634         * glyphs.c (make_image_instance_1):
6635         * glyphs.c (inherit_instantiate):
6636         * glyphs.c (image_instantiate):
6637         * glyphs.c (allocate_glyph):
6638         * glyphs.c (Fglyph_type):
6639         * glyphs.c (redisplay_subwindow):
6640         * glyphs.c (display_table_entry):
6641         * gtk-glue.c (xemacs_list_to_gtklist):
6642         * gtk-glue.c (xemacs_gtklist_to_list):
6643         * gtk-glue.c (xemacs_list_to_array):
6644         * gutter.c (SET_GUTTER_WAS_VISIBLE_FLAG):
6645         * gutter.c (gutter_was_visible):
6646         * gutter.c (get_gutter_coords):
6647         * input-method-xlib.c (get_XIM_input):
6648         * insdel.c (bufpos_to_bytind_func):
6649         * insdel.c (bytind_to_bufpos_func):
6650         * insdel.c (move_gap):
6651         * intl.c (x_get_composed_input):
6652         * keymap.c (keymap_lookup_directly):
6653         * keymap.c (keymap_delete_inverse_internal):
6654         * keymap.c (ensure_meta_prefix_char_keymapp):
6655         * keymap.c (accessible_keymaps_mapper_1):
6656         * keymap.c (where_is_recursive_mapper):
6657         * lisp.h:
6658         * lisp.h (ABORT):
6659         * lread.c (read_atom):
6660         * lstream.c (Lstream_delete):
6661         * lstream.c (make_lisp_buffer_stream_1):
6662         * macros.c (pop_kbd_macro_event):
6663         * malloc.c (malloc):
6664         * malloc.c (free):
6665         * marker.c (bi_marker_position):
6666         * marker.c (set_bi_marker_position):
6667         * menubar-gtk.c (menu_descriptor_to_widget_1):
6668         * menubar-msw.c (prune_menubar):
6669         * menubar-x.c (set_frame_menubar):
6670         * mule-charset.c (get_unallocated_leading_byte):
6671         * mule-charset.h (CHAR_LEADING_BYTE):
6672         * native-gtk-toolbar.c (SET_TOOLBAR_WAS_VISIBLE_FLAG):
6673         * nt.c (init_environment):
6674         * nt.c (generate_inode_val):
6675         * ntproc.c (delete_child):
6676         * ntproc.c (_sys_read_ahead):
6677         * ntproc.c (create_child):
6678         * objects.c (color_instantiate):
6679         * objects.c (font_instantiate):
6680         * objects.c (face_boolean_instantiate):
6681         * print.c (printing_major_badness):
6682         * process-nt.c (nt_send_process):
6683         * process-unix.c (unix_send_process):
6684         * process.c (get_process):
6685         * ralloc.c (obtain):
6686         * ralloc.c (relinquish):
6687         * ralloc.c (relocate_blocs):
6688         * ralloc.c (resize_bloc):
6689         * ralloc.c (r_alloc_free):
6690         * ralloc.c (r_re_alloc):
6691         * ralloc.c (r_alloc_thaw):
6692         * ralloc.c (init_ralloc):
6693         * ralloc.c (Free_Addr_Block):
6694         * ralloc.c (r_alloc):
6695         * redisplay-gtk.c (gtk_output_display_block):
6696         * redisplay-msw.c (mswindows_output_display_block):
6697         * redisplay-output.c (get_next_display_block):
6698         * redisplay-output.c (get_cursor_size_and_location):
6699         * redisplay-output.c (redisplay_output_layout):
6700         * redisplay-output.c (redisplay_clear_region):
6701         * redisplay-tty.c (tty_output_display_block):
6702         * redisplay-x.c (x_output_display_block):
6703         * redisplay.c (add_propagation_runes):
6704         * redisplay.c (add_glyph_rune):
6705         * redisplay.c (create_text_block):
6706         * redisplay.c (add_margin_runes):
6707         * redisplay.c (create_left_glyph_block):
6708         * redisplay.c (create_right_glyph_block):
6709         * redisplay.c (create_string_text_block):
6710         * redisplay.c (regenerate_window):
6711         * redisplay.c (REGEN_INC_FIND_START_END):
6712         * redisplay.c (redisplay_frame):
6713         * redisplay.c (point_in_line_start_cache):
6714         * regex.c:
6715         * regex.c (ABORT):
6716         * regex.c (re_compile_fastmap):
6717         * regex.c (re_match_2_internal):
6718         * regex.c (regerror):
6719         * scrollbar-gtk.c (gtk_scrollbar_loop):
6720         * scrollbar-gtk.c (scrollbar_cb):
6721         * scrollbar-gtk.c (gtk_update_frame_scrollbars):
6722         * scrollbar-msw.c (mswindows_handle_scrollbar_event):
6723         * scrollbar-x.c (x_update_scrollbar_instance_status):
6724         * scrollbar-x.c (x_scrollbar_loop):
6725         * scrollbar-x.c (x_update_frame_scrollbars):
6726         * search.c (search_command):
6727         * search.c (Fmatch_data):
6728         * select-x.c (motif_clipboard_cb):
6729         * signal.c (interrupt_signal):
6730         * specifier.c (specifier_add_spec):
6731         * specifier.c (specifier_instance_from_inst_list):
6732         * specifier.c (specifier_instance):
6733         * specifier.h:
6734         * specifier.h (struct specifier_methods):
6735         * strftime.c (add_num_time_t):
6736         * sunplay.c (init_device):
6737         * symbols.c (Fsetplist):
6738         * symbols.c (do_symval_forwarding):
6739         * symbols.c (store_symval_forwarding):
6740         * symbols.c (Fset):
6741         * symbols.c (Fbuilt_in_variable_type):
6742         * symbols.c (decode_magic_handler_type):
6743         * symbols.c (handler_type_from_function_symbol):
6744         * syntax.c (update_syntax_cache):
6745         * sysdep.c (init_baud_rate):
6746         * toolbar-gtk.c (SET_TOOLBAR_WAS_VISIBLE_FLAG):
6747         * toolbar-msw.c (SET_TOOLBAR_WAS_VISIBLE_FLAG):
6748         * toolbar-x.c (SET_TOOLBAR_WAS_VISIBLE_FLAG):
6749         * toolbar.c (get_toolbar_coords):
6750         * ui-gtk.c (build_gtk_boxed):
6751         * ui-gtk.c (describe_gtk_arg):
6752         * ui-gtk.c (gtk_type_to_lisp):
6753         * ui-gtk.c (lisp_to_gtk_type):
6754         * ui-gtk.c (lisp_to_gtk_ret_type):
6755         * ui-gtk.c (lisp_to_flag):
6756         * unexnt.c (read_in_bss):
6757         * unexnt.c (map_in_heap):
6758         * window.c (real_window):
6759         * window.c (window_display_lines):
6760         * window.c (window_display_buffer):
6761         * window.c (set_window_display_buffer):
6762         * window.c (window_modeline_height):
6763         * window.c (unshow_buffer):
6764         * window.c (window_loop):
6765         * window.c (Fget_lru_window):
6766         * window.c (Fsplit_window):
6767         * window.c (Fset_window_configuration):
6768         * window.c (saved_window_index):
6769         * xgccache.c (gc_cache_lookup):
6770         abort() -> ABORT().  Eliminate preprocessor games with abort()
6771         since it creates huge problems in VC7, solvable only by including
6772         massive amounts of files in every compile (and not worth it).
6773
6774         * sysdep.c:
6775         * sysproc.h:
6776         Inclusion of process.h does not need to be before lisp.h any more.
6777         Move later and remove comment about abort().
6778
6779 2005-01-26  Arnaud Giersch  <arnaud.giersch@free.fr>
6780
6781         * regex.c (re_match_2_internal):
6782         Correctly initialize loop which clears uninitialized registers.
6783
6784 2005-01-28  Vin Shelton  <acs@xemacs.org>
6785
6786         * sheap.c (more_static_core): Applied Ben's version of the long
6787         string patch.
6788
6789 2005-01-24  Vin Shelton  <acs@xemacs.org>
6790
6791         * sheap.c (more_static_core): Reformatted printf string so
6792         gcc-3.3.3 will compile this on Cygwin.
6793
6794 2004-02-22  Stephen J. Turnbull  <stephen@xemacs.org>
6795
6796         * console.c (function_key_map): Reference `key-binding'.
6797
6798         * keymap.c (Vkey_translation_map): Improve docstring.
6799
6800 2004-03-30  Zajcev Evgeny  <zevlg@yandex.ru>
6801
6802         * window.c: Declare `allow_deletion_of_last_visible_frame' extern.
6803         * window.c (window_loop): [fix] Take into account
6804         `allow-deletion-of-last-visible-frame' variable.
6805         * window.c (replace-buffer-in-windows): Ditto.
6806
6807 2004-12-15  Stephen J. Turnbull  <stephen@xemacs.org>
6808
6809         * EmacsManager.c (EmacsManagerChangeSize): Respect XtGeometryNo.
6810
6811 2005-01-20  Malcolm Purvis  <malcolmp@xemacs.org>
6812
6813         * event-gtk.c: Recognise AltGr as a valid modifier.
6814
6815 2005-01-12  Ville Skyttä  <scop@xemacs.org>
6816
6817         * console-x.h: #include X11/keysym.h before xintrinsic.h.
6818
6819 2005-01-13  Stephen J. Turnbull  <stephen@xemacs.org>
6820
6821         Fix backreference bug caught by test suite.
6822
6823         * regex.c (regex_compile):
6824         Make backref duplicate internal register.
6825
6826 2005-01-13  Stephen J. Turnbull  <stephen@xemacs.org>
6827
6828         Documentation, code clarification, and warning suppression.
6829         
6830         * regex.c (regex_compile):
6831         Improve comments.
6832         (re_match_2_internal):
6833         Improve comments and avoid redundant braces.  [Most of the big hunk
6834         at l. 4710 is indentation; use diff -w to see the real changes.]
6835         (alt_match_null_string_p):
6836         (common_op_match_null_string_p):
6837         Avoid shadowing global on Mac OS X 10.4, at least.
6838
6839 2004-09-08  Stephen J. Turnbull  <stephen@xemacs.org>
6840
6841         * regex.c (regcomp): Fix "unsigned comparison" warning (maybe
6842         introduced with shy groups fix).  [Already applied, probably
6843         with the second "fix shy groups" patch of 2004-10-07.] 
6844
6845 2005-01-10  Steve Youngs  <steve@sxemacs.org>
6846
6847         From Andrey Slusar <anrays@gmail.com>:
6848
6849         * unexelf.c: define `Elfw(type)' for FreeBSD alpha and amd64.
6850
6851 2004-11-21  Malcolm Purvis  <malcolmp@xemacs.org>
6852
6853         * Makefile (RECURSIVE_MAKE): Removed.
6854         * Makefile (RECURSIVE_MAKE_ARGS): New.  The new method for
6855         handling parallel builds.
6856
6857 2004-09-08  Malcolm Purvis  <malcolmp@xemacs.org>
6858
6859         * Makefile.in.in: Enable support for parallel builds.
6860
6861 2005-01-09  Steve Youngs  <steve@sxemacs.org>
6862
6863         From Andrey Slusar <anrays@gmail.com>:
6864
6865         * s/freebsd.h (LIBS_SYSTEM): Only set to "-lutil -lxpg4" if
6866         FreeBSD version is >= 199701 _and_ < 600006.
6867
6868 2005-01-06  Zajcev Evgeny <zevlg@yandex.ru>
6869
6870         * scrollbar.c (compute_scrollbar_instance_usage):
6871         Only call device method compute_scrollbar_instance_usage() if it
6872         is defined.
6873
6874 2004-12-05  Vin Shelton <acs@xemacs.org>
6875
6876         * XEmacs 21.4.16 is released
6877
6878 2004-12-04  Vin Shelton  <acs@xemacs.org>
6879
6880         * depend: Regenerated.
6881
6882 2004-10-07  Stephen J. Turnbull  <stephen@xemacs.org>
6883
6884         * regex.c (re_match_2_internal): Map internal to external
6885         registers.  Fixes bug identified by Steve Youngs 2004-09-30
6886         <microsoft-free.87ekkjhj7t.fsf@youngs.au.com>.
6887
6888 2004-09-02  Yoshiki Hayashi  <yoshiki@xemacs.org>
6889
6890         * buffer.c (Frecord_buffer): Make sure the argument is buffer
6891         to fix a crash.  Also, check the buffer is live and it
6892         really exists in buffer_list.  If the buffer is not in the list,
6893         prepend it.
6894
6895 2004-09-08  Stephen J. Turnbull  <stephen@xemacs.org>
6896
6897         Fix shy groups by implementing recording of all groups for
6898         repetition and backtracking.  Backport from 21.5.
6899         
6900         * regex.h (struct re_pattern_buffer): Add members re_ngroups,
6901         external_to_internal_register, external_to_internal_register_size,
6902         and update comments for re_nsub.
6903
6904         * regex.c (re_opcode_t): Update comments.
6905         (print_compiled_pattern): Ouput external_to_internal_register,
6906         external_to_internal_register_size, and re_ngroups for debugging.
6907         (INIT_REG_TRANSLATE_SIZE): New manifest constant.
6908         (regex_compile): Update header comment.
6909         Ensure that all groups are recorded so that repeat matches and
6910         backtracking work correctly.  Comment related warning for groups >
6911         255.
6912         (re_search_2): Construct map of API indexes (which count only
6913         nonshy groups) to internal register numbers, and keep it updated.
6914
6915 2004-07-27  Malcolm Purvis  <malcolmp@xemacs.org>
6916
6917         * frame-gtk.c (gtk_make_frame_visible):
6918         * frame-gtk.c (gtk_make_frame_invisible): Use map/unmap instead of
6919         show/hide.  This is what X uses and is prevents previously hidden
6920         widgets from suddenly reappearing.
6921         * gtk-xemacs.c (gtk_xemacs_paint):
6922         * gtk-xemacs.c (gtk_xemacs_draw):
6923         * gtk-xemacs.c (gtk_xemacs_expose): Only operate if the widget is
6924         drawable.
6925         * scrollbar-gtk.c (gtk_update_scrollbar_instance_status): Force
6926         size and location changes so that they can be seen before the next
6927         idle event.  Without this rapid changes to scrollbar properties
6928         are not seen.
6929
6930 2004-07-02  Malcolm Purvis  <malcolmp@xemacs.org>
6931
6932         * console-gtk.h:
6933         * console-gtk.h (struct gtk_frame):
6934         * console-gtk.h (FRAME_GTK_WIDGET_INSTANCE_HASH_TABLE):
6935           Add hash tables track tab_control callback data.
6936           Added #defines for GTK object data names.
6937           Declaration of gtk_widget_to_frame().
6938         * event-gtk.c (enqueue_gtk_dispatch_event) No longer static:
6939         * frame-gtk.c (gtk_widget_to_frame): New.
6940         * frame-gtk.c (gtk_create_widgets):
6941         * frame-gtk.c (allocate_gtk_frame_struct):
6942         * frame-gtk.c (gtk_mark_frame):
6943         Manage frame callbakc hash tables.
6944         * glyphs-gtk.c (gtk_map_subwindow): Fix size and moving bugs.
6945         * glyphs-gtk.c (gtk_redisplay_widget): Use correct size for widgets.
6946         * glyphs-gtk.c (gtk_widget_instantiate_1): Force reconsideration
6947         of widget size.
6948         * glyphs-gtk.c (gtk_widget_query_geometry): New
6949         * glyphs-gtk.c (gtk_register_gui_item): New
6950         * glyphs-gtk.c (gtk_add_tab_item): New
6951         * glyphs-gtk.c (gtk_tab_control_callback): New
6952         * glyphs-gtk.c (gtk_tab_control_instantiate): New
6953         * glyphs-gtk.c (gtk_tab_control_redisplay): Set notebook page.
6954         Use correct list when loading item.
6955         * glyphs-gtk.c (image_instantiator_format_create_glyphs_gtk):
6956         Register new methods.
6957         * gtk-xemacs.c (gtk_xemacs_size_allocate): Use XEmacs size, not
6958         default size, for widgets.
6959         * gui-x.c:  Improved comment.
6960         * menubar-gtk.c (__generic_button_callback): Use
6961         gtk_widget_to_frame instead of __get_channel.
6962         * scrollbar-gtk.c:
6963         * ui-gtk.c: Use symbolic names for GTK object data.
6964
6965 2004-06-23  Ilya N. Golubev <gin@mo.msk.ru>
6966
6967         * s/usg5-4.h (NSIG): Define only inside emacs binary.
6968
6969 2002-03-04  Stephen J. Turnbull  <stephen@xemacs.org>
6970
6971         * fileio.c (Fwrite_region_internal): Document use of start == Qnil.
6972
6973 2004-06-16  Malcolm Purvis  <malcolmp@xemacs.org>
6974
6975         * malloc.c (morecore): siz is a long because in some architectures
6976         (eg ia-64) an int cannot hold the address range.  Additional patch
6977         from the SuSe distribution.
6978
6979 2004-06-13  Malcolm Purvis  <malcolmp@xemacs.org>
6980
6981         * emacs.c:
6982         * malloc.c: lim_data is a long because in some architectures
6983         (eg ia-64) an int cannot hold the address range.
6984         * mem-limits.h: lim-data is a long.  Linux uses getrlimit()
6985         instead of ulimit() because ulimit() always returns -1.
6986
6987 2004-06-09  Stephen J. Turnbull  <stephen@xemacs.org>
6988
6989         * search.c: Reenable an ansync semaphore.  Remove bogus comments.
6990
6991 2004-06-11  David Kastrup  <dak@gnu.org>
6992
6993         * search.c (match_limit): Don't flag an error if match-data
6994         exceeding the allocated search_regs.num_regs gets requested, just
6995         return Qnil.
6996
6997 2003-07-21  Malcolm Purvis  <malcolmpurvis@optushome.com.au>
6998
6999         * glyphs-gtk.c (gtk_xpm_instantiate): Rewrite the XPM data to
7000         replace symbolic color entries with the real colors specified in
7001         xpm-color-symbols, before passing the XPM to gtk.
7002         * glyphs-gtk.h: Use the generic pixmap_image_instance.mask for masks,
7003         instead of a GTK specific field, so that it is used in by generic
7004         code.
7005
7006 2004-05-05  Chuck Hines <chuck.hines@baesystems.com>
7007
7008        * dgif_lib.c (DGifSlurp): Changed do-while to while to stop
7009         coredump from deref of NULL ptr (ExtData)
7010
7011 2004-04-19  Jerry James  <james@xemacs.org>
7012
7013         * data.c (sign_extend_lisp_int): Use INT_VALBITS instead of
7014         VALBITS to compute the location of the sign bit.
7015         * event-stream.c (Fcurrent_event_timestamp): Replace incorrect use
7016         of VALBITS with EMACS_INT_MAX.
7017         * events.c (Fevent_timestamp): Ditto.
7018         * events.c (TIMESTAMP_HALFSPACE): Change VALBITS to INT_VALBITS to
7019         compute the halfway point to timestamp wraparound.
7020         * floatfns.c (float_to_int): Compare against EMACS_INT_MAX and
7021         EMACS_INT_MIN instead of using VALBITS.
7022         * floatfns.c (Flogb): Use EMACS_INT_MIN instead of building an
7023         incorrect number with VALBITS.
7024         * fns.c (Frandom): Correct number of integer bits in docstring.
7025         Use INT_VALBITS instead of VALBITS to compute the denominator.
7026         * sysdep.c (get_random): Use INT_VALBITS instead of VALBITS to
7027         build random numbers.
7028
7029 2004-03-23  Malcolm Purvis  <malcolmpurvis@optushome.com.au>
7030         * event-gtk.c:
7031         * event-gtk.c (gtk_event_to_emacs_event):
7032         * menubar-gtk.c:
7033         * menubar-gtk.c (gtk_xemacs_menubar_class_init):
7034         * menubar-gtk.c (gtk_xemacs_menubar_size_request):
7035         * menubar-gtk.c (gtk_xemacs_accel_label_get_type):
7036         * menubar-gtk.c (gtk_xemacs_set_accel_keys):
7037         * menubar-gtk.c (__activate_menu):
7038         * menubar-gtk.c (convert_underscores):
7039         * menubar-gtk.c (remove_underscores):
7040         * menubar-gtk.c (menu_convert):
7041         * menubar-gtk.c (menu_descriptor_to_widget_1):
7042         * menubar-gtk.c (menu_descriptor_to_widget):
7043         * menubar-gtk.c (menu_can_reuse_widget):
7044         * menubar-gtk.c (menu_create_menubar):
7045         * menubar-gtk.c (gtk_popup_menu):
7046         * menubar-gtk.c (Fgtk_build_xemacs_menu):
7047         Added support for Gtk menu bar and menu item mnemonics.
7048
7049 2004-03-23  Malcolm Purvis  <malcolmpurvis@optushome.com.au>
7050
7051         * sysdll.c: (dll_function): Added support for finding symbols in
7052         Darwin shared libraries as well in Darwin bundles.
7053         * sysdll.c (image_for_address): New
7054         * sysdll.c (my_find_image): New
7055         * sysdll.c (search_linked_libs): New
7056
7057 2004-03-23  Malcolm Purvis  <malcolmpurvis@optushome.com.au>
7058
7059         * ui-gtk.c (__internal_callback_marshal): Marshalling data to
7060         return to GTK requires a different API to marshalling data to use
7061         as GTK parameters.
7062         * ui-gtk.c (lisp_to_gtk_ret_type): New.
7063
7064 2004-03-08  Lutz Euler  <lutz.euler@freenet.de>
7065
7066         * lstream.c (Lstream_pseudo_close): Fix test for LSTREAM_FL_IS_OPEN.
7067
7068 2004-02-19  Stephen J. Turnbull  <stephen@xemacs.org>
7069
7070         * glyphs.c (process_image_string_instantiator):
7071         (Fset_console_type_image_conversion_list):
7072         Stop GCC from warning about shadowing of `exp'.
7073
7074         * redisplay-x.c (x_output_string): Fix unsigned lossage.
7075
7076 2004-02-19  Stephen J. Turnbull  <stephen@xemacs.org>
7077
7078         * regex.c (re_match_2_internal): Shut up GCC about syn1, syn2.
7079
7080 2004-02-03  Vin Shelton  <acs@xemacs.org>
7081
7082         * glyphs.c (image_instance_layout): Remove pointless assertion.
7083         * regex.c (regex_grow_registers): Return type is void.
7084
7085 2004-02-02  Vin Shelton <acs@xemacs.org>
7086
7087         * XEmacs 21.4.15 is released
7088
7089 2004-01-30  Glynn Clements  <glynn.clements@virgin.net>
7090
7091         * device-x.c (x_error_handler): Don't call stderr_out
7092
7093 2003-11-07  Katsumi Yamaoka <yamaoka@jpl.org>
7094
7095         * buffer.c (other-buffer): Clarify documentation of order of
7096         arguments for FSF Emacs.
7097
7098 2003-10-11  Olivier Galibert  <galibert@pobox.com>
7099
7100         * window.c (Fdelete_window): Dirty the mirror structure _before_
7101         marking the window deleted.
7102
7103 2003-09-15  Jerry James  <james@xemacs.org>
7104
7105         * event-msw.c (debug_mswin_messages): Conditionally compile
7106         messages missing from the Cygwin headers.
7107
7108 2003-06-16  Stephen J. Turnbull  <stephen@xemacs.org>
7109
7110         * data.c (eq_with_ebola_notice): Fix typo in comment.
7111         (Ftrue_list_p): Improve docstring.
7112
7113 2003-10-13  Stephen J. Turnbull  <stephen@xemacs.org>
7114
7115         * frame-x.c (x_update_frame_external_traits): Fix XtSetArg idiom.
7116
7117 2003-09-27  Stephen J. Turnbull  <stephen@xemacs.org>
7118
7119         * search.c (trivial_regexp_p): Regexps containing "\{" are
7120         nontrivial.  Thanks to Manfred Bartz for reporting the bug and
7121         Stefan Monnier for suggesting a diagnosis.
7122
7123 2003-09-25  Stephen J. Turnbull  <stephen@xemacs.org>
7124
7125         * elhash.c (make-hash-table): Clarify use of :test #'equal.
7126
7127 2003-09-12  Stephen J. Turnbull  <stephen@xemacs.org>
7128
7129         * search.c (Fsearch_forward):
7130         (Fsearch_backward):
7131         Document negative count.
7132
7133 2003-09-13  Stephen J. Turnbull  <stephen@xemacs.org>
7134
7135         * regex.c (re_max_failures): Bump to 20000 for REGEX_MALLOC, too.
7136
7137 2003-09-13  Martin Buchholz  <martin@xemacs.org>
7138
7139         * s/sol2.h: Use OS_RELEASE=os_release_major*100+os_release_minor
7140
7141 2003-09-15  Vin Shelton  <acs@xemacs.org>
7142
7143         * .gdbinit (pobj): Remove Ilya's fix that was only intended for
7144         21.5.
7145
7146 2003-09-12  Yoshiki Hayashi  <yoshiki@xemacs.org>
7147
7148         * regex.c (TRANSLATE_EXTENDED_UNSAFE): Remove.
7149         (re_search_2): Match the first byte of Bufbyte, not Emchar.
7150         (re_match_2_internal): Use TRANSLATE instead of
7151         TRANSLATE_EXTENDED_UNSAFE.  The latter was a hack to bypass
7152         non-ASCII char case conversion.
7153
7154 2003-09-08  Mike Sperber  <mike@xemacs.org>
7155
7156         * symbols.c (Fvariable_binding_locus): Add, as per suggestion from
7157         RMS at: http://article.gmane.org/gmane.emacs.pretest.bugs/1010
7158
7159 2003-06-14  Ilya N. Golubev  <gin@mo.msk.ru>
7160
7161        * .gdbinit (pobj): fix printing of symbol name.
7162
7163 2003-08-01  Ilya N. Golubev  <gin@mo.msk.ru>
7164
7165         * frame-x.c (x_layout_widgets): When resizing is about to cause
7166         frame size slip, mark it for redisplay.
7167
7168 2003-08-18  Jerry James  <james@xemacs.org>
7169
7170         * opaque.h: Remove unused (X)OPAQUE_MARKFUN definitions.
7171
7172 2003-09-03  Vin Shelton <acs@xemacs.org>
7173
7174         * XEmacs 21.4.14 is released
7175
7176 2003-08-15  Stephen J. Turnbull  <stephen@xemacs.org>
7177
7178         * config.h.in (REGEX_MALLOC): Make it configure'able.
7179
7180 2003-08-14  Andrew Begel  <abegel@CS.Berkeley.EDU>
7181
7182         * config.h.in: Add HAVE_DYLD to indicate Darwin/MacOSX dynamic
7183         linking.
7184         * sysdll.c (dll_init):
7185         * sysdll.c (dll_open):
7186         * sysdll.c (dll_close):
7187         * sysdll.c (dll_function):
7188         * sysdll.c (dll_variable):
7189         * sysdll.c (dll_error):
7190         Add support for loading bundles using Darwin/MacOSX
7191         native API.
7192
7193 2003-08-12  Stephen J. Turnbull  <stephen@xemacs.org>
7194
7195         * process.c (start-process-internal): Document coding systems.
7196
7197 2003-07-30  Jerry James  <james@xemacs.org>
7198
7199         * sysdll.c: configure sets HAVE_DLD_INIT, not HAVE_INIT_DLD.
7200
7201 2003-07-31  René Kyllingstad  <listmailxemacs@kyllingstad.com>
7202
7203         * event-msw.c (mswindows_enqueue_mouse_button_event):
7204         * event-msw.c (mswindows_wnd_proc):
7205           enqueue button event when scrollwheel event isn't handled by 
7206           mswindows_handle_mousewheel_event, such as when the scrollbars
7207           are not showing.
7208
7209 2003-07-29  Stephen J. Turnbull  <stephen@xemacs.org>
7210
7211         * EmacsFrame.c (emacsFrameClassRec): Motif groks not XtCompress*.
7212
7213 2003-03-24  Stephen J. Turnbull  <stephen@xemacs.org>
7214
7215         * database.c (Fopen_database): Don't use DB_AUTO_COMMIT.
7216
7217 2003-03-21  Stephen J. Turnbull  <stephen@xemacs.org>
7218
7219         * regex.c (re_match_2_internal): Fix matching degenerate word
7220         boundaries.
7221
7222 2003-05-25  XEmacs Build Bot <builds@cvs.xemacs.org>
7223
7224         * XEmacs 21.4.13 is released
7225
7226 2003-03-20  Stephen J. Turnbull  <stephen@xemacs.org>
7227
7228         * config.h.in (INTPTR_T_IN_CYGWIN_TYPES_H): 
7229         * lisp.h (<inttypes.h>):
7230         Cygwin defines these types in <cygwin/types.h>.  Don't duplicate
7231         the definition.
7232
7233 2003-03-15  Martin Buchholz  <martin@xemacs.org>
7234
7235         * dumper.c (pdump_load): Pdump'ed XEmacs can't find its .dmp file.
7236         Scenario: Prepend ~/bin to PATH; then `mkdir ~/bin/xemacs'
7237         Result: "temacs can only be run in -batch mode."
7238         Fix: Check xemacs executable candidate for directory-ness.
7239
7240 2003-03-03  Robert Pluim  <rpluim@bigfoot.com>
7241
7242         * database.c: Don't use the u_int8_t etc typedefs on FreeBSD,
7243           they conflict with <sys/types.h>.
7244
7245 2003-02-14  Martin Buchholz  <martin@xemacs.org>
7246
7247         * database.c: Berkeley DB wants __STDC__ to be defined.
7248
7249 2003-02-13  Martin Buchholz  <martin@xemacs.org>
7250
7251         * EmacsFrame.c: Use symbolic name `NotUseful' in lieu of `0'.
7252
7253 2003-02-01  Martin Buchholz  <martin@xemacs.org>
7254
7255         * process-unix.c (unix_send_process): Fix C++ compile error.
7256
7257 2003-02-25  Andrew Begel  <abegel@cs.berkeley.edu>
7258
7259         * Added .dylib as an acceptable shared library file extension
7260         * to support MacOSX.
7261
7262 2003-02-01  Martin Buchholz  <martin@xemacs.org>
7263
7264         * EmacsFrameP.h (EmacsFramePart):
7265         Kludge to allow compiling with Motif1, but linking with Motif2.
7266
7267 2003-01-28  Martin Buchholz  <martin@xemacs.org>
7268
7269         * config.h.in (_ALL_SOURCE): Guard against multiple definition.
7270
7271
7272 2003-02-23  Stephen J. Turnbull  <stephen@xemacs.org>
7273
7274         * config.h.in (DLSYM_NEEDS_UNDERSCORE): Define on darwin.
7275
7276 2003-02-06  Andrew Begel  <abegel@CS.Berkeley.EDU>
7277
7278         * sysdll.c: Included lisp.h to define needed alloca_array.
7279
7280 2003-02-13  Martin Buchholz  <martin@xemacs.org>
7281
7282         Make XEmacs redisplay 10 times faster.
7283         If, that is, you're using a slow X connection and MoveOpaque.
7284         Use compress_exposure = XtExposeCompressMaximal | XtExposeNoRegion.
7285         Use compress_motion = TRUE.
7286         * EmacsFrame.c (emacsFrameClassRec): 
7287         * EmacsShell-sub.c (EMACS_SHELL_CLASS_REC):
7288         * EmacsManager.c (emacsManagerClassRec):
7289         * xintrinsicp.h: Make sure XtExposeNoRegion is defined.
7290
7291 2003-01-30  Vin Shelton  <acs@xemacs.org>
7292
7293         * s/linux.h (ORDINARY_LINK): define ORDINARY_LINK for linux.
7294
7295 2003-01-17  Stephen J. Turnbull  <stephen@xemacs.org>
7296
7297         * glyphs-eimage.c (tiff_memory_seek): Lobotomize unsigned typedef.
7298         Patch by Martin Buchholz.
7299
7300 2003-01-16  Stephen J. Turnbull  <stephen@xemacs.org>
7301
7302         * glyphs-eimage.c (tiff_instantiate): Fix unsigned comparison.
7303         Thanks to icc for warning and Martin Buchholz for reporting.
7304
7305 2003-01-29  Vin Shelton <acs@xemacs.org>
7306
7307         Patch courtesy of Andrew Begel <abegel@cs.berkeley.edu>
7308
7309         * dynarr.c (Dynarr_realloc): memcpy copies number of bytes, so
7310         remember to multiply by the element size.
7311
7312 2003-01-15  Stephen J. Turnbull  <stephen@xemacs.org>
7313
7314         * XEmacs 21.4.12 "Portable Code" is released.
7315
7316 2003-01-14  Sergey Okhapkin <sos@prospect.com.ru>
7317
7318         * Makefile.in.in (ldflags): re-order sections for gcc 3.2.
7319         * s/cygwin.sc: new linker file.
7320
7321 2003-01-14  Stephen J. Turnbull  <stephen@xemacs.org>
7322
7323         Build fixes courtesy Martin Buchholz <martin@xemacs.org>:
7324
7325         * redisplay-x.c (x_output_string): Use X11-specified types.
7326         * syntax.c, syntax.h (SYNTAX_CODE): Use enum syntaxcode, not int.
7327         * emacs.c (__free_hook): Use typeof with Intel compiler.
7328         * config.h.in (alloca.h): Quick safe hack to please Intel compiler.
7329
7330 2003-01-08  Andy Piper  <andy@xemacs.org>
7331
7332         * unexcw.c (copy_executable_and_dump_data_section): Set the stack
7333         reserve size during unexec().
7334
7335 2003-01-07  Daiki Ueno  <daiki@xemacs.org>
7336
7337         * process-unix.c (unix_create_process): Don't let outchannel block.
7338
7339 2003-01-05  Rick Rankin  <rick_rankin@yahoo.com>
7340
7341         * emacs.c: Include "syswindows.h" when compiling under Cygwin.
7342         Needed for IsBadReadPtr().
7343
7344 2003-01-03  Stephen J. Turnbull  <stephen@xemacs.org>
7345
7346         * XEmacs 21.4.11 "Native Windows TTY Support" is released.
7347
7348 2002-12-14  Ben Wing  <ben@xemacs.org>
7349
7350         * callint.c: Declaration error.
7351         * dumper.c (pdump):
7352         * dumper.c (pdump_load): Warning fix.
7353         * process.c: GCPRO error.
7354         * glyphs.c (unmap_subwindow):
7355         * glyphs.c (map_subwindow): Parenthesizing errors with ! and &&.
7356         * event-stream.c (maybe_kbd_translate): Wrong argument to
7357         character_to_event().
7358
7359         * alloc.c (garbage_collect_1):
7360         * emacs.c:
7361         * emacs.c (debug_can_access_memory):
7362         * emacs.c (fatal_error_signal):
7363         * emacs.c (mswindows_handle_hardware_exceptions):
7364         * emacs.c (main_1):
7365         * emacs.c (main):
7366         * emacs.c (assert_failed):
7367         * emacs.c (syms_of_emacs):
7368         * lisp.h:
7369         * print.c:
7370         * print.c (std_handle_out_va):
7371         * print.c (write_string_to_stdio_stream):
7372         * print.c (write_fmt_string):
7373         * print.c (printing_badness):
7374         * print.c (printing_major_badness):
7375         * print.c (print_internal):
7376         * print.c (debug_print_no_newline):
7377         * print.c (debug_backtrace):
7378         Be more defensive in handling bad values when printing.  Add code
7379         from trunk involving inhibit_non_essential_printing_operations.
7380         When going down or in debug_print(), don't do external conversion
7381         and such and try really, really hard when printing to avoid core
7382         dumping.  Add force-debugging-signal, debug_break().
7383
7384 2002-12-12  Stephen J. Turnbull  <stephen@xemacs.org>
7385
7386         * dumper.c (pdump_load): Include sysdep.h; retry with truename.
7387         Analysis and original patch by Vin Shelton <acs@xemacs.org>.
7388
7389 2002-12-02  Greg Allen  <greg_allen@westlb-systems.co.uk>
7390
7391         * database.c: Fix open_database. Berkeley DB API has changed in
7392         4.1. see: http://www.sleepycat.com/docs/ref/upgrade.4.1/fop.html
7393
7394 2002-11-26  Stephen J. Turnbull  <stephen@xemacs.org>
7395
7396         * specifier.c (Fvalid_specifier_type_p): Typo in comment.
7397
7398 2002-11-13  Stephen J. Turnbull  <stephen@xemacs.org>
7399
7400         * event-Xt.c (Xt_timeout):
7401         (Xt_timeout_callback):
7402         (emacs_Xt_add_timeout):
7403         (emacs_Xt_remove_timeout):
7404         (Xt_timeout_to_emacs_event):
7405         Turn completed_timeouts from a stack into a queue.  Fixes
7406         deadlocks <15829.21626.171573.994716@sinisa.nasamreza.org>.
7407
7408 2002-11-07  Wolfram Gloger  <wg@malloc.de>
7409
7410         * alloc.c (reinit_alloc_once_early): Disable mmap in Doug Lea malloc.
7411         * emacs.c (main): Assert that mmap'd allocation is disabled.
7412
7413 2002-10-14  Andy Piper  <andy@xemacs.org>
7414
7415         * glyphs-widget.c (layout_query_geometry): add in fiddle
7416         factor. Include border text in width layout calculation.
7417         (layout_layout): use BORDER_FIDDLE_FACTOR instead of 10.
7418
7419 2002-11-02  Stephen J. Turnbull  <stephen@xemacs.org>
7420
7421         * XEmacs 21.4.10 "Military Intelligence" is released.
7422
7423 2002-10-17  Raymond Toy  <toy@rtp.ericsson.se>
7424
7425         * nas.c: Update for NAS 1.6 and later, from Jon Trulson.  Was
7426         using the NAS private array SoundFileInfo that no longer exists in
7427         NAS 1.6 and later.  Preserve backward compatibility with NAS 1.5a
7428         and earlier.  This is broken for some versions between 1.5a and
7429         1.5f.
7430
7431 2002-10-10  Stephen J. Turnbull  <stephen@xemacs.org>
7432
7433         * realpath.c (win32_readlink): Try to fix truename of wildcard bug.
7434
7435         * emacs.c (shut_down_emacs): Improve crash message.
7436
7437 2002-10-09  Stephen J. Turnbull  <stephen@xemacs.org>
7438
7439         * file-coding.c (determine_real_coding_system): Check for coding
7440         cookie in first LINES_TO_CHECK lines (currently 2).  Cater to
7441         shebangs and Python PEP 263.
7442
7443 2002-10-08  Andy Piper  <andy@xemacs.org>
7444
7445         * glyphs-widget.c (layout_query_geometry): only resize dynamically
7446         if static sizes haven't been set.
7447
7448 2002-08-30  Mike Alexander  <mta@arbortext.com>
7449
7450         * event-msw.c (winsock_closer): Use closesocket, not CloseHandle
7451         to close a socket.
7452
7453 2002-10-03  Stephen J. Turnbull  <stephen@xemacs.org>
7454
7455         * callproc.c (child_setup): 21.4 doesn't have retry_close.
7456
7457 2002-09-20  Mike Sperber <mike@xemacs.org>
7458
7459         (This partially gets back my patch from 2002-07-20 without the
7460         bug.)
7461         * callproc.c (child_setup): Remove Ben's comment noting confusion
7462         over the file descriptors >= 3: close_process_descs() doesn't
7463         close those.  Fix fd range to go up to MAXDESC-1 instead of 64.
7464         * process-unix.c (unix_create_process): Call
7465         begin_dont_check_for_quit to inhibit unwanted interaction (and
7466         thus breaking of X event synchronicity) in the child.
7467
7468 2002-09-26  Golubev I. N.  <gin@mo.msk.ru>
7469
7470         * frame-x.c (x_delete_frame): do not call XtDisplay on a destroyed
7471         widget.
7472
7473 2002-08-20  Ben Sigelman  <bhsigelm@cs.brown.edu>
7474
7475         * event-Xt.c (drain_X_queue): loop over while(XEventsQueued())
7476         instead of while(XtAppPending()&XtIMXEvent).  Upon a gdm logout,
7477         the xemacs process did not exit, but looped infinitely here.  This
7478         fixes that problem.
7479
7480 2002-09-28  Stephen J. Turnbull  <stephen@xemacs.org>
7481
7482         * font-lock.c (SYNTAX_START_STYLE, SYNTAX_END_STYLE): Quiet GCC.
7483         (find_context): Improve comments.
7484
7485         * regex.c (re_compile_fastmap):  Gratuitous #ifdef comment fixes.
7486         (re_match_2): An XCHAR_TABLE operation was missing.
7487
7488         Many of the following changes were inspired by Andy Piper's (now
7489         obsolete) patch to make syntax-table text property lookup optional.
7490
7491         [Documentation]
7492
7493         * syntax.h (top level): Document semantics of syntax flags.
7494         * syntax.c (comstr_start, Fforward_comment): Improve comments.
7495         * syntax.c, syntax.h (top level): Document syntax cache better in
7496         comments.
7497
7498         [Instrument syntax caching (temporary change)]
7499
7500         * syntax.h (enum syntax_cache_statistics_functions, struct
7501         syntax_cache_statistics, SCS_STATISTICS_SET_FUNCTION,
7502         SYNTAX_CACHE_STATISTICS_COUNT_INIT): New types and macros.
7503         * syntax.c (scan_words, Fforward_comment, scan_lists,
7504         Fbackward_prefix_characters):
7505         * font-lock.c (find_context):
7506         Use them to instrument syntax caching. 
7507         * syntax.c (struct syntax_cache_statistics, scs_statistics,
7508         syntax_cache_statistics_function_names): New type and variables.
7509         * syntax.c (update_syntax_cache): Update and report statistics.
7510
7511         [Major syntax cache optimizations]
7512
7513         syntax.c (lookup_syntax_properties): Default off.
7514
7515         * syntax.h (UPDATE_SYNTAX_INTERNAL): New, implements UPDATE_SYNTAX*.
7516         * syntax.c (update_syntax_cache):
7517         Move init test from update_syntax_cache to UPDATE_SYNTAX_INTERNAL.
7518
7519         [Minor syntax cache optimizations and code clarifications]
7520
7521         * syntax.h (SYNTAX_COMMENT_BITS, SYNTAX_START_P, SYNTAX_END_P,
7522         SYNTAX_STYLES_MATCH_START_P, SYNTAX_STYLES_MATCH_1CHAR_P,
7523         SYNTAX_STYLES_MATCH_END_P, STYLE_FOUND_1CHAR_P, STYLE_FOUND_P,
7524         SYNTAX_COMMENT_MASK_END, SYNTAX_COMMENT_MASK_START,
7525         SYNTAX_COMMENT_1CHAR_MASK): Remove redundant argument `table'.
7526         (Code clarification.)
7527
7528         * syntax.c (scan_words, find_end_of_comment, scan_sexps_forward,
7529         scan_lists): Compute code from syncode, use Boolean macros instead
7530         of redundant masking operations.  (Code clarification; any decent
7531         compiler can do this optimization.)
7532
7533         * syntax.c (scan_lists): Rearrange switches (case Sstring_fence)
7534         for clarity.
7535
7536         * syntax.h, syntax.c (NEXT_SINGLE_PROPERTY_CHANGE,
7537         PREVIOUS_SINGLE_PROPERTY_CHANGE, update_syntax_cache): Conditionally
7538         use F*_single_property_change instead of F*_extent_change.
7539         Currently F*_single_property_change is _much_ less efficient.
7540
7541         * dired.c (Fdirectory_files): Qt not valid in syntax_cache.object.
7542         * syntax.h (SETUP_SYNTAX_CACHE_FOR_OBJECT):  Initialize
7543         syntax_cache.object properly, don't leave Qt or Qnil.
7544         (SYNTAX_CACHE_BYTE_TO_CHAR): Use SETUP_SYNTAX_CACHE_FOR_OBJECT.
7545         * syntax.c (update_syntax_cache): Use BUFFERP and STRINGP, not
7546         tests for Qt or Qnil.
7547
7548 2002-09-21  Stephen J. Turnbull  <stephen@xemacs.org>
7549
7550         * redisplay.c (point_in_line_start_cache): 
7551         * extents.c (print_extent_1):
7552         Fix warnings.
7553
7554         * extents.c (Fset_extent_property): Document `syntax-table' property.
7555
7556         * extents.h (Fnext_single_property_change): EXFUN it.
7557
7558 2002-09-09  Stephen J. Turnbull  <stephen@xemacs.org>
7559
7560         * search.c (clear_unused_search_regs): New static function.
7561         (search_buffer): 
7562         (simple_search): 
7563         (boyer_moore):
7564         Use it.  Fixes "stale match data" bug reported by Martin Stjernholm.
7565         Minor clarifications in comments.
7566
7567         * regex.c (re_match_2_internal): Ensure no stale submatches.
7568
7569 2002-09-09  Stephen J. Turnbull  <stephen@xemacs.org>
7570
7571         * event-Xt.c (enqueue_focus_event): Add missing prototype.
7572
7573 2002-08-29  Jerry James  <james@xemacs.org>
7574
7575         * lisp.h: structrures -> structures.
7576
7577 2002-06-03  Andy Piper  <andy@xemacs.org>
7578
7579         * frame.c (frame_conversion_internal): add conversion appropriate
7580         for setting frame dimensions in pixels.
7581
7582         * console.h (struct console_methods): add device-specific widget
7583         layout functions.
7584
7585         * emacs.c (main_1): initialize glyph vars.
7586
7587         * event-Xt.c (handle_focus_event_1): call handle_focus_event_2
7588         (handle_focus_event_2): new function. Allow focus to
7589         be set to a particular window and widget.
7590         (enqueue_focus_event): new function. Create a
7591         synthetic focus event.
7592         (emacs_Xt_handle_magic_event): call
7593         handle_focus_event_2.
7594
7595         * frame.c (Fset_frame_pixel_height): new function. Allow
7596         pixel-based sizing. Does the right thing on character-oriented
7597         displays.
7598         (Fset_frame_pixel_width): ditto.
7599         (Fset_frame_pixel_size): ditto.
7600         (syms_of_frame): declare.
7601
7602         * general-slots.h: add :vertically-justify and
7603         :horizontally-justify.
7604
7605         * glyphs-msw.c (xbm_create_bitmap_from_data): warning fix.
7606         (mswindows_widget_border_width): new function.
7607         (mswindows_combo_box_instantiate): set border widths.
7608         (console_type_create_glyphs_mswindows): declare.
7609
7610         * glyphs-widget.c:
7611         (check_valid_justification): allow vertical and horizontal
7612         justification.
7613         (widget_border_width): new function. Call device methods.
7614         (widget_instance_border_width): ditto.
7615         (logical_unit_height): new function. Determine the height of a
7616         logical-unit. Logical units are intended to provide grid-like
7617         layout for subcontrols in a layout. If the layout is
7618         :vertically-justify top then subcontrols will be positioned on
7619         logical-unit boundaries, thus allowing adjacent subcontrols to
7620         line up.
7621         (widget_logical_unit_height): ditto for widgets.
7622         (redisplay_widget): misc cleanup.
7623         (widget_spacing): new function. Call device specific
7624         methods. Intended to be the default gap between adjacent widgets.
7625         (widget_query_geometry): use new spacing functions to determine
7626         appropriate geometry.
7627         (initialize_widget_image_instance): initialize horizontal and
7628         vertical justification.
7629         (widget_instantiate): use logica-units where appropriate for
7630         sizing large widgets.
7631         (button_query_geometry): use widget_instance_border_width.
7632         (tree_view_query_geometry): ditto.
7633         (tab_control_query_geometry): ditto.
7634         (edit_field_query_geometry): new function.
7635         (layout_update): pick up :justify, :horizontally-justify and
7636         :vertically-justify none of which worked previously. :justify is
7637         used as a fallback for both horizontal and vertical justification.
7638         (layout_query_geometry): use logical units to size appropriately.
7639         (layout_layout): ditto.
7640         (Fwidget_logical_to_character_width): new function. Allow users to
7641         convert from logical units to characters so that frame sizes can
7642         be set appropriately.
7643         (Fwidget_logical_to_character_height): ditto.
7644         (syms_of_glyphs_widget): declare.
7645         (image_instantiator_edit_fields): add edit_field_query_geometry.
7646         (VALID_LAYOUT_KEYWORDS): declare :vertically-justify and
7647         :horizontally-justify.
7648         (specifier_vars_of_glyphs_widget): new function. Declare
7649         Vwidget_border_width which is not yet used.
7650
7651         * glyphs-x.c (x_map_subwindow): enqueue appropriate focus events.
7652         (x_widget_border_width): new function.
7653         (x_widget_instantiate): create a sensible name for widgets.
7654         (console_type_create_glyphs_x): declare x_widget_border_width.
7655
7656         * glyphs.h (DEFAULT_WIDGET_BORDER_WIDTH): new macro.
7657         (struct Lisp_Image_Instance): add :vertically-justify and
7658         :horizontally-justify.
7659         (LAYOUT_JUSTIFY_TOP): new.
7660         (IMAGE_INSTANCE_SUBWINDOW_H_JUSTIFY): new.
7661         (ROUND_UP): new macro. Round argument up to next integral
7662         interval.
7663
7664         * redisplay-output.c (redisplay_output_layout): misc formatting.
7665
7666         * symsinit.h: declare specifier_vars_of_glyphs_widget.
7667
7668 2002-08-23  Stephen J. Turnbull  <stephen@xemacs.org>
7669
7670         * XEmacs 21.4.9 "Informed Management" is released.
7671
7672 2002-08-19  Andy Piper  <andy@xemacs.org>
7673
7674         * fileio.c (Ffile_truename): on cygwin using win32 normalize to
7675         win32 format.
7676
7677         * realpath.c (xrealpath): normalize drive spec also so that dir
7678         sep chars are not mixed on cygwin.
7679
7680 2002-08-06  Jerry James  <james@xemacs.org>
7681
7682         * window.c (Fsplit_window): Count only half of the divider width
7683         against the left window when splitting horizontally. 
7684
7685 2002-06-24  Andy Piper  <andy@xemacs.org>
7686
7687         * toolbar-gtk.c (GTK_OUTPUT_BUTTONS_LOOP): output button if whole
7688         toolbar was cleared.
7689
7690         * toolbar-msw.c (mswindows_clear_frame_toolbars): new
7691         function. Split out from mswindows_output_frame_toolbars.
7692         (mswindows_output_frame_toolbars): move clear pieces to
7693         mswindows_output_frame_toolbars.
7694
7695         * toolbar-gtk.c (gtk_clear_frame_toolbars): new function. Split
7696         out from gtk_output_frame_toolbars.
7697         (gtk_output_frame_toolbars): move clear pieces to
7698         gtk_clear_frame_toolbars.
7699
7700         * toolbar-x.c (X_OUTPUT_BUTTONS_LOOP): always output buttons when
7701         the frame is cleared. How this ever worked before is a mystery.
7702         (x_output_frame_toolbars): Only output toolbars.
7703         (x_clear_frame_toolbars): new. Clear previous toolbar locations.
7704
7705         * gutter.c (update_gutter_geometry):
7706         Mark frame layout changed.
7707         (update_frame_gutter_geometry, update_frame_gutters):
7708         Respect frame_layout_changed.
7709
7710         * console.h (struct console_methods): add
7711         clear_frame_toolbars_method.
7712
7713         * redisplay.c (redisplay_frame): call
7714         update_frame_toolbars_geometry and re-order update_frame_toolbars.
7715
7716         * toolbar.h: declare update_frame_toolbars_geometry.
7717
7718         * toolbar.c (update_frame_toolbars_geometry): new function. Split
7719         out from update_frame_toolbars.  Call clear_frame_toolbars.
7720         (update_frame_toolbars): only output, do not change geometry.
7721
7722         * redisplay.c: add frame_layout_changed.
7723
7724         * redisplay.h: add frame_layout_changed.
7725         (CLASS_RESET_CHANGED_FLAGS): set it.
7726         (GLOBAL_RESET_CHANGED_FLAGS): ditto.
7727         (CLASS_REDISPLAY_FLAGS_CHANGEDP): test it.
7728         (GLOBAL_REDISPLAY_FLAGS_CHANGEDP): ditto.
7729
7730         * device.h (struct device): add frame_layout_changed.
7731         (MARK_DEVICE_FRAME_LAYOUT_CHANGED): new.
7732
7733         * frame.h (struct frame): add frame_layout_changed.
7734         (MARK_FRAME_LAYOUT_CHANGED): new.
7735
7736 2002-06-30  Mike Alexander  <mta@arbortext.com>
7737
7738         * event-msw.c (mswindows_need_event): Don't wait for a new message
7739         if the queue is not empty.  Suggested by Paul Moore.
7740
7741 2002-06-12  Andy Piper  <andy@xemacs.org>
7742
7743         * frame-msw.c (msprinter_init_frame_3): calculate the frame size
7744         for printing on accurately.
7745
7746 2002-06-09  Rick Rankin <rick_rankin@yahoo.com>
7747
7748         * event-msw.c (mswindows_wnd_proc): Add a handler for the
7749         WM_ACTIVATE message. Make sure that the frame is visible if the
7750         window is visible. This seemss to fix the problem where XEmacs
7751         appears to freeze after switching desktops with certain virtual
7752         window managers.
7753         (debug_output_mswin_message): Added code to output message
7754         parameters for WM_WINDOWPOSCHANGED, 
7755         WM_WINDOWPOSCHANGING, WM_MOVE, and WM_SIZE messages.
7756
7757 2002-05-25  Andy Piper  <andy@xemacs.org>
7758
7759         * select-x.c (vars_of_select_x): Fix docstring of
7760         x-selection-strict-motif-ownership
7761
7762 2002-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
7763
7764         * keymap.c (get_keymap):
7765         Add comment about do_autoload GCPROs own args.
7766
7767 2002-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
7768
7769         * bytecode.c (execute_optimized_program): check_opcode ifdef
7770         ERROR_CHECK_BYTE_CODE.
7771
7772 2002-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
7773
7774         Thanks to Ben Wing and Michael Sperber.
7775
7776         * eval.c (Fcommand_execute):
7777         (Feval):
7778         (Ffuncall):
7779         (Fmacroexpand_internal):
7780         (function_argcount):
7781         callint.c (Fcall_interactively):
7782         Add comment about do_autoload GCPROs own args.
7783
7784         * (do_autoload): GCPRO both args as well as local Lisp_Object.
7785
7786         * eval.c (Ffuncall): Extra braces to placate GCC.
7787
7788 2002-08-10  Stephen J. Turnbull  <stephen@xemacs.org>
7789
7790         * backtrace.h (grow_specpdl):
7791         (SPECPDL_RESERVE):
7792         * EmacsFrame.c (EmacsFrameSetValues):
7793         * eval.c (grow_specpdl):
7794         * ExternalShell.c (hack_event_masks_1):
7795         * glyphs-x.c (convert_EImage_to_XImage): 
7796         (x_finalize_image_instance):
7797         * ralloc.c (page_size):
7798         (r_alloc_sbrk):
7799         * xgccache.c (gc_cache_hash):
7800         Fix unsigned comparison warnings.
7801
7802 2002-07-29  Jerry James  <james@xemacs.org>
7803
7804         * lread.c (locate_file): Any nonnegative return value indicates
7805         success if MODE is nonnegative.
7806
7807 2002-08-03  Brian A Palmer  <bpalmer@rescomp.Stanford.EDU>
7808
7809         * emacs.c (Fsplit_string_by_char): Make 2nd arg SEPCHAR a required
7810         argument. 
7811
7812 2002-07-17  Stephen J. Turnbull  <stephen@xemacs.org>
7813
7814         * process-unix.c (unix_send_process): #ifdef the coding_stream member.
7815
7816         * dumper.c (pdump_get_indirect_count):
7817         (pdump_scan_by_alignment):
7818         (pdump_dump_root_struct_ptrs):
7819         (pdump_dump_rtables):
7820         (pdump_dump_root_objects):
7821         (pdump):
7822         * nas.c (WaveOpenDataForReading):
7823         * fns.c (print_bit_vector):
7824         * font-lock.c (SINGLE_SYNTAX_STYLE):
7825         * glyphs.c (check_for_ignored_expose):
7826         (find_matching_subwindow):
7827         * glyphs-eimage.c:
7828         * imgproc.c (get_histogram):
7829         * redisplay.c (point_in_line_start_cache):
7830         * redisplay-output.c (redisplay_unmap_subwindows):
7831         * symbols.c (defsymbol_massage_name_1):
7832         (defkeyword_massage_name):
7833         (deferror_massage_name_and_message):
7834         * redisplay-x.c (x_output_string): 
7835         * emacs.c (run_temacs_argv_size, run_temacs_args_size):
7836         * frame.h (struct frame):
7837         * filelock.c (current_lock_owner):
7838         * doprnt.c (emacs_doprnt_1):
7839         * lisp.h (struct Lisp_Bit_Vector):
7840         (DO_REALLOC):
7841         Fix warnings.
7842
7843 2002-02-13  Ben Wing  <ben@xemacs.org>
7844
7845         * event-stream.c (reset_key_echo):
7846         * event-stream.c (reset_this_command_keys):
7847         * event-stream.c (execute_command_event):
7848         If console is dead as a result of C-x 5 0, then post-command stuff
7849         needs to be careful and do only non-console-specific stuff.
7850
7851 2002-07-01  Mike Sperber <mike@xemacs.org>
7852
7853         * process-unix.c (unix_send_process): Mark coding_outstream as
7854         non-open upon SIGPIPE.
7855
7856         * event-stream.c (Fnext_event): Reorder switch cases to something
7857         that makes sense.
7858
7859 2001-08-13  Dmitry Astapov  <adept@umc.com.ua>
7860
7861         * event-Xt.c (maybe_define_x_key_as_self_inserting_character):
7862         Don't bogusly reinitialize ascii_character property.
7863
7864 2002-07-08  Mike Sperber <mike@xemacs.org>
7865
7866         * process.c (Fstart_process_internal): Do error checking before we
7867         fork off the child, so the child can't muck with the state of the
7868         parent.
7869
7870 2002-07-08  Mike Sperber <mike@xemacs.org>
7871
7872         * ralloc.c (init_ralloc): Allocate properly for pdump.
7873
7874 2002-06-12  Andy Piper  <andy@xemacs.org>
7875
7876         * glyphs.c (query_string_geometry): check the string.
7877
7878         * glyphs-widget.c (widget_logical_unit_height): cope with nil
7879         widget names.
7880
7881 2002-06-17  Jerry James  <james@xemacs.org>
7882
7883         * sysdll.c: Remove RTLD_GLOBAL initialization.
7884         * sysdll.c (dll_open): Do not use RTLD_GLOBAL.
7885
7886 2002-06-25  Stephen J. Turnbull  <stephen@xemacs.org>
7887
7888         * search.c (skip_chars): Port Ben's crash fix and efficiency patch.
7889
7890 2002-05-16  Mathias Grimmberger  <mgri@zaphod.sax.de>
7891
7892         * sysdep.c (sys_rename): Make sys_rename work for the case where
7893         Windows rename sets errno to EACCES if target file exists.
7894
7895 2002-05-21  Jonathan Harris  <jonathan@xemacs.org>
7896
7897         * device-msw.c (mswindows_handle_page_setup_dialog_box):
7898         Fix detection of metric units to work on Win95
7899
7900 2002-05-21  Stephen J. Turnbull  <stephen@xemacs.org>
7901
7902         * syswindows.h: #define LOCALE_RETURN_NUMBER.  Why, I don't know.
7903
7904 2002-04-25  Andy Piper  <andy@xemacs.org>
7905
7906         * redisplay.c (create_text_block): Remove extra comment trailer.
7907
7908 2002-04-24  Andy Piper  <andy@xemacs.org>
7909
7910         * redisplay.c (create_text_block): Don't actually add propagation
7911         data if the line ends after we have added a glyph.
7912
7913 2002-04-22  Andy Piper  <andy@xemacs.org>
7914
7915         * extents.c (extent_fragment_update): check for glyphs we have
7916         previously displayed.
7917         * extents.c (print_extent_1): warning removal.
7918         * extents.h: change prototype.
7919         * redisplay-output.c (redisplay_normalize_glyph_area): calculate
7920         widths correctly for wide glyphs.
7921         * redisplay.c (position_redisplay_data_type): add end_glyph_width.
7922         * redisplay.c (prop_type): add PROP_GLYPH.
7923         * redisplay.c (struct prop_block): add glyph type
7924         * redisplay.c (add_glyph_rune): when adding part of a glyph add it
7925         to the propagation data.
7926         * redisplay.c (create_text_block): if there is a glyph in the
7927         propagation data use it to salt extent_fragment_update.
7928         * redisplay.c (create_string_text_block): ditto.
7929
7930 2002-04-13  Nix  <nix@esperi.demon.co.uk>
7931
7932         * redisplay.h (struct rune): Add ascent, descent, and yoffset fields.
7933         * redisplay-output.c (compare_runes): Compare them.
7934         * redisplay.c: Update copyright date.
7935         * redisplay.c (pos_data): Add need_baseline_computation field.
7936         * redisplay.c (add_glyph_rune): Update ascent, descent, and
7937         need_baseline_computation; zero yoffset. Set max_pixmap_height
7938         for all pixmaps, not just automatically positioned ones.
7939         * redisplay.c (calculate_yoffset): New, compute yoffset values.
7940         * redisplay.c (calculate_baseline): New, compute textual baseline.
7941         * redisplay.c (add_glyph_rune): Call them.
7942         * redisplay.c (create_text_block): Likewise.
7943         * redisplay.c (create_overlay_glyph_block): Likewise.
7944         * redisplay.c (add_margin_runes): Likewise.
7945         * redisplay.c (create_string_text_block): Likewise. Fix tabdamage.
7946
7947         * redisplay.h: (redisplay_calculate_display_boxes): Change prototype.
7948         * redisplay-output.c (redisplay_calculate_display_boxes): Use yoffset.
7949         * redisplay-msw.c (mswindows_output_blank): Pass 0 as yoffset.
7950         * redisplay-msw.c (mswindows_output_string): Likewise.
7951         * redisplay-msw.c (mswindows_output_display_block): Pass yoffset.
7952         * redisplay-gtk.c (gtk_output_display_block): Likewise.
7953         * redisplay-x.c (x_output_display_block): Likewise.
7954
7955 2002-03-28  Ben Wing  <ben@xemacs.org>
7956
7957         * redisplay.c: Fixed bug in redisplay
7958         w.r.t. hscroll/truncation/continuation glyphs causing jumping up
7959         and down of the lines, since they're bigger than the line
7960         size. (It was seen most obviously when there's a horizontal scroll
7961         bar, e.g. do C-h a glyph or something like that.) The problem was
7962         that the glyph-contrib-p setting on glyphs was ignored even if it
7963         was set properly, which it wasn't until now.
7964
7965 2002-04-24  Andy Piper  <andy@xemacs.org>
7966
7967         * lisp.h (Dynarr_end): Fix definition.
7968
7969 2002-02-06  Adrian Aichner  <adrian@xemacs.org>
7970
7971         * redisplay.c (mark_redisplay): Remove call to
7972         update_frame_window_mirror.
7973
7974 2001-11-15  Andy Piper  <andy@xemacs.org>
7975
7976         * win32.c (Fmswindows_shell_execute): fix handling of URL's under
7977         cygwin (again).
7978
7979 2002-02-13  Andy Piper  <andy@xemacs.org>
7980
7981         * event-msw.c (mswindows_wnd_proc): only mark the frame visible if
7982         we did in fact enqueue the XM_MAPFRAME event.
7983
7984 2002-01-15  Adrian Aichner  <adrian@xemacs.org>
7985
7986         * event-msw.c (mswindows_wnd_proc): Add handling of WM_SHOWWINDOW
7987         to fix problem switching between virtual desktops under virtuawin
7988         virtual window manager.
7989
7990 2001-07-30  Adrian Aichner  <adrian@xemacs.org>
7991
7992         * event-msw.c: Typo fix.
7993         * event-msw.c (mswindows_wnd_proc): Set FRAME_VISIBLE_P after
7994         magic XM_MAPFRAME event has been sent.
7995
7996 2001-11-23  Andy Piper  <andy@xemacs.org>
7997
7998         * event-msw.c (mswindows_wnd_proc): Don't pump mousewheel events.
7999
8000 2001-11-21  Andy Piper  <andy@xemacs.org>
8001
8002         * scrollbar-msw.c (mswindows_handle_mousewheel_event): cope with
8003         mouse events outside the frame.
8004
8005 2002-03-20  Andy Piper  <andy@xemacs.org>
8006
8007         * menubar-msw.c (mswindows_popup_menu): warning removal.
8008         * dialog-msw.c (dialog_popped_down): ditto.
8009
8010 2001-12-11  Andy Piper  <andy@xemacs.org>
8011
8012         * dialog-msw.c (dialog_popped_down): new function. unset popup_up_p.
8013         * dialog-msw.c (mswindows_make_dialog_box_internal): set
8014         popup_up_p.
8015         * menubar-msw.c (unsafe_handle_wm_initmenupopup_1): ditto.
8016         * menubar-msw.c (mswindows_handle_wm_command): ditto.
8017         * menubar-msw.c (mswindows_popup_menu): ditto.
8018
8019 2001-10-29  Andy Piper  <andy@xemacs.org>
8020
8021         * dialog-msw.c (handle_directory_dialog_box): quit if the user
8022         cancels.
8023
8024 2002-01-03  Andy Piper  <andy@xemacs.org>
8025
8026         * realpath.c (ABS_LENGTH): dtrt for cygwin systems using drive
8027         letters.
8028         (xrealpath): ditto.
8029
8030 2002-03-29  Jonathan Harris  <jonathan@xemacs.org>
8031
8032         * device-msw.c (plist_get_margin): Add arg specifying mm or inches
8033         * device-msw.c (plist_set_margin): Fix multiplicand used for mm
8034         * device-msw.c (mswindows_handle_page_setup_dialog_box):
8035         Detect and handle case where machine is set up for metric units
8036
8037 2002-04-02  Andy Piper  <andy@xemacs.org>
8038
8039         * dired-msw.c (mswindows_get_files): 
8040         * nt.c (mswindows_stat): SetErrorMode() so that file errors are
8041         completely handled by XEmacs. Suggested by Thomas Vogler
8042         <mail@thomas-vogler.de>.
8043
8044 2001-11-14  Andy Piper  <andy@xemacs.org>
8045
8046         * nt.c (REG_ROOT): change registry key to XEmacs.
8047
8048 2002-04-27  Andy Piper  <andy@xemacs.org>
8049
8050         * glyphs-msw.c (mswindows_widget_instantiate): remove dead-code.
8051
8052 2002-04-26  Andy Piper  <andy@xemacs.org>
8053
8054         * glyphs-msw.c (mswindows_map_subwindow): observe :initial-focus
8055         behavior.
8056
8057 2002-03-14  Mike Alexander  <mta@arbortext.com>
8058
8059         * event-msw.c (mswindows_unwait_process): New, remove process from
8060         wait list
8061         * process-nt.c (nt_finalize_process_data): Call
8062         mswindows_unwait_process
8063         * console-msw.h: Declare mswindows_unwait_process
8064
8065 2002-05-14  Stephen J. Turnbull  <stephen@xemacs.org>
8066
8067         * editfns.c (Fdecode_time):
8068         (Fformat_time_string):
8069         Check for invalid time.  Thanks to Nick Pakoulin <npak@ispras.ru>.
8070         (make_time): Warning elimination (change arg name).
8071
8072 2001-11-24  Andy Piper  <andy@xemacs.org>
8073
8074         * window.c (Fsplit_window): Doc return type.
8075
8076 2002-04-01  Andy Piper  <andy@xemacs.org>
8077
8078         * emacs.c (Fkill_emacs): Only output message box in interactive
8079         mode.
8080
8081 2002-04-26  Andy Piper  <andy@xemacs.org>
8082  
8083         * config.h.in: pull in 21.5.x change to stop alloca warnings under
8084         cygwin.
8085
8086 2002-03-18  Gregory Steuck  <greg-xemacs-patch@nest.cx>
8087
8088         * unexelf.c:  Use ELFSIZE or define from _LP64 to indicate a 64
8089         bit platform.
8090
8091 2002-05-09  Stephen J. Turnbull  <stephen@xemacs.org>
8092
8093         * XEmacs 21.4.8 "Honest Recruiter" is released.
8094
8095 2002-05-07  Nix  <nix@esperi.demon.co.uk>
8096
8097         Supersedes 2002-04-17 patch.
8098
8099         * process.h (PROCESS_LIVE_P): Use the process status as
8100         evidence of health, not the state of the input stream.
8101         (PROCESS_READABLE_P): Say if the process is readable
8102         from. (It may be dead nonetheless.)
8103         (CHECK_READABLE_PROCESS): Test for that condition.
8104
8105         * process.c (create_process): Use PROCESS_READABLE_P.
8106         (read_process_output, set_process_filter): Likewise.
8107
8108         * process.c (Fprocess_input_coding_system): Use CHECK_READABLE_PROCESS.
8109         (Fset_process_input_coding_system, Fprocess_coding_system): Likewise.
8110
8111         This code is #if 0'd, this is not the time to add new functions:
8112
8113         * process.c (Fprocess_readable_p): Report readability status.
8114         * process.c (Qprocess_readable_p): New, associated symbol...
8115         * process.c (syms_of_process): ... initialize it.
8116
8117 2002-05-04  Stephen J. Turnbull  <stephen@xemacs.org>
8118
8119         * XEmacs 21.4.7 "Economic Science" is released.
8120
8121 2002-04-17  Nix  <nix@esperi.demon.co.uk>
8122
8123         * process.h (PROCESS_LIVE_P): Use the process status as
8124         evidence of health, not the state of the input stream.
8125
8126 2002-04-30  Charles G. Waldman <cgw@xemacs.org>
8127
8128         * sysdep.c (sys_siglist): change "signum" to "signal"
8129
8130 2001-04-21  Martin Buchholz  <martin@xemacs.org>
8131
8132         * s/darwin.h: New file.
8133         Thanks to Greg Parker <gparker@cs.stanford.edu>.
8134         
8135 2002-04-23  Andreas Jaeger  <aj@suse.de>
8136
8137         * s/linux.h (LIB_STANDARD): Define correctly for x86-64 and s390x
8138         which use lib64 for 64-bit libs.
8139         (START_FILES): Likewise.
8140
8141 2002-02-11  Mike Sperber  <mike@xemacs.org>
8142
8143         * device-x.c: 
8144         (x_IO_error_handler):
8145         (x_init_device): Temporarily keep device in static variable
8146         `device_being_initialized' so we can recover gracefully from
8147         internal XOpenDevice failure.  (XOpenDevice is documented to
8148         return NULL on failure, but sometimes calls the IO error handler
8149         instead.)
8150
8151 2002-01-31  John H. Palmieri  <palmieri@math.washington.edu>
8152
8153         * dired.c (Ffile_name_all_completions): Change documentation --
8154         remove reference to completion-ignored-extensions.
8155         * dired.c (vars_of_dired): Change documentation for
8156         completion-ignored-extensions -- remove reference to
8157         file-name-all-completions.
8158
8159 2002-03-06  Jerry James  <james@xemacs.org>
8160
8161         * emodules.c (emodules_load): Fix multiple loading of same module.
8162
8163 2002-01-25  Andrew Begel <abegel@cs.berkeley.edu>
8164         * sysdll.c (dll_open): Changed to use RTLD_NOW instead of
8165         RTLD_LAZY to avoid incorrect symbol binding when using nested
8166         shared libraries on Solaris.
8167
8168 2002-02-12  Stephen J. Turnbull  <stephen@xemacs.org>
8169
8170         * fileio.c (Ffind_file_name_handler): Improve docstring.
8171
8172 2002-01-20  Stephen J. Turnbull  <stephen@xemacs.org>
8173
8174         * fns.c (Fmapconcat): Improve docstring.
8175
8176 2002-01-03  Eric Gillespie, Jr.  <epg@pretzelnet.org>
8177
8178         * device-gtk.c: Add prototype for
8179         emacs_gtk_selection_clear_event_handle.
8180         (gtk_init_device): Call gtk_selection_add_target for CLIPBOARD
8181         selection.  Setup signal handler for "selection_clear_event"
8182         (emacs_gtk_selection_clear_event_handle).
8183
8184         * select-gtk.c (emacs_gtk_selection_clear_event_handle): Handle
8185         other applications owning the clipboard (based on
8186         x_handle_selection_clear).
8187
8188 2001-12-23  William M. Perry  <wmperry@gnu.org>
8189
8190         * menubar-gtk.c (gtk_popup_menu)  Add sanity checks, fix crash.
8191         
8192 2002-01-04  Martin Buchholz  <martin@xemacs.org>
8193
8194         * keymap.c (define_key_alternate_name): Parenthesize EQ.
8195
8196 2001-12-17  Stephen J. Turnbull  <stephen@xemacs.org>
8197
8198         * XEmacs 21.4.6 "Common Lisp" is released.
8199
8200 2001-12-16  Torsten Duwe  <duwe@caldera.de>
8201
8202         * search.c (Freplace_match): Add missing sub-expression functionality.
8203
8204         * buffer.c (decode_buffer): Add a check for pointer type to
8205         decode_buffer, before gcc's CSE optimization reorders a
8206         dereference in front of the allow_string test.
8207
8208 2001-11-16  Darryl Okahata  <darrylo@xemacs.org>
8209
8210         * window.c (window_loop): Fix bug that sometimes prevented
8211         window_loop() from iterating across multiple devices.  Also, at
8212         Ben's request, changed infloop-detecting code to abort() instead
8213         of silently terminating window_loop().
8214
8215 2001-11-21  Stephen J. Turnbull  <stephen@xemacs.org>
8216
8217         Based on analysis and patch by Simon Josefson <jas@extundo.com>.
8218         * editfns.c (make_time): New function.
8219         (Fencode_time): Use it instead of wasteful_word_to_lisp.
8220         * lisp.h (make_time): Prototype and comment it.
8221         * dired.c (wasteful_word_to_lisp): Deprecate.
8222         (Ffile_attributes): Use make_time() instead of wasteful_word_to_lisp().
8223
8224 2001-10-31  Kyle Jones  <kyle_jones@wonderworks.com>
8225
8226         * fileio.c (auto_save_1): Use current coding system, not
8227         escape-quoted.
8228
8229 2001-11-13  Ben Wing  <ben@xemacs.org>
8230
8231         * window.c:
8232         * window.c (window_truncation_on):
8233         * window.c (syms_of_window):
8234         truncate-partial-width-windows should respect the buffer being
8235         displayed, like other redisplay vars.
8236
8237 2001-11-13  Hirokazu FUKUI  <hfukui@sannet.ne.jp>
8238
8239         * event-stream.c (Fread_key_sequence): save current buffer.
8240
8241 2001-10-29  Andrew Begel  <abegel@eecs.berkeley.edu>
8242
8243         * ntheap.c (_heap_init): Don't redefine in VS.NET (MSC >= 1300).
8244
8245 2001-10-29  Andrew Begel  <abegel@eecs.berkeley.edu>
8246
8247         * alloc.c (lcrecord_stats): Add space for types defined in modules.
8248
8249 2001-10-26  Mike Alexander  <mta@arbortext.com>
8250
8251         * event-msw.c (slurper_free_shared_data_maybe): Free the pipe handle.
8252
8253 2001-10-25  Andy Piper  <andy@xemacs.org>
8254
8255         * ChangeLog:
8256         * dialog-msw.c (handle_directory_proc): new function.
8257          (handle_directory_dialog_box): new fucntion.
8258          (handle_file_dialog_box): use new directory dialog support.
8259          (mswindows_make_dialog_box_internal): ditto.
8260         * event-msw.c (mswindows_wnd_proc): minor fix to scrollbar event
8261         handling.
8262         (mswindows_find_frame): make global.
8263         * fileio.c (Fexpand_file_name): build fix.
8264         * general-slots.h: add Qdirectory.
8265         * scrollbar-msw.c (mswindows_handle_scrollbar_event): fix focus
8266         handling.
8267         * syswindows.h (LOCAL_TO_WIN32_FILE_FORMAT): fix problem with
8268         cygwin not leaving win32 paths unchanged.
8269         * win32.c (Fmswindows_cygwin_to_win32_path): new function. Use the
8270         cygwin runtime to do path conversion.
8271         (Fmswindows_shell_execute): fix cygwin handling of URLs.
8272         (syms_of_win32): add new function.
8273         * window.c (window_loop): build fix.
8274
8275 2001-10-15  Andy Piper  <andy@xemacs.org>
8276
8277         (Fmswindows_shell_execute): fix handling of URL's under cygwin.
8278
8279 2001-10-23  Stephen J. Turnbull  <stephen@xemacs.org>
8280
8281         * XEmacs 21.4.5 "Civil Service" is released.
8282
8283 2001-04-08  Danny Colascione  <qtmstr@optonline.net>
8284
8285         * glyphs-x.c: Force buffer-tab highlight update when moving the
8286         buffer, avoiding an ugly black border, used for keyboard focus
8287         indication, on a widget that can never have keyboard focus, the
8288         buffer tab.
8289
8290 2001-08-30  Daiki Ueno  <ueno@unixuser.org>
8291
8292         * process-unix.c (unix_open_multicast_group): Remove too much
8293         conversion between host and network byte order.
8294
8295 2001-09-10  Nix  <nix@esperi.demon.co.uk>
8296
8297         * src/buffer.c (kill_buffer): Undedicate windows showing BUF
8298         before replacing them.
8299
8300         * src/window.c (window_loop): Implement new UNDEDICATE_BUFFER
8301         operation.
8302
8303         * src/window.c (undedicate_windows): Use it.
8304         * src/window.h: Add prototype.
8305
8306 2001-09-17  Ben Wing  <ben@xemacs.org>
8307
8308         * fileio.c (normalize_filename):
8309         * fileio.c (Fexpand_file_name):
8310         Fix various C++ compile errors in Andy's recent code.
8311         
8312         * callint.c (Fcall_interactively):
8313         * editfns.c (Ftemp_directory):
8314         * editfns.c (Fuser_full_name):
8315         * emacs.c (argmatch):
8316         * lread.c (locate_file_map_suffixes):
8317         * redisplay-x.c (x_ring_bell):
8318         Fix sign-compare warnings.
8319         
8320 2001-09-08  Andy Piper  <andy@xemacs.org>
8321
8322         * fileio.c (normalize_filename): copied from nt.c
8323         * (Ffile_name_directory): enable win32 paths under cygwin.
8324         * (Ffile_name_nondirectory): ditto.
8325         * (directory_file_name): ditto.
8326         * (Fexpand_file_name): ditto.
8327         * (Ffile_truename): ditto.
8328         * (Fsubstitute_in_file_name): ditto.
8329         * (Ffile_name_absolute_p): ditto.
8330         * (Ffile_readable_p): ditto.
8331
8332 2001-09-08  Andy Piper  <andy@xemacs.org>
8333
8334         * device-msw.c (mswindows_finish_init_device): remove dde
8335         initialization.
8336         * device-msw.c (mswindows_init_dde): factor out from
8337         mswindows_finish_init_device()
8338         * device-msw.c (init_mswindows_very_early): new function
8339         initialize but don't enable dde.
8340         * emacs.c (main_1): call init_mswindows_very_early.
8341         * event-msw.c:
8342         * event-msw.c (mswindows_dde_callback): only execute when we are
8343         ready.
8344         * symsinit.h: declare init_mswindows_very_early.
8345
8346 2001-05-02  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
8347
8348         [sjt: This has been in 21.5 for months with no complaints.]
8349
8350         * console.h (struct console_methods): Added flags member.
8351         (CONSOLE_IMPLEMENTATION_FLAGS): Defined.
8352         (CONMETH_IMPL_FLAG):
8353         (CONSOLE_IMPL_FLAG): Macro to check implememntation flags.
8354         Defined XDEVIMPF_DONT_PREEMPT_REDISPLAY.
8355
8356         * device.c (window_system_pixelated_geometry): Use the above macros.
8357
8358         * device.h (DEVICE_IMPL_FLAG): Macro to check a device
8359         implememntation flag.
8360         * device.h (DEVICE_DISPLAY_P): Use it.
8361
8362         * frame.c (delete_frame_internal): Use the above macro.
8363
8364         * redisplay.c (redisplay_device): Use it.
8365         (redisplay_device): Obey XDEVIMPF_DONT_PREEMPT_REDISPLAY.
8366         (redisplay_frame): Ditto.
8367
8368         * device-msw.c (mswindows_device_implementation_flags): Removed.
8369         (msprinter_device_implementation_flags): Removed.
8370         (console_type_create_device_mswindows): Removed references to
8371         implementation_flags methods, set implementation flags here.
8372         (console_type_create_device_mswindows): Added XDEVIMPF_DONT_PREEMPT.
8373
8374         * device-gtk.c (gtk_device_implementation_flags): Removed method.
8375         (console_type_create_device_gtk): Removed method declaration.
8376         Added commented out statement which semantically matches the
8377         commented out statement in the above removed method.
8378
8379 2001-04-14  Gordon Sadler  <gbsadler1@lcisp.com>
8380
8381         The attached patch fixes a few warnings. 
8382
8383         * src/emacs.c: prototype console_type_create_select_gtk for GTK only
8384         * src/frame-gtk.c: guard against GNOME calls in GTK only
8385         * src/redisplay-gtk.c: include <sys/poll.h> #ifdef HAVE_POLL
8386         * src/select-gtk.c: prototype lisp_to_time
8387
8388 2001-06-08  Ben Wing  <ben@xemacs.org>
8389
8390         ------ gc-in-window-procedure fixes ------
8391         
8392         * alloc.c:
8393         * alloc.c (struct post_gc_action):
8394         * alloc.c (register_post_gc_action):
8395         * alloc.c (run_post_gc_actions):
8396         * alloc.c (garbage_collect_1):
8397         Create "post-gc actions", to avoid those dreaded "GC during window
8398         procedure" problems.
8399
8400         * event-msw.c:
8401         Abort, clean and simple, when GC in window procedure.  We want
8402         to flush these puppies out.
8403
8404         * glyphs-msw.c:
8405         * glyphs-msw.c (finalize_destroy_window):
8406         * glyphs-msw.c (mswindows_finalize_image_instance):
8407         Use a post-gc action when destroying subwindows.
8408
8409         * lisp.h:
8410         Declare register_post_gc_action().
8411
8412         * scrollbar-msw.c:
8413         * scrollbar-msw.c (unshow_that_mofo):
8414         Use a post-gc action when unshowing scrollbar windows, if in gc.
8415
8416         * redisplay.c (mark_redisplay):
8417         Add comment about the utter evilness of what's going down here.
8418
8419         ------ cygwin setitimer fixes ------
8420         
8421         * Makefile.in.in (sheap_objs):
8422         * Makefile.in.in (profile_objs):
8423         * Makefile.in.in (objs):
8424         Compile profile.c only when HAVE_SETITIMER.
8425         
8426         * nt.c (mswindows_sigset):
8427         * nt.c (mswindows_sighold):
8428         * nt.c (mswindows_sigrelse):
8429         * nt.c (mswindows_sigpause):
8430         * nt.c (mswindows_raise):
8431         * nt.c (close_file_data):
8432         Style fixes.
8433         
8434         * nt.c:
8435         Move setitimer() emulation to win32.c, because Cygwin needs it too.
8436         
8437         * profile.c:
8438         * profile.c (Fstart_profiling):
8439         * profile.c (Fstop_profiling):
8440         Make sure we don't compile if no setitimer().  Use qxe_setitimer()
8441         instead of just plain setitimer().
8442         
8443         * signal.c:
8444         * signal.c (set_one_shot_timer):
8445         * signal.c (alarm):
8446         Define qxe_setitimer() as an encapsulation around setitimer() --
8447         call setitimer() directly unless Cygwin or MS Win, in which case
8448         we use our simulated version in win32.c.
8449         
8450         * systime.h:
8451         * systime.h (struct itimerval):
8452         * systime.h (ITIMER_REAL):
8453         Prototype mswindows_setitimer() and qxe_setitimer().  Long
8454         comment about "qxe" and the policy regarding encapsulation.
8455
8456         * win32.c:
8457         * win32.c (setitimer_helper_proc):
8458         * win32.c (setitimer_helper_period):
8459         * win32.c (setitimer_helper):
8460         * win32.c (mswindows_setitimer):
8461         Move setitimer() emulation here, so Cygwin can use it.
8462         Rename a couple of functions and variables to be longer and more
8463         descriptive.  In setitimer_helper_proc(), send the signal
8464         using either mswindows_raise() or (on Cygwin) kill().  If for
8465         some reason we are still getting lockups, we'll change the kill()
8466         to directly invoke the signal handlers.
8467
8468         ------ windows shell fixes ------
8469         
8470         * callproc.c:
8471         * ntproc.c:
8472         Comments about how these two files must die.
8473
8474         * callproc.c (init_callproc):
8475         On MS Windows, init shell-file-name from SHELL, then COMSPEC,
8476         not just COMSPEC. (more correct and closer to FSF.) Don't
8477         force a value for SHELL into the environment. (Comments added
8478         to explain why not.)
8479         
8480         * nt.c (init_user_info):
8481         Don't shove a fabricated SHELL into the environment.  See above.
8482
8483 2001-06-01  Ben Wing  <ben@xemacs.org>
8484
8485         * Makefile.in.in (ldflags):
8486         eliminate that pesky "defaulting to 00401000" warning.
8487         * nt.h:
8488         eliminate warnings.
8489
8490 2001-06-15  Golubev I. N.  <gin@mo.msk.ru>
8491
8492         * s/sco5.h (FORCE_ALLOCATE_PTY_THE_OLD_FASHIONED_WAY): #define.
8493         * process-unix.c (allocate_pty): #ifndef "modern" pty allocation.
8494
8495 2001-04-24  Jerry James <james@xemacs.org>
8496
8497         * faces.h: pass parameters to Fadd_spec_to_specifier in the
8498         correct order.
8499
8500 2001-06-01  Ben Wing  <ben@xemacs.org>
8501
8502         * event-msw.c (debug_mswin_messages):
8503         conditionalize the messages that were causing compile errors.
8504         (if only macros could generate #ifdef statements ...)
8505
8506 2001-07-28  Stephen J. Turnbull  <stephen@xemacs.org>
8507
8508         * XEmacs 21.4.4 "Artificial Intelligence" is released.
8509
8510 2001-07-22  Stephen J. Turnbull  <stephen@xemacs.org>
8511
8512         * event-msw.c (mswindows_wnd_proc): Add GC debugging assert.
8513
8514 2001-07-22  Stephen J. Turnbull  <stephen@xemacs.org>
8515
8516         * config.h.in (IPV6_CANONICALIZE): New #define for --with-ipv6-lookup.
8517         * process-unix.c (unix_canonicalize_host_name):
8518         sysdep.c (init_system_name):
8519         Use it to conditionally support IPv6 canonicalization.
8520
8521 2001-05-31  Paul Stodghill  <stodghil@cs.cornell.edu>
8522
8523         * event-msw.c:
8524         Cygwin does not define WM_IME_xxx. Modify the #if's accordingly.
8525
8526 2001-05-19  Paul Krause  <paulkrause1@mediaone.net>
8527
8528         * scrollbar-msw.c: Fixes a crash that occurs on Windows when an
8529         attempt is made to scroll when no scroll bar is available.
8530
8531 2001-04-19  Glynn Clements  <glynn.clements@virgin.net>
8532
8533         * input-method-motif.c (XIM_delete_frame): New callback.
8534         (XIM_init_frame): Register it.  (Reapplied by SJT, it somehow
8535         got deleted from 21.4.3.)
8536
8537 2001-06-01  Ben Wing  <ben@xemacs.org>
8538
8539         * nt.c (mswindows_utime):
8540         * nt.c (close_file_data):
8541         fix off-by-one-indirection error.
8542
8543 2001-05-29  Adrian Aichner  <adrian@xemacs.org>
8544
8545         * fileio.c: Include nt.h.  Remove lisp_string_set_file_times()
8546         because set_file_times() now takes Lisp_Object path, instead of
8547         char*.
8548         * nt.c: Include buffer.h.
8549         * nt.c (convert_from_time_t): New.
8550         * nt.c (mswindows_utime): New.  Use utime, since SetFileTime does
8551         not set mtime correctly.
8552         * nt.h: Declare mswindows_utime().
8553         * sysdep.c (set_file_times): set_file_times() now takes Lisp_Object
8554         path, instead of char*.
8555         * systime.h: Include <sys/utime.h> on WIN32_NATIVE.
8556
8557 2001-05-30  Ben Wing  <ben@xemacs.org>
8558
8559         For 21.4:
8560
8561         (Stephen, just take all event-msw.c patches.  This includes
8562         the "iconify" fix below.)
8563
8564         * event-msw.c:
8565         * event-msw.c (mswindows_dequeue_dispatch_event):
8566         * event-msw.c (assert):
8567         * event-msw.c (emacs_mswindows_quit_p):
8568         * event-msw.c (debug_mswin_messages):
8569         * event-msw.c (debug_output_mswin_message):
8570         * event-msw.c (vars_of_event_mswindows):
8571         Fix yet more problems with C-g handling.
8572         Implement debug-mswindows-events.
8573         
8574 2001-05-24  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
8575
8576         * event-msw.c (WM_DROPFILES): Use correct type for OLE characters.
8577         
8578 2001-05-23  Ben Wing  <ben@xemacs.org>
8579
8580         * event-msw.c (winsock_writer):
8581         * event-msw.c (winsock_closer):
8582         prior kludgy code was clobbering the buffer, thinking it was
8583         "unused" space to store an unneeded return value; instead, use
8584         the variable we've already got staring us in the face.
8585
8586 2001-05-17  Andy Piper  <andy@xemacs.org>
8587
8588         * sysfile.h: don't assume that file attributes are boolean
8589
8590 2001-05-23  Ben Wing  <ben@xemacs.org>
8591
8592         * device-msw.c (msprinter_init_device):
8593         signal an error rather than crash with an unavailable network
8594         printer (from Mike Alexander).
8595         
8596         * event-msw.c:
8597         * event-msw.c (struct winsock_stream):
8598         * event-msw.c (winsock_writer):
8599         * event-msw.c (winsock_closer):
8600         * event-msw.c (make_winsock_stream_1):
8601         cleanup headers.  fix (hopefully) an error with data corruption
8602         when sending to a network connection.
8603
8604         * fileio.c (Fexpand_file_name): Fix evil code that attempts
8605         to handle the ~user prefix by (a) always assuming we're referencing
8606         ourselves and not even verifying the user -- hence any file with
8607         a tilde as its first char is invalid! (b) if there wasn't a slash
8608         following the filename, the pointer was set *past* the end of
8609         file and we started reading from uninitialized memory.  Now we
8610         simply treat these as files, always.
8611
8612         * buffer.c (common_init_complex_vars_of_buffer): comment change.
8613         
8614 2001-05-19  Ben Wing  <ben@xemacs.org>
8615
8616         * eval.c: doc comment about gcpro'ing in record_unwind_protect.
8617
8618         * process-nt.c:
8619         * process-nt.c (vars_of_process_nt):
8620         remove unused mswindows-quote-process-args.  rec for 21.4.
8621         
8622 2001-05-12  Ben Wing  <ben@xemacs.org>
8623
8624         * event-msw.c (mswindows_dde_callback):
8625         * event-msw.c (mswindows_wnd_proc):
8626         eliminate cygwin warnings.
8627
8628 2001-05-06  Ben Wing  <ben@xemacs.org>
8629
8630         * console-msw.h:
8631         * device-msw.c:
8632         * device-msw.c (print_dialog_worker):
8633         * device-msw.c (mswindows_handle_print_dialog_box):
8634         * device-msw.c (syms_of_device_mswindows):
8635         * dialog-msw.c (mswindows_make_dialog_box_internal):
8636         * general-slots.h:
8637         implement printing the selection when it's selected.
8638
8639 2001-05-20  Drazen Kacar  <dave@arsdigita.com>
8640
8641         * glyphs-gtk.c (gtk_resource_instantiate): C++ comment -> #if 0
8642
8643 2001-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
8644
8645         * lisp.h (EMACS_INT_MAX): This should be one bit less since
8646         EMACS_INT is signed.
8647
8648 2001-04-15  Michael Lausch  <mla@1012surf.net>
8649
8650         * scrollbar-gtk.c (gtk_create_scrollbar_instance): Call
8651         gtk_widget_request_size() to give scrollbar >0 width for
8652         GTK >1.2.8.
8653
8654 2001-05-30  William M. Perry  <wmperry@gnu.org>
8655
8656         * event-gtk.c: Check for buttons as modifier keys.
8657
8658 2001-05-25  Craig Lanning  <CraigL@Knology.net>
8659
8660         * s\mingw32.h:
8661         Properly find MinGW's <process.h> inside Cygwin's restructured
8662         include directories.  Don't try to include <cygwin/version.h>
8663         since we are dropping support for MinGW in versions of Cygwin
8664         earlier than b21.
8665         * nt.c:
8666         Drop support for MinGW in versions of Cygwin before b21.
8667         * sysdep.c:
8668         Properly find MinGW's <process.h> inside Cygwin's restructured
8669         include directories.
8670         * syswindows.h:
8671         Drop support for MinGW in versions of Cygwin before b21.
8672         * unexcw.c:
8673         Even though a.out.h is no longer detected by configure, allow
8674         MinGW to use it until we figure out how to do the job with Win32.
8675
8676 2001-07-11  Matt Tucker  <tuck@whistlingfish.net>
8677
8678         * syntax.c (find_start_of_comment):
8679         Fix `unbalanced parentheses' bug when dealing with mixed comment
8680         styles in c++/java/etc. mode
8681
8682 2001-05-29  Mike Alexander  <mta@arbortext.com>
8683
8684         * console-msw.h (FRAME_MSPRINTER_CHARHEIGHT): Unswap
8685         FRAME_MSPRINTER_CHARWIDTH and FRAME_MSPRINTER_CHARHEIGHT
8686
8687 2001-05-17  Andrew Begel  <abegel@eecs.berkeley.edu>
8688
8689         * lrecord.h (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): Add needed cast.
8690
8691 2001-03-31  Mike Sperber <mike@xemacs.org>
8692
8693         * search.c (Freplace_match): Support FSF-style specification of
8694         match subexpression when applied to a buffer.
8695
8696 2001-05-27  Karl M. Hegbloom  <karlheg@hegbloom.net>
8697
8698         * event-stream.c (is_scrollbar_event): add missing semicolon
8699
8700 2001-05-22  Isaac Hollander  <ysh@mindspring.com>
8701
8702         * Makefile.in.in: Use TAR macro instead of hardcoding
8703           tar.  Allows use of GNU tar instead of system tar
8704
8705 2001-05-27  Karl M. Hegbloom  <karlheg@hegbloom.net>
8706
8707         * event-stream.c (is_scrollbar_event): add missing semicolon
8708
8709 2001-05-17  Stephen J. Turnbull  <stephen@xemacs.org>
8710
8711         * XEmacs 21.4.3 "Academic Rigor" is released.
8712
8713 2001-05-17  Stephen J. Turnbull  <stephen@xemacs.org>
8714
8715         * regex.c: Define DECLARE_NOTHING when "lisp.h" is not included.
8716
8717 2001-05-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
8718
8719         * buffer.c (Vcase_fold_search): Remove obsolete
8720           comment about non ASCII case-fold-search.  This
8721           bug has been fixed by case-table changes.
8722
8723 2001-05-11  Stephen J. Turnbull  <stephen@xemacs.org>
8724
8725         * event-msw.c: Restore include of events-mod.h.
8726
8727 2001-04-22   zhaoway  <zw@debian.org>
8728
8729         * event-stream.c (is_scrollbar_event): Noop returning 0 if
8730         !HAVE_SCROLLBARS.
8731
8732 2001-05-10  Stephen J. Turnbull  <stephen@xemacs.org>
8733
8734         * XEmacs 21.4.2 "Developer-Friendly Unix APIs" is released.
8735
8736 2001-05-08  Yoshiaki Kasahara  <kasahara@nc.kyushu-u.ac.jp>
8737
8738         * mule-charset.c (Fmake_charset): Add missing else.
8739
8740 2001-04-23  Ben Wing  <ben@xemacs.org>
8741
8742         * event-msw.c (FAKE_MOD_QUIT):
8743         * event-msw.c (mswindows_dequeue_dispatch_event):
8744         * event-msw.c (mswindows_wnd_proc):
8745         * event-msw.c (emacs_mswindows_quit_p):
8746         Get critical quit working.
8747
8748 2001-05-05  Ben Wing  <ben@xemacs.org>
8749
8750         * console-msw.h:
8751         * device-msw.c:
8752         * device-msw.c (mswindows_get_default_margin):
8753         * frame-msw.c (mswindows_size_frame_internal):
8754         * frame-msw.c (msprinter_init_frame_1):
8755         * frame-msw.c (vars_of_frame_mswindows):
8756         Change top/bottom margin defaults to 0.5 inches.
8757
8758 2001-05-01  Martin Buchholz  <martin@xemacs.org>
8759
8760         Fix link error with gcc 3.0 on Linux.
8761         * terminfo.c (UP): Remove.
8762         * terminfo.c (BC): Remove.
8763         * terminfo.c (PC): Remove.
8764         They weren't used, and in any case, these symbols should be
8765         defined in the *library*.
8766
8767 2001-05-03  Martin Buchholz  <martin@xemacs.org>
8768
8769         * s/aix4.h: Fix crash with xlc -O3.
8770         Improve comment explaining how -O3 works.
8771
8772 2001-04-15  Ben Wing  <ben@xemacs.org>
8773
8774         * event-stream.c:
8775         * event-stream.c (Fnext_event):
8776         * event-stream.c (is_scrollbar_event):
8777         * event-stream.c (execute_command_event):
8778         Better fix for Yoshiki's `C-x @ h <scrollbar-drag> x causes a
8779         crash' problem.  His fix introduces other problems.  We filter
8780         out scrollbar events specifically, making them somewhat invisible
8781         to command-building, and not appearing in `this-command-keys'.
8782         More work is still needed (see comments in event-stream.c), but
8783         this fixes all the major problems.
8784
8785 2001-04-20  Ben Wing  <ben@xemacs.org>
8786
8787         * .cvsignore: Added stuff for Windows.
8788
8789 2001-04-28  Ben Wing  <ben@xemacs.org>
8790
8791         * buffer.c (Ferase_buffer):
8792         * editfns.c (buffer_insert1):
8793         * editfns.c (Finsert_before_markers):
8794         * editfns.c (Finsert_string):
8795         * editfns.c (Finsert_char):
8796         * editfns.c (Fdelete_region):
8797         * editfns.c (Fwiden):
8798         * editfns.c (Fnarrow_to_region):
8799         remove bogus lines setting zmacs_region_stays to 0.
8800         
8801 2001-04-15  Gunnar Evermann  <ge204@eng.cam.ac.uk>
8802
8803         * process-unix.c (unix_open_network_stream): If connect() fails
8804         invalidate file descriptor after closing it.
8805
8806 2001-03-08  Mike Alexander  <mta@arbortext.com>
8807
8808         * event-msw.c (mswindows_need_event_in_modal_loop):
8809         Don't dispatch a message if we didn't get one.
8810         (mswindows_need_event):
8811         Terminate the correct process when one exits instead of the first
8812         one on Vprocess_list and look for process termination when in
8813         mswindows_protect_modal_loop.
8814
8815 2001-04-19  Stephen J. Turnbull  <stephen@xemacs.org>
8816
8817         * XEmacs 21.4.1 "Copyleft" is released.
8818
8819 2001-04-19  Glynn Clements  <glynn.clements@virgin.net>
8820
8821         * input-method-motif.c (XIM_delete_frame): New callback.
8822         (XIM_init_frame): Register it.
8823
8824 2001-04-16  Stephen J. Turnbull  <stephen@xemacs.org>
8825
8826         * XEmacs 21.4.0 "Solid Vapor" is released.
8827
8828 2001-04-15  Ben Wing  <ben@xemacs.org>
8829
8830         * cmdloop.c (call_command_loop):
8831         Fix braino in bit-rotting code.
8832         
8833 2001-04-07  Hrvoje Niksic  <hniksic@arsdigita.com>
8834
8835         * extents.c (Fset_extent_endpoints): Force creation of extent info
8836         in buffer_or_string.
8837
8838         * extents.c (process_extents_for_insertion_mapper): Correctly
8839         check for open-open zero-length extents.
8840
8841 2001-04-16  Stephen J. Turnbull  <stephen@xemacs.org>
8842
8843         * lisp.h: New typedefs Memory_count, Element_count.
8844         * regex.c:
8845         * regex.h:
8846         Sign-compare warning elimination: several unsigned -> signed.
8847         Based on work by Ben Wing <ben@xemacs.org>.
8848
8849 2001-04-14  Stephen J. Turnbull  <stephen@xemacs.org>
8850
8851         * XEmacs 21.2.47 "Zephir" is released.
8852
8853 2001-04-02  Jan Vroonhof  <jan@xemacs.org>
8854
8855         * redisplay.c (add_bufbyte_string_runes): Update data->bytepos
8856
8857 2001-04-03  Mike Sperber <mike@xemacs.org>
8858
8859         * search.c: Revert previous patch due because of release.
8860
8861 2001-03-30  Ben Wing  <ben@xemacs.org>
8862
8863         * s\cygwin32.h:
8864         Add missing killpg prototype.
8865
8866         * elhash.c:
8867         Add a comment about fixing problems when a new entry is added
8868         while mapping.
8869
8870         * frame-msw.c (mswindows_init_frame_1):
8871         Fix compile warnings.
8872
8873         * menubar.c (vars_of_menubar):
8874         Provide `menu-accelerator-support' to indicate that we properly
8875         support %_ in menu specifications, so that package code can
8876         conditionalize on this (and remove %_ from menu specifications
8877         on older versions).
8878
8879         * event-msw.c:
8880         * scrollbar-msw.c:
8881         * scrollbar-msw.c (can_scroll):
8882         * scrollbar-msw.h:
8883         Fix handling of mouse wheel under Windows to follow standards --
8884         now scrolls window under pointer, not selected window.
8885
8886 2001-03-31  Mike Sperber <mike@xemacs.org>
8887
8888         * search.c (Freplace_match): Support FSF-style specification of
8889         match subexpression when applied to a buffer.
8890
8891 2001-03-15  Martin Buchholz  <martin@xemacs.org>
8892
8893         * keymap.c (Fmap_keymap): map-keymap explicitly allows a mapping
8894         function to modify KEYMAP, so map over a copy of the hash table.
8895
8896 2001-03-21  Martin Buchholz <martin@xemacs.org>
8897
8898         * XEmacs 21.2.46 "Urania" is released.
8899
8900 2001-03-20  Dan Holmsand  <dan@eyebee.com>
8901
8902         * realpath.c (xrealpath): Make file-truename work with symlinks to
8903         /cygdrive paths on cygwin. Always lowercase drive-letters on
8904         native windows.
8905         (cygwin_readlink): Don't try to find canonical filename unless
8906         file exists.
8907
8908 2001-03-15  Stephen J. Turnbull  <stephen@xemacs.org>
8909
8910         * ChangeLog: Log GTK merge.
8911
8912         * dumper.c:
8913         * select-x.c:
8914         * specifier.c:
8915         * symeval.h:
8916         Revert gratuitous whitespace changes from GTK merge.
8917
8918         * emacs.c: Document end of complex #ifdef @ l. 1495.
8919
8920
8921 2001-03-12  Andy Piper  <andy@xemacs.org>
8922
8923         * mingw32.h: unfortunately cygnus changed mingw32 -> mingw so we
8924         have to do likewise.
8925
8926 2001-03-12  Andy Piper  <andy@xemacs.org>
8927
8928         * sysdep.c: we only support mingw now.
8929
8930 2001-03-09  Andy Piper  <andy@xemacs.org>
8931
8932         * unexcw.c (copy_executable_and_dump_data_section): making approx
8933         overrun a warning only.
8934
8935 2001-03-10  William M. Perry  <wmperry@aventail.com>
8936
8937         * faces.c (complex_vars_of_faces): Rewrote the font mucking to
8938         satisfy Stephen's identical-after-cpp plea.
8939
8940 2001-03-02  Ben Wing  <ben@xemacs.org>
8941
8942         * cmds.c:
8943         * cmds.c (Fforward_char):
8944         * syntax.c:
8945         * window.c:
8946
8947         Augment documentation of the most common motion commands to make
8948         note of the shifted-motion support.
8949         
8950 2001-03-02  Ben Wing  <ben@xemacs.org>
8951
8952         * nt.c (mswindows_fstat):
8953         * nt.c (mswindows_stat):
8954         * search.c (boyer_moore):
8955         Fix compile warnings under Windows.
8956         
8957         * sysdep.c (sys_readdir):
8958         Fix buggy filename-conversion code under Mule.
8959
8960 2001-03-09  William M. Perry  <wmperry@aventail.com>
8961
8962         * Makefile.in.in:
8963         * config.h.in:
8964         * console.c:
8965         * console.h:
8966         * device.c:
8967         * device.h:
8968         * dragdrop.c:
8969         * emacs.c:
8970         * event-stream.c:
8971         * events.c:
8972         * events.h:
8973         * faces.c:
8974         * frame.h:
8975         * general-slots.h:
8976         * glyphs.c:
8977         * gutter.c:
8978         * inline.c:
8979         * lisp.h:
8980         * lrecord.h:
8981         * make-src-depend:
8982         * redisplay-output.c:
8983         * redisplay.c:
8984         * symsinit.h:
8985         * sysfile.h:
8986         * toolbar.c:
8987         * window.c:
8988         The Great GTK Merge.
8989
8990         * ChangeLog.GTK:
8991         * console-gtk.c:
8992         * console-gtk.h:
8993         * device-gtk.c:
8994         * emacs-marshals.c:
8995         * emacs-widget-accessors.c:
8996         * event-gtk.c:
8997         * frame-gtk.c:
8998         * gccache-gtk.c:
8999         * gccache-gtk.h:
9000         * glade.c:
9001         * glyphs-gtk.c:
9002         * glyphs-gtk.h:
9003         * gtk-glue.c:
9004         * gtk-xemacs.c:
9005         * gtk-xemacs.h:
9006         * gui-gtk.c:
9007         * gui-gtk.h:
9008         * menubar-gtk.c:
9009         * native-gtk-toolbar.c:
9010         * objects-gtk.c:
9011         * objects-gtk.h:
9012         * redisplay-gtk.c:
9013         * scrollbar-gtk.c:
9014         * scrollbar-gtk.h:
9015         * select-gtk.c:
9016         * toolbar-gtk.c:
9017         * ui-byhand.c:
9018         * ui-gtk.c:
9019         * ui-gtk.h:
9020         The Great GTK Merge: new files.
9021
9022 2001-02-26  Ben Wing  <ben@xemacs.org>
9023
9024         Reapplied Lstream change.
9025
9026 2001-02-26  Ben Wing  <ben@xemacs.org>
9027
9028         Undid the last change, since it is more controversial than I
9029         thought.  It should be back in at some point soon.
9030         
9031 2001-02-25  Ben Wing  <ben@xemacs.org>
9032
9033         * buffer.c:
9034         * callproc.c (Fold_call_process_internal):
9035         * event-msw.c (ntpipe_slurp_reader):
9036         * event-msw.c (ntpipe_shove_writer):
9037         * event-msw.c (winsock_reader):
9038         * event-msw.c (winsock_writer):
9039         * file-coding.c:
9040         * file-coding.c (detect_eol_type):
9041         * file-coding.c (detect_coding_type):
9042         * file-coding.c (determine_real_coding_system):
9043         * file-coding.c (Fdetect_coding_region):
9044         * file-coding.c (decoding_reader):
9045         * file-coding.c (decoding_writer):
9046         * file-coding.c (mule_decode):
9047         * file-coding.c (Fdecode_coding_region):
9048         * file-coding.c (encoding_reader):
9049         * file-coding.c (encoding_writer):
9050         * file-coding.c (mule_encode):
9051         * file-coding.c (Fencode_coding_region):
9052         * file-coding.c (detect_coding_sjis):
9053         * file-coding.c (decode_coding_sjis):
9054         * file-coding.c (encode_coding_sjis):
9055         * file-coding.c (detect_coding_big5):
9056         * file-coding.c (decode_coding_big5):
9057         * file-coding.c (encode_coding_big5):
9058         * file-coding.c (detect_coding_ucs4):
9059         * file-coding.c (decode_coding_ucs4):
9060         * file-coding.c (encode_coding_ucs4):
9061         * file-coding.c (detect_coding_utf8):
9062         * file-coding.c (decode_coding_utf8):
9063         * file-coding.c (encode_coding_utf8):
9064         * file-coding.c (detect_coding_iso2022):
9065         * file-coding.c (decode_coding_iso2022):
9066         * file-coding.c (encode_coding_iso2022):
9067         * file-coding.c (decode_coding_no_conversion):
9068         * file-coding.c (encode_coding_no_conversion):
9069         * glyphs-x.c (write_lisp_string_to_temp_file):
9070         * gpmevent.c (tty_get_foreign_selection):
9071         * lisp.h:
9072         * lstream.c:
9073         * lstream.c (Lstream_flush_out):
9074         * lstream.c (Lstream_adding):
9075         * lstream.c (Lstream_write_1):
9076         * lstream.c (Lstream_write):
9077         * lstream.c (Lstream_raw_read):
9078         * lstream.c (Lstream_read_more):
9079         * lstream.c (Lstream_read):
9080         * lstream.c (Lstream_unread):
9081         * lstream.c (Lstream_fputc):
9082         * lstream.c (stdio_reader):
9083         * lstream.c (stdio_writer):
9084         * lstream.c (filedesc_reader):
9085         * lstream.c (filedesc_writer):
9086         * lstream.c (lisp_string_reader):
9087         * lstream.c (struct fixed_buffer_stream):
9088         * lstream.c (make_fixed_buffer_input_stream):
9089         * lstream.c (make_fixed_buffer_output_stream):
9090         * lstream.c (fixed_buffer_reader):
9091         * lstream.c (fixed_buffer_writer):
9092         * lstream.c (struct resizing_buffer_stream):
9093         * lstream.c (resizing_buffer_writer):
9094         * lstream.c (dynarr_writer):
9095         * lstream.c (lisp_buffer_reader):
9096         * lstream.c (lisp_buffer_writer):
9097         * lstream.h:
9098         * lstream.h (lstream_implementation):
9099         * lstream.h (struct lstream):
9100         * md5.c (Fmd5):
9101         * process-nt.c (nt_send_process):
9102         * process-unix.c (unix_send_process):
9103         
9104         Correct Lstream lossage due to mixing of signed and unsigned
9105         quantities.  All Lstream uses of size_t and ssize_t are now a
9106         single signed data type Lstream_data_count.  This fixes problems
9107         under Windows with sending large quantities of data to a process,
9108         and may well fix other subtle bugs.
9109
9110 2001-02-23  Martin Buchholz <martin@xemacs.org>
9111
9112         * XEmacs 21.2.45 "Thelxepeia" is released.
9113
9114 2001-02-21  Martin Buchholz  <martin@xemacs.org>
9115
9116         * lisp-union.h (XSETINT): 
9117         (XSETCHAR):
9118         (XSETOBJ): 
9119         Reverse previous change of 2001-02-06.
9120
9121 2001-02-20  Matt Tucker  <tuck@whistlingfish.net>
9122
9123         Fix `VALID_BYTIND_P' crashes in regex.c when using narrowed
9124         buffers.
9125         * syntax.h (SYNTAX_CACHE_BYTE_TO_CHAR):
9126         * syntax.h (SYNTAX_CACHE_OBJECT_BYTE_TO_CHAR):
9127         Add `BI_BUF_BEGV' to bytepos before calculating bufpos.
9128         * regex.c (POS_AS_IN_BUFFER): removed
9129         * regex.c (re_search_2):
9130         * regex.c (re_match_2):
9131         Don't use an offset of 1 when calculating buffer positions, since
9132         `BI_BUF_BEGV' does it already.
9133
9134 2001-02-18  Wim Dumon  <wim@easics.be>
9135
9136         * insdel.c (prepare_to_modify_buffer): Also check for
9137         supersession when clash-detection is enabled. 
9138
9139 2001-02-17  Matt Tucker  <tuck@whistlingfish.net>
9140
9141         * regex.c (re_match_2_internal):
9142         Convert temp characters from 'const unsigned char' to 're_char'.
9143         Fix crashing bug with extended characters under mule.
9144         * syntax.c (Qsyntax_table): Moved from vars_of_syntax to
9145         syms_of_syntax. Use defsymbol to define. Fixes hanging bug with
9146         font-lock, pdump, and new syntax-table code.
9147         * syntax.c (find_start_of_comment):
9148         (find_end_of_comment):
9149         (forward-comment):
9150         Fix crashing bugs involving moving beyond end of buffer.
9151         * syntax.c (find_start_of_comment):
9152         Fixed logic to allow proper detection of cases where the same
9153         character is used to end both a two-char comment start and a
9154         two-char comment end sequence. Fixes `(forward-comment -1)'.
9155         * syntax.c (find_start_of_comment):
9156         Return position just past last comment-end character for all cases
9157         (previously was only done for two-char comment-end sequences).
9158         * syntax.c (forward-comment):
9159         Take value returned from `find_end_of_comment', rather than
9160         incrementing it.
9161         * syntax.h (SYNTAX_CACHE_BYTE_TO_CHAR):
9162         Properly deal with BUFFERP (syntax_cache.object)
9163
9164 2001-02-17  Martin Buchholz  <martin@xemacs.org>
9165
9166         * alloc.c (Fgarbage_collect): 
9167         * alloc.c (make_bit_vector_from_byte_vector):
9168         -Wsign-compare-correctness.
9169
9170 2001-02-16  Martin Buchholz  <martin@xemacs.org>
9171
9172         * lisp-union.h (XSETINT): Eliminate unnecessary temp var.
9173         (XSETCHAR): Likewise.
9174         (XSETOBJ): Likewise.
9175
9176 2001-02-15  Martin Buchholz  <martin@xemacs.org>
9177
9178         * mule-canna.c (canna-func-delete_previous): 
9179         Rename to canna-func-delete-previous.
9180
9181 2001-02-14  Martin Buchholz  <martin@xemacs.org>
9182
9183         * mule-ccl.c (ccl_driver): Warning suppression.  Use countof.
9184
9185 2001-02-13  Matt Tucker  <tuck@whistlingfish.net>
9186
9187         * font-lock.c (find_context): Fix C++ compile errors introduced by
9188         recent patch
9189
9190 2001-02-13  Martin Buchholz  <martin@xemacs.org>
9191
9192         * s/aix4.h: Later versions of IBM C compiler need a bug workaround
9193         pragma, but earlier ones barf on the same pragma.
9194
9195 2001-02-06  Mike Sperber <mike@xemacs.org>
9196
9197         * emacs.c (complex_vars_of_emacs): Add `mule-lisp-directory' and
9198         `configure-mule-lisp-directory'.
9199
9200 2001-02-12  Martin Buchholz  <martin@xemacs.org>
9201
9202         Make sure dump-id.c is compiled in the same way as other .c's.
9203         Fixes pdump compilation failure with HP's cc, which defaults to K&R.
9204         * dump-id.h: Remove.
9205         * emacs.c: Move dump-id.h into dumper.h.
9206         * dumper.h: Move dump-id.h into dumper.h.
9207         * Makefile.in.in:
9208         Use standard .c.o rule for building dump-id.o.
9209         Remove preprocessor flags from link command.
9210         Add dump-id.o to ${otherobjs} if PDUMP.
9211
9212 2001-02-07  Matt Tucker  <tuck@whistlingfish.net>
9213
9214         Port FSF 20.7 syntax table improvements.
9215         * syntax.c.
9216         * syntax.h.
9217
9218         Fixups for new syntax table stuff.
9219         * dired.c: Include syntax.c.
9220         (Fdirectory_files): Initialize regex_match_object and
9221         regex_emacs_buffer.
9222         * extents.h: EXFUN Fnext_extent_change, Fprevious_extent_change,
9223         and Fget_char_property.
9224
9225         Use ported FSF 20.7 syntax table improvements.
9226         * font-lock.c.
9227         * regex.c.
9228         * search.c.
9229         
9230 2001-02-09  Martin Buchholz  <martin@xemacs.org>
9231
9232         * regex.c (Boolean): Renamed to `re_bool', to avoid conflict with
9233         Unixware's enum boolean from sys/types.h.
9234
9235 2001-02-10  Martin Buchholz  <martin@xemacs.org>
9236
9237         Fix support for building with latest Purify.
9238         * Makefile.in.in (PURIFY_LIBS): Remove thread flags.
9239         (PURIFY_FLAGS): Likewise.
9240
9241 2001-02-09  Martin Buchholz  <martin@xemacs.org>
9242
9243         * fileio.c (lisp_string_set_file_times): New.
9244         * fileio.c (Fcopy_file): Use it.
9245         Fixes bug:
9246         (copy-file filename non-ascii-filename t t)
9247         ==> No such file or directory, non-ascii-filename
9248
9249 2001-02-10  Martin Buchholz  <martin@xemacs.org>
9250
9251         * glyphs-x.c (generate_cursor_fg_bg): Avoid a warning.
9252         USHRT_MAX seems clearer than ~0 anyways.
9253
9254 2001-02-09  Martin Buchholz  <martin@xemacs.org>
9255
9256         dumper improvements.  Inspired by Olivier.
9257         * dumper.c (pdump_max_align): New.
9258         * dumper.c (pdump_add_entry): Use pdump_max_align.
9259         * dumper.c (pdump_get_entry_list): Likewise.
9260         * dumper.c (pdump_scan_by_alignment): Likewise.
9261         Don't iterate through unnecessary alignments.
9262         * dumper.c (pdump_file_get): No need to align result of malloc().
9263         * dumper.c (pdump_mallocadr): Remove.  
9264         The result of malloc() is guaranteed to be maximally aligned.
9265         * dumper.c: s/elmt/elt/g;
9266         * dumper.c (pdump_object_table): Allocate dynamically, not statically.
9267         * dumper.c (pdump_alert_undump_object): Likewise.
9268         * dumper.c (pdump_align_table): 
9269         Don't support alignments > 64.
9270         Store ALIGNOF's, not shift counts, in table.
9271
9272 2001-02-09  Martin Buchholz  <martin@xemacs.org>
9273
9274         * s/mingw32.h (HAVE_STRUCT_UTIMBUF): Remove.
9275         * s/windowsnt.h (HAVE_STRUCT_UTIMBUF): Remove.
9276         * systime.h: Use HAVE_UTIME.
9277         * sysdep.c (struct utimbuf): Remove.
9278         * sysdep.c (set_file_times): Prefer utime() to utimes().
9279         * config.h.in (HAVE_UTIME): New.
9280         * config.h.in (HAVE_UTIME_H): Remove.
9281         * config.h.in (HAVE_STRUCT_UTIMBUF): Remove.
9282
9283 2001-02-09  Martin Buchholz  <martin@xemacs.org>
9284
9285         * s/aix4.h: Hide #pragmas inside #ifndef NOT_C_CODE.
9286
9287 2001-02-08  Martin Buchholz  <martin@xemacs.org>
9288
9289         * s/irix6-0.h: Use the standard system memmove, not bcopy.
9290
9291 2001-02-08  Martin Buchholz <martin@xemacs.org>
9292
9293         * XEmacs 21.2.44 "Thalia" is released.
9294
9295 2001-02-06  Martin Buchholz  <martin@xemacs.org>
9296
9297         Fixes crashes in kill-emacs on some systems.
9298         * process-unix.c (unix_kill_child_process):
9299         It's OK for kill() to fail with ESRCH.
9300
9301 2001-02-07  Martin Buchholz  <martin@xemacs.org>
9302
9303         Contortions to make .gdbinit tricks work on most systems.
9304         * alloc.c (dbg_inhibit_dbg_symbol_deletion): Keep debugger info.
9305         * alloc.c (dbg_valmask): Make non-const.
9306         * alloc.c (dbg_typemask): Make non-const.
9307         * alloc.c (dbg_USE_UNION_TYPE): Make non-const.
9308         * alloc.c (dbg_valbits): Make non-const.
9309         * alloc.c (dbg_gctypebits): Make non-const.
9310         * .gdbinit (decode_object): Make it work with AIX cc.
9311
9312 2001-02-06  Martin Buchholz  <martin@xemacs.org>
9313
9314         * elhash.c (make_general_lisp_hash_table):
9315         Use simpler and more efficient calloc to clear entries.
9316
9317 2001-02-07  Martin Buchholz  <martin@xemacs.org>
9318
9319         * window.c (window_scroll): Work around an AIX C compiler bug.
9320         Fixes 'scroll-up' does nothing problem with xlC.
9321
9322 2001-02-05  Martin Buchholz  <martin@xemacs.org>
9323
9324         * .gdbinit: Remove obsolete comment.
9325
9326 2001-01-31  Mike Alexander  <mta@arbortext.com>
9327
9328         * select.c (Fown_selection_internal): Set owned_p for device
9329         method correctly.
9330
9331 2001-02-01  Martin Buchholz  <martin@xemacs.org>
9332
9333         Port to g++ 2.97.
9334         "not" cannot be used as a macro name as it is an operator in C++
9335         * config.h.in: Stop #defining `not'.
9336         * chartab.c (check_category_char): not ==> not_p
9337         * chartab.h: Likewise.
9338         * regex.c (re_match_2_internal): Likewise.
9339
9340 2001-02-02  Martin Buchholz  <martin@xemacs.org>
9341
9342         * lisp-disunion.h: Fix up comments.
9343
9344 2001-01-31  Martin Buchholz  <martin@xemacs.org>
9345
9346         * keymap.c (define_key_check_and_coerce_keysym):
9347         (syms_of_keymap):
9348         Support mouse-6 and mouse-7 bindings in the obvious way.
9349
9350 2001-02-01  Martin Buchholz  <martin@xemacs.org>
9351
9352         * m/hp9000s300.h (UNEXEC): Check for HPUX, not !BSD.
9353
9354 2001-01-30  Martin Buchholz  <martin@xemacs.org>
9355
9356         Previous patch changing DEFVAR_INT to use EMACS_INT was incomplete.
9357         Previous patch missed DEFVAR_INT_MAGIC.
9358         Make sure future DEFVAR_foo use correct types.
9359         * symeval.h (DEFVAR_SYMVAL_FWD_FIXNUM): New.
9360         * (DEFVAR_SYMVAL_FWD_INT): Add type checking.
9361         * (DEFVAR_SYMVAL_FWD_OBJECT): Add type checking.
9362         * (DEFVAR_INT_MAGIC): Use DEFVAR_SYMVAL_FWD_FIXNUM.
9363         * (DEFVAR_INT): Likewise.
9364         * redisplay.c (vertical_clip): Should be of type Fixnum.
9365         * redisplay.c (horizontal_clip): Likewise.
9366         * lisp.h (dump_add_opaque_int): New.
9367         (dump_add_opaque_fixnum): New.
9368
9369 2001-01-29  Andy Piper  <andy@xemacs.org>
9370
9371         * glyphs-widget.c (check_valid_int_or_function): allow symbols
9372         since they can be eval'ed
9373
9374 2001-01-29  Martin Buchholz  <martin@xemacs.org>
9375
9376         * lisp.h (ALIGNOF): Make it work on non-gcc C++ compilers.
9377         Oops, XEmacs redefines `class'.  Use `typename' instead.
9378
9379 2001-01-28  Martin Buchholz  <martin@xemacs.org>
9380
9381         * dumper.c: Fix C++ compile errors.
9382
9383 2001-01-29  Martin Buchholz  <martin@xemacs.org>
9384
9385         * tparam.c: Use correct prototypes.
9386
9387 2001-01-28  Martin Buchholz  <martin@xemacs.org>
9388
9389         * sysproc.h: #include util.h for NetBSD's openpty.
9390
9391 2001-01-27  Martin Buchholz  <martin@xemacs.org>
9392
9393         More 64-bit correctness.
9394         The C value of a DEFVAR_INT should be of type EMACS_INT, not int.
9395         Use a typedef `fixnum' for the type used for DEFVAR_INT.
9396         Fix up comments.
9397         This finally finishes the 64-bit SGI port.
9398         Fixes things like (let ((gc-cons-threshold most-positive-fixnum)) ...).
9399         * symbols.c: Fix up comments and type casts.
9400         * symbols.c (do_symval_forwarding): s/int/Fixnum/g
9401         * symbols.c (store_symval_forwarding): s/int/Fixnum/g
9402         * symeval.h (Fixnum): New type.
9403         * symeval.h (symbol_value_type): Fix up comment.
9404
9405         * commands.h:
9406         * nt.c:
9407         * emacs.c:
9408         * data.c:
9409         * redisplay.c:
9410         * abbrev.c:
9411         * dired-msw.c:
9412         * event-Xt.c:
9413         * eldap.c:
9414         * window.c:
9415         * sound.c:
9416         * event-stream.c:
9417         * eval.c:
9418         * buffer.c:
9419         * mule-canna.c: A million DEFVAR_INTs here...
9420         * mule-canna.c (count_char): s/int */Fixnum */g in arglist.
9421         * extents.c:
9422         * cmdloop.c:
9423         * lisp.h:
9424         * select-x.c:
9425         * console-x.h:
9426         * event-msw.c:
9427         * mule-wnnfns.c:
9428         * hpplay.c:
9429         * ralloc.c:
9430         * alloc.c:
9431         * keymap.c:
9432         * profile.c:
9433         s/int/Fixnum/g in DEFVAR_INT declarations.
9434
9435 2001-01-26  Martin Buchholz  <martin@xemacs.org>
9436
9437         Port pdump to SGI alignment-sensitive environment.
9438         Lisp Object sizeof methods now return aligned sizes.  Rely on that.
9439         Eliminate is_lrecord since Lisp_Objects sizeof methods are now all
9440         properly aligned.
9441         Define and use aligned reading and writing macros.
9442         Use buffered stdio instead of posix i/o for faster dumping.
9443         Eliminate kludgy 256 byte space for header.
9444         Read and write from dump file using structs for alignment safety.
9445         * dumper.c (pdump_align_stream): New.
9446         * dumper.c (PDUMP_ALIGN_OUTPUT): New.
9447         * dumper.c (PDUMP_READ_ALIGNED): New.
9448         * dumper.c (PDUMP_WRITE_ALIGNED): New.
9449         * dumper.c (pdump_static_Lisp_Object): New struct.
9450         * dumper.c (pdump_static_pointer): New struct.
9451         * dumper.c (pdump_entry_list_element): Remove is_lrecord member.
9452         * dumper.c (pdump_add_entry): Remove is_lrecord parameter.
9453         * dumper.c (pdump_dump_data): Rely on sizeof method alignment.
9454         * dumper.c (pdump_allocate_offset): Rely on sizeof method alignment.
9455
9456         * dumper.c (pdump_backtrace):
9457         * dumper.c (pdump_get_indirect_count):
9458         * dumper.c (pdump_register_object):
9459         * dumper.c (pdump_register_struct):
9460         * dumper.c (pdump_reloc_one):
9461         * dumper.c (pdump_scan_by_alignment):
9462         * dumper.c (pdump_dump_from_root_struct_ptrs):
9463         * dumper.c (pdump_dump_opaques):
9464         * dumper.c (pdump_dump_rtables):
9465         * dumper.c (pdump_dump_from_root_objects):
9466         * dumper.c (pdump):
9467         * dumper.c (pdump_load_finish):
9468         Use aligned reading and writing.
9469
9470         * dumper.c (pdump_free): Make static.
9471         * dumper.c (pdump_hFile): Likewise.
9472         * dumper.c (pdump_hMap): Likewise.
9473
9474 2001-01-26  Martin Buchholz <martin@xemacs.org>
9475
9476         * XEmacs 21.2.43 "Terspichore" is released.
9477
9478 2001-01-25  Martin Buchholz  <martin@xemacs.org>
9479
9480         Type fiddling for window_config.saved_windows_count
9481         * window.c (struct window_config): 
9482         Make saved_windows_count member unsigned.
9483         * window.c (sizeof_window_config_for_n_windows): 
9484         Make parameter unsigned.
9485         * window.c (mark_window_config):
9486         * window.c (window_config_equal):
9487         * window.c (free_window_configuration):
9488         * window.c (Fset_window_configuration):
9489         * window.c (count_windows):
9490         * window.c (Fcurrent_window_configuration):
9491         * window.c (reinit_vars_of_window):
9492         Update all callers and users.
9493
9494 2001-01-25  Martin Buchholz  <martin@xemacs.org>
9495
9496         Alignment correctness for flexible arrays.
9497         * lisp.h (FLEXIBLE_ARRAY_STRUCT_SIZEOF):
9498         Make alignment-correct. Add interesting comments.
9499         * alloc.c (size_vector):
9500         * alloc.c (make_vector_internal):
9501         * alloc.c (make_bit_vector_internal):
9502         * alloc.c (sweep_bit_vectors_1):
9503         * fns.c (size_bit_vector):
9504         Update all callers of FLEXIBLE_ARRAY_STRUCT_SIZEOF to add new arg.
9505         * window.c (sizeof_window_config_for_n_windows): 
9506         Use FLEXIBLE_ARRAY_STRUCT_SIZEOF.
9507
9508 2001-01-24  Martin Buchholz  <martin@xemacs.org>
9509
9510         * lread.c (read1): Rename `fexp', which is #defined in SGI's math.h
9511
9512 2001-01-23  Andy Piper  <andy@xemacs.org>
9513
9514         * select.c (Fown_selection_internal): pass owned_p
9515
9516         * select-msw.c (mswindows_own_selection): New Signature.
9517
9518         * console.h (struct console_methods): add owned_p to
9519         _own_selection.
9520
9521         * select-x.c (x_own_selection): pass owned_p
9522         (hack_motif_clipboard_selection): use owned_p
9523         (vars_of_select_x): new variable -
9524         x_selection_strict_motif_ownership.
9525
9526 2001-01-23  Martin Buchholz  <martin@xemacs.org>
9527
9528         * specifier.h (specifier_data_offset): Remove pointless parens.
9529         * glyphs.h (IMAGE_SPECIFIER_DATA): Likewise.
9530
9531 2001-01-24  Martin Buchholz  <martin@xemacs.org>
9532
9533         Make Lisp_Object sizeof methods be alignment-correct.
9534         pdump must restore objects to the same alignment as the C compiler
9535         assumes.  It really matters on SGIs.
9536         * lstream.c (aligned_sizeof_lstream): New.
9537         (sizeof_lstream): Use aligned_sizeof_lstream.
9538         (Lstream_new): Likewise.
9539         * opaque.c (aligned_sizeof_opaque): New.
9540         (sizeof_opaque): Use aligned_sizeof_opaque.
9541         (make_opaque): Likewise.
9542         * specifier.c (aligned_sizeof_specifier): New.
9543         (sizeof_specifier): Use aligned_sizeof_specifier.
9544         (make_specifier_internal): Likewise.
9545
9546 2001-01-23  Martin Buchholz  <martin@xemacs.org>
9547
9548         * lstream.h (struct lstream): Use max_align_t for trailing data.
9549         * specifier.h (struct Lisp_Specifier): Likewise.
9550
9551 2001-01-22  Martin Buchholz  <martin@xemacs.org>
9552
9553         * mule-ccl.c (CCL_Extension): Renamed from CCL_Extention.
9554         (CCL_SUCCESS): Kludge to prevent Sun cc compiler warnings.
9555         (CCL_SUSPEND): Likewise.
9556         (CCL_INVALID_CMD): Likewise.
9557         (CCL_CALL_FOR_MAP_INSTRUCTION): Likewise.
9558         (ccl_driver): Likewise.
9559         (CCL_WRITE_CHAR): Macro hygiene.
9560         (CCL_WRITE_STRING): Macro hygiene.
9561
9562 2001-01-22  Martin Buchholz  <martin@xemacs.org>
9563
9564         Port "portable" dumper to SunOS 4 and HP-UX.
9565         * s/aix4.h (AIX4): Move MAP_FAILED definition elsewhere.
9566         * emacs.c (main): PDUMP implies no RUN_TIME_REMAP.
9567         * dumper.c (pdump_file_get): Define MAP_FAILED if not already defined.
9568
9569 2001-01-22  Martin Buchholz  <martin@xemacs.org>
9570
9571         * lisp.h (ALIGNOF): A better definition for C++.
9572
9573 2001-01-20  Martin Buchholz  <martin@xemacs.org>
9574
9575         Macro hygiene.
9576         Fix printf warnings: int format, long int arg.
9577         * regex.c (DECLARE_DESTINATION): Use DECLARE_NOTHING.
9578         (PUSH_FAILURE_POINT): Use correct printf formats.
9579         (POP_FAILURE_POINT): Use correct printf formats.  
9580         Use do {...} while (0)
9581
9582 2001-01-20  Martin Buchholz <martin@xemacs.org>
9583
9584         * XEmacs 21.2.42 "Poseidon" is released.
9585
9586 2001-01-20  Martin Buchholz  <martin@xemacs.org>
9587
9588         * console-x.h: typo fix du jour.  Remove #if 0'ed code.
9589
9590 2001-01-19  Martin Buchholz  <martin@xemacs.org>
9591
9592         De-kludgify FIXED_TYPE free list frobbing.
9593         Fix crashes on 64-bit platforms introduced by my patch of 2001-01-13.
9594         * alloc.c (DECLARE_FIXED_TYPE_ALLOC): Use Lisp_Free.
9595         * alloc.c (ALLOCATE_FIXED_TYPE_1): Use new definitions.
9596         * alloc.c (Lisp_Free): New pseudo lisp object definition.
9597         * alloc.c (LRECORD_FREE_P): New.
9598         * alloc.c (MARK_LRECORD_AS_FREE): New.
9599         * alloc.c (MARK_LRECORD_AS_NOT_FREE): New.
9600         * alloc.c (STRUCT_FREE_P): Deleted.
9601         * alloc.c (MARK_STRUCT_AS_FREE): Deleted.
9602         * alloc.c (MARK_STRUCT_AS_NOT_FREE): Deleted.
9603         * alloc.c (STRING_CHARS_FREE_P): New.
9604         * alloc.c (MARK_STRING_CHARS_AS_FREE): New.
9605         * alloc.c (PUT_FIXED_TYPE_ON_FREE_LIST): Use new definitions.
9606         * alloc.c (FREE_FIXED_TYPE): Use new definitions.
9607         * alloc.c (STRING_CHARS_FREE_P): Use new definitions.
9608         * alloc.c (resize_string): Use new definitions.
9609         * alloc.c (SWEEP_FIXED_TYPE_BLOCK): Use new definitions.
9610         * alloc.c (verify_string_chars_integrity): Use new definitions.
9611         * alloc.c (compact_string_chars): Use new definitions.
9612         * alloc.c: Update monster comments.
9613         * lrecord.h (lrecord_type): Add some new lrecord types for
9614         alloc.c's use.
9615
9616 2001-01-18  Martin Buchholz  <martin@xemacs.org>
9617
9618         Improve alignment hackery.
9619         * lisp.h (ALIGNOF): Better definition for the non-gcc case.
9620         (max_align_t): Moved from opaque.h - general purpose.
9621         (ALIGN_PTR): Use size_t, not long.
9622         * opaque.h (max_align_t): Move to lisp.h.
9623
9624 2001-01-18  Norbert Koch  <nk@LF.net>
9625
9626         * gui.h: Fix and add prototypes to fix build problems.
9627
9628 2001-01-18  Martin Buchholz  <martin@xemacs.org>
9629
9630         temacs is going away, so `dump-temacs' is now a bad name.
9631         * .dbxrc (dump-temacs): Rename to `dmp'.
9632         * .gdbinit (dump-temacs): Rename to `dmp'.
9633
9634 2001-01-17  Andy Piper  <andy@xemacs.org>
9635
9636         * glyphs.c (print_image_instance): comment to make martin happy.
9637
9638         * glyphs-x.c (x_redisplay_widget): update faces after a frame
9639         change.
9640
9641         * glyphs-msw.c (mswindows_redisplay_widget): add code to cope with
9642         activation.
9643         (mswindows_tab_control_redisplay): warning suppression.
9644
9645         * glyphs-widget.c (widget_update): re-write to cope with updated
9646         items.
9647         (widget_instantiate): use new gui_item functions.
9648         (tab_control_update): deleted.
9649         (progress_gauge_update): deleted.
9650         (image_instantiator_progress_guage): take out update reference.
9651         (image_instantiator_tree_view): ditto.
9652         (image_instantiator_tab_control): ditto.
9653
9654         * gui.c (widget_gui_parse_item_keywords): new function. Do things
9655         Right the new way.
9656         (gui_item_add_keyval_pair): re-write to cope with descriptors and
9657         return whether anything was changed.
9658         (update_gui_item_keywords): as it sounds.
9659
9660         * gui.h: declare widget_gui_parse_item_keywords.
9661
9662         * fns.c (safe_copy_tree): new function taken from Fcopy_tree.
9663         (Fcopy_tree): use it. Stops infloop death in bogus instantiators.
9664
9665 2001-01-17  Martin Buchholz <martin@xemacs.org>
9666
9667         * XEmacs 21.2.41 "Polyhymnia" is released.
9668
9669 2001-01-16  Didier Verna  <didier@xemacs.org>
9670
9671         * glyphs.c (image_instantiate): don't use fallbacks when
9672         instantiating a face's background pixmap by inheritance.
9673
9674 2001-01-14  Mike Sperber <mike@xemacs.org>
9675
9676         * sysdep.c (start_of_data): PDUMP implies ORDINARY_LINK.
9677         Conditionalize accordingly.
9678
9679 2001-01-16  Martin Buchholz  <martin@xemacs.org>
9680
9681         * dumper.c (pdump_file_get): Fix a compiler warning.
9682
9683 2001-01-15  Martin Buchholz  <martin@xemacs.org>
9684
9685         Make Purify happy when pdumping.
9686         * symbols.c (Fmake_variable_buffer_local): Make Purify happy, by
9687         iniitalizing all bits of new lisp object memory.
9688         * symbols.c (Fmake_local_variable): Likewise.
9689         * symbols.c (Fdontusethis_set_symbol_value_handler): Likewise.
9690         * symbols.c (Fdefvaralias): Likewise.
9691         * mule-charset.c (vars_of_mule_charset): Likewise.
9692
9693 2001-01-15  Martin Buchholz  <martin@xemacs.org>
9694         Add the `-nd' flag when running pre-dump operations under the debugger.
9695         * .dbxrc (run-temacs): Add `-nd'.
9696         * .dbxrc (update-elc): Likewise.
9697         * .dbxrc (dump-temacs): Likewise.
9698         * .gdbinit (run-temacs): Likewise.
9699         * .gdbinit (check-temacs): Likewise.
9700         * .gdbinit (update-elc): Likewise.
9701         * .gdbinit (dump-temacs): Likewise.
9702
9703 2001-01-14  Martin Buchholz  <martin@xemacs.org>
9704
9705         Allow building 64-bit executables on AIX with GNU malloc, e.g.
9706         export OBJECT_MODE=64
9707         configure --pdump --use-union-type=no
9708         * m/ibmrs6000.h (DATA_START): Define for 64-bit world.
9709         * gmalloc.c (__default_morecore): Remove pre-ANSI cruft.
9710
9711         * miscplay.c (sndcnv8U_2mono):
9712         Avoid two uses of `++' in the same expression.
9713         Suppresses a GCC warning.
9714
9715 2001-01-13  Martin Buchholz  <martin@xemacs.org>
9716
9717         Make sure future compilers don't miscompile alloc.c.
9718         * alloc.c:
9719         (MARK_STRUCT_AS_FREE): Make aliasing-optimization-resistant.
9720         (MARK_STRUCT_AS_NOT_FREE): Make aliasing-optimization-resistant.
9721
9722 2001-01-12  Martin Buchholz  <martin@xemacs.org>
9723
9724         * dumper.c: A little post-pdump-rename comment fixup.
9725
9726 2001-01-09  Jerry James  <james@eecs.ku.edu>
9727
9728         * lisp-disunion.h: Change LISP_TO_CVOID arg to match its use.
9729
9730 2001-01-13  Martin Buchholz  <martin@xemacs.org>
9731
9732         * *.[ch]: Globally rename symbols using the following `pdump-rename'
9733         script:
9734         #!/bin/sh
9735         replace_symbol () {
9736           (findn texi$; findn [ch]$) | xargs g -lw "$1" | xargs global-replace 's/(?<!_)\b'$1'\b(?!_)/'$2'/g'
9737         }
9738
9739         replace_symbol pdump_wire_lists pdump_weak_object_chains
9740         replace_symbol pdump_wire_list dump_add_weak_object_chain
9741
9742         replace_symbol pdump_wires pdump_root_objects
9743         replace_symbol pdump_wire dump_add_root_object
9744
9745         replace_symbol pdump_dump_wired pdump_dump_from_root_objects
9746         replace_symbol pdump_dump_structs pdump_dump_from_root_struct_ptrs
9747
9748         replace_symbol dumpstructinfos pdump_root_struct_ptrs
9749         replace_symbol dumpstructinfo_dynarr pdump_root_struct_ptr_dynarr
9750         replace_symbol dumpstructinfo pdump_root_struct_ptr
9751         replace_symbol dumpstruct dump_add_root_struct_ptr
9752
9753         replace_symbol dumpopaque dump_add_opaque
9754         replace_symbol dumpopaqueinfo_dynarr pdump_opaque_dynarr
9755         replace_symbol dumpopaqueinfos pdump_opaques
9756         replace_symbol dumpopaqueinfo pdump_opaque
9757
9758         replace_symbol nb_structdump nb_root_struct_ptrs
9759         replace_symbol nb_opaquedump nb_opaques
9760
9761         replace_symbol align_table pdump_align_table
9762         replace_symbol dump_header pdump_header
9763
9764         replace_symbol DUMP_SIGNATURE_LEN PDUMP_SIGNATURE_LEN
9765         replace_symbol DUMP_SIGNATURE PDUMP_SIGNATURE
9766
9767
9768 2001-01-12  Martin Buchholz  <martin@xemacs.org>
9769
9770         * s/aix4.h: Keep the C for AIX compiler from overaggressively
9771         optimizing bytecount_to_charcount().
9772
9773 2001-01-06  Golubev I. N.  <gin@mo.msk.ru>
9774
9775         * config.h.in:
9776         (HAVE_DLFCN_H): Removed.
9777         * sysdll.c: Remove HAVE__DLOPEN, HAVE_DLFCN_H.
9778
9779 2001-01-06  Martin Buchholz  <martin@xemacs.org>
9780
9781         Portable dumper maintainability improvements.
9782         * alloc.c (staticpro):
9783         * alloc.c (staticpro_nodump):
9784         * alloc.c (garbage_collect_1):
9785         * alloc.c (reinit_alloc_once_early):
9786         * alloc.c (init_alloc_once_early):
9787         * alloc.c: Move dumper functions to alloc.c.
9788         * dumper.c (pdump_backtrace):
9789         * dumper.c (pdump_dump_structs):
9790         * dumper.c (pdump_dump_opaques):
9791         * dumper.c (pdump_dump_rtables):
9792         * dumper.c (pdump_dump_wired):
9793         * dumper.c (pdump):
9794         * dumper.c (pdump_load_check):
9795         * dumper.c (pdump_load_finish):
9796         * dumper.c (pdump_file_unmap):
9797         * dumper.c (pdump_file_get):
9798         * dumper.c (pdump_resource_free):
9799         * dumper.c (pdump_resource_get):
9800         * dumper.c (pdump_file_free):
9801         * dumper.c (pdump_file_try):
9802         * dumper.c (pdump_load):
9803         Remove fixed size limits on staticpro(), staticpro_nodump(),
9804         dumpopaque(), dumpstruct() by using Dynarrs instead of static C arrays.
9805         Remove custom code for dumping lrecord_implementations_table - use
9806         dumpopaque instead.
9807         Remove (most of the) custom code for dumping staticpros - dump it
9808         like any other dynarr.
9809
9810         * alloc.h: Removed.  No longer useful, since dumper now more self-contained.
9811         * dumper.c: Moved functions from alloc.c.
9812         * alloc.c (dumpstruct): Moved to dumper.c.
9813         * alloc.c (dumpopaque): Likewise.
9814         * alloc.c (pdump_wire): Likewise.
9815         * alloc.c (pdump_wire_list): Likewise.
9816
9817         * lisp.h (Dynarr_sizeof): New.
9818         * lisp.h (Dynarr_begin): New.  Very slightly C++oid.
9819         * lisp.h (Dynarr_end): New.  Very slightly C++oid.
9820         * lisp.h (Lisp_Object_ptr_dynarr): New.  For staticpros.
9821
9822         * lisp.h (dumpstruct): Define to nothing if not PDUMPing.
9823         * lisp.h (dumpopaque): ditto.
9824         * lisp.h (pdump_wire): ditto.
9825         * lisp.h (pdump_wire_list): ditto.
9826
9827 2001-01-09  Martin Buchholz  <martin@xemacs.org>
9828
9829         * make-src-depend (PrintPatternDeps):
9830         Use `sort' to make output independent of perl version.
9831
9832 2001-01-08  Martin Buchholz  <martin@xemacs.org>
9833
9834         Port to Netbsd 1.5.
9835         * unexelf.c: Remove (never used) bogus Netbsd-specific cruft.
9836         * s/netbsd.c: Use unexelf.o if __ELF__ is defined.
9837
9838 2001-01-03  Didier Verna  <didier@xemacs.org>
9839
9840         * event-stream.c (emacs_handle_focus_change_preliminary): ensure
9841         that `focus_frame' is alive before thinking of calling
9842         `redisplay_redraw_cursor' on it.
9843
9844 2001-01-08  Martin Buchholz <martin@xemacs.org>
9845
9846         * XEmacs 21.2.40 is released.
9847
9848 2001-01-06  Golubev I. N.  <gin@mo.msk.ru>
9849
9850         * regex.c: Replace PREFETCH with REGEX_PREFETCH.
9851
9852 2001-01-06  Martin Buchholz  <martin@xemacs.org>
9853
9854         * alloc.c (dbg_valmask): Make const.
9855         * alloc.c (dbg_typemask): Make const.
9856         * alloc.c (dbg_USE_UNION_TYPE): Make const.
9857         * alloc.c (dbg_valbits): Make const.
9858         * alloc.c (dbg_gctypebits): Make const.
9859
9860 2001-01-06  Stephen J. Turnbull  <stephen@xemacs.org>
9861
9862         * redisplay-x.c (x_bevel_area):
9863         redisplay.h (struct rune):
9864         Typo fixes in comments.
9865
9866 2001-01-05  Andy Piper  <andy@xemacs.org>
9867
9868         * glyphs-x.c (x_redisplay_widget): use size changed for offset
9869         adjustment.
9870
9871         * menubar.c (menubar_visible_p_changed): don't mark frame changed.
9872
9873 2001-01-05  Martin Buchholz  <martin@xemacs.org>
9874
9875         * alloc.c (pure-bytes-used): Remove unused mendacious variable.
9876
9877         * mule-ccl.c (stack_idx_of_map_multiple):
9878         Non const global data must not be initialized!
9879         Found by MIYASHITA Hisashi.
9880
9881 2001-01-02  Andy Piper  <andy@xemacs.org>
9882
9883         * frame.c (change_frame_size): make sure frame size is always
9884         marked as changed.
9885
9886         * glyphs.c (image_instance_layout): minor code reuse.
9887
9888         * window.c (Fcurrent_window_configuration): revert previous
9889         change.
9890
9891 2001-01-02  Martin Buchholz  <martin@xemacs.org>
9892
9893         * glyphs.h:
9894         * glyphs.c (make_image_instance_cache_hash_table): Use ANSI prototypes.
9895
9896 2000-12-31  Andy Piper  <andy@xemacs.org>
9897
9898         * glyphs-x.c (x_unmap_subwindow): return focus to enclosing frame
9899         when widget gets unmapped.
9900
9901         * event-Xt.c (emacs_Xt_handle_widget_losing_focus): new
9902         function. Make sure widgets losing focus don't just drop it.
9903         (handle_focus_event_1): record the widget with focus.
9904
9905 2000-12-31  Andy Piper  <andy@xemacs.org>
9906
9907         * window.c (allocate_window): use
9908         make_image_instance_cache_hash_table.
9909         (make_dummy_parent): ditto.
9910         (Fset_window_configuration): ditto.
9911
9912         * glyphs.h (INSTANTIATOR_TYPE): new macro.  declare new functions.
9913
9914         * glyphs.c (process_image_string_instantiator): use
9915         INSTANTIATOR_TYPE.
9916         (get_image_instantiator_governing_domain): ditto.
9917         (normalize_image_instantiator): ditto.
9918         (instantiate_image_instantiator): ditto.
9919         (make_image_instance_1): ditto.
9920         (image_instantiate): ditto. Key on glyph *and* instantiator type.
9921         (instantiator_eq_equal): new function for use with instance hash
9922         tables.
9923         (instantiator_eq_hash): ditto.
9924         (make_image_instance_cache_hash_table): create a suitable hash
9925         table for storing image instances.
9926
9927         * elhash.h (hash_table_weakness): new internal weakness type
9928         HASH_TABLE_KEY_CAR_VALUE_WEAK.
9929         declare new functions.
9930
9931         * elhash.c (finish_marking_weak_hash_tables): introduce yet
9932         another weakness type for glyphs.
9933         (make_standard_lisp_hash_table): new function split out from
9934         make_general_lisp_hash_table.
9935         (make_lisp_hash_table): call make_standard_lisp_hash_table.
9936         (hash_table_instantiate): ditto.
9937         (Fmake_hash_table): ditto.
9938
9939 2000-12-31  Martin Buchholz <martin@xemacs.org>
9940
9941         * XEmacs 21.2.39 is released.
9942
9943 2000-12-29  Andy Piper  <andy@xemacs.org>
9944
9945         * menubar.c (menubar_visible_p_changed): signal the frame changed.
9946
9947         * glyphs-x.c (x_redisplay_widget): Re-calculate widget offsets if
9948         the frame has changed so that we pick up geometry changes such as
9949         menubar visibility.
9950
9951 2000-12-28  Andy Piper  <andy@xemacs.org>
9952
9953         * lastfile.c (my_ebss): make a char array so we can pad the
9954         bss. Fixes cygwin unexec.
9955
9956         * unexcw.c: invert BROKEN_GDB to NO_DEBUG.
9957
9958 2000-12-26  Andy Piper  <andy@xemacs.org>
9959
9960         * event-Xt.c (emacs_Xt_force_event_pending): add some verbose
9961         comments and try and be more precise about a non-/SIGIO world.
9962         (emacs_Xt_event_pending_p): use XtAppPending under cygwin and non
9963         SIGIO.
9964
9965         * redisplay-output.c (redisplay_normalize_glyph_area): make sure
9966         we don't normalize to zero width or height.
9967
9968 2000-12-24  Andy Piper  <andy@xemacs.org>
9969
9970         * Makefile.in.in (ldflags): add -mwindows when appropriate.
9971
9972 2000-08-18  Golubev I. N.  <gin@mo.msk.ru>
9973
9974         * s/sco5.h: SCO 5 has pty support.
9975
9976 2000-07-20  Kazuyuki IENAGA <ienaga@xemacs.org>
9977
9978         * input-method-xlib.c: supports both XIM_XLIB and USE_XFONTSET.
9979         input-method-xlib.c contains whole contents of input-method-xfs.c,
9980         so we can use input-method-xlib.c's code for USE_XFONTSET
9981         using #ifdefs.
9982         * input-method-xfs.c: removed.
9983
9984 2000-12-20  Stephen Turnbull  <stephen@xemacs.org>
9985
9986         * file-coding.h (enum coding_category_type): reorder enumerators to
9987         make autodetection safer.  Make CODING_CATEGORY_LAST an enumerator
9988         (now one greater than largest real coding_category_type enumerator).
9989         * file-coding.c (coding_category_symbol, coding_category_by_priority,
9990         coding_category_system, fcd_descriptihon_1, decode_coding_category,
9991         Fcoding_category_list, Fset_coding_priority_list,
9992         Fcoding_priority_list, coding_system_from_mask, Fdetect_coding_region,
9993         vars_of_file_coding): adjust for change in CODING_CATEGORY_LAST.
9994
9995 2000-12-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
9996
9997         * redisplay-output.c (redisplay_clear_top_of_window): Remove static.
9998         * redisplay-output.c (redisplay_output_window): Clear top of window
9999         when face is changed.
10000         * redisplay-x.c (x_redraw_exposed_window): Call
10001         redisplay_clear_top_of_window.
10002         * redisplay.h: Publish redisplay_clear_top_of_window.
10003
10004 2000-12-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
10005
10006         * buffer.c (Fkill_buffer): Map over all devices.
10007         * window.c (window_loop): Remove UNSHOW_BUFFER code.
10008         (list_windows): New function.
10009         (list_all_windows): Ditto.
10010         (Freplace_buffer_in_windows): Use them.
10011
10012 2000-02-02   Daiki Ueno <ueno@ueda.info.waseda.ac.jp>
10013
10014         * database.c (berkdb_subtype): Recognize new subtype `queue'.
10015         (Fopen_database): Use `db_create' instead of `db_open'.
10016         (syms_of_database): Initialize Qqueue.
10017
10018 2000-12-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
10019
10020         * buffer.c (common_init_complex_vars_of_buffer): Initialize
10021         buffer_local_face_property.
10022         * buffer.h (struct buffer): New member buffer_local_face_property.
10023         * window.c (Fset_window_buffer):  Mark window's face as changed
10024         when buffer has buffer local face.
10025         * window.h (MARK_WINDOW_FACES_CHANGED): New macro.
10026         * objects.c (color_after_change): Set buffer_local_face_property
10027         when locale of face specifier is buffer.
10028         * objects.c (font_after_change): Ditto.
10029         * objects.c (face_boolean_after_change): Ditto.
10030         * glyphs.c (image_after_change): Ditto.
10031
10032 2000-12-09  Dan Holmsand  <dan@eyebee.com>
10033
10034         * nt.c (mswindows_fstat): Report file permissions, volume serial
10035         number, etc. Code adapted from FSF Emacs 20.7.
10036
10037 2000-12-09  Dan Holmsand  <dan@eyebee.com>
10038
10039         * sysfile.h (lstat): Make lstat an alias for xemacs_stat instead
10040         of stat when we don't have symbolic links, to make sure
10041         mswindows_stat is called on mswindows.
10042
10043 2000-12-12  Yoshiki Hayashi  <yoshiki@xemacs.org>
10044
10045         * alloca.c: Define malloc to xmalloc only when built with XEmacs.
10046
10047 2000-12-12  Martin Buchholz  <martin@xemacs.org>
10048
10049         * doprnt.c (emacs_doprnt_1): More printing fixes.
10050         Make printing of numbers compatible with libc and FSF Emacs.
10051         BUG was: (format "%6.3f" 1.2) ==>"1.200000"
10052         Use the system printf to do most of the hard work of formatting,
10053         instead of doprnt_1().
10054         Calculate memory to allocate for format string.
10055         Remove arbitrary limit on precision, e.g. (format "%.1000f" 3.14)
10056         (doprnt_1): Cleaner code and documentation.
10057
10058 2000-12-01  Jerry James  <james@eecs.ukans.edu>
10059
10060         * Makefile.in.in: Use the loop variable to install headers.
10061
10062 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
10063
10064         * window.c (Fsplit_window): Don't invalidate face cache.
10065
10066 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
10067
10068         * minibuf.c (Fall_completions): Undo the previous change
10069         which removed checking elements start with space.
10070
10071 2000-12-06  Stephen Turnbull  <stephen@xemacs.org>
10072
10073         * mule-canna.c: Didier suppression.
10074
10075 2000-12-06  Stephen Turnbull  <stephen@xemacs.org>
10076
10077         * mule-canna.c: rename static unsigned char buf[] to key_buffer
10078         (warning suppression).  Add English comment translations.
10079
10080 2000-12-05  Martin Buchholz  <martin@xemacs.org>
10081
10082         * unexelfsgi.c (unexec): Better test for mmap failure.
10083
10084 2000-12-05  Martin Buchholz <martin@xemacs.org>
10085
10086         * XEmacs 21.2.38 is released.
10087
10088 2000-12-05  Martin Buchholz  <martin@xemacs.org>
10089
10090         * redisplay.c (bar-cursor): Make a user variable.
10091
10092         * symsinit.h: Add init_postgresql_from_environment.
10093
10094 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
10095
10096         * regex.c: Convert to clean C.
10097
10098 2000-12-05  Dan Holmsand  <dan@eyebee.com>
10099
10100         * realpath.c:
10101         Don't #include sysfile.h. Revert to duplicating PATH_MAX
10102         initialization.
10103         (sys_readlink): renamed to system_readlink to avoid conflict with
10104         the other sys_readlink.
10105
10106 2000-12-04  Hiroaki Abe  <h-abe@pc.highway.ne.jp>
10107
10108         * dumper.c (pdump_file_get): Correct uses of pdump_fd.
10109
10110 2000-12-04  Stephen J. Turnbull  <stephen@xemacs.org>
10111
10112         * postgresql.c (init_postgresql_from_environment): new function.
10113         (vars_of_postgresql): Move code initializing Lisp variables out and
10114         into init_postgresql_from_environment.
10115         emacs.c (main_1): Call init_postgresql_from_environment if and only
10116         if running a dumped XEmacs.
10117
10118 2000-08-31  Dan Holmsand  <dan@eyebee.com>
10119
10120         * buffer.c: Make find-file-compare-truenames default to true on
10121         windows.
10122
10123         * realpath.c (win32_abs_start):
10124         (cygwin_readlink):
10125         (win32_readlink): New functions.
10126         (xrealpath): Return really real filenames on windows.
10127
10128         * fileio.c (Ffile_truename): Make file-truename work on windows.
10129
10130 2000-11-29  Didier Verna  <didier@xemacs.org>
10131
10132         * faces.c (MAYBE_UNFROB_BACKGROUND_PIXMAP): new macro.
10133         * faces.c (update_face_cachel_data): use it.
10134         * faces.c (add_face_cachel): use it. Complete background pixmap
10135         frobbing in face cache if `update_face_cachel_data' has not done so.
10136
10137 2000-11-29  Yoshiki Hayashi  <yoshiki@xemacs.org>
10138
10139         * search.c (string_match_1): Don't set last_thing_searched
10140         when search failed.
10141
10142 2000-11-27  Yoshiki Hayashi  <yoshiki@xemacs.org>
10143
10144         * buffer.c: Include casetab.h
10145         (common_init_complex_vars_of_buffer): Use new case-table object.
10146         * buffer.h: Include casetab.h
10147         * buffer.h (MAKE_TRT_TABLE): Use generic char-table.
10148         (DOWNCASE_TABLE_OF): Ditto.
10149         * bufslots.h: Remove char-tables and add case-table.
10150         * casetab.c: Include casetab.h
10151         (CASE_TABLE_P): Removed.
10152         (mark_case_table): New function.
10153         (allocate_case_table): New function.
10154         (Fcase_table_p): Use new case-table.
10155         (case_table_char): New function.
10156         (Fget_case_table): Ditto.
10157         (Fput_case_table): Ditto.
10158         (Fput_case_table_pair): Ditto.
10159         (Fcopy_case_table): Ditto.
10160         (Fcurrent_case_table): Return case-table.
10161         (Fstandard_case_table): Return case-table.
10162         (Fset_case_table): Fix doc-string.
10163         (set_case_table): Use case-table
10164         (syms_of_casetab): DEFSUBR new functions.
10165         (complex_vars_of_casetab): Set up standard case-table.
10166         * casetab.h: New file.
10167         * editfns.c: Include casetab.h
10168         (Fcompare_buffer_substrings): Use case-table.
10169         * inline.c: Include casetab.h
10170         * lisp.h: Remove bogus extern.
10171         * lrecord.h (lrecord_type): Add lrecord_type_case_table.
10172         * search.c: Include casetab.h
10173         (TRANSLATE_ASCII): Removed.
10174         (TRANSLATE): Unconditionally translate character.
10175         (looking_at_1): Use case-table.
10176         (string_match_1): Ditto.
10177         (fast_string_match): Ditto.
10178         (search_command): Ditto.
10179         (search_buffer): Separate boyer_moore.  Check whether
10180         boyer_moore is possible.
10181         (simple_search): New function.
10182         (boyer_moore): Separated from search_buffer. Translate char.
10183
10184 2000-11-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
10185
10186         * regex.c (RE_TR_ASCII): Removed.
10187         (RE_TRANSLATE): Unconditionally use TRT_TABLE.
10188         (PATFETCH): Call PATFETCH_RAW.
10189         (PATFETCH_RAW): Fetch Emchar.
10190         (PATUNFETCH): Decrement charptr.
10191         (GET_BUFFER_SPACE): Rename b to buf_end.
10192         (BUF_PUSH): Ditto.
10193         (BUF_PUSH_2): Ditto.
10194         (BUF_PUSH_3): Ditto.
10195         (EXTEND_BUFFER): Ditto.
10196         (SET_LIST_BIT): Ditto.
10197         (regex_compile): Ditto.  Translate non ASCII char.
10198         (compile_range): Ditto.
10199         (re_search_2): Ditto.
10200         (re_match_2_internal): Compare Emchar.
10201         (bcmp_translate): Ditto.
10202
10203 2000-11-29  Stephen J. Turnbull  <turnbull@xemacs.org>
10204
10205         * lisp.h (basic char/int typedefs):  comment improvement.
10206
10207 2000-11-24  Stephen J. Turnbull  <turnbull@xemacs.org>
10208
10209         * emacs.c (main_1):  unconditional pdump unstomping; don't save and
10210         unstomp inhibit_site_lisp.  Improve comments.
10211
10212 2000-11-22  Stephen J. Turnbull  <turnbull@xemacs.org>
10213
10214         * mule-charset.c (Fcharset_property):  improve type checking, comments.
10215
10216 2000-11-28  Andy Piper  <andy@xemacs.org>
10217
10218         * redisplay-output.c (redisplay_output_subwindow): make sure we do
10219         clipped display for windows in the gutter also.
10220         (redisplay_display_boxes_in_window_p): change semantics of return
10221         codes to be more intuitive.
10222
10223         * gutter.h: declare display_boxes_in_gutter_p.
10224
10225         * gutter.c (display_boxes_in_gutter_p): new function for
10226         redisplay.
10227
10228 2000-11-22  Andy Piper  <andy@xemacs.org>
10229
10230         * glyphs-x.c (image_instantiator_format_create_glyphs_x): change
10231         autodetect domain.
10232
10233 2000-11-21  Yoshiki Hayashi  <yoshiki@xemacs.org>
10234
10235         * callproc.c (Fold_call_process_internal):
10236         * gpm.c (Freceive_gpm_event):
10237         (tty_get_foreign_selection): Might be just warning supression.
10238         * fileio.c (Fwrite_region_internal):
10239         (Fset_visited_file_modtime):
10240         * keymap.c (event_matches_key_specifier_p):
10241         Initialize GCPROed variable.
10242
10243         * menubar-x.c (command_builder_find_menu_accelerator):
10244         Initialize before use.
10245
10246 2000-11-23  Andy Piper  <andy@xemacs.org>
10247
10248         * unexcw.c (unexec): make the resulting executable executable.
10249
10250 2000-11-21  Martin Buchholz  <martin@xemacs.org>
10251
10252         * doc.c (get_doc_string):
10253         Use size_t, not int, for result of XSTRING_LENGTH.
10254
10255         * cmds.c (Fdelete_char):
10256         * cmds.c (Fpoint_at_eol):
10257         * cmds.c (Fself_insert_command):
10258         Use EMACS_INT, not int, for result of XINT.
10259         Someday, someone will want to insert more than 2**31 identical characters.
10260
10261         * cmds.c (Fdelete_char):
10262         * cmds.c (Fdelete_backward_char):
10263         * syntax.c (Fforward_word):
10264         * syntax.c (Fforward_comment):
10265         Make COUNT argument optional, for consistency with forward-char et al.
10266
10267 2000-11-22  Martin Buchholz  <martin@xemacs.org>
10268
10269         * lisp.h:
10270         * print.c (long_to_string):
10271         Return a useful value: the pointer at end of data written.
10272
10273         * doprnt.c:
10274         Use `static const char * const' for constant strings.
10275         (union printf_arg): Delete `i', `ui' members.
10276         (get_doprnt_args):
10277         (emacs_doprnt_1):
10278         Fix LP64 platform bug: (format "%d" most-positive-fixnum) ==> "-1"
10279         Do all printf-ing via the `l' specifier.
10280         Use EMACS_INT instead of int.
10281         Optimize.
10282
10283 2000-11-20  Didier Verna  <didier@xemacs.org>
10284
10285         * faces.c (update_face_cachel_data): don't frob the background
10286         pixmap when the window is being created. The face is needed but
10287         does not exist yet.
10288
10289 2000-11-20  Andy Piper  <andy@xemacs.org>
10290
10291         * unexcw.c (copy_executable_and_dump_data_section): Only do bss
10292         messing with a debug environment.
10293
10294 2000-11-20  Martin Buchholz  <martin@xemacs.org>
10295
10296         * emacs.c (__sti__iflPNGFile_c___): Pedantically correct prototype.
10297
10298 2000-11-20  Martin Buchholz  <martin@xemacs.org>
10299
10300         * casetab.c (Fcase_table_p): Fix compile error and crash.
10301
10302 2000-11-18  Philip Aston  <philipa@mail.com>
10303
10304         * s/cygwin32.h: Cygwin has SVR4-like pty support.
10305
10306 2000-11-18  Martin Buchholz  <martin@xemacs.org>
10307
10308         * fileio.c (Fexpand_file_name): GCPRO bug!  Protect `handler'.
10309         * filelock.c (lock_file): GCPRO bug! Initialize all GCPROed vars!
10310
10311 2000-11-17  Martin Buchholz  <martin@xemacs.org>
10312
10313         * config.h.in: Define HAVE_ELF_H if elf.h exists.
10314         * unexelf.c: Use HAVE_ELF_H.
10315         * unexelfsgi.c: Fix bug with dumped xemacs stdout/stderr not working.
10316         I copied FSF Emacs 20.7 unexelf.c to unexelfsgi.c and ANSIfied it.
10317         Max Matveev <makc@sgi.com> removed non-SGI-relevant parts and tested.
10318         Greg Harrington <greg_harrington@hotmail.com> provided a machine
10319         for testing.
10320         So this is an unexelfsgi.c from a different line of development.
10321
10322 2000-11-16  Yoshiki Hayashi  <yoshiki@xemacs.org>
10323
10324         * regex.c (RE_TR_ASCII): New function.
10325         (RE_TRANSLATE): Call it.
10326
10327 2000-11-16  Yoshiki Hayashi  <yoshiki@xemacs.org>
10328
10329         * buffer.h (TRT_TABLE_OF): Remove assert.
10330         (IN_TRT_TABLE_DOMAIN): Removed.
10331
10332 2000-11-16  Gunnar Evermann  <ge204@eng.cam.ac.uk>
10333
10334         * free-hook.c (log_gcpro):
10335         (show_gcprohist): Add support for GCPRO5.
10336
10337 2000-11-08  Stephen J. Turnbull  <stephen@xemacs.org>
10338
10339         * emacs.c (main_1): Improve -sd error message when --pdump=no.
10340
10341 2000-11-16  Olivier Galibert  <galibert@xemacs.org>
10342
10343         * symeval.h: Declare flush_all_buffer_local_cache.
10344
10345         * symbols.c: Change XD_LO_RESET_NIL into XD_LISP_OBJECTs.
10346         (flush_buffer_local_cache): Added.
10347         (flush_all_buffer_local_cache): Added.
10348
10349         * lrecord.h: Remove unused XD_LO_RESET_NIL.
10350
10351         * dumper.c (pdump_register_sub): Remove unused XD_LO_RESET_NIL.
10352         (pdump_dump_data): Ditto.
10353         (pdump_reloc_one): Ditto.
10354         (pdump): Remove unused pdump_qnil.  Flush buffer local caches
10355         before dumping.
10356
10357
10358 2000-11-14  Yoshiki Hayashi  <yoshiki@xemacs.org>
10359
10360         * buffer.c: Remove if 0'ed entry.
10361         * buffer.h: Rewrite TRT to use char-table.
10362         * bufslots.h: Remove mirror tables.
10363         * casetab.c: Remove mirror tables.
10364         (CASE_TABLE_P): New macro.
10365         (Fcase_table_p): Element of a case table is string or char-table.
10366         (make_mirror_trt_table): Removed.
10367         (set_case_table): Setup char-table from strings for backward
10368         compatibility.
10369         * dired.c (Fdirectory_files):
10370         * dired-msw.c: (mswindows_get_files):
10371         * lisp.h: Change prototype of re_pattern_buffer.
10372         * regex.c: (RE_TRANSLATE): New macro.
10373         (TRANSLATE_P): Ditto.
10374         Change translate to type RE_TRANSLATE_TYPE.
10375         * regex.h: Define RE_TRANSLATE_TYPE
10376         * search.c (TRANSLATE): New macro.
10377         (TRANSLATE_ASCII): New macro.
10378         Translate table is changed to Lisp_Object.
10379         (signal_failure): Inhibit return.
10380
10381 2000-11-14  Yoshiki Hayashi  <yoshiki@xemacs.org>
10382
10383         * device-msw.c:
10384         * eldap.c:
10385         * event-Xt.c:
10386         * event-stream.c:
10387         * print.c:
10388         Do UNGCPRO before return.
10389
10390 2000-11-14  Martin Buchholz <martin@xemacs.org>
10391
10392         * XEmacs 21.2.37 is released.
10393
10394 2000-11-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
10395
10396         * fileio.c (Finsert_file_contents_internal): UNGCPRO before return.
10397         Add comments about discarded return value.
10398
10399 2000-11-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
10400
10401         * callint.c:
10402         * event-stream.c: Fix comments.  Remove some #if 0'ed part.
10403
10404 2000-10-27  Andy Piper  <andy@xemacs.org>
10405
10406         * gutter.c (Fset_default_gutter_position): default left and right
10407         gutters to visible.
10408         (calculate_gutter_size): calculate resonable heuristic for left
10409         and right gutter sizes.
10410         (specifier_vars_of_gutter): change left and right gutter sizes to
10411         autodetect.
10412         (calculate_gutter_size_from_display_lines): new function.
10413         (output_gutter): check for resizing on left and right gutters.
10414         (clear_gutter): don't special case top and left gutters.
10415         (specifier_vars_of_gutter): use new signature for
10416         set_specifier_caching.
10417
10418         * glyphs-x.c (x_redisplay_widget): spelling fix.
10419         * glyphs.c (specifier_vars_of_glyphs):
10420         * menubar.c (specifier_vars_of_menubar):
10421         * redisplay.c (specifier_vars_of_redisplay):
10422         * toolbar.c (specifier_vars_of_toolbar):
10423         * window.c (specifier_vars_of_window):
10424         * scrollbar.c (specifier_vars_of_scrollbar):
10425         (complex_vars_of_scrollbar): use new signature for
10426         set_specifier_caching.
10427
10428         * specifier.c (set_specifier_caching): include recompute flag.
10429         (recompute_one_cached_specifier_in_window): always recompute if
10430         flag set.
10431         (recompute_one_cached_specifier_in_frame): ditto.
10432
10433         * specifier.h (struct specifier_caching): add recompute flag.
10434
10435 2000-10-24  Andy Piper  <andy@xemacs.org>
10436
10437         * unexcw.c (copy_executable_and_dump_data_section): add new
10438         BSS_PAD_SIZE so that we can re-instate a mini-bss. This keeps gdb
10439         5.0 happy.
10440
10441 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
10442
10443         * console-x.h (x_device): New member modifier_release_time.
10444         * event-Xt.c (x_handle_sticky_modifiers):
10445         Bound interval modifier keys are sticky.
10446         * event-stream.c (Vmodifier_keys_sticky_time): New variable.
10447         * events.h: extern it.
10448
10449 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
10450
10451         * cmdloop.c (Fcommand_loop_1): Just add C-g to event queue.
10452
10453 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
10454
10455         * event-stream.c (execute_command_event): Preserve current_events
10456         and the like when event is misc-user-event.
10457         Inhibit quit during the call to maybe_echo_keys.
10458
10459 2000-10-31  Yoshiki Hayashi  <yoshiki@xemacs.org>
10460
10461         * filelock.c (lock_buffer): Cope with kill-buffer. Don't create a
10462         symlink when buffer is killed.
10463         (inhibit_clash_detection): New variable.
10464
10465 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
10466
10467         * console.c (Fset_input_method): Trigger redisplay on tty.
10468
10469 2000-11-07  Martin Buchholz  <martin@xemacs.org>
10470
10471         * process.c (Fprocess_status): Revert to previous behavior:
10472         (process-status "nosuchprocess") ==> nil
10473
10474 2000-11-06  Martin Buchholz  <martin@xemacs.org>
10475
10476         * mule-charset.h (CHARSET_BY_LEADING_BYTE):
10477         Work around another GCC 2.95.2 optimizer bug.
10478
10479 2000-11-02  Martin Buchholz  <martin@xemacs.org>
10480
10481         * process.c (Fget_process): Use LIST_LOOP_2.
10482         (kill_buffer_processes): Use LIST_LOOP_2.
10483
10484         * minibuf.c (Fall_completions):
10485         Delete old non-functional code for FSF fourth argument.
10486
10487         * frame.c (frame_matches_frame_spec):
10488         Renamed from `frame_matches_frametype'.  Update all callers.
10489         (device_matches_device_spec):
10490         Renamed from 'device_matches_console_spec'.  Update all callers.
10491
10492         * doc.c (Fsubstitute_command_keys):
10493         Remove buffer overflow crash.  Small code cleanups.
10494
10495         * casetab.c (check_case_table): Simpler code.
10496
10497         * window.c (Freplace_buffer_in_windows):
10498         Give this the same WHICH-FRAMES and WHICH-DEVICES parameters
10499         (and similar implementation) as Fdelete_windows_on.
10500         Update all callers.
10501
10502         * alloc.c (Fmake_list):
10503         * alloc.c (make_vector):
10504         * alloc.c (Fmake_vector):
10505         * alloc.c (make_bit_vector):
10506         * alloc.c (Fmake_bit_vector):
10507         * alloc.c (Fbit_vector):
10508         * alloc.c (Fmake_string):
10509         * alloc.c (Fpurecopy):
10510         * alloc.c (Fmemory_limit):
10511         * buffer.c:
10512         * buffer.c (Fget_buffer):
10513         * buffer.c (Fkill_buffer):
10514         * buffer.c (complex_vars_of_buffer):
10515         * bytecode.c (Fcompiled_function_stack_depth):
10516         * callint.c (Fprefix_numeric_value):
10517         * event-stream.c:
10518         * event-stream.c (Fread_key_sequence):
10519         * casetab.c:
10520         * casetab.c (Fcase_table_p):
10521         * casetab.c (check_case_table):
10522         * casetab.c (Fset_case_table):
10523         * casetab.c (Fset_standard_case_table):
10524         * chartab.c:
10525         * chartab.c (Fchar_table_type):
10526         * chartab.c (Freset_char_table):
10527         * chartab.c (Fget_char_table):
10528         * chartab.c (Fget_range_char_table):
10529         * chartab.c (Fput_char_table):
10530         * chartab.c (Fmap_char_table):
10531         * chartab.c (Fcategory_table_p):
10532         * chartab.c (Fcheck_category_at):
10533         * chartab.c (Fchar_in_category_p):
10534         * chartab.c (Fcategory_table):
10535         * chartab.c (Fcopy_category_table):
10536         * chartab.c (Fset_category_table):
10537         * chartab.c (Fcategory_designator_p):
10538         * chartab.c (Fcategory_table_value_p):
10539         * cmds.c (Fdelete_char):
10540         * cmds.c (Fdelete_backward_char):
10541         * cmds.c (Fself_insert_command):
10542         * cmds.c (Fself_insert_internal):
10543         * console.c (Fvalid_console_type_p):
10544         * console.c (Fcdfw_console):
10545         * console.c (Fconsole_type):
10546         * console.c (Fconsole_name):
10547         * console.c (Fconsole_device_list):
10548         * console.c (Fconsole_on_window_system_p):
10549         * data.c:
10550         * data.c (Feq):
10551         * data.c (Fold_eq):
10552         * data.c (Fsubr_interactive):
10553         * data.c (Fchar_to_int):
10554         * data.c (Fint_to_char):
10555         * data.c (Fsetcar):
10556         * data.c (Fsetcdr):
10557         * data.c (Fnumber_to_string):
10558         * data.c (Fstring_to_number):
10559         * data.c (Frem):
10560         * database.c (mark_database):
10561         * database.c (finalize_database):
10562         * database.c (Fdatabase_live_p):
10563         * database.c (Fdatabasep):
10564         * device-x.c (Fx_get_resource):
10565         * device.c (Fdfw_device):
10566         * dired.c:
10567         * dired.c (Ffile_name_completion):
10568         * dired.c (Ffile_name_all_completions):
10569         * dired.c (Fuser_name_completion):
10570         * dired.c (Fuser_name_completion_1):
10571         * dired.c (Fuser_name_all_completions):
10572         * doc.c (Fdocumentation):
10573         * doc.c (Fdocumentation_property):
10574         * doc.c (Fsubstitute_command_keys):
10575         * editfns.c:
10576         * editfns.c (Fchar_to_string):
10577         * editfns.c (Fstring_to_char):
10578         * editfns.c (Ftemp_directory):
10579         * editfns.c (Finsert_char):
10580         * editfns.c (Fbuffer_substring_no_properties):
10581         * editfns.c (Fnarrow_to_region):
10582         * editfns.c (Fchar_equal):
10583         * editfns.c (Fchar_Equal):
10584         * editfns.c (Ftranspose_regions):
10585         * emacs.c (Fdump_emacs):
10586         * eval.c (Fthrow):
10587         * eval.c (Fcommand_execute):
10588         * eval.c (Fautoload):
10589         * eval.c (Fbacktrace):
10590         * eval.c (Fbacktrace_frame):
10591         * events.c:
10592         * events.c (Fcopy_event):
10593         * events.c (Fcharacter_to_event):
10594         * events.c (Fevent_button):
10595         * events.c (Fevent_process):
10596         * extents.c:
10597         * extents.c (Fnext_extent_change):
10598         * extents.c (Fextent_property):
10599         * faces.c (Ffacep):
10600         * faces.c (Fmake_face):
10601         * file-coding.c:
10602         * file-coding.c (Fencode_shift_jis_char):
10603         * file-coding.c (Fencode_big5_char):
10604         * fileio.c (Ffile_name_directory):
10605         * fileio.c (Ffile_name_nondirectory):
10606         * fileio.c (Ffile_name_as_directory):
10607         * fileio.c (Fdirectory_file_name):
10608         * fileio.c (Ffile_truename):
10609         * fileio.c (Fsubstitute_in_file_name):
10610         * fileio.c (Ffile_modes):
10611         * fileio.c (Fset_file_modes):
10612         * fileio.c (Fset_default_file_modes):
10613         * fileio.c (Fverify_visited_file_modtime):
10614         * floatfns.c (Facos):
10615         * floatfns.c (Fasin):
10616         * floatfns.c (Fatan):
10617         * floatfns.c (Fcos):
10618         * floatfns.c (Fsin):
10619         * floatfns.c (Ftan):
10620         * floatfns.c (Fbessel_j0):
10621         * floatfns.c (Fbessel_j1):
10622         * floatfns.c (Fbessel_jn):
10623         * floatfns.c (Fbessel_y0):
10624         * floatfns.c (Fbessel_y1):
10625         * floatfns.c (Fbessel_yn):
10626         * floatfns.c (Ferf):
10627         * floatfns.c (Ferfc):
10628         * floatfns.c (Flog_gamma):
10629         * floatfns.c (Fexp):
10630         * floatfns.c (Fexpt):
10631         * floatfns.c (Flog):
10632         * floatfns.c (Flog10):
10633         * floatfns.c (Fsqrt):
10634         * floatfns.c (Fcube_root):
10635         * floatfns.c (Facosh):
10636         * floatfns.c (Fasinh):
10637         * floatfns.c (Fatanh):
10638         * floatfns.c (Fcosh):
10639         * floatfns.c (Fsinh):
10640         * floatfns.c (Ftanh):
10641         * floatfns.c (Fabs):
10642         * floatfns.c (Ffloat):
10643         * floatfns.c (Flogb):
10644         * floatfns.c (Fceiling):
10645         * floatfns.c (Ffloor):
10646         * floatfns.c (Fround):
10647         * floatfns.c (Ftruncate):
10648         * floatfns.c (Ffceiling):
10649         * floatfns.c (Fffloor):
10650         * floatfns.c (Ffround):
10651         * floatfns.c (Fftruncate):
10652         * fns.c (Fstring_equal):
10653         * fns.c (Fstring_lessp):
10654         * fns.c (concat2):
10655         * fns.c (concat3):
10656         * fns.c (vconcat2):
10657         * fns.c (vconcat3):
10658         * fns.c (Fsubstring):
10659         * fns.c (Fassoc):
10660         * fns.c (Fold_assoc):
10661         * fns.c (assoc_no_quit):
10662         * fns.c (Fassq):
10663         * fns.c (Fold_assq):
10664         * fns.c (assq_no_quit):
10665         * fns.c (Frassoc):
10666         * fns.c (Fold_rassoc):
10667         * fns.c (Frassq):
10668         * fns.c (Fold_rassq):
10669         * fns.c (rassq_no_quit):
10670         * fns.c (Fremassoc):
10671         * fns.c (remassoc_no_quit):
10672         * fns.c (Fremassq):
10673         * fns.c (remassq_no_quit):
10674         * fns.c (Fremrassoc):
10675         * fns.c (Fremrassq):
10676         * fns.c (remrassq_no_quit):
10677         * fns.c (Fsort):
10678         * fns.c (Fplist_get):
10679         * fns.c (Fplist_put):
10680         * fns.c (Fplist_remprop):
10681         * fns.c (Fplist_member):
10682         * fns.c (Flax_plist_get):
10683         * fns.c (Flax_plist_put):
10684         * fns.c (Flax_plist_remprop):
10685         * fns.c (Flax_plist_member):
10686         * fns.c (Fequal):
10687         * fns.c (Fold_equal):
10688         * fns.c (Frequire):
10689         * fns.c (Fbase64_encode_region):
10690         * fns.c (Fbase64_encode_string):
10691         * fns.c (Fbase64_decode_region):
10692         * frame.c:
10693         * frame.c (frame_matches_frame_spec):
10694         * frame.c (device_matches_device_spec):
10695         * frame.c (next_frame):
10696         * frame.c (previous_frame):
10697         * frame.c (Fnext_frame):
10698         * frame.c (Fprevious_frame):
10699         * frame.c (Fframe_property):
10700         * frame.c (Fset_frame_height):
10701         * frame.c (Fset_frame_size):
10702         * frame.h:
10703         * glyphs.c:
10704         * glyphs.c (if):
10705         * glyphs.c (decode_error_behavior_flag):
10706         * glyphs.c (Fmake_image_instance):
10707         * indent.c (Findent_to):
10708         * intl.c (Fignore_defer_gettext):
10709         * keymap.c (Fkeymapp):
10710         * keymap.c (Flookup_key):
10711         * lread.c:
10712         * lread.c (Fload_internal):
10713         * lread.c (Feval_buffer):
10714         * lread.c (Feval_region):
10715         * macros.c (Fexecute_kbd_macro):
10716         * marker.c (set_marker_internal):
10717         * marker.c (Fset_marker):
10718         * marker.c (set_marker_restricted):
10719         * marker.c (Fcopy_marker):
10720         * marker.c (noseeum_copy_marker):
10721         * menubar.c:
10722         * menubar.c (Fpopup_menu):
10723         * minibuf.c:
10724         * mule-charset.c (Fcharset_name):
10725         * mule-charset.c (Fchar_charset):
10726         * mule-charset.c (Fchar_octet):
10727         * mule-charset.c (Fsplit_char):
10728         * mule-wnnfns.c (Fwnn_open):
10729         * mule-wnnfns.c (Fwnn_dict_comment):
10730         * mule-wnnfns.c (Fwnn_quit_henkan):
10731         * mule-wnnfns.c (Fwnn_word_toroku):
10732         * mule-wnnfns.c (Fwnn_word_sakujo):
10733         * mule-wnnfns.c (Fwnn_word_use):
10734         * mule-wnnfns.c (Fwnn_hindo_set):
10735         * objects.c:
10736         * objects.c (Fmake_color_instance):
10737         * objects.c (Fmake_font_instance):
10738         * print.c (Fwrite_char):
10739         * process.c:
10740         * process.c (mark_process):
10741         * process.c (print_process):
10742         * process.c (get_process_from_usid):
10743         * process.c (Fprocessp):
10744         * process.c (Fprocess_live_p):
10745         * process.c (Fget_process):
10746         * process.c (Fget_buffer_process):
10747         * process.c (get_process):
10748         * process.c (Fprocess_id):
10749         * process.c (Fprocess_name):
10750         * process.c (Fprocess_command):
10751         * process.c (init_process_io_handles):
10752         * process.c (start_process_unwind):
10753         * process.c (Fstart_process_internal):
10754         * process.c (Fopen_multicast_group_internal):
10755         * process.c (Fset_process_window_size):
10756         * process.c (read_process_output):
10757         * process.c (send_process):
10758         * process.c (Fprocess_tty_name):
10759         * process.c (Fset_process_buffer):
10760         * process.c (Fprocess_buffer):
10761         * process.c (Fprocess_mark):
10762         * process.c (set_process_filter):
10763         * process.c (Fset_process_filter):
10764         * process.c (Fprocess_filter):
10765         * process.c (Fprocess_send_region):
10766         * process.c (Fprocess_send_string):
10767         * process.c (exec_sentinel):
10768         * process.c (Fset_process_sentinel):
10769         * process.c (Fprocess_sentinel):
10770         * process.c (status_notify):
10771         * process.c (Fprocess_status):
10772         * process.c (Fprocess_exit_status):
10773         * process.c (process_send_signal):
10774         * process.c (Fprocess_send_eof):
10775         * process.c (deactivate_process):
10776         * process.c (remove_process):
10777         * process.c (Fdelete_process):
10778         * process.c (kill_buffer_processes):
10779         * process.c (Fprocess_kill_without_query):
10780         * process.c (Fprocess_kill_without_query_p):
10781         * rangetab.c:
10782         * rangetab.c (Fget_range_table):
10783         * rangetab.c (Fput_range_table):
10784         * rangetab.c (Fremove_range_table):
10785         * rangetab.c (Fclear_range_table):
10786         * search.c:
10787         * search.c (Fskip_chars_forward):
10788         * search.c (Fskip_chars_backward):
10789         * search.c (Fskip_syntax_forward):
10790         * search.c (Fskip_syntax_backward):
10791         * search.c (search_command):
10792         * search.c (Freplace_match):
10793         * search.c (Fregexp_quote):
10794         * select.c (Fown_selection_internal):
10795         * select.c (Fselection_owner_p):
10796         * select.c (Fselection_exists_p):
10797         * select.c (Fget_selection_internal):
10798         * specifier.c:
10799         * symbols.c:
10800         * symbols.c (Fintern):
10801         * symbols.c (Fintern_soft):
10802         * symbols.c (Funintern):
10803         * symbols.c (Fapropos_internal):
10804         * symbols.c (Fset_default):
10805         * syntax.c:
10806         * syntax.c (Fsyntax_table_p):
10807         * syntax.c (Fcopy_syntax_table):
10808         * syntax.c (Fset_syntax_table):
10809         * syntax.c (Fchar_syntax):
10810         * syntax.c (syntax_match):
10811         * syntax.c (Fmatching_paren):
10812         * syntax.c (Fforward_word):
10813         * syntax.c (scan_lists):
10814         * syntax.c (Fscan_lists):
10815         * syntax.c (Fscan_sexps):
10816         * syntax.c (Fparse_partial_sexp):
10817         * toolbar.c (Fcheck_toolbar_button_syntax):
10818         * tooltalk.doc:
10819         * window.c:
10820         * window.c (Fwindowp):
10821         * window.c (Fwindow_live_p):
10822         * window.c (Fwindow_point):
10823         * window.c (Fdelete_window):
10824         * window.c (Fnext_window):
10825         * window.c (Fprevious_window):
10826         * window.c (Fother_window):
10827         * window.c (window_loop):
10828         * window.c (Fget_lru_window):
10829         * window.c (Fsplit_window):
10830         * window.c (Fenlarge_window):
10831         * window.c (Fenlarge_window_pixels):
10832         * window.c (Fshrink_window):
10833         * window.c (Fshrink_window_pixels):
10834         * window.c (change_window_height):
10835         * window.c (Fwindow_configuration_p):
10836         * window.c (Fcurrent_window_configuration):
10837         * window.h:
10838         * casefiddle.c (casify_object):
10839         * casefiddle.c (Fupcase):
10840         * casefiddle.c (Fdowncase):
10841         * casefiddle.c (Fcapitalize):
10842         * casefiddle.c (Fupcase_initials):
10843         * casefiddle.c (casify_region_internal):
10844         * casefiddle.c (casify_region):
10845         * casefiddle.c (Fupcase_region):
10846         * casefiddle.c (Fdowncase_region):
10847         * casefiddle.c (Fcapitalize_region):
10848         * casefiddle.c (Fupcase_initials_region):
10849         * casefiddle.c (Fupcase_word):
10850         * casefiddle.c (Fdowncase_word):
10851         * casefiddle.c (Fcapitalize_word):
10852         Docstring arglist/Texinfo fixes.  See man/ChangeLog for details.
10853         Replace 0 with '\0' when working with bytes.
10854         Replace initial "(" with "\(" in docstrings.
10855
10856 2000-11-01  Martin Buchholz  <martin@xemacs.org>
10857
10858         * config.h.in: Handle alloca with Compaq C on Alpha Linux.
10859
10860         * m/alpha.h: Let configure handle SYSTEM_MALLOC on Linux.
10861
10862 2000-10-31  Martin Buchholz  <martin@xemacs.org>
10863
10864         * eldap.c (print_ldap): 64-bit cleaner.  Fixes warning.
10865
10866 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
10867
10868         * doprnt.c (emacs_do_prnt_1): Format (format "%01.2d" 10)
10869         correctly.
10870
10871 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
10872
10873         * fileio.c (Vauto_save_list_file_prefix): Moved from startup.el.
10874         (inhibit_auto_save_session): New variable.
10875         (vars_of_fileio): Declare and initialize them.
10876         * fileio.c (Fdo_auto_save): Don't create session file if
10877         Vinhibit_auto_save_session or Vauto_save_list_file_prefix is non-nil.
10878
10879 2000-10-31  Martin Buchholz  <martin@xemacs.org>
10880
10881         * sgiplay.c (play_internal): C++ compilability.
10882         * alloc.c (SWEEP_FIXED_TYPE_BLOCK): Remove unused var `SFTB_prev'.
10883         * callproc.c (Fold_call_process_internal):
10884         Remove unused vars `env', `first'.
10885         * scrollbar.c (update_scrollbar_instance):
10886         #### unused var `current_window'.
10887         * redisplay-tty.c: Put currently unused vars insert_mode_on,
10888         etc. within #ifdef NOT_YET.
10889         * emacs.c: #### unused vars `initial_argc', `initial_argv'.
10890         * dialog-x.c (dbox_descriptor_to_widget_value): ### unused var `title'.
10891         * specifier.c (specifier_instance):
10892         #### unused var `tag'.
10893         Use WINDOW_BUFFER, FRAME_DEVICE instead of their expansion.
10894
10895 2000-10-27  Martin Buchholz  <martin@xemacs.org>
10896
10897         * fns.c (Fbutlast):
10898         * fns.c (list_sort):
10899         * fns.c (Ffillarray):
10900         * fns.c (bytecode_nconc2):
10901         * fns.c (Fnconc):
10902         * fns.c (mapcar1):
10903         * fns.c (Fmapconcat):
10904         Be pedantically 64-bit correct.  For the time when someone will
10905         want to have a list with length > 2**32.
10906
10907         * lisp.h (PRIVATE_EXTERNAL_LIST_LOOP_6):
10908         Work around MIPSpro compiler bug.
10909
10910         * process-unix.c (unix_kill_child_process): Add snarky comment.
10911         * process-unix.c (try_to_initialize_subtty):  Oops, `=' ==> `=='
10912
10913         * config.h.in: Oops, _getpt ==> _getpty
10914
10915 2000-10-26  Martin Buchholz  <martin@xemacs.org>
10916
10917         * config.h.in:
10918         * regex.c:
10919         Use void*, not char*, as return type of alloca().
10920
10921         * alloc.c (free_marker): Side effect inside assert expression!
10922
10923 2000-10-16  MIYASHITA Hisashi  <himi@m17n.org>
10924
10925         * mule-charset.c (Fset_charset_ccl_program): To check
10926         if the given ccl program is valid, use setup_ccl_program()
10927         instead of CHECK_VECTOR().
10928         (Fmake_charset): Likewise.
10929
10930 2000-10-20  Golubev I. N.  <gin@mo.msk.ru>
10931
10932         * faces.c (get_extent_fragment_face_cache_index):
10933         Fix cachel.merged_faces memory leak.
10934
10935 2000-10-14  MIYASHITA Hisashi  <himi@m17n.org>
10936
10937         * mule-ccl.c (ccl_driver)<CCL_DECODE_SJIS>:
10938         Reset MSB of octets obtained by DECODE_SJIS
10939         because of the incompatibility with Emacs.
10940         (ccl_driver)<CCL_ENCODE_SJIS>:
10941         Set MSB of octets before passing them to
10942         ENCODE_SJIS because of the incompatibility
10943         with Emacs.
10944
10945 2000-10-18   Daiki Ueno  <ueno@unixuser.org>
10946
10947         * lrecord.h (DECLARE_TYPECHECK_LRECORD): Abolish.
10948         (DECLARE_LRECORD): Undo the last change.
10949         (DECLARE_EXTERNAL_LRECORD): Expand typechecking stuff.
10950
10951 2000-10-17   Daiki Ueno  <ueno@unixuser.org>
10952
10953         * lrecord.h (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): Connect
10954         the implementation to lrecord_implementations_table.
10955
10956 2000-10-14   Daiki Ueno  <ueno@unixuser.org>
10957
10958         * lrecord.h (MAKE_EXTERNAL_LRECORD_IMPLEMENTATION): Don't set the
10959         initial value of `lrecord_type_##c_name' and
10960         `lrecord_##c_name.lrecord_type_index'; discard "const" qualifier.
10961         (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): New macro.
10962         [ERROR_CHECK_TYPECHECK] (DECLARE_TYPECHECK_LRECORD): New macro.
10963         [ERROR_CHECK_TYPECHECK] (DECLARE_LRECORD): Use it.
10964         [ERROR_CHECK_TYPECHECK] (DECLARE_EXTERNAL_LRECORD): Use it.
10965
10966 2000-10-17  Martin Buchholz  <martin@xemacs.org>
10967
10968         * miscplay.c (sndcnv8S_2mono):
10969         (sndcnv2monounsigned):
10970         (sndcnvULaw_2linear):
10971         (sndcnv16swap):
10972         Remove implementation-defined behavior.
10973
10974 2000-10-12  Martin Buchholz  <martin@xemacs.org>
10975
10976         * input-method-xlib.c: Warning suppression.
10977
10978 2000-10-05  MIYASHITA Hisashi  <himi@m17n.org>
10979
10980         * mule-ccl.c: Sync up with Emacs 21.0.90.
10981         (ccl_driver)<CCL_TranslateCharacter>: Disabled.
10982         Do nothing.
10983         (ccl_driver)<CCL_TranslateCharacterConstTbl>:
10984         Likewise.
10985         (ccl_driver[WriteMultibyteChar2]): Bug fix.
10986         Use MAX_LEADING_BYTE_OFFICIAL_2 instead of
10987         MIN_LEADING_BYTE_OFFICIAL_2 to check whether the
10988         leading char belongs to official 2-dimensional charset.
10989         (CCL_WRITE_CHAR): When CCL_MODE_ENCODING,
10990         write the given character as is.  Otherwise,
10991         if it is a multibyte char, convert it by
10992         non_ascii_set_charptr_emchar, then write it.
10993         (CCL_WRITE_STRING): Likewise.
10994         (ccl_get_compiled_code): New function.
10995         (setup_ccl_program): When ccl_prog is invalid,
10996         return -1.
10997         (Fregister_code_conversion_map): New function.
10998         (syms_of_mule_ccl): defsubr Fregister_code_conversion_map.
10999
11000         * mule-ccl.h: Sync up with Emacs 21.0.90.
11001         (Fregister_ccl_program): export it.
11002
11003         * redisplay-msw.c (separate_textual_runs):
11004         If ccl program is not valid, don't do ccl conversion.
11005
11006         * redisplay-x.c (separate_textual_runs): Ditto.
11007
11008         * file-coding.c (Fmake_coding_system):
11009         When type is ccl and value is vector, register it
11010         with a proper symbol.  And checks whether the
11011         given ccl program is valid.
11012         (mule_decode): When calling ccl_driver, if src indicates
11013         NULL pointer, set an empty string instead.
11014         (mule_encode): Likewise.
11015
11016 2000-10-11  Martin Buchholz  <martin@xemacs.org>
11017
11018         The following large batch of changes gets us back to a state of
11019         C++ compilability.  Extbyte is now a char, which means that
11020         Extbyte * and Bufbyte * cannot be freely interchanged - a win!
11021
11022         * tooltalk.c (Fset_tooltalk_message_attribute): Type correctness.
11023
11024         * sound.c (Fplay_sound): Type correctness.
11025
11026         * select-x.c (hack_motif_clipboard_selection): Type correctness.
11027         (x_get_window_property): Type correctness.
11028         (receive_incremental_selection): unsigned char ==> Extbyte
11029         (selection_data_to_lisp_data): unsigned char ==> Extbyte
11030         (Fx_get_cutbuffer_internal): unsigned char ==> Extbyte
11031         (Fx_store_cutbuffer_internal): Type correctness.
11032
11033         * process-unix.c (try_to_initialize_subtty): Type correctness.
11034
11035         * objects-x.c (x_print_color_instance): Type correctness.
11036         (x_print_font_instance): Type correctness.
11037         (x_list_fonts): SExtbyte ==> Extbyte.
11038         (valid_x_font_name_p): SExtbyte ==> Extbyte.
11039         (x_find_charset_font): SExtbyte ==> Extbyte.
11040         Use TO_INTERNAL_FORMAT.  build_string ==> make_string.
11041         (truename_via_XListFonts): SExtbyte ==> Extbyte.
11042         (x_font_instance_properties): Use TO_INTERNAL_FORMAT.
11043         Use bufbyte_strcmp.
11044
11045         * mule-charset.h (LEADING_BYTE_PREFIX_P): unsigned char ==> Bufbyte
11046         (PRIVATE_LEADING_BYTE_PREFIX): Add paranoia cast.
11047         (BYTE_ASCII_P): Use bit ops for char-signedness safety.
11048         (BYTE_C0_P): Use bit ops for char-signedness safety.
11049         (BYTE_C1_P): Use bit ops for char-signedness safety.
11050         (CHARSET_BY_LEADING_BYTE):
11051         (CHARSET_BY_ATTRIBUTES):
11052         Always use inline function.
11053         Use type_checking_assert.
11054         Hide chlook.
11055
11056         * mule-charset.c (non_ascii_charptr_copy_char):
11057         Modify to work with both ASCII and non-ASCII characters.
11058         Improve docs and variable names.
11059         Replace over-clever fall-through switch with a simple loop.
11060         (Lstream_get_emchar_1):
11061         Replace over-clever fall-through switch with a simple loop.
11062
11063         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
11064         Warning suppression.
11065
11066         * lstream.h (Lstream_get_emchar): BYTE_ASCII_P cannot be used on
11067         the return value of Lstream_getc, which could be EOF as well.
11068
11069         * lstream.c (Lstream_raw_read): Now returns ssize_t, not int.
11070
11071         * lisp.h: Make Extbyte a char, not unsigned char, so that external
11072         APIs can be used on Extbytes without casts.  Risky!
11073         (SExtbyte): Remove.
11074         (UExtbyte): Remove.
11075
11076         * input-method-xlib.c (XIM_init_device):
11077         Use Xlib.h instead of IntrinsicP.h.
11078         Use HAVE_XREGISTERIMINSTANTIATECALLBACK instead of THIS_IS_X11R6,
11079         which will break in X11R7.
11080         Use XREGISTERIMINSTANTIATECALLBACK_NONSTANDARD_PROTOTYPE,
11081         to call XRegisterIMInstantiateCallback with correct types.
11082
11083         * gui-x.c (button_item_to_widget_value): Type correctness.
11084
11085         * glyphs.c (bitmap_to_lisp_data):  Type correctness.
11086
11087         * glyphs-x.c (pixmap_from_xbm_inline): Type correctness.
11088         (xbm_instantiate_1): Type correctness.
11089         (BUILD_GLYPH_INST):  Type correctness.
11090
11091         * fileio.c (Fsubstitute_in_file_name): Type correctness.
11092
11093         * file-coding.c:
11094         (decode_coding_sjis):
11095         (decode_coding_big5):
11096         (decode_coding_ucs4):
11097         (decode_coding_utf8):
11098         (decode_coding_iso2022):
11099         (decode_coding_no_conversion):
11100         Make all decoding functions take an Extbyte * arg.
11101         (encode_coding_sjis):
11102         (encode_coding_big5):
11103         (encode_coding_ucs4):
11104         (encode_coding_utf8):
11105         (encode_coding_iso2022):
11106         (encode_coding_no_conversion):
11107         Make all encoding functions take a Bufbyte * arg.
11108         Use size_t instead of unsigned int for memory sizes.
11109         Only cast to unsigned char whenever dereferencing Extbyte *.
11110
11111         * doc.c (unparesseuxify_doc_string): Type correctness.
11112
11113         * console-x.c (split_up_display_spec):
11114         Rewrite without using details of internal string representation.
11115         (x_semi_canonicalize_device_connection): Type correctness.
11116
11117         * config.h.in:
11118         (HAVE_XREGISTERIMINSTANTIATECALLBACK): New.
11119         (XREGISTERIMINSTANTIATECALLBACK_NONSTANDARD_PROTOTYPE): New.
11120         (HAVE_XFREE386): Removed.
11121
11122         * buffer.h (DEC_CHARPTR): `const' correctness.
11123         (bufbyte_strcmp): New.
11124         (bufbyte_memcmp): New.
11125
11126         * buffer.c (dfc_convert_to_internal_format): Extbyte ==> Bufbyte
11127
11128         * buffer.h (XCHAR_OR_CHAR_INT):
11129         Always use inline function.
11130         Remove redundant type checking assert() - XINT will abort quite nicely.
11131
11132 2000-10-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
11133
11134         * search.c (Freplace_match): Set newtext to an empty string.
11135
11136 2000-10-10  Martin Buchholz  <martin@xemacs.org>
11137
11138         * s/decosf1-3.h: Remove #include of stropts.h
11139         * s/ptx.h: Remove #include of stropts.h
11140         * s/usg5-4.h: Remove #include of stropts.h
11141         * sysproc.h:
11142         * config.h.in:
11143         Use stropts.h, not sys/stropts.h.
11144         Use strtio.h, not sys/strtio.h.
11145
11146 2000-10-04  Martin Buchholz <martin@xemacs.org>
11147
11148         * XEmacs 21.2.36 is released.
11149
11150 2000-09-21  Andy Piper  <andy@xemacs.org>
11151
11152         * glyphs-x.c (x_redisplay_widget): make sure non-structural
11153         changes still involve copying the widget tree.
11154         (update_widget_face): make sure a change is register in the widget
11155         tree. Call update_tab_widget_face appropriately.
11156         (update_tab_widget_face): ditto.
11157         (x_tab_control_redisplay): make sure non-structural changes still
11158         involve copying the widget tree.
11159
11160 2000-08-31   Daiki Ueno  <ueno@unixuser.org>
11161
11162         * lread.c (locate_file): Check the path element is non-nil.
11163
11164 2000-10-02  Martin Buchholz  <martin@xemacs.org>
11165
11166         * lisp.h: Warning suppression for SCO compilers.
11167
11168         * redisplay-tty.c (reset_tty_modes): Fix crash.
11169         E.g. from xemacs running on X: (delete-device (make-device 'tty nil))
11170
11171 2000-09-27  Martin Buchholz  <martin@xemacs.org>
11172
11173         Big signal/process handling overhaul.  Bugs fixed:
11174         M-x shell, type `sleep 10000', M-x comint-interrupt-subjob and
11175         M-x comint-kill-subjob should work for both values nil and t of
11176         process-connection-type. It was broken on most platforms.
11177         Testing on Irix and Cygwin still needed.  Other plaforms tested.
11178         * sysdep.c: Move #include of stropts.h into sysproc.h.  Use pid_t.
11179         * process-unix.c: Signal/Process handling overhaul.
11180         (pty_name): make 64 bytes, as `expect' does, for paranoia.
11181         (allocate_pty): Use all available modern methods of allocating
11182         ptys, falling back to old style BSD allocation as a last resort.
11183         Use allegedly more secure Unix98 pty allocation by default.
11184         (allocate_pty_the_old_fashioned_way): New. the last resort.
11185         (unix_create_process): Push ptem, ldterm, ttcompat where
11186         available.  Autoconfiscate.
11187         (try_to_initialize_subtty): New.
11188         (unix_kill_child_process): Proper signal handling for ptys on most
11189         platforms, using special knowledge of AIX, BSD, etc...
11190         (unix_create_process): Always disconnect_controlling_terminal() for
11191         subprocesses, whether using ptys or not.
11192         * process.h: Remove old getpt-dependent PTY code.
11193         * process.c (Fprocess_send_signal): New, obvious generic function.
11194         (decode_signal): New.
11195         (Finterrupt_process):
11196         (Fkill_process):
11197         (Fquit_process):
11198         (Fstop_process):
11199         (Fcontinue_process):
11200         (Fsignal_process): Use decode_signal.
11201         (process_send_signal):
11202         Many docstring corrections.
11203         Allow any signal to be sent to a process object.
11204         * config.h.in: Add symbols for big signal/process overhaul.
11205         * syssignal.h (EMACS_KILLPG): Use HAVE_KILLPG. Use `pid', not `gid'.
11206         * sysproc.h: Include process-related headers, where available:
11207         sys/stropts.h sys/strtio.h pty.h libutil.h
11208         * s/irix4-0.h:
11209         * s/irix5-0.h:
11210         * s/cygwin32.h:
11211         * s/gnu.h:
11212         * s/linux.h:
11213         * s/hpux.h:
11214         * s/aix3-1.h:
11215         Remove old S&M pty stuff.
11216         * console-tty.c (tty_init_console): Use pid_t, not int, for pids.
11217         * systty.h: Simplify cpp hackery, improve comments.
11218         Favor BSD ioctl(TIOCGPGRP) over Posix tcgetpgrp().
11219
11220         * editfns.c (Fformat_time_string):
11221         Be a little more paranoid with the return value of ctime.
11222
11223         * fileio.c (check_executable):
11224         (check_writable):
11225         Use symbolic constants X_OK, W_OK.
11226
11227         * console-x.c (split_up_display_spec): Fix a warning.
11228
11229 2000-10-02  Martin Buchholz  <martin@xemacs.org>
11230
11231         * gui-x.c (add_accel_and_to_external): strlen ==> XSTRING_LENGTH
11232         * ntproc.c (sys_spawnve): make_string ==> build_string
11233         Small clarity improvements.
11234
11235 2000-09-30  Martin Buchholz  <martin@xemacs.org>
11236
11237         * events.c (WRONG_EVENT_TYPE_FOR_PROPERTY): Warning removal.
11238
11239         * s/windowsnt.h (HAVE_STRCASECMP): Remove.
11240
11241         * config.h.in (HAVE_STRCASECMP): Remove.
11242
11243 2000-09-29  Martin Buchholz  <martin@xemacs.org>
11244
11245         * redisplay-output.c (redisplay_output_pixmap):
11246         Cleaner and possibly more 64-bit correct code.
11247
11248 2000-09-28  Stephen J. Turnbull  <stephen@xemacs.org>
11249
11250         * dumper.c (pdump_load_finish): move restoration of
11251         `noninteractive1' to emacs.c (main_1).
11252         * emacs.c (main_1): protect LISP-visible command-line flags
11253         from pdump_load().
11254
11255 2000-09-26  Stephen J. Turnbull  <stephen@xemacs.org>
11256
11257         * Makefile.in.in (versionclean):  Use EXE_TARGET and
11258         DUMP_TARGET instead of literal program names.
11259
11260 2000-09-20  Martin Buchholz  <martin@xemacs.org>
11261
11262         * Makefile.in.in: Recent purify's require absolute paths for cache-dir.
11263
11264 2000-09-19  Martin Buchholz  <martin@xemacs.org>
11265
11266         * *: Spelling mega-patch
11267
11268 2000-09-19  Martin Buchholz  <martin@xemacs.org>
11269
11270         * fns.c (bad_bad_turtle):
11271         Delete "Eek!" comment, since we fixed the bug to which it refers.
11272
11273 2000-09-16  Martin Buchholz  <martin@xemacs.org>
11274
11275         * alloca.c: Replace REGISTER with register.
11276
11277 2000-09-16   Daiki Ueno  <ueno@unixuser.org>
11278
11279         * file-coding.c (ucs_to_char): Use countof.
11280
11281 2000-09-16  Martin Buchholz  <martin@xemacs.org>
11282
11283         * file-coding.c: (ucs_to_char):
11284         (complex_vars_of_file_coding):
11285         Use countof instead of sizeof.
11286         Use CHECK_NATNUM instead of CHECK_INT.
11287
11288         * sysdep.c (strcasecmp): Remove.
11289         * device-x.c (ascii_strcasecmp): New.
11290         * device-x.c (Fx_get_resource): Use ascii_strcasecmp.
11291         Avoid using non-standard non-portable strcasecmp.
11292
11293 2000-09-16  Martin Buchholz  <martin@xemacs.org>
11294
11295         * Makefile.in.in (mostlyclean): remove reference to prefix-args.
11296         * font-lock.c: remove reference to emacsfns.h.
11297         * search.c: small doc improvement.
11298         * event-Xt.c: correct file names in comments.
11299         * console-x.h Correct file names in comments.
11300         * frame.c: Correct file names in comments.
11301         * event-stream.c: remove Energize from comments.
11302
11303 2000-09-15  Martin Buchholz  <martin@xemacs.org>
11304
11305         * symeval.h (DEFERROR_STANDARD):
11306         (DEFERROR):
11307         (DEFSYMBOL):
11308         (DEFSYMBOL_NO_DUMP):
11309         (DEFSYMBOL_MULTIWORD_PREDICATE):
11310         (DEFSYMBOL_MULTIWORD_PREDICATE_NO_DUMP):
11311         (DEFKEYWORD):
11312         The construct &##name is not sensible C.
11313         Fixes compilation errors with Unixware native compiler.
11314
11315 2000-09-14  Martin Buchholz  <martin@xemacs.org>
11316
11317         * frame.c (device_matches_console_spec): no longer takes a `frame' arg
11318         (next_frame_internal): Removed.  We now just have next_frame.
11319         (next_frame):
11320         Write a simpler and cleaner one-pass algorithm.
11321         Remove called_from_delete_device arg and #ifdefed-out code.
11322         (previous_frame):
11323         Renamed from prev_frame.  Update callers.
11324         Cleaned up to have an analogous implementation to next_frame.
11325         (other_visible_frames_internal): Remove the
11326         called_from_delete_device bogus arg, and hence, remove this
11327         function.  Just use other_visible_frames().
11328
11329         * window.c (Fnext_window):
11330         Prettify docstring.
11331         Since next_frame() is guaranteed to return a frame, remove check
11332         for nil inserted in previous patch.
11333         (Fprevious_window):
11334         Prettify docstring.
11335         Make code look more like Fnext_window.
11336         (window_loop):
11337         Respect the `console' arg when iterating through windows.
11338         Fixes bug: (get-buffer-window buffer t device) not respecting
11339         the `device' arg.
11340         This function needs more work, as others have pointed out.
11341
11342         * frame.h: Rename prev_frame to previous_frame.
11343         device_matches_console_spec no longer takes a `frame' arg.
11344
11345         * s/gnu.h:
11346         * s/linux.h:
11347         * s/hpux.h:
11348         Use EMACS_BLOCK_SIGNAL instead of sigblock.
11349         From "Golubev I. N." <gin@mo.msk.ru>.
11350
11351         * make-src-depend: Fix typo.
11352
11353 2000-09-13  Martin Buchholz  <martin@xemacs.org>
11354
11355         * window.c (Fnext_window):
11356         next_frame() might return nil, not a frame.
11357         Fixes this crash:
11358         (gdb) run -eval '(progn  (make-device (quote x) "polgar:0") (next-window (minibuffer-window) t (quote visible) (second (device-list))))'
11359
11360         * frame.c (next_frame_internal):
11361         We've passed a frame if we've passed its device.
11362         Fixes this crash:
11363         (gdb) run -eval '(progn (make-frame nil (make-device (quote x) "polgar:0")) (next-window (minibuffer-window) t (quote visible) (second (device-list))))'
11364 Fatal error: assertion failed, file /project/xemacs/ws/dev/src/frame.h, line 245, RECORD_TYPEP (obj, lrecord_type_frame)
11365
11366 2000-09-11  Jonathan Harris  <jhar@tardis.ed.ac.uk>
11367
11368         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
11369         Allow option to suppress accelerators in menu/dialog items.
11370         (populate_or_checksum_helper): Pass dialog title through above.
11371
11372 2000-09-10  Jonathan Harris  <jhar@tardis.ed.ac.uk>
11373
11374         * event-msw.c (mswindows_key_to_emacs_keysym):
11375         Add "pause" key, fix "menu" key.
11376
11377 2000-09-09  Martin Buchholz  <martin@xemacs.org>
11378
11379         * eval.c (reinit_vars_of_eval):
11380         Increase max_lisp_eval_depth to 1000,
11381         required for thai-xtis.el to byte-compile under some circumstances.
11382
11383 2000-09-04  Martin Buchholz  <martin@xemacs.org>
11384
11385         * event-Xt.c (x_to_emacs_keysym): Increase size of `buffer' to 513.
11386         From Kenichi Handa.
11387
11388 2000-09-01  Martin Buchholz  <martin@xemacs.org>
11389
11390         * make-src-depend: Make the generated Makefiles smaller.
11391
11392         * s/hpux.h (SETUP_SLAVE_PTY):
11393         Provide a %d in the format string for the errno argument.
11394
11395         * editfns.c (Ftemp_directory):
11396         Warning fix.
11397         Avoid buffer overrun on very long file name.
11398
11399         * input-method-xlib.c (XIM_init_device):
11400         6th parameter of XRegisterIMInstantiateCallback has different
11401         pointer types on different OSes, so simply cast to (void *).
11402
11403         * unexhp9k800.c: Warning fixes.  Fiddly changes.
11404
11405         * sysdll.c (dll_open):
11406         shl_load will hang hard if passed a NULL filename.
11407         Simply return NULL for compatibility with dlopen.
11408         * sysdll.c: Conform to XEmacs coding standards.
11409
11410         * sysdep.c (get_pty_max_bytes):
11411         Support pty input lines longer than 512 bytes on HP-UX 10.20.
11412
11413 2000-08-31  Martin Buchholz  <martin@xemacs.org>
11414
11415         * tooltalk.c: Add #include <syssignal.h>
11416
11417 2000-08-12  Alexandre Oliva  <aoliva@redhat.com>
11418
11419         * s/hpux.h: Don't use undefined function sigunblock().
11420
11421 2000-08-31  Martin Buchholz  <martin@xemacs.org>
11422
11423         * config.h.in: Add HAVE_BALLOON_HELP.
11424         * emacs.c: Use HAVE_BALLOON_HELP.
11425         * Makefile.in.in (x_objs):
11426         Make Balloon Help conditional on finding shape.h.
11427
11428 2000-08-23  Yoshiki Hayashi  <yoshiki@xemacs.org>
11429
11430         * syntax.c (regex_emacs_buffer_p): New variable.
11431         * syntax.h (regex_emacs_buffer_p): extern.
11432         * search.c (looking_at_1):
11433         (string_match_1):
11434         (fast_string_match):
11435         (search_buffer): Set regex_emacs_buffer_p.
11436         * regex.c (re_match_2_internal): Reference regex_emacs_buffer_p
11437         when before_dot, at_dot, after_dot.
11438
11439 2000-08-23  Andy Piper  <andy@xemacs.org>
11440
11441         * gui-x.c (popup_selection_callback): Only set action_occurred
11442         when we really have an image instance.
11443         * gui-msw.c (mswindows_handle_gui_wm_command): ditto.
11444
11445 2000-08-23  Andy Piper  <andy@xemacs.org>
11446
11447         * gui-msw.c (mswindows_handle_gui_wm_command): set
11448         action_occurred.
11449         * gui-x.c (popup_selection_callback): ditto.
11450
11451         * glyphs.h (IMAGE_INSTANCE_WIDGET_ACTION_OCCURRED): new accessor.
11452         (XIMAGE_INSTANCE_WIDGET_ACTION_OCCURRED): ditto.
11453         (struct Lisp_Image_Instance): add action_occurred flag.
11454
11455         * glyphs.c (redisplay_subwindow): use action_occurred flag.
11456         (image_instance_changed): ditto.
11457         (reset_frame_subwindow_instance_cache): only unmap windows - do
11458         not remove them from the cache also.
11459
11460         * glyphs-widget.c (tab_control_update): better debug.
11461         (progress_gauge_update): ditto.
11462         (layout_update): ditto.
11463         (layout_instantiate): ditto.
11464         (tab_control_order_only_changed): cope with null pending items.
11465
11466         * glyphs-msw.c (mswindows_tab_control_redisplay): add better
11467         debug. Force selection of an item when an action occurred. Cope
11468         with null pending_items.
11469         (mswindows_progress_gauge_redisplay): better debug.
11470         * glyphs-x.c (x_tab_control_redisplay): ditto.
11471
11472         * redisplay.c (redisplay_frame): reset the frame cache if the
11473         frame is garbaged.
11474
11475         * window.c (Fset_window_configuration): potentially re-enable
11476         frame cache reset.
11477         (window_unmap_subwindows): need to finalize instances here since
11478         it is only used in mark_window_as_deleted.
11479
11480 2000-08-22  Stephen J. Turnbull  <stephen@xemacs.org>
11481
11482         * nas.c (SndOpenDataForReading):
11483         nas.c (WaveOpenDataForReading):
11484         nas.c (readChunk): {BIG,LITTLE}_ENDIAN -> NAS_{BIG,LITTLE}_ENDIAN.
11485         Somehow escaped from the 2000-08-14 patch.
11486
11487 2000-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
11488
11489         * nas.c:  Preprocessor trickery to use NAS_LITTLE_ENDIAN instead
11490         of LITTLE_ENDIAN (conflicts with glibc, at least) in NAS <= 1.2p5.
11491
11492 2000-08-21  Andy Piper  <andy@xemacs.org>
11493
11494         * glyphs-x.c (x_map_subwindow): Minor optimization - only map the
11495         window if it is not already displayed.
11496
11497         * glyphs-msw.c (mswindows_map_subwindow): only map the window if
11498         it is not already displayed.
11499
11500         * window.c (Fset_window_configuration): don't reset the frame
11501         cache.
11502
11503         * glyphs.c (unmap_subwindow_instance_cache_mapper): only remove
11504         instances from the frame cache if we are actually finalizing them.
11505         (reset_frame_subwindow_instance_cache): reset frame cache only
11506         after unmapping everything.
11507         (map_subwindow): set displayed flag after mapping.
11508
11509 2000-08-21  Martin Buchholz  <martin@xemacs.org>
11510
11511         * data.c (indirect_function):
11512         Rename ERRORP to non-misleading VOID_FUNCTION_ERRORP.
11513
11514         * eval.c (function_argcount):
11515         Use original function when signaling errors.
11516
11517 2000-08-18  Andy Piper  <andy@xemacs.org>
11518
11519         * frame.c (delete_frame_internal): use new
11520         free_frame_subwindow_instances name.
11521
11522         * glyphs-msw.c (mswindows_tab_control_instantiate): verify index.
11523         (add_tab_item): make return type correct.
11524         (mswindows_tab_control_instantiate): assert index of tab.
11525         (mswindows_tab_control_redisplay): Re-code to use
11526         gui_item_equal_sans_selected and gui_item_list_find_selected.
11527
11528         * glyphs-widget.c (tab_control_update): Correct comment.
11529
11530         * window.c (window_unmap_subwindows): use new
11531         unmap_subwindow_instance_cache_mapper.
11532         (window_unmap_subwindows_cache_mapper): deleted.
11533         (Fset_window_configuration): comparisons should now be with
11534         EQ. Preserve the subwindow instance cache across configuration
11535         changes.
11536         (allocate_window): ditto.
11537         (make_dummy_parent): ditto.
11538
11539         * glyphs.c (free_frame_subwindow_instances): rename from
11540         free_frame_subwindow_instance_cache. finalize all instances rather
11541         than just those in the display cache.
11542         (finalize_all_subwindow_instances): walk windows unmapping and
11543         finalizing subwindows.
11544         (unmap_subwindow_instance_cache_mapper): moved from
11545         window.c. Allow finalization as well as unmapping.
11546
11547         * gui.c (gui_item_list_find_selected): new function.
11548
11549         * gui.h (gui_item_list_find_selected): declare.
11550
11551         * glyphs-x.c (x_tab_control_redisplay): pick tab
11552         explicitly. Re-code to use gui_item_equal_sans_selected and
11553         gui_item_list_find_selected.
11554
11555         * glyphs-x.h: add lwlib-utils.h
11556
11557         * buffer.c (Frecord_buffer): undo previous change.
11558
11559 2000-08-09  Vin Shelton  <acs@xemacs.org>
11560
11561         * config.h.in, s/gnu.h, s/hpux.h, s/linux.h: Use UNIX98 PTYs if
11562         possible.  Create temporary files more securely.  The patch was
11563         generated by Torsten Duwe <duwe@caldera.de>, Florian Weimer
11564         <Florian.Weimer@RUS.Uni-Stuttgart.DE> and Olaf Kirch.  See
11565         http://www.xemacs.org/list-archives/xemacs-patches/200007/msg00123.html
11566         for details.
11567
11568 2000-08-07  Ben Wing  <ben@xemacs.org>
11569
11570         * getloadavg.c: remove duplicate (and windows-breaking)
11571         includes of fcntl.h and sys/file.h.
11572
11573         * nt.c: remove duplicate getloadavg() definition.
11574
11575         * sysdll.h (Qdll_filename_encoding): add missing stand-in
11576         encodings.
11577
11578 2000-08-07  Gunnar Evermann  <ge204@eng.cam.ac.uk>
11579
11580         * eval.c (function_argcount): If function needs to be autoloaded
11581         actually use the loaded definition.
11582         GCPRO function.
11583
11584 2000-08-05  Ben Wing  <ben@xemacs.org>
11585
11586         * getloadavg.c: add prototype for getloadavg().  remove
11587         duplicate WIN32_NATIVE/CYGWIN code (already in the middle
11588         of the code).  remove duplicate header includes.
11589
11590         * s\cygwin32.h, s\mingw32.h: remove stray NO_ARG_ARRAY.
11591
11592         * s\cygwin32.h, s\mingw32.h, m\windowsnt.h:
11593         don't define LOAD_AVE_TYPE/LOAD_AVE_CVT because we have no
11594         useful load average.
11595
11596         * alloc.c (reinit_alloc_once_early): removed references to
11597         VIRT_ADDR_VARIES, malloc_sbrk_used/free, and data-bytes-used/free.
11598         the lisp vars are the only things referencing the malloc_sbrk_*
11599         vars, and they were already if 0'd out.  these vars only exist
11600         in the older malloc.c, which is basically unused, and they're
11601         only for informational purposes.
11602
11603         * m\*.h: removed useless VIRT_ADDR_VARIES.
11604
11605         * m\powerpc.h: removed stray NO_ARG_ARRAY.
11606
11607 2000-04-26  IKEYAMA Tomonori  <tomonori@suiyokai.org>
11608
11609         * redisplay-msw.c (mswindows_output_dibitmap): Set foreground
11610         color if the image is a mono pixmap.
11611
11612 2000-07-30  Ben Wing  <ben@xemacs.org>
11613
11614         * Makefile.in.in (release):
11615         Remove stray @.
11616
11617         * buffer.c (directory_is_current_directory):
11618         * dired-msw.c (mswindows_get_files):
11619         * dired.c:
11620         * dired.c (Fdirectory_files):
11621         * dired.c (file_name_completion_stat):
11622         * dired.c (Ffile_attributes):
11623         [[[[1]]]]: Rename stat() -> xemacs_stat() and eliminate nasty
11624         preprocessor tricks, to avoid problems on some machines
11625         (e.g. SCO).
11626
11627         * callproc.c (egetenv): GC docs.
11628
11629         * console-msw.h:
11630         * console-msw.h (struct mswindows_dialog_id):
11631         * lrecord.h (lrecord_type):
11632         New object for use with MSW dialogs.
11633
11634         * console.h (struct console_methods):
11635         New enable/disable frame methods, for proper modal dialogs.
11636
11637         * device-msw.c (msprinter_default_printer): Fix to follow
11638         proper Mule conventions.
11639
11640         * device-msw.c:
11641         * device-msw.c (signal_open_printer_error):
11642         * device-msw.c (msprinter_init_device):
11643         * device-msw.c (ensure_not_printing):
11644         * device-msw.c (plist_get_margin):
11645         * device-msw.c (Fmsprinter_select_settings):
11646         * device-msw.c (finalize_devmode):
11647         * device-msw.c (Fmsprinter_settings_despecialize):
11648         * device-msw.c (signal_enum_priner_error):
11649         * extents.c (decode_extent):
11650         * extents.c (decode_map_extents_flags):
11651         * extents.c (decode_extent_at_flag):
11652         * extents.c (Fextent_at):
11653         * extents.c (Fextents_at):
11654         * extents.c (symbol_to_glyph_layout):
11655         [[[[2]]]] Use structured errors.
11656
11657         * dialog-msw.c:
11658         * dialog-msw.c (mswindows_is_dialog_msg):
11659         * dialog-msw.c (mark_mswindows_dialog_id):
11660         * dialog-msw.c (dialog_proc):
11661         * dialog-msw.c (handle_question_dialog_box):
11662         * dialog-msw.c (syms_of_dialog_mswindows):
11663         Define new object to clean up marking; use it as a dialog identifier.
11664         Call new delete-dialog-box-hook.
11665
11666         * dialog-x.c (dbox_selection_callback):
11667         * dialog-x.c (dbox_descriptor_to_widget_value):
11668         * dialog-x.c (x_make_dialog_box_internal):
11669         Call new delete-dialog-box-hook.
11670         Return an id.
11671
11672         * dialog.c:
11673         * dialog.c (syms_of_dialog):
11674         * dialog.c (vars_of_dialog):
11675         Define new delete-dialog-box-hook, for use w/modal dialog boxes.
11676
11677         * eval.c:
11678         * eval.c (signal_call_debugger):
11679         when noninteractive, output stack traces on the console instead
11680         of in a (never-seen) buffer.
11681
11682         * eval.c (signal_type_error):
11683         * eval.c (invalid_argument_2):
11684         * lisp.h:
11685         new funs for use w/structured errors.
11686
11687         * event-Xt.c:
11688         * event-Xt.c (x_to_emacs_keysym):
11689         * event-Xt.c (describe_event):
11690         * event-Xt.c (emacs_Xt_event_handler):
11691         * event-Xt.c (vars_of_event_Xt):
11692         * event-msw.c:
11693         * event-msw.c (mswindows_wnd_proc):
11694         * event-msw.c (vars_of_event_mswindows):
11695         rename {x,mswindows}-debug-events to debug-{}-events for
11696         consistency with other debug-foo variables.
11697
11698         * event-stream.c:
11699         document next-event more clearly.
11700
11701         * fileio.c (Ffile_name_directory):
11702         * fileio.c (Ffile_name_nondirectory):
11703         * fileio.c (Funhandled_file_name_directory):
11704         * fileio.c (file_name_as_directory):
11705         * fileio.c (Ffile_name_as_directory):
11706         * fileio.c (directory_file_name):
11707         * fileio.c (Fdirectory_file_name):
11708         * fileio.c (Fmake_temp_name):
11709         * fileio.c (Ffile_truename):
11710         * fileio.c (Fsubstitute_in_file_name):
11711         * fileio.c (expand_and_dir_to_file):
11712         * fileio.c (barf_or_query_if_file_exists):
11713         * fileio.c (check_executable):
11714         * fileio.c (Ffile_exists_p):
11715         * fileio.c (Ffile_writable_p):
11716         * fileio.c (Ffile_directory_p):
11717         * fileio.c (Ffile_regular_p):
11718         * fileio.c (Ffile_modes):
11719         * fileio.c (Ffile_newer_than_file_p):
11720         * fileio.c (Fverify_visited_file_modtime):
11721         * fileio.c (Fset_visited_file_modtime):
11722         * fileio.c (auto_save_1):
11723         (1). (2).
11724         fix up gcpro's.
11725
11726         * frame-msw.c:
11727         * frame-msw.c (mswindows_init_frame_1):
11728         * frame-msw.c (mswindows_enable_frame):
11729         * frame-msw.c (error_frame_unsizable):
11730         * frame-msw.c (msprinter_init_frame_1):
11731         * frame-msw.c (msprinter_init_frame_3):
11732         * frame-msw.c (console_type_create_frame_mswindows):
11733         (2).
11734         implement new enable/disable frame methods.
11735
11736         * frame-x.c:
11737         * frame-x.c (x_enable_frame):
11738         * frame-x.c (console_type_create_frame_x):
11739         implement new enable/disable frame methods.
11740
11741         * frame.c:
11742         * frame.c (Fdisable_frame):
11743         * frame.c (syms_of_frame):
11744         * frame.h (struct frame):
11745         implement new enable/disable frame methods/functions.
11746
11747         * general-slots.h:
11748         add initial-focus.
11749
11750         * glyphs-msw.c (mswindows_widget_instantiate):
11751         comment that initial-focus should be implemented.
11752
11753         * glyphs-widget.c:
11754         * glyphs-widget.c (check_valid_instantiator):
11755         * glyphs-widget.c (check_valid_orientation):
11756         * glyphs-widget.c (check_valid_tab_orientation):
11757         * glyphs-widget.c (check_valid_justification):
11758         * glyphs-widget.c (check_valid_border):
11759         * glyphs-widget.c (check_valid_callback):
11760         * glyphs-widget.c (check_valid_int_or_function):
11761         * glyphs-widget.c (check_valid_string_or_vector):
11762         * glyphs-widget.c (check_valid_item_list_1):
11763         * glyphs-widget.c (widget_validate):
11764         * glyphs-widget.c (combo_box_validate):
11765         * glyphs-widget.c (widget_instantiate):
11766         * glyphs-widget.c (syms_of_glyphs_widget):
11767         * glyphs-widget.c (VALID_WIDGET_KEYWORDS):
11768         * glyphs-widget.c (image_instantiator_combo_box):
11769         * glyphs-widget.c (image_instantiator_scrollbar):
11770         * glyphs-widget.c (image_instantiator_tab_control):
11771         * glyphs-widget.c (VALID_LAYOUT_KEYWORDS):
11772         (2).
11773         support (unimplemented) keyword initial-focus.
11774         reindent long macros.
11775
11776         * glyphs-x.c (x_redisplay_widget):
11777         * glyphs-x.c (x_button_instantiate):
11778         * glyphs-x.c (x_button_redisplay):
11779         * glyphs-x.c (x_progress_gauge_instantiate):
11780         * glyphs-x.c (x_edit_field_instantiate):
11781         * glyphs-x.c (x_combo_box_instantiate):
11782         * glyphs-x.c (x_tab_control_instantiate):
11783         * glyphs-x.c (x_label_instantiate):
11784         * gui-x.c:
11785         * gui-x.c (button_item_to_widget_value):
11786         * gui-x.c (gui_items_to_widget_values_1):
11787         * gui-x.c (gui_item_children_to_widget_values):
11788         * gui-x.c (gui_items_to_widget_values):
11789         * gui-x.h:
11790         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
11791         add new flag to gui-parsing routines to indicate whether
11792         accelerator specs should be supported.
11793
11794         * glyphs.c (syms_of_glyphs): use DEFSYMBOL.
11795
11796         * glyphs.h (struct Lisp_Image_Instance):
11797         * glyphs.h (IMAGE_INSTANCE_WANTS_INITIAL_FOCUS):
11798         add initial-focus flag.
11799
11800         * gui.c:
11801         * gui.c (syms_of_gui):
11802         * gui.c (vars_of_gui):
11803         clean up menu-no-selection-hook.
11804
11805         * gui.h:
11806         support delete-dialog-box-hook.
11807
11808         * lread.c (Fload_internal):
11809         * lread.c (locate_file_in_directory_mapper):
11810         (1).
11811
11812         * lrecord.h:
11813         * lrecord.h (struct toolbar_button):
11814         * lrecord.h (syms_of_toolbar):
11815         document how to create a new object.
11816
11817         * menubar-msw.c (mswindows_char_is_accelerator):
11818         may be called on frames w/o menus.
11819
11820         * menubar.c (vars_of_menubar):
11821         clean up :filter docs.
11822
11823         * nt.c (readdir):
11824         * ntproc.c:
11825         (1).
11826
11827         * process-nt.c:
11828         * process-nt.c (validate_signal_number):
11829         * process-nt.c (signal_cannot_launch):
11830         * process-nt.c (nt_create_process):
11831         * process-nt.c (nt_send_process):
11832         * process-nt.c (nt_kill_child_process):
11833         * process-nt.c (nt_open_network_stream):
11834         * process-nt.c (syms_of_process_nt):
11835         (2).
11836         delete quote-handling.  call new lisp code that does it better.
11837
11838         * process-unix.c (connect_to_file_descriptor):
11839         * process-unix.c (allocate_pty):
11840         * process-unix.c (unix_send_process):
11841         * process-unix.c (unix_kill_child_process):
11842         * process-unix.c (unix_open_network_stream):
11843         * process-unix.c (unix_open_multicast_group):
11844         (1). (2).
11845
11846         * process.c:
11847         * process.c (Fstart_process_internal):
11848         (2).  need to canonicalize process path even if absolute.
11849
11850         * select-msw.c (symbol_to_ms_cf):
11851         * select-msw.c (ms_cf_to_symbol):
11852         * select-msw.c (cf_is_autofreed):
11853         * select-msw.c (mswindows_destroy_selection):
11854         * select.c:
11855         * select.c (syms_of_select):
11856         * select.h:
11857         support dibv5, fix bugs. (from Mike Alexander)
11858
11859         * select.c (Fget_selection_internal):
11860         * select.c (select_convert_out):
11861
11862         * sysdep.c:
11863         * sysdep.c (xemacs_stat):
11864         renamed.
11865
11866         * sysdep.c (mkdir):
11867         * sysdep.c (rmdir):
11868         but keep original stat() here because we provide encapsulation
11869         around these funs.
11870
11871         * sysfile.h:
11872         * sysfile.h (fstat):
11873         remove stat garbage.
11874
11875         * syswindows.h:
11876         fix X/MSW conflict.
11877         don't include tchar.h.  it's inappropriate because it makes
11878         compile-time distinctions when we want runtime distinctions.
11879         (we provide our own tchar replacements)
11880
11881         * toolbar.c:
11882         use default object printer for toolbar-button.
11883
11884         * unexcw.c:
11885         make sure we don't encapsulate.
11886
11887         * window.c (vars_of_window):
11888         emphasize that temp-buffer-show-hook is obsolete.
11889
11890 2000-08-05  Martin Buchholz  <martin@xemacs.org>
11891
11892         * glyphs.c (image_instance_hash): HASH2 wants EMACS_INT args.
11893         (Fimage_instance_subwindow_id): make_int wants EMACS_INT arg.
11894
11895         * events.c (Fevent_timestamp_lessp):
11896         Not 64-bit clean.  Use EMACS_INT, not int.
11897
11898 2000-06-05  Andrew Begel <abegel@cs.berkeley.edu>
11899
11900         * lrecord.h (lrecord_types): Changed lrecord_type_count to an
11901         unsigned int and changed the last enum to
11902         lrecord_type_last_built_in_type.
11903         (lrecord_implementations_table): changed prototype to know how
11904         long the array is supposed to be.
11905         (lrecord_type_count): new unsigned int to keep track of the
11906         current number of lisp lrecord types.
11907         (DEFINE_EXTERNAL_LRECORD):
11908         (DECLARE_EXTERNAL_LRECORD): Added these two for external
11909         dynamic-modules to declare new lisp types. They are the same
11910         as the non-EXTERNAL forms, but declare an lrecord_type unsigned
11911         int for each new type, and increment lrecord_type_count by 1.
11912
11913         * alloc.c (lrecord_implementations_table): Changed to reference
11914         lrecord_type_last_built_in_type for the size of the array.
11915         Moved MODULE_DEFINABLE_TYPE_COUNT to lrecord.h.
11916
11917 2000-08-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
11918
11919         * glyphs.h (check_valid_item_list): Renamed from
11920         check_valid_item_list_1.
11921
11922 2000-08-01 Alastair J. Houghton <ajhoughton@lineone.net>
11923
11924         * select.c (Qselect_coerce): New.
11925         * select.c (Vselection_coercion_alist): New.
11926         * select.c (syms_of_select): Declare.
11927         * select.c (get-selection-internal): Use it.
11928         Use the new select-coerce functionality.
11929
11930         * select.c (select_coerce): New.
11931         * select.h (select_coerce): Declare.
11932         New function to coerce one type of data into another.
11933
11934 2000-08-03  Martin Buchholz  <martin@xemacs.org>
11935
11936         * callproc.c (Fcall_process_internal):
11937         (Fcall_process_internal):
11938         * process-unix.c (unix_create_process):
11939         Save and restore the value of errno, so that error messages are accurate.
11940
11941 2000-08-01  Martin Buchholz  <martin@xemacs.org>
11942
11943         * elhash.c (print_hash_table):
11944         Fix printing of hash tables to also use `key-and-value' instead of `t'.
11945         Prettify docstrings and indentation.
11946
11947 2000-07-31  Yoshiki Hayashi  <yoshiki@xemacs.org>
11948
11949         * window.c (Fwindow_pixel_edges): Subtract frame border and
11950         gutter size.
11951
11952 2000-07-31  Andy Piper  <andy@xemacs.org>
11953
11954         * buffer.c (Frecord_buffer): make absolutely sure that redisplay
11955         will acknowledge the change.
11956
11957         * glyphs.h: declare tab_control_order_only_changed.
11958
11959         * glyphs-x.c (x_tab_control_redisplay): use
11960         tab_control_order_only_changed.
11961
11962         * glyphs-widget.c (tab_control_order_only_changed): new function.
11963
11964         * glyphs-msw.c (mswindows_tab_control_redisplay): use
11965         tab_control_order_only_changed.
11966
11967         * gui.c (gui_item_equal_sans_selected): new function.
11968         (gui_item_equal): use it.
11969
11970         * glyphs-msw.c (mswindows_combo_box_instantiate): deprecate
11971         :properties in favor of :items..
11972
11973         * glyphs-widget.c (check_valid_item_list): rename from
11974         check_valid_item_list_1.
11975         (check_valid_item_list_1): renamed.
11976         (combo_box_validate): deprecate :properties in favor of :items.
11977         (widget_instantiate): ditto.
11978         (tab_control_update): ditto.
11979         (image_instantiator_combo_box): ditto.
11980         (image_instantiator_tree_view): ditto.
11981         (image_instantiator_tab_control): ditto.
11982         (layout_post_instantiate): remove dead code.
11983
11984         * print.c (debug_print_no_newline): only write to debugger if in
11985         WIN32_NATIVE.
11986
11987         * elhash.c (Fmake_hash_table): update doc string.
11988
11989         * event-msw.c (mswindows_wnd_proc): don't allow processing of
11990         messages whilst in GC. This at least stops XEmacs crashing but has
11991         the potential for wierd behaviour.
11992
11993 2000-07-31  Martin Buchholz  <martin@xemacs.org>
11994
11995         * config.h.in:
11996         Make existence of s&m files optional.
11997
11998         * s/bsd386.h: Remove HAVE_GETLOADAVG.
11999         * s/freebsd.h: Remove HAVE_GETLOADAVG.
12000         * s/gnu.h: Remove HAVE_GETLOADAVG.
12001         * s/netbsd.h: Remove HAVE_GETLOADAVG.
12002         * s/sol2.h: Remove HAVE_GETLOADAVG.
12003         * lisp.h: Remove getloadavg() declaration.
12004         * fns.c:
12005         Include <sys/loadavg.h> if available.
12006         Don't declare our own getloadavg() if HAVE_GETLOADAVG.
12007         * config.h.in:  Group together getloadavg()-related macros.
12008         Use only configure-time tests to detect getloadavg().
12009
12010 2000-07-30  Martin Buchholz  <martin@xemacs.org>
12011
12012         * Makefile.in.in (TransientEmacsShell.o): Fix race condition.
12013
12014 2000-07-25  Andy Piper  <andy@xemacs.org>
12015
12016         * syswindows.h: add tchar.h for native builds.
12017
12018         * frame.c (syms_of_frame): remove set-glyph-image.
12019
12020         * general-slots.h: add Qset_glyph_image.
12021
12022         * glyphs-widget.c (layout_update): add domain arg to
12023         set-glyph-image.
12024         (syms_of_glyphs_widget): remove set-glyph-image.
12025
12026 2000-07-23  Ben Wing  <ben@xemacs.org>
12027
12028         * dialog-msw.c (vars_of_dialog_mswindows): need to staticpro
12029         Vpopup_frame_list.
12030
12031 2000-07-22  Andy Piper  <andy@xemacs.org>
12032
12033         * symsinit.h: add syms_of_win32().
12034
12035         * gui-msw.c (syms_of_gui_mswindows): remove
12036         Fmswindows_shell_execute.
12037         (Fmswindows_shell_execute): moved to win32.c.
12038
12039         * emacs.c (main_1): add syms_of_win32 ().
12040
12041         * win32.c (init_potentially_nonexistent_functions): rewrite in
12042         compiler-friendly terms.
12043         (Fmswindows_shell_execute): move here from gui-msw.c.
12044         (syms_of_win32): new.
12045
12046         * device-msw.c (Fmswindows_printer_list): clean up args to
12047         EnumPrinters.
12048         Don't include tchar under cygwin or mingw.
12049         (msprinter_default_printer): make cygwin-friendly.
12050
12051 2000-07-21  Andy Piper  <andy@xemacs.org>
12052
12053         * glyphs-widget.c (image_instantiator_tree_view): use tab
12054         control's update function.
12055         (layout_property): new function. Retrieve items.
12056
12057         * glyphs-msw.c (mswindows_tree_view_redisplay): new
12058         function. Re-populate the tree view from the pending items.
12059
12060         * glyphs.c (instantiate_image_instantiator): Make sure the domain
12061         is designated the parent if the domain is an image instance. This
12062         is needed so that dirtiness can be cascade up the hierarchy and
12063         thus for layout children to be redisplayed correctly.
12064         (allocate_image_instance): rename glyph -> parent.
12065
12066         * redisplay.h: change redisplay_output_layout signature.
12067
12068         * redisplay-msw.c (mswindows_output_display_block): use domain
12069         arg.
12070
12071         * redisplay-x.c (x_output_display_block): use domain arg.
12072
12073 2000-07-10  Andy Piper  <andy@xemacs.org>
12074
12075         * window.c (Fset_window_configuration): add comment.
12076
12077         * redisplay-output.c (compare_runes):
12078         (redisplay_output_subwindow): redisplay rather than update subwindow.
12079         (redisplay_output_layout): ditto.
12080
12081         * redisplay-msw.c (mswindows_frame_output_end):
12082         (mswindows_frame_output_end): make defer window pos optional.
12083
12084         * lisp.h: add Flast.
12085
12086         * glyphs.h (struct image_instantiator_methods): add dest_mask top
12087         normalize method. Change update method to be for changed
12088         instantiators. Add redisplay method. Change signature of layout
12089         method.
12090         (struct Lisp_Image_Instance): add instantiator.
12091         (IMAGE_INSTANCE_INSTANTIATOR): new.
12092         (IMAGE_INSTANCE_SUBWINDOW_FACE): new.
12093         (XIMAGE_INSTANCE_INSTANTIATOR): new.
12094         (XIMAGE_INSTANCE_SUBWINDOW_FACE): new.
12095
12096         * glyphs.c:
12097         (find_instantiator_differences): new function.
12098         (Fset_instantiator_property): new convenience function.
12099         (check_image_instance_structure): strictly check for vector
12100         instantiators.
12101         (normalize_image_instantiator): make non-static.
12102         (instantiate_image_instantiator): pass on dest_mask and use new
12103         signatures for image_instance_layout and friends.
12104         (mark_image_instance): mark the instantiator. Mark the subwindow
12105         face not the widget face.
12106         (image_instance_equal): add instantiator.
12107         (image_instance_hash): ditto.
12108         (allocate_image_instance): ditto.
12109         (Fset_image_instance_property): removed.
12110         (Fimage_instance_file_name): ditto.
12111         (Fcolorize_image_instance): ditto.
12112         (image_instance_layout): add offsets to be set.
12113         (update_image_instance): new function. update an image instance
12114         from its changed instantiator.
12115         (inherit_normalize): add dest_mask.
12116         (xbm_normalize): ditto.
12117         (xface_normalize): ditto.
12118         (xpm_normalize): ditto.
12119         (text_update): set_property -> update.
12120         (image_instantiate): use the glyph identity as a hash key, not the
12121         instantiator.
12122         (glyph_width): use new image_instance_layout signature.
12123         (glyph_ascent): ditto.
12124         (glyph_descent): ditto.
12125         (glyph_height): ditto.
12126         (glyph_query_geometry): ressurrect.
12127         (glyph_layout): ditto.
12128         (redisplay_subwindow): update -> redisplay.
12129         (syms_of_glyphs): add Fset_instantiator_property.
12130         (image_instantiator_format_create): set_property -> update.
12131
12132         * glyphs-x.c:
12133         (autodetect_normalize): add dest_maks to signature.
12134         (x_redisplay_subwindow): update -> redisplay.
12135         (x_redisplay_widget): ditto.
12136         (x_button_redisplay): ditto.
12137         (x_progress_gauge_redisplay): ditto.
12138         (x_tab_control_redisplay): ditto. Rewrite to cope with changed
12139         stacking order.
12140         (console_type_create_glyphs_x): update -> redisplay.
12141         (image_instantiator_format_create_glyphs_x): ditto.
12142
12143         * glyphs-widget.c:
12144         (check_valid_instantiator): disallow glyphs in the instantiator,
12145         they must now be vectors.
12146         (check_valid_instantiator_list): ditto.
12147         (glyph_instantiator_to_glyph): use internal symbol rather than
12148         intern.
12149         (widget_update): renamed from widget_set_property. Call cascaded
12150         update methods.
12151         (redisplay_widget): renamed from update_widget.
12152         (widget_layout): image_instance_layout now takes position as well
12153         as size.
12154         (widget_normalize): ditto.
12155         (widget_instantiate): ditto.
12156         (tab_control_query_geometry) ditto.:
12157         (tab_control_update): renamed from tab_control_set_property.
12158         (progress_gauge_update): set_property -> update.
12159         (layout_normalize): rewrite so that child instantiators are
12160         normalized also.
12161         (layout_update): new function. Create glyphs from the normalized
12162         children and cope with any other layout keywords. We do not
12163         instantiate children here that will be take care of by
12164         redisplay_output_layout.
12165         (layout_instantiate): call layout_update and not much else.
12166         (layout_post_instantiate): not sure whether this is needed
12167         anymore.
12168         (layout_query_geometry): query glyph geometry rather than
12169         image_instance geometry.
12170         (layout_layout): set offsets from pass in parameters. Use glyph
12171         geometry and layout functions rather than image instance ones.
12172         (native_layout_layout): ditto.
12173         (syms_of_glyphs_widget): add make-glyph and set-glyph-image.
12174         (image_instantiator_widget): set_property -> update.
12175         (image_instantiator_buttons): ditto.
12176         (image_instantiator_progress_guage): ditto.
12177         (image_instantiator_tab_control): ditto.
12178         (VALID_LAYOUT_KEYWORDS): instantiators must now be vectors.
12179         (image_instantiator_layout): add update method.
12180
12181         * glyphs-msw.c (bmp_normalize):
12182         (mswindows_resource_normalize): add dest_mask so that it can be
12183         proprogated by layout_normalize.
12184         (begin_defer_window_pos): make optional because it may not be the
12185         right thing to do and it introduces differences with X.
12186         (mswindows_unmap_subwindow): ditto.
12187         (mswindows_map_subwindow): ditto.
12188         (mswindows_redisplay_subwindow): renamed from
12189         mswindows_update_subwindow.
12190         (mswindows_redisplay_widget): ditto.
12191         (mswindows_button_redisplay): renamed from
12192         mswindows_button_update. Update is now what the instantiation
12193         function does for a changed instantiator.
12194         (mswindows_progress_gauge_instantiate): set the progress value
12195         here if appropriate.
12196         (mswindows_tab_control_redisplay): cope with re-ordering of the
12197         members of the tab widget by simply selecting the new top
12198         widget. This makes things appear ok if you click on a tab.
12199         (mswindows_combo_box_instantiate): image_instance_layout now takes
12200         position as well as size.
12201         (mswindows_progress_gauge_redisplay): renamed from
12202         mswindows_progress_gauge_update.
12203         (console_type_create_glyphs_mswindows): fix update -> redisplay.
12204         (image_instantiator_format_create_glyphs_mswindows): ditto.
12205
12206         * glyphs-eimage.c (jpeg_normalize):
12207         (gif_normalize):
12208         (png_normalize):
12209         (tiff_normalize): add dest_mask so that it can be proprogated by
12210         layout_normalize.
12211
12212         * elhash.c:
12213         (print_hash_table):
12214         (hash_table_weakness_validate):
12215         (decode_hash_table_weakness):
12216         (Fhash_table_weakness):
12217         (Fhash_table_type):
12218         (syms_of_elhash): use Ben's naming scheme for hashtable types..
12219
12220         * console.h (struct console_methods): move update_* to
12221         redisplay_*.
12222
12223 2000-07-20  Ben Wing  <ben@xemacs.org>
12224
12225         * *.[ch] (XSETOBJ): remove unused middle argument.
12226         lisp-disunion.h: correct wrap_object() to one argument.
12227
12228 2000-07-15  Ben Wing  <ben@xemacs.org>
12229
12230         * s/cygwin32.h:
12231         * s/cygwin32.h (CYGWIN_CONV_PATH):
12232         Add missing logb prototype for v1.1.
12233         Use post-b20 names and alias to pre-b20 names when pre-b20.
12234
12235         * s/windowsnt.h: [5].
12236
12237 2000-07-15  Ben Wing  <ben@xemacs.org>
12238
12239         * Makefile.in.in (x_objs):
12240         * Makefile.in.in (sheap_objs):
12241         * Makefile.in.in (objs):
12242         added win32.o, cosmetic cleanups.
12243
12244         * alloc.c (Fmake_byte_code):
12245         [[[1]]]: Changes for new LIST_LOOP, EXTERNAL_LIST_LOOP,
12246         etc. macros which declare their own args now.
12247
12248         * alloc.c (syms_of_alloc):
12249         [[[2]]]: Use DEFSYMBOL, DEFKEYWORD, DEFERROR and friends.
12250
12251         * buffer.c:
12252         Moved buffer-dedicated-frame, set-buffer-dedicated-frame into lisp.
12253
12254         * buffer.c (Fget_file_buffer):
12255         Fixed GCPRO problem.
12256
12257         * buffer.c (get_truename_buffer):
12258         Fixed comment about GC checking.
12259
12260         * buffer.c (syms_of_buffer):
12261         Undeclared those dedicated frame funs.
12262         [2].
12263
12264         * buffer.h:
12265         Define convenience macros for internal/external conversions.
12266         [[[3]]]: Define codesys aliases Qcommand_argument_encoding
12267         and Qenvironment_variable_encoding for cleaner code.
12268
12269         * bufslots.h:
12270         Remove dedicated-frame; in lisp.
12271
12272         * bytecode.c (funcall_compiled_function):
12273         [1].
12274
12275         * bytecode.c (syms_of_bytecode):
12276         [2].
12277
12278         * console-msw.c:
12279         * console-msw.c (mswindows_show_console): Rewrote.
12280
12281         * console-msw.c (Fmswindows_debugging_output): New.
12282         Sends to OutputDebugString (special MSWin debugger interface).
12283
12284         * console-msw.c (Fmswindows_message_box):
12285         Fixed stupid bugs so it works when called from kill-emacs.
12286
12287         * console-msw.c (syms_of_console_mswindows):
12288         Declare Fmswindows_debugging_output.
12289
12290         * console-msw.h:
12291         New MSWin prototypes.
12292
12293         * console-msw.h (struct mswindows_frame):
12294         New entry last-click-mods for improved button-modifier support.
12295
12296         * console-msw.h (FRAME_MSWINDOWS_POPUP):
12297         New struct entry `popup' with corresponding accessor.
12298
12299         * console-x.c:
12300         * console-x.c (split_up_display_spec):
12301         * console-x.c (get_display_arg_connection):
12302         * console-x.c (x_semi_canonicalize_console_connection):
12303         * console-x.c (x_canonicalize_device_connection):
12304         [[[6]]]: Change char to more specific type.
12305         [[[8]]]: Make use of abstracting codesys aliases defined in [3], [4];
12306
12307         * console-x.c (x_semi_canonicalize_console_connection):
12308         * console-x.c (x_canonicalize_device_connection):
12309         [[[9]]]: Fix up error signalling to use new structured error system.
12310
12311         * console-x.h:
12312         [[[4]]]: Define codesys aliases:
12313         Qlwlib_encoding, Qx_atom_name_encoding, Qx_font_name_encoding,
12314         Qx_color_name_encoding, Qx_display_name_encoding.
12315
12316         * console.h (struct console_methods):
12317         New method make_dialog_box_internal supersedes older
12318         popup_dialog_box method.
12319
12320         * data.c:
12321         Define many new errors, part of new structured errors.
12322
12323         * data.c (init_errors_once_early):
12324         * data.c (syms_of_data):
12325         [2].
12326
12327         * device-msw.c (mswindows_init_device):
12328         [[[5]]]: Cleanup to support NT 3.51.
12329
12330         * device-msw.c (decode_devmode): Cleanup.
12331
12332         * device-msw.c (mswindows_handle_print_setup_dialog_box):
12333         * device-msw.c (mswindows_handle_print_dialog_box):
12334         * device-msw.c (mswindows_handle_page_setup_dialog_box):
12335         * device-msw.c (syms_of_device_mswindows):
12336         Delete the dialog box primitives recently introduced by Kirill and
12337         instead interface to general dialog box interface.
12338
12339         * device-x.c:
12340         * device-x.c (compute_x_app_name):
12341         * device-x.c (x_init_device):
12342         * device-x.c (Fx_valid_keysym_name_p):
12343         * device-x.c (Fx_set_font_path):
12344         [6].
12345         [7].
12346
12347         * device.h (wrap_device): New.
12348         First of its kind; meant to replace XSETDEVICE.
12349
12350         * dialog-msw.c: Many file-dialog symbols.
12351
12352         * dialog-msw.c (mswindows_register_popup_frame): New.
12353         * dialog-msw.c (mswindows_is_dialog_msg): New.
12354         For supporting kbd traversal in dialog boxes.
12355
12356         * dialog-msw.c (dialog_proc):
12357         Support hitting ESC in dialogs.
12358
12359         * dialog-msw.c (struct):
12360         Common dialog box errors.
12361
12362         * dialog-msw.c (handle_file_dialog_box): New.
12363         Add file dialog code.
12364
12365         * dialog-msw.c (handle_question_dialog_box):
12366         Redo existing code to support new question dialog syntax.
12367
12368         * dialog-msw.c (console_type_create_dialog_mswindows):
12369         We support new dialog console method.
12370
12371         * dialog-msw.c (syms_of_dialog_mswindows):
12372         * dialog-msw.c (vars_of_dialog_mswindows):
12373         New file dialog symbols, vars.
12374
12375         * dialog-x.c:
12376         * dialog-x.c (maybe_run_dbox_text_callback):
12377         * dialog-x.c (dbox_descriptor_to_widget_value):
12378         * dialog-x.c (x_make_dialog_box_internal):
12379         * dialog-x.c (console_type_create_dialog_x):
12380         Mule-ize entire file.
12381         Redo to support question dialog syntax.
12382         [6].
12383
12384         * dialog.c:
12385         * dialog.c (Fmake_dialog_box_internal):
12386         * dialog.c (syms_of_dialog):
12387         Kill old popup-dialog-box, replace with new primitive.
12388         Just call device method or signal error.
12389
12390         * eldap.c (Fldap_open):
12391         * eldap.c (Fldap_search_basic):
12392         * eldap.c (Fldap_add):
12393         * eldap.c (Fldap_modify):
12394         [1].
12395         [7].
12396
12397         * emacs.c:
12398         * emacs.c (make_arg_list_1):
12399         * emacs.c (make_arg_list):
12400         Mule-ize call to dll_init().
12401         [6].
12402         [8].
12403
12404         * emacs.c (make_argc_argv):
12405         * emacs.c (free_argc_argv):
12406         * emacs.c (init_cmdargs):
12407         * emacs.c (main_1):
12408         * emacs.c (Fkill_emacs):
12409         * emacs.c (Fdump_emacs):
12410         Update comments about what can be used in syms_* etc.
12411         Call init_win32() when necessary.
12412         Fix up MS Win dialog box in kill-buffer to actually work right.
12413         [7].
12414
12415         * eval.c:
12416         * eval.c (For):
12417         * eval.c (Fand):
12418         * eval.c (Fprogn):
12419         * eval.c (Fprog1):
12420         * eval.c (Fprog2):
12421         * eval.c (FletX):
12422         * eval.c (Flet):
12423         * eval.c (condition_case_3):
12424         * eval.c (Feval):
12425         * eval.c (function_argcount):
12426         * eval.c (funcall_lambda):
12427         [1].
12428
12429         * eval.c (type_error): New.
12430         * eval.c (maybe_type_error): New.
12431         * eval.c (continuable_type_error): New.
12432         * eval.c (maybe_continuable_type_error): New.
12433         * eval.c (type_error_with_frob): New.
12434         * eval.c (maybe_type_error_with_frob): New.
12435         * eval.c (continuable_type_error_with_frob): New.
12436         * eval.c (maybe_continuable_type_error_with_frob): New.
12437         New functions for use with structured errors.
12438
12439         * event-Xt.c:
12440         * event-Xt.c (x_event_to_emacs_event):
12441         Buttons are now modifiers too.
12442
12443         * event-Xt.c (emacs_Xt_current_event_timestamp):
12444         Implement new event method.
12445         * event-Xt.c (reinit_vars_of_event_Xt): Set it.
12446
12447         * event-msw.c:
12448         * event-msw.c (ntpipe_shove_writer): [5].
12449         * event-msw.c (mswindows_enqueue_mouse_button_event):
12450         * event-msw.c (mswindows_drain_windows_queue):
12451         * event-msw.c (mswindows_wnd_proc): [7].
12452         * event-msw.c (mswindows_current_layout_has_AltGr): [5].
12453         * event-msw.c (mswindows_modifier_state):
12454         Throughout: support new button modifiers.
12455
12456         * event-msw.c (emacs_mswindows_current_event_timestamp):
12457         Implement new event method.
12458         * event-msw.c (reinit_vars_of_event_mswindows): Set it.
12459
12460         * event-stream.c:
12461         * event-stream.c (event_stream_current_event_timestamp): New.
12462         * event-stream.c (maybe_kbd_translate): New functionality.
12463         * event-stream.c (vars_of_event_stream):
12464         Document new kbd-translate-table functionality.
12465
12466         * event-stream.c (Fcurrent_event_timestamp): New.
12467         New primitive for use in fabricated events.
12468         * event-stream.c (syms_of_event_stream): [2]. Declare new primitive.
12469
12470         * events-mod.h (XEMACS_MOD_BUTTON1): new button modifiers.
12471
12472         * events.c:
12473         * events.c (Fmake_event):
12474         * events.c (WRONG_EVENT_TYPE_FOR_PROPERTY):
12475         [1].
12476         [9].
12477
12478         * events.c (format_event_object): fix gcc warnings.
12479
12480         * events.c (Fevent_timestamp): Document new primitives.
12481
12482         * events.c (TIMESTAMP_HALFSPACE): New.
12483
12484         * events.c (Fevent_timestamp_lessp): New.  New primitive for
12485         comparing timestamps correctly (half-space algorithm).
12486
12487         * events.c (Fevent_modifier_bits): Doc fix.
12488
12489         * events.c (Fevent_modifiers): Major doc addition.
12490         * events.c (event_x_y_pixel_internal): Typo fix.
12491         * events.c (syms_of_events): Declare new primitives.
12492
12493         * events.h:
12494         Update long comment for button modifiers, timestamps.
12495
12496         * events.h (struct event_stream):
12497         New current_event_timestamp method.
12498
12499         * extents.c:
12500         * extents.c (extent_in_region_p):
12501         * extents.c (decode_extent):
12502         * extents.c (Fset_extent_parent):
12503         * extents.c (decode_map_extents_flags):
12504         Fix gcc warnings.
12505         [9].
12506
12507         * extents.c (struct extent_at_arg):
12508         * extents.c (decode_extent_at_flag):
12509         * extents.c (extent_at_mapper):
12510         * extents.c (extent_at_bytind):
12511         * extents.c (Fextent_at): Adapt to new lower-level interface. [9].
12512         * extents.c (Fextents_at): New primitive. [9].
12513         * extents.c (symbol_to_glyph_layout): [9].
12514         Support new primitive `extents-at'.
12515
12516
12517         * extents.c (get_text_property_bytind):
12518         extent_at_bytind has another arg.
12519         [9].
12520
12521         * extents.c (syms_of_extents): New primitive.
12522
12523         * file-coding.c (Fmake_coding_system): [1].
12524         * file-coding.c (subsidiary_coding_system): fix gcc warning
12525         * file-coding.c (syms_of_file_coding): [2].
12526
12527         * fileio.c (Fexpand_file_name):
12528         * fileio.c (Fsysnetunam):
12529         * fileio.c (Ffile_exists_p):
12530         * fileio.c (Ffile_executable_p):
12531         * fileio.c (Fverify_visited_file_modtime):
12532         Clean up GCPROing.
12533
12534         * fileio.c (syms_of_fileio): [2].
12535
12536         * filelock.c (lock_file_1):
12537         * filelock.c (current_lock_owner):
12538         * filelock.c (lock_if_free):
12539         * filelock.c (lock_file):
12540         * filelock.c (unlock_file):
12541         Clean up GCPROing.
12542
12543         * fns.c (concat): Fix gcc warning.
12544
12545         * fns.c (Fmember):
12546         * fns.c (Fold_member):
12547         * fns.c (Fmemq):
12548         * fns.c (Fold_memq):
12549         * fns.c (memq_no_quit):
12550         * fns.c (Fassoc):
12551         * fns.c (Fold_assoc):
12552         * fns.c (Fassq):
12553         * fns.c (Fold_assq):
12554         * fns.c (assq_no_quit):
12555         * fns.c (Frassoc):
12556         * fns.c (Fold_rassoc):
12557         * fns.c (Frassq):
12558         * fns.c (Fold_rassq):
12559         * fns.c (rassq_no_quit):
12560         * fns.c (Fdelete):
12561         * fns.c (Fold_delete):
12562         * fns.c (Fdelq):
12563         * fns.c (Fold_delq):
12564         * fns.c (delq_no_quit):
12565         * fns.c (Fremassoc):
12566         * fns.c (Fremassq):
12567         * fns.c (remassq_no_quit):
12568         * fns.c (Fremrassoc):
12569         * fns.c (Fremrassq):
12570         * fns.c (remrassq_no_quit):
12571         * fns.c (Freverse):
12572         * fns.c (mapcar1):
12573         [1].
12574
12575         * frame-msw.c (mswindows_init_frame_1):
12576         * frame-msw.c (mswindows_delete_frame):
12577         Register popups with dialog code so keyboard traversing works.
12578
12579         * frame-tty.c (tty_raise_frame_no_select): [1].
12580
12581         * frame-x.c:
12582         * frame-x.c (x_set_frame_text_value):
12583         * frame-x.c (x_set_frame_properties):
12584         * frame-x.c (x_create_widgets):
12585         [7].
12586
12587         * frame.c:
12588         * frame.c (Fmouse_pixel_position): Minor doc fixes.
12589
12590         * frame.h (wrap_frame): New.
12591         Macro like wrap_device.
12592
12593         * general.c:
12594         * general.c (SYMBOL):
12595         * general.c (syms_of_general):
12596         Major reorg.  This is now just a wrapper and symbols themselves
12597         are listed in general-slots.h.
12598
12599         * glyphs-eimage.c (tiff_instantiate): Need cast to fix warning.
12600         * glyphs-msw.c (mswindows_resource_instantiate): [5].
12601
12602         * glyphs-msw.c (mswindows_native_layout_instantiate):
12603         Add DS_CONTROL so keyboard traversal will work.
12604
12605         * glyphs-widget.c:
12606         * glyphs-widget.c (syms_of_glyphs_widget):
12607         Move some symbols to general-slots.h.
12608
12609         * glyphs-x.c:
12610         * glyphs-x.c (xbm_instantiate_1):
12611         * glyphs-x.c (x_xbm_instantiate):
12612         * glyphs-x.c (x_xface_instantiate):
12613         * glyphs-x.c (autodetect_instantiate):
12614         * glyphs-x.c (cursor_font_instantiate):
12615         * glyphs-x.c (x_update_widget):
12616         * glyphs-x.c (x_widget_instantiate):
12617         * glyphs.c (bitmap_to_lisp_data):
12618         * glyphs.c (pixmap_to_lisp_data):
12619         [7].
12620
12621         * glyphs.c (syms_of_glyphs):
12622         [2].
12623
12624         * gui-x.c:
12625         * gui-x.c (print_widget_value):
12626         * gui-x.c (menu_separator_style_and_to_external):
12627         * gui-x.c (add_accel_and_to_external):
12628         * gui-x.c (button_item_to_widget_value):
12629         * gui-x.c (gui_items_to_widget_values_1):
12630         * gui-x.c (gui_items_to_widget_values):
12631         * gui-x.c (syms_of_gui_x):
12632         * gui-x.c (vars_of_gui_x):
12633         Mule-ize entire file.  Move menu-no-selection-hook to gui.c.
12634         [9].
12635
12636         * gui-x.h:
12637         Muleize, prototype changes matching gui-x.c.
12638
12639         * gui.c:
12640         * gui.c (separator_string_p):
12641         * gui.c (gui_item_add_keyval_pair):
12642         * gui.c (make_gui_item_from_keywords_internal):
12643         * gui.c (signal_too_long_error):
12644         * gui.c (parse_gui_item_tree_item):
12645         * gui.c (syms_of_gui):
12646         * gui.c (vars_of_gui):
12647         * gui.h:
12648         menu-no-selection-hook moved here (used by MSWin).
12649         Move some symbols to general-slots.h.
12650         [6].
12651         [9].
12652
12653         * insdel.c (get_buffer_pos_char):
12654         * insdel.c (get_buffer_range_char):
12655         Add GC comments.
12656
12657         * keymap.c (keymap_lookup_directly):
12658         * keymap.c (keymap_store):
12659         * keymap.c (ensure_meta_prefix_char_keymapp):
12660         * keymap.c (describe_map):
12661         * keymap.h:
12662         Support new button modifiers.
12663
12664         * lisp-disunion.h (wrap_object):
12665         * lisp-disunion.h (XSETOBJ):
12666         Rename make_obj to wrap_object.
12667
12668         * lisp-union.h:
12669         * lisp-union.h (make_int):
12670         * lisp-union.h (make_char):
12671         Support wrap_object.
12672
12673         * lisp.h:
12674         * lisp.h (LIST_LOOP):
12675         * lisp.h (EXTERNAL_LIST_LOOP):
12676         * lisp.h (LIST_LOOP_2):
12677         * lisp.h (EXTERNAL_LIST_LOOP_1):
12678         * lisp.h (EXTERNAL_LIST_LOOP_2):
12679         * lisp.h (EXTERNAL_LIST_LOOP_3):
12680         * lisp.h (EXTERNAL_LIST_LOOP_4_NO_DECLARE):
12681         * lisp.h (PRIVATE_EXTERNAL_LIST_LOOP_6):
12682         * lisp.h (GET_EXTERNAL_LIST_LENGTH):
12683         * lisp.h (EXTERNAL_ALIST_LOOP_5):
12684         * lisp.h (EXTERNAL_ALIST_LOOP_6):
12685         * lisp.h (EXTERNAL_ALIST_LOOP_6_NO_DECLARE):
12686         * lisp.h (EXTERNAL_PROPERTY_LIST_LOOP_5_NO_DECLARE):
12687         * lisp.h (EXTERNAL_PROPERTY_LIST_LOOP_7):
12688         * lisp.h (struct Lisp_Symbol):
12689         * lisp.h (maybe_continuable_error_with_frob):
12690         Fix up section comments.
12691         Add new types for char to indicate usage.
12692         Delete symbols auto-generated from general-slots.h.
12693         Add prototypes for structured error functions.
12694         Add long comments describing looping macros and change interface
12695         so that lvalues are automatically declared.
12696         Add NO_DECLARE macro in case callers want to declare lvalues
12697         themselves.
12698
12699         * lread.c (read_syntax_error):
12700         * lread.c (continuable_read_syntax_error):
12701         * lread.c (read_structure):
12702         * lread.c (sequence_reader):
12703         * lread.c (read_list_conser):
12704         * lread.c (read_compiled_function):
12705         Rename syntax_error and continuable_syntax_error to avoid clash
12706         with same-named structured error functions.
12707
12708         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
12709         * menubar-msw.c (populate_menu_add_item):
12710         * menubar-msw.c (populate_or_checksum_helper):
12711         [5].
12712         [9].
12713
12714         * menubar-x.c:
12715         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
12716         Mule-ize whole file.
12717
12718         * menubar.c (Fnormalize_menu_item_name): Add optimization.
12719
12720         * mule-charset.c (Fmake_charset):
12721         * mule-wnnfns.c (Fwnn_set_param):
12722         [1].
12723
12724         * ntproc.c (create_child):
12725         * ntproc.c (Fwin32_set_current_locale):
12726         Add comments portending doom.
12727
12728         * objects-msw.c:
12729         * objects-msw.c (old_font_enum_callback_2):
12730         * objects-msw.c (font_enum_callback_1):
12731         * objects-msw.c (mswindows_enumerate_fonts):
12732         [5].
12733
12734         * objects-x.c:
12735         * objects-x.c (allocate_nearest_color):
12736         * objects-x.c (x_parse_nearest_color):
12737         * objects-x.c (x_initialize_color_instance):
12738         * objects-x.c (x_print_color_instance):
12739         * objects-x.c (x_finalize_color_instance):
12740         * objects-x.c (x_valid_color_name_p):
12741         * objects-x.c (x_initialize_font_instance):
12742         * objects-x.c (x_print_font_instance):
12743         * objects-x.c (valid_x_font_name_p):
12744         * objects-x.c (truename_via_FONT_prop):
12745         * objects-x.c (truename_via_random_props):
12746         * objects-x.c (truename_via_XListFonts):
12747         * objects-x.c (x_font_truename):
12748         * objects-x.c (x_font_instance_truename):
12749         * objects-x.c (x_font_instance_properties):
12750         * objects-x.c (x_list_fonts):
12751         * objects-x.c (x_find_charset_font):
12752         Mule-ize entire file.
12753         [7].
12754
12755         * objects-x.h:
12756         Mule-verify.
12757
12758         * print.c:
12759         * print.c (std_handle_out_external):
12760         * print.c (debug_print_no_newline):
12761         * print.c (syms_of_print):
12762         Output to all debugger kinds in debug-print.
12763         Fix console-output code under MSWin to actually work.
12764
12765         * process-nt.c (send_signal):
12766         * process-nt.c (nt_create_process):
12767         Use newer Unicode macros.
12768
12769         * process-unix.c (unix_create_process):
12770         * process-unix.c (unix_canonicalize_host_name):
12771         * process-unix.c (unix_open_network_stream):
12772         [7].
12773
12774         * scrollbar-x.c:
12775         Mule-verify.
12776
12777         * search.c (syms_of_search):
12778         [2].
12779
12780         * select-msw.c (mswindows_destroy_selection):
12781         Use LIST_LOOP_2.
12782
12783         * select-x.c (symbol_to_x_atom):
12784         [7].
12785
12786         * select.c (syms_of_select):
12787         [2].
12788
12789         * sound.c (Fplay_sound_file):
12790         [7].
12791
12792         * specifier.c:
12793         * specifier.c (decode_specifier_type):
12794         * specifier.c (Fvalid_specifier_locale_type_p):
12795         * specifier.c (check_valid_locale_or_locale_type):
12796         * specifier.c (decode_locale):
12797         * specifier.c (decode_locale_type):
12798         * specifier.c (decode_locale_list):
12799         * specifier.c (check_valid_domain):
12800         * specifier.c (decode_specifier_tag_set):
12801         * specifier.c (Fcanonicalize_tag_set):
12802         * specifier.c (Fdefine_specifier_tag):
12803         * specifier.c (Fspecifier_tag_predicate):
12804         * specifier.c (check_valid_inst_list):
12805         * specifier.c (check_valid_spec_list):
12806         * specifier.c (decode_how_to_add_specification):
12807         * specifier.c (check_modifiable_specifier):
12808         * specifier.c (specifier_add_spec):
12809         * specifier.c (boolean_validate):
12810         * specifier.c (display_table_validate):
12811         [9].
12812
12813         * specifier.c (syms_of_specifier):
12814         Move some symbols to general-slots.h.
12815         [2].
12816
12817         * symbols.c:
12818         * symbols.c (Fmapatoms):
12819         * symbols.c (Fapropos_internal):
12820         Add GCPROs.
12821
12822         * symbols.c (set_default_buffer_slot_variable):
12823         * symbols.c (set_default_console_slot_variable):
12824         [1].
12825
12826         * symbols.c (defsymbol_massage_name_1):
12827         * symbols.c (defkeyword_massage_name):
12828         * symbols.c (deferror_1):
12829         * symbols.c (deferror):
12830         * symbols.c (deferror_massage_name_and_message):
12831         * symeval.h:
12832         * symeval.h (DEFSYMBOL):
12833         Support DEFSYMBOL*, DEFKEYWORD, DEFERROR
12834
12835         * symbols.c (syms_of_symbols):
12836         [2].
12837
12838         * symsinit.h:
12839         * symsinit.h (init_win32): New.
12840         Also new is syms_of_dialog_mswindows.
12841
12842         * syswindows.h:
12843         Add new Unicode macros, missing Cygwin wide-char functions,
12844         convenience conversion macros for Qmswindows_tstr, macros for
12845         encapsulating required MSWin <-> Cygwin filename conversions,
12846         prototype for dynamically-extracted (not in NT 3.51) functions.
12847
12848         * toolbar-x.c:
12849         Mule-verify.
12850
12851         * tooltalk.c (Fadd_tooltalk_message_arg):
12852         * tooltalk.c (Fadd_tooltalk_pattern_attribute):
12853         * tooltalk.c (Fadd_tooltalk_pattern_arg):
12854         [7].
12855
12856         * tooltalk.c (syms_of_tooltalk):
12857         [2].
12858
12859         * unexnt.c:
12860         * unexnt.c (unexec):
12861         Fix up headers, declaration of unexec() to be more standard.
12862
12863 2000-07-20  Martin Buchholz  <martin@xemacs.org>
12864
12865         * offix.h: Revert change to guard macros - they're used in offix.c!
12866
12867 2000-07-18  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12868
12869         * lisp.h: Defsubred Fdelete.
12870
12871         * console-msw.h:  (msprinter_default_printer): Added.
12872
12873         * console-msw.c (msprinter_canonicalize_console_connection):
12874         (msprinter_canonicalize_device_connection): Added.
12875
12876         * device-msw.c (msprinter_default_printer):
12877         (Fmswingows_get_default_printer):
12878         (signal_enum_priner_error):
12879         (Fmswingows_printer_list): Added.
12880
12881 2000-07-19  Martin Buchholz <martin@xemacs.org>
12882
12883         * XEmacs 21.2.35 is released.
12884
12885 2000-07-19  Martin Buchholz  <martin@xemacs.org>
12886
12887         * select-x.c (x_handle_selection_request):
12888         Text selected in xemacs and pasted into xterm failed to appear.
12889         Spelling fixes and cosmetic changes.
12890
12891 2000-07-18  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12892
12893         * event-msw.c (mswindows_drain_windows_queue): Correctly check for
12894         XEmacs frame (fix for doubling chars in dialog boxes).
12895
12896 2000-07-17 Alastair J. Houghton <ajhoughton@lineone.net>
12897
12898         * select.c (select_convert_in, select_convert_out):
12899         Don't call intern() every time.
12900
12901         * select.c (Qselect_convert_in, Qselect_convert_out): New.
12902         * select.c (vars_of_select): Initialise them.
12903
12904 2000-07-18 Alastair J. Houghton <ajhoughton@lineone.net>
12905
12906         * select.c (selection-coercible-types): New.
12907
12908         * select.c (own-selection-internal):
12909         * select.c (get-selection-internal):
12910         MULE bug fix - these should default to COMPOUND_TEXT and not
12911         STRING for MULE. I think.
12912
12913         * select.c (select_convert_out): Use selection-coercible-types
12914         to find types that we can attempt to perform coercions on.
12915
12916 2000-07-18  Martin Buchholz  <martin@xemacs.org>
12917
12918         * mule-wnnfns.c:
12919         * mule-canna.c:
12920         Add coding: cookie to identify encoding.
12921
12922         * mule-canna.c (CANNA_mode_keys): make static.
12923         Use proper prototypes, even for functions of no arguments.
12924         Remove external prototype for Fding().
12925
12926         * symsinit.h: Add missing prototype for reinit_vars_of_mule_wnn.
12927
12928         * select.c (syms_of_select): Add missing DEFSUBR.
12929
12930 2000-07-18 Alastair J. Houghton <ajhoughton@lineone.net>
12931
12932         * select.c (get_selection_internal, own_selection_internal):
12933         Make the type default to STRING, rather than placing a nil type
12934         into Vselection_alist.
12935
12936 2000-07-17 Alastair J. Houghton <ajhoughton@lineone.net>
12937
12938         * gpmevent.c (tty_selection_exists_p):
12939         * gpmevent.c (tty_own_selection):
12940         Updated parameter lists.
12941
12942 2000-07-15 Alastair J. Houghton <ajhoughton@lineone.net>
12943
12944         * select.h (selection-alist): Removed declaration.
12945
12946         * select.h (get_local_selection):
12947         * select.c (get_local_selection):
12948         Made static.
12949
12950         * select.h (convert_selection): Removed declaration.
12951         * select.c (convert_selection): Removed.
12952         This function belongs in Lisp.
12953
12954         * select.h (select_convert_in): Declare.
12955         * select.h (select_convert_out): Declare.
12956         * select.c (select_convert_in): New.
12957         * select.c (select_convert_out): New.
12958         New conversion functions for other files to call.
12959
12960         * select.h (select_notify_buffer_kill): Declare.
12961         * select.c (select_notify_buffer_kill): New.
12962         New functions that get called from kill-buffer.
12963
12964         * buffer.c (kill-buffer): Call select_notify_buffer_kill, rather than
12965         X-specific lisp code.
12966
12967         * select.h: Declare some of the lisp-visible functions for
12968         external use.
12969
12970         * select.c (clean_local_selection_data): Removed. This was
12971         a disgusting function, and previously should have been in
12972         select-x.c in any case. The functionality is now provided
12973         in select-convert-from-integer (select.el).
12974
12975         * select.c (available-selection-types): Fixed stupidity where
12976         INTEGER and ATOM got added twice. Also add STRING when we see an
12977         extent.
12978
12979         * select.c (get-selection-internal): Removed symbol stripping. No
12980         longer causes conversion when data comes from the internal cache.
12981
12982         * select.c (syms_of_select): Added new functions.
12983
12984         * select-x.c (motif_clipboard_cb): Use select_convert_out. Rewrote
12985         error checking - previously this called abort!
12986
12987         * select-x.c (x_own_selection): Changed comment.
12988
12989         * select-x.c (x_handle_selection_request): Use select_convert_out.
12990         Don't mess with selection-alist; it's an internal variable of select.c.
12991
12992         * select-x.c (x_get_foreign_selection): Use select_convert_in.
12993
12994         * select-x.c (x_handle_selection_clear): Use get-selection-timestamp,
12995         rather than messing with selection-alist.
12996
12997         * select-msw.c (mswindows_get_foreign_selection):
12998         Use TO_INTERNAL_FORMAT rather than hacking.
12999
13000 2000-07-14  Martin Buchholz  <martin@xemacs.org>
13001
13002         * process-unix.c (unix_open_multicast_group):
13003         (unix_open_multicast_group): Remove useless casts.
13004
13005 2000-07-13  Martin Buchholz  <martin@xemacs.org>
13006
13007         * sound.c (Fplay_sound): Fix `unused variable' warning.
13008
13009         * emacs.c (main): Use correct type for _environ on SCO5.
13010
13011 2000-07-12 Alastair J. Houghton <ajhoughton@lineone.net>
13012
13013         * console.h (own_selection_method):
13014         * console.h (selection_exists_p_method):
13015         * console.h (available_selection_types_method): New.
13016         * console.h (register_selection_data_type_method): New.
13017         * console.h (selection_data_type_name): New.
13018
13019         * console-msw.h (mswindows_destroy_selection): Declare it.  New
13020         function & alist to track GlobalAlloc()'d handles that need
13021         releasing when the clipboard data gets replaced or emptied.
13022
13023         * event-msw.c (mswindows_wnd_proc): Call it.
13024
13025         * lisp.h, general.c (Qappend): New symbol representing a
13026         `how-to-add' mode.
13027
13028         * select.c (own-selection-internal):
13029         * select.c (selection-exists-p):
13030         * select.c (available-selection-types): New.
13031         * select.c (register-selection-data-type): New.
13032         * select.c (selection-data-type-name): New.  New functions to deal
13033         with device-specific selection data formats.
13034         * select.c (selection-converter-out-alist): Renamed.
13035         * select.c (selection-converter-in-alist): New.
13036         * select.c (selection-appender-alist): New.  Added new alists.
13037         * select.c (syms_of_select, vars_of_select): Added new symbols &
13038         variables.
13039         * select.c (get_local_selection): Split.
13040         * select.c: Removed spurious type checking - selections may now be
13041         of any type, not just strings.
13042         * select.c (own-selection-internal):
13043
13044         * select.h, select.c (convert_selection): New. Created
13045         convert_selection() function based on get_local_selection().
13046         * select.h, select.c (QCF_*): New symbols representing mswindows
13047         clipboard formats.
13048         * select.h, select.c (Qreplace_all, Qreplace_existing): New
13049         symbols representing `how-to-add' modes.
13050
13051         * select-msw.c (x_sym_p): New.
13052         * select-msw.c (symbol_to_ms_cf): New.
13053         * select-msw.c (ms_cf_to_symbol): New. New functions to deal with
13054         symbols & clipboard formats. Can also handle string names.
13055         * select-msw.c (mswindows_own_selection):
13056         * select-msw.c (mswindows_selection_exists_p):
13057         Added `data-type' parameter. Use it.
13058         * select-msw.c (mswindows_available_selection_types): New.
13059         * select-msw.c (mswindows_register_selection_data_type): New.
13060         * select-msw.c (mswindows_selection_data_type_name): New.
13061         * select-msw.c (mswindows_own_selection):
13062         * select-msw.c (mswindows_get_foreign_selection):
13063         * select-msw.c (mswindows_selection_exists_p):  Rewrote.
13064         * select-msw.c (console_create_select_mswindows): Added new methods.
13065         * select-msw.c (mswindows_destroy_selection): New.
13066         * select-msw.c (Vhandle_alist): New list.
13067         * select-msw.c (mswindows_own_selection):
13068
13069         * select-x.c (x_own_selection):
13070         * select-x.c (x_selection_exists_p):
13071         * select-x.c: Added some comments about maybe using new
13072         functionality.
13073         * select-x.c (x_own_selection):
13074
13075         * specifier.c: Remove definition of Qappend (now in general.c)
13076         * specifier.c (syms_of_specifier): Remove Qappend.
13077
13078 2000-07-12  Martin Buchholz  <martin@xemacs.org>
13079
13080         * config.h.in: Add socklen_t.
13081
13082         * s/decosf4-0.h: No special compiler flags needed or desired.
13083         In particular, undefine _BSD for DEC OSF 4.0.
13084
13085 2000-07-07  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
13086
13087         * redisplay-msw.c (msprinter_frame_output_end): Added.
13088         (console_type_create_redisplay_mswindows): Referred the above.
13089
13090         * frame.c (setup_frame_without_minibuffer): Do not create a
13091         default minibuffer frame on a printer device.
13092
13093         * frame-msw.c (apply_dc_geometry): Added.
13094         (msprinter_start_page):
13095         (msprinter_init_frame_3):
13096         (msprinter_eject_page): Use it.
13097
13098         * console-msw.h (struct msprinter_frame): Added pix_left and top,
13099         and removed residual duplex and orientation properties.
13100
13101 2000-07-11  Martin Buchholz  <martin@xemacs.org>
13102
13103         * eval.c (function_argcount): Work around a DEC CC compiler bug.
13104
13105         * unexalpha.c: Remove system prototypes from C sources!
13106
13107 2000-07-09  Adrian Aichner  <aichner@ecf.teradyne.com>
13108
13109         * eval.c: Remove references to M-x edit-options in DEFUNs for
13110         `defvar' and `defconst'.
13111
13112 2000-07-09  Martin Buchholz  <martin@xemacs.org>
13113
13114         * config.h.in: Remove SMART_INCLUDE hackery.
13115
13116         PostgreSQL hacking:
13117         * config.h.in: Don't use SMART_INCLUDE.
13118
13119         * postgresql.h: Include libpq-fe.h here.  Fix typo.
13120         * inline.c: Simply #include "postgresql.h"
13121         * postgresql.c:
13122         - Don't use SMART_INCLUDE
13123         - Use simply "const".
13124         - Use standard doc string conventions.
13125         - Use correct type for result of PQstatus.
13126
13127 2000-07-09  Martin Buchholz  <martin@xemacs.org>
13128
13129         * glyphs-x.c (x_xface_instantiate): Fix C++ compilation warnings.
13130
13131         C++ compilation changes.
13132         * config.h.in (EXTERN_C): Define.
13133         * config.h.in (not): This is also a C++ keyword.
13134         * unexalpha.c (DEFAULT_ENTRY_ADDRESS): Enable C++ compilation.
13135         * cm.c: Use EXTERN_C.
13136         * redisplay-tty.c: Use EXTERN_C.
13137         * sysdep.c: Use EXTERN_C.  Remove Gould support.
13138
13139 2000-07-09  Martin Buchholz  <martin@xemacs.org>
13140
13141         * general.c: Remove duplicate definition for Qfunction.
13142
13143 2000-07-08  Ben Wing  <ben@xemacs.org>
13144
13145         * device-msw.c (msprinter_init_device):
13146         * device-msw.c (sync_printer_with_devmode):
13147         * device-msw.c (handle_devmode_changes):
13148         * device-msw.c (print_dialog_worker):
13149         * device-msw.c (Fmsprinter_apply_settings):
13150         * device-msw.c (hash_devmode):
13151         * device-msw.c (Fmsprinter_settings_despecialize):
13152         use Qmswindows_tstr, not Qctext.
13153
13154         * vm-limit.c (check_memory_limits):
13155         avoid infinite loop printing warning messages.
13156
13157 2000-07-05  Craig Lanning  <lanning@scra.org>
13158
13159         * Makefile.in.in: Add support for including the Windows resources
13160         when building with the cygwin and mingw targets.
13161
13162         * buffer.c: from Dan Holmsand, on Windows $PWD is most likely either
13163         not set or not correct.
13164         (directory_is_current_directory): Don't compile for WIN32_NATIVE.
13165         (init_initial_directory): Don't try to use $PWD on the
13166         WIN32_NATIVE target.
13167
13168         * s\cygwin32.h:
13169         [[Add -mwindows to eliminate console window.]] not required --ben
13170         (HAVE_NATIVE_SOUND): removed; now handled by configure.
13171         (MAIL_USE_POP): removed; now handled by configure.
13172
13173         * s\mingw32.h: [[Add -mwindows to eliminate console window.]] not in
13174         C_SWITCH_SYSTEM or it will affect lib-src progs. --ben
13175         (HAVE_NATIVE_SOUND): removed; now handled by configure.
13176         (MAIL_USE_POP): removed; now handled by configure.
13177         (ENCAPSULATE_STAT): from Dan Holmsand, added.
13178         (ENCAPSULATE_FSTAT): from Dan Holmsand, added.
13179         (DIRECTORY_SEP): from Dan Holmsand, use lisp variable instead of
13180         constant string.
13181         (HAVE_TIMEVAL): from Dan Holmsand, added; struct timeval is picked
13182         up from <winsock.h> via systime.h.
13183         (HAVE_GETPAGESIZE): from Dan Holmsand, added.
13184         (getpagesize): from Dan Holmsand, added.
13185         Added #endif which was left dangling by Ben's mega patch; added
13186         comment to help prevent this in the future.
13187
13188         * sysdll.c: added #include <windows.h> for WIN32_NATIVE case.
13189
13190 2000-07-05  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
13191
13192         * console-msw.h (struct mswindows_device): Removed unnecessary
13193         cached device geometry values.
13194         Added update_tick and an accessor macro.
13195         (Lisp_Devmode): Added lrecord declaration.
13196         (struct msprinter_device): Contain devmode as a Lisp object.
13197         Added mswindows_get_selected_frame_hwnd();
13198
13199         * console.h (struct console_methods): Indentation nitpicking.
13200
13201         * device-msw.c (mswindows_init_device): Do not initialize geometry
13202         cache. Initialize update tick.
13203         (mswindows_device_system_metrics): Ask the device for its geometry.
13204         (global_free_2_maybe):
13205         (devmode_to_hglobal):
13206         (handle_printer_changes):
13207         (ensure_not_printing):
13208         (print_dialog_worker):
13209         (Fmsprinter_print_setup_dialog):
13210         (Fmsprinter_print_dialog):
13211         (plist_get_margin):
13212         (plist_set_margin):
13213         (Fmsprinter_page_setup_dialog): Added functions.
13214         (sync_printer_with_devmode):
13215         (handle_devmode_changes):
13216         (Fmsprinter_get_settings):
13217         (Fmsprinter_select_settings):
13218         (Fmsprinter_apply_settings):
13219         (allocate_devmode):
13220         (Fmsprinter_settings_copy):
13221         (Fmsprinter_settings_despecialize):
13222         (print_devmode):
13223         (finalize_devmode):
13224         (equal_devmode):
13225         (hash_devmode): Added functions
13226         (syms_of_device_mswindows): Init devmode lrecord class.
13227
13228         * device.h: Added an exfun for find-device.
13229
13230         * event-msw.c (mswindows_wnd_proc): Do not update the cached
13231         geometry; although, recreate the device compatible DC.
13232
13233         * frame-msw.c (mswindows_get_selected_frame_hwnd): Added.
13234         (msprinter_init_frame_3):
13235         (msprinter_frame_property):
13236         (msprinter_internal_frame_property_p):
13237         (msprinter_frame_properties):
13238         (msprinter_set_frame_properties): Removed 'orientation and 'duplex
13239         print job properties (will move to device settings).
13240
13241         * lisp.h: Added symbols.
13242
13243         * general.c (syms_of_general): Declared them.
13244
13245         * hash.c (string_hash): Added.
13246
13247         * lrecord.h (lrecord_type): Added devmode lrecord type.
13248
13249 2000-07-02  Mike Sperber <mike@xemacs.org>
13250
13251         * s/freebsd.h (INTERRUPTIBLE_OPEN): open *is* interruptible on
13252         FreeBSD 4.0.
13253
13254 2000-06-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
13255
13256         * doprnt.c (emacs_doprnt_1): Fix problem with %0XXd for a negative
13257         integer.
13258
13259 2000-06-07  MORIOKA Tomohiko  <tomo@urania.m17n.org>
13260
13261         * data.c (Fstring_to_number): Don't recognize floating point if
13262         base is not 10.
13263
13264 2000-06-22  Martin Buchholz  <martin@xemacs.org>
13265
13266         * glyphs-widget.c (tab_control_query_geometry):
13267         (widget_query_geometry):
13268         (button_query_geometry):
13269         * glyphs.c (text_query_geometry):
13270         Enforce type correctness.
13271
13272 2000-06-18  Martin Buchholz  <martin@xemacs.org>
13273
13274         * s/decosf4-0.h (_etext): Use portable _etext instead of etext.
13275         * s/decosf4-0.h (_edata): Use portable _edata instead of edata.
13276
13277 2000-06-17  Martin Buchholz  <martin@xemacs.org>
13278
13279         * s/decosf4-0.h: Never #include "/usr/include/FOO.h" because this
13280         conflicts with gcc's fixincluded version of FOO.h.
13281
13282         * glyphs.h (image_instance_geometry): Remove trailing `,'
13283
13284 2000-06-08  Mike Alexander  <mta@arbortext.com>
13285
13286         (MAX_SHOVE_BUFFER_SIZE): Change to 512 to match stream buffer size
13287         (shove_thread): Don't write the same output twice
13288         (make_ntpipe_output_stream): Increase priority of shove thread
13289         (ntpipe_shove_writer): Call SwitchToThread to give shove thread a
13290         chance to run
13291         (ntpipe_shove_closer): Don't delete the pipe until we're done with
13292         it.
13293
13294 2000-06-12  Ben Wing  <ben@xemacs.org>
13295
13296         * s\mingw32.h (sigset):
13297         * s\windowsnt.h (sigset):
13298         rename msw_ to mswindows_ for consistency with general convention.
13299
13300 2000-06-12  Ben Wing  <ben@xemacs.org>
13301
13302         * console-msw.c:
13303         * console-msw.c (mswindows_get_console_hwnd):
13304         * console-msw.c (mswindows_ensure_console_allocated):
13305         * console-msw.c (mswindows_hide_console):
13306         * console-msw.c (mswindows_show_console):
13307         * console-msw.c (mswindows_ensure_console_buffered):
13308         * console-msw.c (mswindows_output_console_string):
13309         * console-msw.c (mswindows_windows9x_p):
13310         * console-msw.h:
13311         * device-msw.c (mswindows_get_workspace_coords):
13312         * device-msw.c (mswindows_device_system_metrics):
13313         * dialog-msw.c (mswindows_popup_dialog_box):
13314         * event-msw.c (mswindows_wnd_proc):
13315         * frame-msw.c (mswindows_size_frame_internal):
13316         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
13317         * menubar-msw.c (displayable_menu_item):
13318         * menubar-msw.c (mswindows_char_is_accelerator):
13319         * nt.c:
13320         * nt.c (mswindows_sigset):
13321         * nt.c (mswindows_sigrelse):
13322         * nt.c (mswindows_sigpause):
13323         * nt.c (mswindows_raise):
13324         * nt.c (timer_proc):
13325         * ntproc.c:
13326         * ntproc.c (find_child_console):
13327         * ntproc.c (sys_kill):
13328         * print.c:
13329         * print.c (std_handle_out_external):
13330         * process-nt.c (find_child_console):
13331         * process-nt.c (send_signal_the_95_way):
13332         * process-nt.c (ensure_console_window_exists):
13333         * process-nt.c (nt_create_process):
13334         * syssignal.h:
13335         rename msw_ to mswindows_ for consistency with general convention.
13336
13337         * emacs.c:
13338         * dumper.c:
13339         include nt.h, not syswindows.h.
13340
13341         * nt.c (mswindows_fstat):
13342         * nt.c (mswindows_stat):
13343         prefix mswindows_ instead of attempting to directly override the
13344         library functions.  fix declarations.
13345
13346         * nt.h:
13347         include syswindows.h.  move some sysdep.h stuff here.
13348
13349         * ntheap.h:
13350         include syswindows.h, not <windows.h>.
13351
13352         * ntplay.c:
13353         clean up headers.
13354
13355         * sysdep.c:
13356         clean up headers.
13357
13358         * sysdep.c (sys_fstat):
13359         * sysdep.c (sys_stat):
13360         call mswindows versions when appropriate.
13361
13362         * sysdep.h:
13363         move mswin decls to nt.h.
13364
13365         * syswindows.h:
13366         add long comment describing appropriate use of the various windows
13367         headers.
13368
13369 2000-06-11  Ben Wing  <ben@xemacs.org>
13370
13371         * device-x.c: Correct doc string for sixth arg of x-get-resource.
13372
13373 2000-06-10  Ben Wing  <ben@xemacs.org>
13374
13375         * Makefile.in.in (release):
13376         Correction to make sure xemacs.exe always dumped when correct.
13377
13378         * alloca.c:
13379         * balloon_help.c:
13380         [[[[3]]]]: Conditionalize on actual problem, not WINDOWSNT.
13381
13382         * buffer.c (set_buffer_internal):
13383         [[[[2]]]]: Remove HAVE_FEP code.
13384
13385         * buffer.c (init_initial_directory):
13386         [3].
13387
13388         * bytecode.c:
13389         [[[[4]]]]: limits.h standardly included in lisp.h; remove from
13390         individual files.
13391
13392         * callproc.c:
13393         * callproc.c (call_process_cleanup):
13394         * callproc.c (Fold_call_process_internal):
13395         * callproc.c (child_setup):
13396         * callproc.c (getenv_internal):
13397         * callproc.c (init_callproc):
13398         * callproc.c (vars_of_callproc):
13399         [[[[1]]]]: WINDOWSNT -> WIN32_NATIVE.
13400         __CYGWIN32__ -> CYGWIN.
13401         DOS_NT -> WIN32_NATIVE.
13402         Remove MSDOS support/references, converting to WIN32_NATIVE
13403           where correct.
13404         __MINGW32__ -> MINGW.
13405         Fix windows.h includes.
13406         Remove bogus HAVE_NTGUI.
13407
13408         * config.h.in:
13409         [2].
13410
13411         * console-msw.c:
13412         mswindows_message_outputted added for use in allowing startup
13413         errors on the console to be seen.
13414
13415         * console-msw.c (msw_ensure_console_allocated):
13416         * console-msw.c (msw_output_console_string):
13417         * console-msw.c (DHEADER):
13418         * console-msw.c (DOPAQUE_DATA):
13419         * console-msw.c (DEVENT):
13420         * console-msw.c (DCONS):
13421         * console-msw.c (DCONSCDR):
13422         * console-msw.c (DSTRING):
13423         * console-msw.c (DVECTOR):
13424         * console-msw.c (DSYMBOL):
13425         * console-msw.c (DSYMNAME):
13426         Fix warnings.
13427
13428         * console-stream.c (stream_init_console):
13429         Fix text/binary problems.
13430
13431         * device-msw.c:
13432         * device-msw.c (mswindows_finish_init_device):
13433         * device-msw.c (mswindows_delete_device):
13434         [1].
13435
13436         * device.c (handle_asynch_device_change):
13437         [3].
13438
13439         * dgif_lib.c:
13440         * dgif_lib.c (DGifOpenFileName):
13441         * dgif_lib.c (DGifOpenFileHandle):
13442         * dgif_lib.c (DGifGetLine):
13443         * dgif_lib.c (DGifGetPixel):
13444         Added config.h/lisp.h, fix up includes.
13445         [1].
13446
13447         * dired-msw.c:
13448         [4].
13449
13450         * dired.c:
13451         * dired.c (file_name_completion):
13452         * dired.c (Ffile_attributes):
13453         * dired.c (syms_of_dired):
13454         [1].
13455
13456         * dumper.c:
13457         * dumper.c (pdump_file_unmap):
13458         * dumper.c (pdump_load):
13459         [1].
13460
13461         * editfns.c:
13462         * editfns.c (Ftemp_directory):
13463         * editfns.c (user_login_name):
13464         * editfns.c (Fuser_real_login_name):
13465         * editfns.c (get_home_directory):
13466         [1].
13467
13468         * elhash.c (finish_marking_weak_hash_tables):
13469         [[[[5]]]]: Fix GCC warnings.
13470
13471         * emacs.c:
13472         * emacs.c (mswindows_handle_hardware_exceptions):
13473         * emacs.c (make_arg_list_1):
13474         * emacs.c (main_1):
13475         * emacs.c (Fkill_emacs):
13476         * emacs.c (Fdump_emacs):
13477         [1].
13478         Fix problems with nested crashes, add long comment.
13479
13480         * event-Xt.c (init_event_Xt_late):
13481         [1].
13482
13483         * event-msw.c:
13484         * event-msw.c (mswindows_dde_callback):
13485         * event-msw.c (mswindows_handle_sticky_modifiers):
13486         * event-msw.c (mswindows_wnd_proc):
13487         [1].
13488         [5].
13489
13490         * events.c (character_to_event):
13491         [1].
13492
13493         * fileio.c:
13494         * fileio.c (Ffile_name_directory):
13495         * fileio.c (Ffile_name_nondirectory):
13496         * fileio.c (directory_file_name):
13497         * fileio.c (Fexpand_file_name):
13498         * fileio.c (Fsubstitute_in_file_name):
13499         * fileio.c (Ffile_name_absolute_p):
13500         * fileio.c (check_executable):
13501         * fileio.c (Ffile_readable_p):
13502         * fileio.c (Ffile_accessible_directory_p):
13503         * fileio.c (Ffile_modes):
13504         * fileio.c (Funix_sync):
13505         * fileio.c (vars_of_fileio):
13506         [1]. [4].
13507
13508         [[[[7]]]]: Move CORRECT_DIR_SEPS to s\windowsnt.h.
13509
13510         Expand getdefdir defn.
13511         Fix bogus rename() comment.
13512
13513         [[[[6]]]]: Fix Windows includes w.r.t. removed nt\inc.  Attempt
13514         to use standard XEmacs include files, e.g. sysfile.h, rather
13515         than system-specific includes.
13516
13517         * fns.c:
13518         * fns.c (Fsubseq):
13519         [5]. [6].
13520
13521         * frame.c (vars_of_frame):
13522         [1].
13523
13524         * getloadavg.c:
13525         * getloadavg.c (getloadavg):
13526         [1]. [6].
13527         #ifdef XEMACS not defined on Cygwin.  Remove this; no need for it.
13528         (We don't use it elsewhere in the code; just add a comment.)
13529
13530         * gif_io.c:
13531         [6].
13532         Add config.h.
13533
13534         * glyphs-msw.c:
13535         * glyphs-msw.c (mswindows_resource_instantiate):
13536         [1].
13537
13538         * glyphs-x.c (x_native_layout_instantiate):
13539         [5].
13540
13541         * gui-msw.c (Fmswindows_shell_execute):
13542         [1].
13543
13544         * insdel.c:
13545         [4].
13546
13547         * lisp.h:
13548         [4]. [5].
13549
13550         * lread.c (locate_file_in_directory_mapper):
13551         [1].
13552
13553         * lstream.c:
13554         [4].
13555
13556         * mem-limits.h:
13557         * mem-limits.h (get_lim_data):
13558         [1].
13559
13560         * menubar-msw.c:
13561         [4].
13562
13563         * ndir.h:
13564         [1].
13565
13566         * nt.c:
13567         * nt.c (getwd):
13568         * nt.c (closedir):
13569         * nt.c (rva_to_section):
13570         * nt.c (mswindows_executable_type):
13571         [1]. [6].
13572         Fix closedir() defn.
13573
13574         * nt.h:
13575         [[[[8]]]]: *_OK defs moved to sysfile.h.
13576
13577         * ntproc.c:
13578         [6]. [7].
13579
13580         * objects-x.c:
13581         [4].
13582
13583         * print.c:
13584         * print.c (std_handle_out_external):
13585         [1]. [4].
13586
13587         * process-nt.c:
13588         * process-nt.c (nt_create_process):
13589         [6].
13590         try to fix process quoting somewhat.
13591
13592         * process-unix.c (unix_create_process):
13593         [1].
13594
13595         * process.c:
13596         * process.c (vars_of_process):
13597         Add Vnull_device.
13598
13599         * process.h:
13600         [1].
13601
13602         * realpath.c:
13603         * realpath.c (xrealpath):
13604         [1].
13605
13606         * redisplay-tty.c (init_tty_for_redisplay):
13607         [3].
13608
13609         * redisplay.c:
13610         [4]. [6].
13611
13612         * scrollbar-msw.c:
13613         [4].
13614
13615         * sheap.c:
13616         * sheap.c (more_static_core):
13617         * sheap.c (report_sheap_usage):
13618         [5]. [6].
13619
13620         * signal.c:
13621         * signal.c (alarm_signal):
13622         [1]. [6].
13623
13624         * sound.c:
13625         [6].
13626
13627         * strftime.c:
13628         * strftime.c (zone_name):
13629         [1]. [5].
13630
13631         * symsinit.h (init_sunpro):
13632         [1].
13633
13634         * syscommctrl.h:
13635         commctrl.h not in Cygwin b20.1.
13636
13637         * sysdep.c:
13638         * sysdep.c (endif):
13639         * sysdep.c (sys_subshell):
13640         * sysdep.c (init_baud_rate):
13641         * sysdep.c (emacs_get_tty):
13642         * sysdep.c (emacs_set_tty):
13643         * sysdep.c (tty_init_sys_modes_on_device):
13644         * sysdep.c (init_system_name):
13645         * sysdep.c (sys_open):
13646         * sysdep.c (interruptible_open):
13647         * sysdep.c (sys_fopen):
13648         * sysdep.c (sys_mkdir):
13649         * sysdep.c (sys_rename):
13650         * sysdep.c (get_process_times_1):
13651         [1]. [6].
13652
13653         * sysdep.h:
13654         [1].
13655
13656         * sysdir.h:
13657         * sysdir.h (DIRENTRY_NONEMPTY):
13658         [1]. [6].
13659
13660         * sysdll.c (dll_init):
13661         * sysdll.h:
13662         [1].
13663
13664         * sysfile.h:
13665         [1]. [6]. [8].
13666         added text/binary defs.
13667
13668         * sysfloat.h:
13669         [1].
13670
13671         * sysproc.h:
13672         * sysproc.h (EDESTADDRREQ):
13673         * sysproc.h (poll_fds_for_input):
13674         [1]. [6].
13675
13676         * syspwd.h:
13677         [6].
13678
13679         * syssignal.h:
13680         [1].
13681
13682         * systime.h:
13683         [1]. [6].
13684
13685         * systty.h:
13686         [1].
13687
13688         * syswindows.h:
13689         [1].
13690         Always define WIN32_LEAN_AND_MEAN.
13691
13692         * unexcw.c (unexec):
13693         [5].
13694
13695         * unexec.c:
13696         * unexec.c (copy_text_and_data):
13697         * unexec.c (adjust_lnnoptrs):
13698         [1].
13699
13700         * unexnt.c:
13701         * unexnt.c (_start):
13702         [1].
13703
13704 2000-06-07  Ben Wing  <ben@xemacs.org>
13705
13706         * mule-mcpath.c, mule-mcpath.h: Removed.  Old, crufty code that
13707         was used only as a model.  We've long since extracted any useful
13708         logic or code out of this. (I just did an exhaustive search.)
13709
13710         * s\msdos.h: Removed.
13711
13712         * s\windows95.h: Removed.
13713
13714 2000-06-10  Ben Wing  <ben@xemacs.org>
13715
13716         * s\cygwin32.h:
13717         [1]. [5].
13718         Don't use extern with fun defs.
13719
13720         * s\mingw32.h:
13721         [1]. [7].
13722         Remove nt\inc include.
13723         Remove getdisk, getdefdir. (The former is unused, the latter
13724         expanded in fileio.h.)
13725
13726         * s\windowsnt.h:
13727         * s\windowsnt.h (WIN32_NATIVE):
13728         * s\windowsnt.h (HAVE_STRCASECMP):
13729         [1]. [7].
13730         Add long comment about preprocessor changes.
13731         Remove getdisk, getdefdir. (The former is unused, the latter
13732         expanded in fileio.h.)
13733
13734 2000-06-10  Ben Wing  <ben@xemacs.org>
13735
13736         * m\arm.h:
13737         * m\delta.h:
13738         * m\intel386.h:
13739         * m\sequent.h:
13740         * m\template.h:
13741         * m\windowsnt.h:
13742         [1].
13743         Remove bogus/unused NO_SOCK_SIGIO.
13744
13745 2000-06-08  Hrvoje Niksic  <hniksic@iskon.hr>
13746
13747         * lisp.h (set_string_char): Call set_string_byte with a Bufbyte,
13748         not an Emchar.
13749
13750 2000-06-04  Mike Sperber <mike@xemacs.org>
13751
13752         * casetab.c (set_case_table): For `set-standard-case-table',
13753         actually deposit the new case tables where the rest of XEmacs can
13754         see them.
13755
13756 2000-06-05  Yoshiki Hayashi <yoshiki@xemacs.org>
13757
13758         * data.c (Faset): Don't cast XCHAR() to unsigned char.
13759
13760 2000-06-05  Ben Wing  <ben@xemacs.org>
13761
13762         * callproc.c (child_setup): Don't do close_load_descs() under
13763         MS Windows.  Put in a comment explaining why.
13764
13765 2000-05-28  Adrian Aichner  <aichner@ecf.teradyne.com>
13766
13767         * process-nt.c: Reverting patch "Fixing nt_create_process for MKS
13768         Toolkit shell" which breaks `kill-compilation' on Windows NT
13769         native, retaining STDERR handling improvements.
13770
13771 2000-06-01  Andreas Jaeger  <aj@suse.de>
13772
13773         * s/s390.h: Support for S390, based on a patch by Martin
13774         Schwidefsky <schwidefsky@de.ibm.com>.
13775
13776 2000-05-30  Andy Piper  <andy@xemacs.org>
13777
13778         * window.c (allocate_window):
13779         (make_dummy_parent):
13780         (Fset_window_configuration): use new hashtable type.
13781
13782         * glyphs.h (IMAGE_UNSPECIFIED_GEOMETRY):
13783         (struct image_instantiator_methods):
13784         (struct Lisp_Image_Instance): make instance geometry signed.
13785
13786         * glyphs.c (instantiate_image_instantiator):
13787         (image_instance_query_geometry):
13788         (image_instance_layout):
13789         (image_instance_layout):
13790         (query_string_geometry):
13791         (text_query_geometry):
13792         (image_instantiate):
13793         (image_instantiate):
13794         (cache_subwindow_instance_in_frame_maybe):
13795         (subwindow_query_geometry): make instance geometry signed.
13796
13797         * glyphs-widget.c (widget_query_geometry):
13798         (widget_layout):
13799         (button_query_geometry):
13800         (tree_view_query_geometry):
13801         (tab_control_query_geometry):
13802         (layout_query_geometry):
13803         (layout_layout):
13804         (native_layout_layout): make instance geometry signed.
13805
13806 2000-05-29  Olivier Galibert  <galibert@pobox.com>
13807
13808         * lisp.h: Add Qfull_assoc symbol and WEAK_LIST_FULL_ASSOC
13809         constant.
13810
13811         * general.c (syms_of_general): Add Qfull_assoc symbol.
13812
13813         * data.c (finish_marking_weak_lists): Mark full-assoc lists
13814         correctly.
13815         (decode_weak_list_type): Decode full-assoc type.
13816         (encode_weak_list_type): Encode full-assoc type.
13817         (Fmake_weak_list): Update doc string.
13818
13819 2000-05-30  Andy Piper  <andy@xemacs.org>
13820
13821         * elhash.h (hash_table_weakness): new KEY_VALUE weak hashtable.
13822
13823         * elhash.c (print_hash_table): new KEY_VALUE weak hashtable.
13824         (decode_hash_table_weakness): ditto.
13825         (Fhash_table_weakness): ditto.
13826         (Fhash_table_type): ditto.
13827         (finish_marking_weak_hash_tables): ditto.
13828         (hash_table_weakness_validate): ditto.
13829         (syms_of_elhash): ditto.
13830
13831 2000-05-28  Martin Buchholz <martin@xemacs.org>
13832
13833         * XEmacs 21.2.34 is released.
13834
13835 2000-05-22  Jan Vroonhof  <vroonhof@math.ethz.ch>
13836
13837         * redisplay.c (VERTICAL_CLIP): No longer reset when updating line
13838         start cache.
13839         (updating_line_start_cache): Gone.
13840         (regenerate_window): Replace resetting of VERTICAL_CLIP by
13841         generic code to force a minimum of 1 line laid out in the
13842         CMOTION_DISP case.
13843
13844 2000-05-22  Jan Vroonhof  <vroonhof@math.ethz.ch>
13845
13846         * glyphs.c (instantiate_image_instantiator): Check for initialized
13847         height & width no longer special cases IMAGE_NOTHING.
13848         (nothing_instantiate): Set height and width of instance.
13849
13850 2000-05-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
13851
13852         * unexelf.c (unexec): Search for ".data" section.
13853         Initialize new_data2_offset from old_data_index.
13854         Remove redundant check for ElfW.
13855
13856 2000-05-23  Andy Piper  <andy@xemacs.org>
13857
13858         * glyphs.c (get_image_instantiator_governing_domain): allow more
13859         specific domains as the governing domain rather than expecting an
13860         exact match. This fixes problems with layouts.
13861
13862 2000-05-22  Andy Piper  <andy@xemacs.org>
13863
13864         * redisplay-output.c (compare_runes): check for non-images
13865
13866         * glyphs.c (set_glyph_dirty_p): ditto.
13867         (update_glyph_cachel_data): ditto.
13868
13869         * glyphs-widget.c (layout_post_instantiate): ditto.
13870         (layout_post_instantiate): ditto.
13871
13872         * event-msw.c (mswindows_wnd_proc): warning removal.
13873
13874 2000-05-12  Craig Lanning  <CraigL@DyCon.com>
13875
13876         * s\mingw32.h: Added #undef for CLASH_DETECTION.
13877
13878         * syswindows.h: Moved PBS_SMOOTH definition to syscommctrl.h.
13879
13880         * syscommctrl.h (PBS_SMOOTH): Moved from syswindows.h.
13881
13882         * nt.c (rva_to_section): mingw32 needs rva_to_section.
13883         (mswindows_executable_type): mingw32 now has enough headers for
13884         this to work.
13885
13886 2000-05-20  Andy Piper  <andy@xemacs.org>
13887
13888         * console-msw.c (mswindows_output_last_error): ; -> ,
13889
13890 2000-05-12  Andy Piper  <andy@xemacs.org>
13891
13892         * console-msw.c (FROB): compare ints with ints.
13893
13894 2000-05-11  Andy Piper  <andy@xemacs.org>
13895
13896         * glyphs-x.c (x_finalize_image_instance): make minimal build
13897         happy.
13898
13899 2000-05-20  Ben Wing  <ben@xemacs.org>
13900
13901         * event-Xt.c:
13902         * event-Xt.c (vars_of_event_Xt):
13903         move modifier-keys-are-sticky to event-stream.c.
13904
13905         * event-msw.c:
13906         * event-msw.c (mswindows_enqueue_mouse_button_event):
13907         * event-msw.c (key_needs_default_processing_p):
13908         * event-msw.c (XEMSW_LCONTROL):
13909         * event-msw.c (mswindows_handle_sticky_modifiers):
13910         * event-msw.c (FROB):
13911         * event-msw.c (clear_sticky_modifiers):
13912         * event-msw.c (output_modifier_keyboard_state):
13913         * event-msw.c (output_alt_keyboard_state):
13914         * event-msw.c (mswindows_wnd_proc):
13915         * event-msw.c (mswindows_modifier_state):
13916         * event-msw.c (emacs_mswindows_handle_magic_event):
13917         implement sticky modifiers.
13918
13919         * event-stream.c:
13920         * event-stream.c (vars_of_event_stream):
13921         move modifier-keys-are-sticky here.
13922
13923         * lisp.h:
13924         add CHECK_FUNCTION.
13925
13926         * rangetab.c:
13927         implement map-range-table.
13928
13929
13930 2000-05-17  Yoshiki Hayashi  <yoshiki@xemacs.org>
13931
13932         * redisplay-tty.c (reset_tty_modes):
13933         (tty_redisplay_shutdown): Adjust argument type to
13934         tty_frame_output_end.
13935
13936 2000-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
13937
13938         * eval.c (Fbacktrace): Don't output a line with only right
13939         parenthesis.
13940
13941 2000-05-17  Kenji Itoh  <keit@tpj.co.jp>
13942
13943         * postgresql.c (Fpq_connect_poll): Replace `PS' with `polling_status'.
13944         (Fpq_reset_poll): Ditto.
13945
13946 2000-05-16  Katsumi Yamaoka  <yamaoka@jpl.org>
13947
13948         * redisplay-tty.c: Replace tty_output_end with tty_frame_output_end.
13949
13950 2000-05-16  Ben Wing  <ben@xemacs.org>
13951
13952         * buffer.c:
13953         * buffer.c (dfc_convert_to/from_internal_format):
13954         * buffer.c (reinit_vars_of_buffer):
13955         Fix conversion functions to allow reentrancy.
13956
13957         * console-msw.c:
13958         * console-msw.c (mswindows_output_last_error):
13959         New fun, generally useful -- output a human-readable
13960         version of GetLastError() on the console.
13961
13962         * console-msw.h:
13963         * console-msw.h (struct mswindows_frame):
13964         Changes for DeferWindowPos.  Declare mswindows_output_last_error().
13965
13966         * console-stream.c (stream_output_begin):
13967         * console-stream.c (stream_output_end):
13968         * console-stream.c (stream_output_vertical_divider):
13969         * console-stream.c (stream_clear_region):
13970         * console-stream.c (stream_flash):
13971         * console-stream.c (console_type_create_stream):
13972         Delete blank stream methods, not needed.
13973
13974         * console.h (struct console_methods):
13975         Split begin/end methods into window and frame.
13976
13977         * event-msw.c:
13978         * event-msw.c (mswindows_handle_paint):
13979         * event-msw.c (output_alt_keyboard_state):
13980         * event-msw.c (mswindows_wnd_proc):
13981         * event-msw.c (vars_of_event_mswindows):
13982         Comment about problems with ignored-expose.
13983         Define mswindows-debug-events; not really implemented.
13984
13985         * frame-msw.c (mswindows_init_frame_1):
13986         random cleanups.
13987
13988         * glyphs-msw.c:
13989         * glyphs-msw.c (begin_defer_window_pos):
13990         * glyphs-msw.c (mswindows_unmap_subwindow):
13991         * glyphs-msw.c (mswindows_map_subwindow):
13992         * glyphs-msw.c (mswindows_resize_subwindow):
13993         Use DeferWindowPos to reduce flashing when mapping/unmapping.
13994
13995         * glyphs.c (make_image_instance_1):
13996         Fix crash.
13997
13998         * gutter.c (Fredisplay_gutter_area):
13999         Use new begin/end methods.
14000
14001         * lisp.h (Dynarr_new2):
14002         New creation fun.
14003
14004         * redisplay-msw.c:
14005         * redisplay-msw.c (mswindows_frame_output_begin):
14006         * redisplay-msw.c (mswindows_frame_output_end):
14007         * redisplay-msw.c (console_type_create_redisplay_mswindows):
14008         New begin/end methods -- handle DeferWindowPos.
14009
14010         * redisplay-output.c (redisplay_move_cursor):
14011         * redisplay-output.c (redraw_cursor_in_window):
14012         * redisplay-output.c (redisplay_update_line):
14013         * redisplay-output.c (redisplay_output_window):
14014         New begin/end methods.
14015
14016         * redisplay-tty.c:
14017         * redisplay-tty.c (tty_frame_output_begin):
14018         * redisplay-tty.c (tty_frame_output_end):
14019         * redisplay-tty.c (console_type_create_redisplay_tty):
14020         New begin/end methods.
14021
14022         * redisplay-x.c:
14023         * redisplay-x.c (x_window_output_begin):
14024         * redisplay-x.c (x_window_output_end):
14025         * redisplay-x.c (console_type_create_redisplay_x):
14026         New begin/end methods.
14027
14028         * redisplay.c (redisplay_frame):
14029         * redisplay.c (Fredisplay_echo_area):
14030         New begin/end methods.
14031         use MAYBE_DEVMETH for clear_frame; it may not exist.
14032
14033         * window.h (WINDOW_XFRAME):
14034         WINDOW_XFOO macros -- get locale and decode struct pointer.
14035
14036
14037 2000-05-12  Ben Wing  <ben@xemacs.org>
14038
14039         * emacs.c:
14040         * emacs.c (ensure_no_quitting_from_now_on):
14041         * emacs.c (fatal_error_signal):
14042         * emacs.c (mswindows_handle_hardware_exceptions):
14043         * emacs.c (main):
14044         * emacs.c (Fkill_emacs):
14045         * emacs.c (shut_down_emacs):
14046         * emacs.c (assert_failed):
14047         various improvements in fatal error handling.
14048
14049         * eval.c:
14050         move preparing_for_armageddon to emacs.c.
14051
14052         * lisp.h:
14053         declare fatal_error_in_progress.
14054
14055         * print.c:
14056         * print.c (std_handle_out_external):
14057         * print.c (std_handle_out_va):
14058         * print.c (stderr_out):
14059         * print.c (stdout_out):
14060         use console under mswin when no standard output.
14061         don't do code conversion during fatal error.
14062
14063         * scrollbar.c (Fscrollbar_page_up):
14064         * scrollbar.c (Fscrollbar_page_down):
14065         fix missing else.  reindent.
14066
14067 2000-05-11  Jan Vroonhof  <vroonhof@math.ethz.ch>
14068
14069         Emergency fix.
14070
14071         * glyphs.h (GLYPH_CACHEL_DESCENT):
14072         (GLYPH_CACHEL_DESCENT):
14073         (GLYPH_CACHEL_DESCENT):
14074         * glyphs.h (GLYPH_CACHEL_ASCENT): Match parameters to variables
14075         used in case these are inline functions.
14076         Use more absurd values to error check.
14077
14078         include window.h for error check functions.
14079
14080 2000-05-11  Ben Wing  <ben@xemacs.org>
14081
14082         * cmdloop.c (Freally_early_error_handler):
14083         Display message box under windows; otherwise, message will disappear
14084         before it can be viewed.
14085
14086         * console-msw.c:
14087         * console-msw.c (Fmswindows_message_box):
14088         * console-msw.c (FROB):
14089         * console-msw.c (syms_of_console_mswindows):
14090         Define new fun `mswindows-message-box'.
14091         #### I will merge this into `popup-dialog-box'; just give me
14092         a bit of time.
14093
14094         * general.c:
14095         * general.c (syms_of_general):
14096         Some new symbols used in `mswindows-message-box'.
14097
14098         * glyphs.c:
14099         * glyphs.c (Fset_image_instance_property):
14100         put warning in this fun.
14101
14102         * glyphs.h:
14103         * glyphs.h (GLYPH_CACHEL_WIDTH):
14104         * glyphs.h (GLYPH_CACHEL_ASCENT):
14105         * glyphs.h (GLYPH_CACHEL):
14106         * glyphs.h (GLYPH_CACHEL_GLYPH):
14107         define error-checking versions to try to catch a bug i've seen --
14108         redisplay gets in an infinite loop because the glyph width of the
14109         continuation glyph is 65535.
14110
14111         * lisp.h:
14112         Extern message-box stuff.
14113
14114         * window.c (allocate_window):
14115         * window.c (make_dummy_parent):
14116         * window.c (Fset_window_configuration):
14117         Use EQUAL not EQ for subwindow caches to make them work a bit
14118         better. (Something is still very broken.)
14119
14120
14121 2000-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
14122
14123         * glyphs.c (image_instantiate): Suppress gcc warnings.
14124         (Fmake_image_instance): Fix doc string.
14125         * specifier.c (Fmake_specifier): Ditto.
14126
14127 2000-05-02  Yoshiki Hayashi  <yoshiki@xemacs.org>
14128
14129         * paths.h.in (PATH_LOCK): Removed.
14130         * config.h.in (LOCKDIR_USER_DEFINED): Removed.
14131         * emacs.c (complex_vars_of_emacs): Remove configure-lock-directory.
14132
14133 2000-05-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
14134
14135         * fns.c (Ffeaturep): Update e-mail address in doc-string.
14136         Document (featurep '(and xemacs 21.02)).
14137
14138 2000-05-09  Ben Wing  <ben@xemacs.org>
14139
14140         * buffer.c (complex_vars_of_buffer):
14141         update modeline-format doc.
14142
14143         * device.h:
14144         comment about how DFW_DEVICE should be merged with DOMAIN_DEVICE.
14145
14146         * emacs.c:
14147         timeline of all released versions of Emacs, for use in creating
14148         authorship comments and in synching up.
14149
14150         * glyphs-widget.c (image_instantiator_buttons):
14151         * glyphs-widget.c (image_instantiator_edit_fields):
14152         * glyphs-widget.c (image_instantiator_combo_box):
14153         * glyphs-widget.c (image_instantiator_scrollbar):
14154         * glyphs-widget.c (image_instantiator_progress_guage):
14155         * glyphs-widget.c (image_instantiator_tree_view):
14156         * glyphs-widget.c (image_instantiator_tab_control):
14157         * glyphs-widget.c (image_instantiator_labels):
14158         * glyphs-widget.c (image_instantiator_layout):
14159         * glyphs-widget.c (image_instantiator_native_layout):
14160         rename decode_domain method to governing_domain.
14161
14162         * glyphs.c:
14163         * glyphs.c (Fvalid_image_instantiator_format_p): doc update.
14164         * glyphs.c (add_entry_to_device_ii_format_list):
14165         make sure we don't put an entry more than once into the list.
14166         * glyphs.c (check_instance_cache_mapper):
14167         *************************************************************
14168         allow for nil.  THIS SHOULD FIX A REAL CRASH THAT MANY PEOPLE
14169         HAVE BEEN GETTING.
14170         *************************************************************
14171         * glyphs.c (get_image_instantiator_governing_domain):
14172         clean up, expand on new concept of governing domain.
14173         * glyphs.c (instantiate_image_instantiator):
14174         * glyphs.c (allocate_image_instance):
14175         use governing_domain instead of cache_domain in naming.
14176         * glyphs.c (Fvalid_image_instance_type_p): fix docs.
14177         * glyphs.c (make_image_instance_1):
14178         * glyphs.c (Fmake_image_instance):
14179         allow for any domain (not just device), and process the
14180         governing domain correctly.  very big doc fix.
14181         * glyphs.c (Fimage_instance_domain):
14182         new primitive, to retrieve the governing domain of an image instance.
14183         * glyphs.c (image_instantiate):
14184         use new governing_domain stuff.  this fixes a crash you could get
14185         by instantiating certain widget glyphs in frame locales. (should
14186         signal an error instead of crashing.)
14187         * glyphs.c (Fimage_specifier_p): move doc to make-image-specifier.
14188         * glyphs.c (Fglyphp): clean up doc.
14189         * glyphs.c (subwindow_governing_domain): renamed from *_decode_domain.
14190         * glyphs.c (syms_of_glyphs):
14191         declare Fimage_instance_domain, remove unused Qlayout_image_instance_p.
14192         * glyphs.c (image_instantiator_format_create): add some comments about
14193         bogus code.
14194         * glyphs.c (specifier_vars_of_glyphs): totally rewrite the doc string
14195         for current-display-table. (Apparently Hrjove implemented in 1998 a
14196         design I wrote up in 1996, but didn't update the doc string.)
14197
14198         * glyphs.h: clean up a doc string.
14199         * glyphs.h (governing_domain):
14200         * glyphs.h (struct image_instantiator_methods):
14201         changes for governing_domain stuff.
14202
14203         * gutter.c:
14204         * gutter.c (Fgutter_specifier_p):
14205         * gutter.c (Fgutter_size_specifier_p):
14206         * gutter.c (Fgutter_visible_specifier_p):
14207         * objects.c:
14208         * objects.c (Fcolor_specifier_p):
14209         * objects.c (Ffont_specifier_p):
14210         * objects.c (Fface_boolean_specifier_p):
14211         doc strings moved to make-*-specifier.
14212
14213         * redisplay.c (add_disp_table_entry_runes_1):
14214         * redisplay.c (generate_fstring_runes):
14215         * redisplay.c (screen):
14216         add random comments and doc strings.
14217
14218         * specifier.c:
14219         * specifier.c (Fmake_specifier):
14220         major overhaul of this doc string.
14221
14222         * specifier.c (Fvalid_specifier_domain_p):
14223         comment about the bogosity of image instances being domains.
14224         * specifier.c (decode_domain):
14225         now non-static, used in glyphs.c.
14226         * specifier.c (specifier_instance):
14227         comment about the bogosity of image instances being domains.
14228         * specifier.c (Fgeneric_specifier_p):
14229         move doc string to make-generic-specifier.
14230         * specifier.c (VALID_SINGLE_DISPTABLE_INSTANTIATOR_P):
14231         rebackslashify.
14232
14233         * specifier.h:
14234         * specifier.h (DOMAIN_FRAME):
14235         * specifier.h (DOMAIN_LIVE_P):
14236         * specifier.h (DOMAIN_XDEVICE):
14237         rebackslashify.
14238         add comments about problems with these macros.
14239         prototype for decode_domain.
14240
14241         * toolbar.c:
14242         * toolbar.c (Ftoolbar_specifier_p):
14243         move doc string to `make-toolbar-specifier'.
14244
14245         * window.c (window_unmap_subwindows_cache_mapper):
14246         *************************************************************
14247         allow for nil.  THIS SHOULD FIX A REAL CRASH THAT MANY PEOPLE
14248         HAVE BEEN GETTING.
14249         *************************************************************
14250
14251 2000-05-09  Andy Piper  <andy@xemacs.org>
14252
14253         * glyphs.h: declare reset_frame_subwindow_instance_cache.
14254
14255         * window.c (Fset_window_configuration): reset the frame subwindow
14256         cache and re-initialize the window subwindow caches.
14257
14258         * glyphs.c (reset_frame_subwindow_instance_cache): new function.
14259
14260 2000-05-09  Ben Wing  <ben@xemacs.org>
14261
14262         * ntheap.c (recreate_heap): Changed unknown (VC6 only?) SIZE_T to
14263         DWORD.
14264
14265 2000-04-26  Mike Woolley  <mike@bulsara.com>
14266
14267         * ntheap.c: Changed recreate_heap to limit the amount reserved
14268         for the heap to that which is actually available. Also now
14269         displays a message box (with some dignostics) in the event that
14270         it still can't start.
14271
14272 2000-05-07  Jan Vroonhof  <vroonhof@math.ethz.ch>
14273
14274         * callproc.c (Fold_call_process_internal): GCPRO path
14275
14276 2000-05-08  Jan Vroonhof  <jan@xemacs.org>
14277
14278         Patch by Bill Perry.
14279
14280         * scrollbar.c (Fscrollbar_page_up): Conditionalize on type of call
14281         back data instead of #ifdef.
14282         (Fscrollbar_page_down): ditto.
14283
14284 2000-05-07  Ben Wing  <ben@xemacs.org>
14285
14286         * buffer.h:
14287         Kludge for defining Qmswindows_tstr.
14288
14289         * nt.c:
14290         * nt.c (open_input_file):
14291         * nt.c (open_output_file):
14292         * nt.c (rva_to_section):
14293         * nt.c (mswindows_executable_type):
14294         Move all memory-mapped-file routines here (some were in unexnt.c,
14295         which is bad because they are used by process-nt.c, and unexnt
14296         won't be around when portable dumping).  Synched the above routines
14297         with FSF 20.6.
14298
14299         * nt.h:
14300         Removed ifdef'd out bogus code.
14301         Fixed some prototypes.
14302
14303         * nt.h (file_data):
14304         * nt.h (OFFSET_TO_RVA):
14305         * nt.h (RVA_TO_OFFSET):
14306         * nt.h (RVA_TO_PTR):
14307         Moved the memory-mapped-file structures, macros and prototypes
14308         here, to parallel nt.c.  ntheap.h should really be removed
14309         entirely, and it's a non-portable-dumper specific file.
14310
14311         * ntheap.h (round_to_next):
14312         Moved the memory-mapped-file structures, macros and prototypes
14313         to nt.h.
14314
14315         * ntproc.c (compare_env):
14316         Moved rva_to_section and mswindows_executable_type to nt.c.
14317         Moved compare_env to process-nt.c.
14318         ntproc.c will die, one day.
14319
14320         * ntproc.c (sys_spawnve):
14321         Account for win32_ -> mswindows_.
14322
14323         * process-nt.c:
14324         * process-nt.c (struct nt_process_data):
14325         * process-nt.c (ensure_console_window_exists):
14326         * process-nt.c (compare_env):
14327         * process-nt.c (nt_create_process):
14328         * process-nt.c (nt_kill_process_by_pid):
14329         * process-nt.c (syms_of_process_nt):
14330         * process-nt.c (vars_of_process_nt):
14331         Introduce variable `mswindows-quote-process-args', from FSF 20.6.
14332         Copy argument quoting code from FSF 20.6 (with appropriate Mule-ization
14333         changes).  Eliminate our old `nt-quote-process-args' mechanism.
14334         Synch up nt_create_process with FSF 20.6 sys_spawnve.
14335         Move compare_env here from ntproc.c.
14336
14337         * process.c (Fprocess_send_region):
14338         Takes an optional fourth argument, BUFFER, which should fix some
14339         problems with call-process.
14340
14341         * syscommctrl.h:
14342         Move ICC_BAR_CLASSES here from syswindows.h, to avoid a warning.
14343
14344         * syswindows.h:
14345         Move ICC_BAR_CLASSES to syscommctrl.h.
14346         Add preliminary macros for MSWindows/Mule.  More to come.
14347
14348         * unexnt.c:
14349         * unexnt.c (unexec):
14350         open_output_file moved to nt.c.
14351
14352
14353 2000-05-05  Andy Piper  <andy@xemacs.org>
14354
14355         * window.c (window_unmap_subwindows_cache_mapper): remove the dead
14356         instance from the frame cache also since GC may catch up too late
14357         to make frame deletion sane.
14358
14359 2000-05-04  Andy Piper  <andy@xemacs.org>
14360
14361         * glyphs-x.c (x_widget_instantiate): gcpro widget callbacks.
14362         (x_finalize_image_instance): ungcpro on deletion.
14363
14364         * glyphs.c (image_instantiator_format_create): give pointers a
14365         query geometry method so that the geometry is at least set.
14366
14367         * glyphs-x.c (image_instantiator_format_create_glyphs_x): only
14368         initialize layouts if using widgets.
14369
14370 2000-05-03  Andy Piper  <andy@xemacs.org>
14371
14372         * nt.c: remove bogus reference to sysmmsystem.h
14373
14374         * gui-x.c (popup_selection_callback): fix no selection abort.
14375
14376 2000-05-02  Andy Piper  <andy@xemacs.org>
14377
14378         * glyphs-msw.c (mswindows_update_widget): cope with nil text.
14379         (mswindows_widget_instantiate): ditto.
14380
14381         * glyphs-widget.c (initialize_widget_image_instance): initialize
14382         children correctly.
14383         (widget_instantiate): cope with children and items in the same
14384         instance.
14385
14386         * glyphs.c (mark_image_instance): cope with children as a first
14387         class member.
14388         (image_instance_equal): ditto.
14389         (image_instance_hash): ditto.
14390         (image_instance_changed): ditto.
14391
14392 2000-04-30  Andy Piper  <andy@xemacs.org>
14393
14394         * glyphs.c (subwindow_query_geometry): new function. Return some
14395         defaults.
14396         (subwindow_instantiate): don't assign dimensions if none have been
14397         given.
14398         (image_instantiator_format_create): add subwindow_query_geometry.
14399         (print_image_instance): cope with layouts as widgets.
14400
14401 2000-04-29  Andy Piper  <andy@xemacs.org>
14402
14403         * frame.c (delete_frame_internal): call
14404         free_frame_subwindow_instance_cache so that all subwindows are
14405         finalized before their parent.
14406         (mark_frame): remove subwindow_cachels.
14407         (Fmake_frame): remove subwindow_cachel manipulation.
14408         (allocate_frame_core): subwindow_instance_cache is a weak list.
14409         (delete_frame_internal): set subwindow_instance_cache to nil.
14410
14411         * glyphs-msw.c (mswindows_finalize_image_instance): make double
14412         finalization safe.
14413         (mswindows_finalize_image_instance): use the device
14414         not the domain as the domain may have died already.
14415
14416         * glyphs-x.c (x_finalize_image_instance): ditto.
14417         (x_subwindow_instantiate): remove SUBWINDOW_WIDTH &
14418         HEIGHT.
14419
14420         * redisplay-output.c (redisplay_unmap_subwindows): update for
14421         subwindow instance cache as a weak list.
14422         (redisplay_unmap_subwindows_maybe): ditto.
14423         (redisplay_unmap_subwindows_except_us): ditto.
14424
14425         * glyphs.c (unmap_subwindow): error checking will check the domain
14426         so don't deal with it here. Don't use cachels anymore.
14427         (map_subwindow): ditto.
14428         (update_subwindow_cachel_data): remove old accessor names.
14429         (subwindow_instantiate): remove SUBWINDOW_WIDTH & HEIGHT.
14430         (Fresize_subwindow): don't update cachel.
14431         (mark_subwindow_cachels):
14432         (update_subwindow_cachel_data):
14433         (add_subwindow_cachel):
14434         (get_subwindow_cachel_index):
14435         (update_subwindow_cachel):
14436         (reset_subwindow_cachels):
14437         (mark_subwindow_cachels_as_not_updated): deleted.
14438         (cache_subwindow_instance_in_frame_maybe): new function. Add a
14439         subwindow instance to the frame cache.
14440         (find_matching_subwindow): update for subwindow instance cache as
14441         a weak list.
14442         (update_widget_instances): ditto.
14443         (image_instance_type_to_mask):inlined.
14444         (free_frame_subwindow_instance_cache): new function. finalize all
14445         subwindows that are instantiated.
14446
14447         * glyphs.h (struct Lisp_Image_Instance): add display_data instead
14448         of cachel information.
14449         (IMAGE_INSTANCE_DISPLAY_X):
14450         (IMAGE_INSTANCE_DISPLAY_Y):
14451         (IMAGE_INSTANCE_DISPLAY_WIDTH):
14452         (IMAGE_INSTANCE_DISPLAY_HEIGHT):
14453         (XIMAGE_INSTANCE_DISPLAY_X):
14454         (XIMAGE_INSTANCE_DISPLAY_Y):
14455         (XIMAGE_INSTANCE_DISPLAY_WIDTH):
14456         (XIMAGE_INSTANCE_DISPLAY_HEIGHT): new accessors.
14457         remove subwindow_cachel structure and function references.
14458         (image_instance_type_to_mask): inline from glyphs.c
14459
14460         * redisplay.c (redisplay_frame): remove subwindow_cachel
14461         references.
14462
14463         * frame.h (struct frame): remove subwindow_cachels.
14464         (FRAME_SUBWINDOW_CACHE): access subwindow_instance_cache.
14465
14466         * frameslots.h: add subwindow_instance_cache.
14467
14468         * window.c (replace_window): check subwindow cache of replacement.
14469         (window_unmap_subwindows_cache_mapper):
14470         (window_unmap_subwindows): new functions. Unmap all subwindows
14471         cached on this window.
14472         (mark_window_as_deleted): unmap all subwindows.
14473
14474 2000-04-27  Andy Piper  <andy@xemacs.org>
14475
14476         * glyphs.h (IIFORMAT_METH_OR_GIVEN): cope with null meths.
14477
14478         * glyphs-widget.c (widget_layout): return something.
14479         (layout_layout): return something. Fail if not initialized.
14480         (layout_query_geometry): ditto.
14481         (image_instantiator_native_layout): new function. Initialized the
14482         native layout type.
14483         (widget_instantiate): don't do layout stuff here.
14484
14485         * glyphs.c (instantiate_image_instantiator): reorded calling or
14486         instantiate and post_instantiate with layout in between.
14487         (image_instance_layout): be more selective about deciding whether
14488         the layout has been done or not.
14489
14490         * glyphs.h (struct image_instantiator_methods): return a value
14491         from layout_method.
14492
14493 2000-04-26  Andy Piper  <andy@xemacs.org>
14494
14495         * glyphs.c (allocate_image_instance): make initial width and
14496         height unspecified. Set initialized to 0.
14497
14498         * syscommctrl.h new file. Encapsulates commctrl.h.
14499
14500         * syswindows.h new file. Encapsulates windows.h.
14501
14502         * ntplay.c: use new syswindows.h and syscommctrl.h header.
14503         * nt.c: ditto.
14504         * console-msw.h: ditto.
14505
14506         * redisplay-tty.c (tty_output_display_block): remove layout references.
14507
14508         * glyphs-msw.c (mswindows_widget_instantiate): use the domain
14509         window handle rather than just the frame.
14510
14511         * glyphs.c (mark_image_instance): remove layout references.
14512         (print_image_instance): ditto.
14513         (image_instance_equal): ditto.
14514         (image_instance_hash): ditto.
14515         (decode_image_instance_type): ditto.
14516         (encode_image_instance_type): ditto.
14517         (image_instantiate): ditto.
14518         (allocate_glyph): ditto.
14519         (Fimage_instance_height): ditto.
14520         (Fimage_instance_width): ditto.
14521         (update_subwindow): ditto.
14522
14523         * redisplay-x.c (x_output_display_block): recode for layouts as
14524         widgets.
14525
14526         * redisplay-output.c (redisplay_output_layout): recode for layouts
14527         as widgets.
14528         (compare_runes): remove layout references.
14529
14530         * redisplay-msw.c (mswindows_output_display_block): recode for
14531         layouts as widgets.
14532
14533         * glyphs-widget.c (image_instantiator_layout): remove
14534         layout_possible_dest_types.
14535         (layout_possible_dest_types): deleted.
14536
14537         * glyphs.h (image_instance_type): remove layout references.
14538         (struct Lisp_Image_Instance): ditto. Add initialized flag.
14539         (IMAGE_INSTANCE_INITIALIZED): new accessor.
14540         (XIMAGE_INSTANCE_INITIALIZED): ditto.
14541
14542 2000-04-25  Andy Piper  <andy@xemacs.org>
14543
14544         * glyphs-widget.c (image_instantiator_buttons):
14545         (image_instantiator_edit_fields):
14546         (image_instantiator_combo_box):
14547         (image_instantiator_scrollbar):
14548         (image_instantiator_progress_guage):
14549         (image_instantiator_tree_view):
14550         (image_instantiator_tab_control):
14551         (image_instantiator_labels):
14552         (image_instantiator_layout): call default post_instantiate method.
14553         (widget_post_instantiate): new function. Simply lays out the
14554         widgets.
14555
14556         * glyphs.h (struct image_instantiator_methods): add
14557         post_instantiate method.
14558
14559         * glyphs.c (instantiate_image_instantiator): add post_instantiate
14560         method calls.
14561
14562 2000-04-23  Andy Piper  <andy@xemacs.org>
14563
14564         * glyphs.h (struct image_instantiator_methods): add
14565         decode_domain_method.
14566         (struct Lisp_Image_Instance): remove subwindow frame - it can be
14567         derived from the domain.
14568         (IMAGE_INSTANCE_FRAME): new accessor.
14569         (XIMAGE_INSTANCE_FRAME): ditto.
14570
14571         * glyphs.c (print_image_instance): use IMAGE_INSTANCE_FRAME
14572         instead of _SUBWINDOW_FRAME.
14573         (finalize_image_instance): ditto.
14574         (Fimage_instance_foreground): ditto.
14575         (Fimage_instance_background): ditto.
14576         (image_instantiate): ditto.
14577         (update_subwindow_cachel): ditto.
14578         (update_subwindow): ditto.
14579         (unmap_subwindow): ditto.
14580         (map_subwindow): ditto
14581         (subwindow_instantiate): ditto.
14582         * glyphs-msw.c (mswindows_update_widget): ditto.
14583         (mswindows_progress_gauge_instantiate): ditto.
14584         (mswindows_tab_control_update): ditto.
14585         * glyphs-x.c (x_update_widget): ditto.
14586         (x_widget_instantiate): ditto.
14587         (x_tab_control_instantiate): ditto.
14588         (x_tab_control_update): ditto.
14589         * event-msw.c (mswindows_wnd_proc): ditto
14590
14591         * glyphs-widget.c (image_instantiator_layout): use
14592         subwindow_decode_domain.
14593         (image_instantiator_buttons): ditto.
14594         (image_instantiator_edit_fields): ditto.
14595         (image_instantiator_combo_box): ditto.
14596         (image_instantiator_scrollbar): ditto.
14597         (image_instantiator_progress_guage): ditto.
14598         (image_instantiator_tree_view): ditto.
14599         (image_instantiator_tab_control): ditto.
14600         (image_instantiator_labels): ditto.
14601         (image_instantiator_layout): ditto.
14602
14603         * glyphs.c: add instance error checking to many functions.
14604         (instantiate_image_instantiator): decode device from cache_domain.
14605         (image_instantiate): partially rewrite by using
14606         decode_image_instantiator_domain to determine what domain the
14607         instance needs to be cached in.
14608         (decode_image_instantiator_domain): new function. Determine what
14609         domain the image needs to be cached in.
14610         (check_window_subwindow_cache): new error checking function.
14611         (check_instance_cache_mapper): ditto.
14612         (check_image_instance_structure): ditto.
14613         (subwindow_decode_domain): new function. Encodes a window as a
14614         subwindow's cache domain.
14615         (image_instantiator_format_create): use it for text and
14616         subwindows.
14617
14618 2000-04-21  Andy Piper  <andy@xemacs.org>
14619
14620         * glyphs.c (image_instance_device): new function.
14621         (image_instance_frame): new function.
14622         (image_instance_window): new function.
14623         (image_instance_live_p): new function.
14624
14625         * window.c (mark_window_as_deleted): reset the subwindow_instance_
14626         cache to nil.
14627
14628         * glyphs.h (struct Lisp_Image_Instance): device->domain.
14629         (IMAGE_INSTANCE_DOMAIN): new accessor.
14630         (XIMAGE_INSTANCE_DOMAIN): ditto.
14631
14632         * glyphs-x.c (x_finalize_image_instance): device->domain.
14633
14634         * glyphs-msw.c (init_image_instance_geometry): device->domain.
14635         (mswindows_finalize_image_instance): ditto.
14636
14637         * glyphs-eimage.c (jpeg_instantiate): device->domain.
14638         (gif_instantiate): ditto.
14639         (png_instantiate): ditto.
14640         (tiff_instantiate): ditto.
14641
14642         * glyphs.c (instantiate_image_instantiator): use domain rather
14643         than device.
14644         (mark_image_instance): device -> domain.
14645         (print_image_instance): ditto.
14646         (finalize_image_instance): ditto.
14647         (image_instance_equal): ditto.
14648         (allocate_image_instance): ditto.
14649         (Fcolorize_image_instance): ditto.
14650         (query_string_geometry): ditto.
14651         (image_instantiate): ditto
14652         (query_string_font): ditto.
14653         (image_instantiate): ditto.
14654         (update_subwindow): ditto.
14655         (unmap_subwindow): ditto.
14656         (map_subwindow): ditto.
14657         (subwindow_instantiate): ditto.
14658
14659         * specifier.h (DOMAIN_DEVICE): new, semantically correct, decoder.
14660         (DOMAIN_FRAME): ditto.
14661         (DOMAIN_WINDOW): ditto.
14662         (DOMAIN_LIVE_P): ditto.
14663         (XDOMAIN_DEVICE): ditto.
14664         (XDOMAIN_FRAME): ditto.
14665         (XDOMAIN_WINDOW): ditto.
14666
14667         * specifier.c (Fvalid_specifier_domain_p): add image instances as
14668         a valid specifier domain.
14669
14670 2000-04-19  Andy Piper  <andy@xemacs.org>
14671
14672         * glyphs-widget.c (syms_of_glyphs_widget): remove
14673         widget-callback-current-channel.
14674         (vars_of_glyphs_widget): ditto.
14675         * glyphs.h: ditto
14676
14677         * gui.c (get_gui_callback): revert to previous behaviour.
14678
14679 2000-04-18  Andy Piper  <andy@xemacs.org>
14680
14681         * glyphs.h (struct Lisp_Image_Instance): add margin_width.
14682         (IMAGE_INSTANCE_MARGIN_WIDTH): new.
14683         (XIMAGE_INSTANCE_MARGIN_WIDTH): new.
14684
14685         * glyphs.c (image_instance_equal): add margin_width.
14686         (image_instance_hash): ditto.
14687
14688         * glyphs-widget.c (widget_instantiate): deal with margin-width.
14689         (layout_query_geometry): ditto.
14690         (layout_layout): ditto.
14691         (syms_of_glyphs_widget): add margin-width.
14692         (image_instantiator_layout): allow margin-width.
14693
14694         * glyphs.c (update_widget_instances): make a normal function.
14695         (syms_of_glyphs): remove Qupdate_widget_instances.
14696         * glyphs.h: ditto.
14697
14698         * gui-x.c (popup_selection_callback): use enqueue_magic_eval_event
14699         so that we don't corrupt ideas about the last event or
14700         command. Remove widget-callback-current-channel fiddling.
14701         * gui-msw.c (mswindows_handle_gui_wm_command): ditto.
14702
14703 2000-05-01  Martin Buchholz <martin@xemacs.org>
14704
14705         * XEmacs 21.2.33 is released.
14706
14707 2000-05-01  Yoshiki Hayashi  <yoshiki@xemacs.org>
14708
14709         * make-src-depend: Allow dots in header file name.
14710
14711 2000-05-01  Yoshiki Hayashi  <yoshiki@xmacs.org>
14712
14713         * mule-charset.h (struct charset_lookup): Add
14714         next_allocated_1_byte_leading_byte and
14715         next_allocated_2_byte_leading_byte.
14716         * mule-charset.c: Move above two variables so that those values
14717         will be dumped.
14718
14719 2000-04-26  Yoshiki Hayashi  <yoshiki@xemacs.org>
14720
14721         * insdel.c (find_charsets_in_bufbyte_string): Add Vcharset_ascii
14722         when string length is zero.
14723         (find_charsets_in_emchar_string): Ditto.
14724
14725 2000-04-29  Bjrn Torkelsson  <torkel@hpc2n.umu.se>
14726
14727         * lisp.h: extern Qdialog and Qmenubar.
14728
14729         * gui-x.c: added events.h.
14730                 also fixed typo which made the file uncompilable.
14731
14732         * general.c: Added Qmenubar and Qdialog
14733
14734 2000-04-28  Ben Wing  <ben@xemacs.org>
14735
14736         * frame-msw.c (mswindows_init_frame_1):
14737         * frame-msw.c (mswindows_mark_frame):
14738         * event-msw.c (mswindows_enqueue_dispatch_event):
14739         * console-msw.h:
14740         * console-msw.h (struct mswindows_frame):
14741         * console-msw.h (FRAME_MSWINDOWS_WIDGET_HASH_TABLE1):
14742         there are now three hash tables for callbacks.
14743         mswindows_enqueue_dispatch_event is no longer static.
14744
14745         * dialog-x.c (maybe_run_dbox_text_callback):
14746         * dialog-x.c (dbox_descriptor_to_widget_value):
14747         switch to new cons3 form for callbacks.
14748
14749         * glyphs-msw.c (mswindows_register_gui_item):
14750         * glyphs-msw.c (mswindows_widget_instantiate):
14751         * glyphs-msw.c (add_tree_item):
14752         * glyphs-msw.c (add_tab_item):
14753         new image instance parameter, so it can be passed to callback-ex.
14754         respect :callback-ex as well as :callback.
14755
14756         * glyphs-widget.c (VALID_GUI_KEYWORDS):
14757         add :callback-ex.
14758
14759         * glyphs.c (print_image_instance):
14760         prettify, e.g. now prints widget type.
14761
14762         * gui-x.h:
14763         certain funs have new image instance parameter.
14764
14765         * gui.c:
14766         * gui.c (get_gui_callback):
14767         * gui.c (gui_item_add_keyval_pair):
14768         * gui.c (gui_item_init):
14769         * gui.c (gui_add_item_keywords_to_plist):
14770         * gui.c (mark_gui_item):
14771         * gui.c (gui_item_hash):
14772         * gui.c (gui_item_equal):
14773         * gui.c (copy_gui_item):
14774         * gui.c (syms_of_gui):
14775         recognize callback-ex in a number of places.
14776         also, fix the annoying "can't get out of yes-no dialog" bug.
14777
14778         * gui.h:
14779         * gui.h (struct Lisp_Gui_Item):
14780         recognize callback-ex in a number of places.
14781
14782         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
14783         new parameter in button_item_to_widget_value.
14784
14785         * glyphs-x.c (x_update_widget):
14786         * glyphs-x.c (x_button_instantiate):
14787         * glyphs-x.c (x_button_update):
14788         * glyphs-x.c (x_progress_gauge_instantiate):
14789         * glyphs-x.c (x_edit_field_instantiate):
14790         * glyphs-x.c (x_combo_box_instantiate):
14791         * glyphs-x.c (x_tab_control_instantiate):
14792         * glyphs-x.c (x_label_instantiate):
14793         new image instance parameter in various places.
14794
14795         * event-Xt.c:
14796         * event-Xt.c (enqueue_Xt_dispatch_event):
14797         this fun gets exported.
14798
14799         * gui-msw.c:
14800         * gui-msw.c (mswindows_handle_gui_wm_command):
14801         handle both :callback and :callback-ex, and generate our own
14802         event because it's one of the callback-ex arguments.
14803
14804         * gui-x.c:
14805         * gui-x.c (popup_selection_callback):
14806         handle both :callback and :callback-ex, and generate our own
14807         event because it's one of the callback-ex arguments.
14808         * gui-x.c (button_item_to_widget_value):
14809         * gui-x.c (gui_items_to_widget_values_1):
14810         * gui-x.c (gui_item_children_to_widget_values):
14811         * gui-x.c (gui_items_to_widget_values):
14812         new image instance parameter in various places.
14813
14814         * fns.c (Freplace_list):
14815         fix small typo in doc string.
14816
14817         * lisp.h:
14818         declare enqueue_Xt_dispatch_event.
14819
14820 2000-04-28  Ben Wing  <ben@xemacs.org>
14821
14822         * buffer.c:
14823         * buffer.c (Frecord_buffer):
14824         * buffer.c (syms_of_buffer):
14825         delete record-buffer-hook.
14826
14827         * fns.c:
14828         * fns.c (Freplace_list):
14829         * fns.c (syms_of_fns):
14830         new primitive replace-list.
14831
14832         * frameslots.h:
14833         slot for old buffer-alist.
14834
14835         * lisp.h:
14836         exfun replace-list.
14837
14838         * redisplay.c:
14839         * redisplay.c (redisplay_frame):
14840         * redisplay.c (syms_of_redisplay):
14841         * redisplay.c (vars_of_redisplay):
14842         new hook buffer-list-changed-hook.
14843         call it.
14844
14845 2000-04-27  Ben Wing  <ben@xemacs.org>
14846
14847         * extents.h: extern in_modeline_generation.
14848
14849         * redisplay.c (generate_formatted_string_db): set
14850         in_modeline_generation.
14851
14852         * extents.c (extent_changed_for_redisplay): don't mark redisplay
14853         flags if in modeline generation.  otherwise frame-modified-tick
14854         is ticked far too often.
14855         Declare in_modeline_generation.
14856
14857 2000-04-26  Ben Wing  <ben@xemacs.org>
14858
14859         * emacs.c (vars_of_emacs): document quick-build "error-checking"
14860         option.
14861         (vars_of_emacs): add quick-build as an error-checking option.
14862         A bit kludgy, but there doesn't seem much point in creating
14863         a real var for this.
14864
14865         * config.h.in: put in an entry for QUICK_BUILD; remove NO_DOC_FILE.
14866
14867 2000-04-14  IKEYAMA Tomonori  <tomonori@suiyokai.org>
14868
14869         * redisplay.h (struct display_line): Add a new variable,
14870         line_continuation.
14871
14872         * redisplay.c (create_text_block): Set dl->line_continuation if
14873         the line continues.
14874         (create_string_text_block): Ditto.
14875         (regenerate_window_incrementally): Use line_continuation instead
14876         of searching continuation glyph.
14877         (add_margin_runes): Call add_glyph_rune.
14878         (add_glyph_rune): Handle margin glyph.
14879
14880 2000-04-20  Martin Buchholz  <martin@xemacs.org>
14881
14882         * filelock.c (fill_in_lock_file_name):
14883         ANSIfy.
14884         Check for IS_ANY_SEP instead of '/'.
14885         (lock_file_1):
14886         Avoid generating gratuitous garbage.  Call user_login_name() directly.
14887         Never check errno without first seeing that system call failed.
14888         (unlock_file): Add GCPRO.
14889         (Flock_buffer): Fix docstring.
14890         (Ffile_locked_p): Fix docstring.  Add GCPRO.
14891
14892 2000-04-19  Martin Buchholz  <martin@xemacs.org>
14893
14894         * sysdep.c (get_pty_max_bytes):
14895         Fix hangs on DEC OSF 4.0 when (process-send-string) sends
14896         strings longer than 252 bytes.
14897
14898         * md5.c: Unconditionally include ANSI header <limits.h>
14899
14900         * glyphs-x.c (convert_EImage_to_XImage):
14901         * lisp-union.h (union Lisp_Object):
14902         Use consistently the syntax #ifdef FEATURE, not #if FEATURE.
14903
14904 2000-04-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
14905
14906         * filelock.c (current_lock_owner): Remove unused variable o, p.
14907
14908 2000-04-17  Norbert Koch  <n.koch@eai-delta.de>
14909
14910         * callint.c: Remove multiply defined symbol Qlet
14911         (syms_of_callint): ditto.
14912
14913 2000-04-14  Andy Piper  <andy@xemacs.org>
14914
14915         * general.c (syms_of_general): add last-command, this-command, let
14916         and funcall.
14917
14918         * lisp.h: declare various symbols.
14919
14920         * glyphs.h: declare Qwidget_callback_current_channel;
14921
14922         * glyphs-widget.c (syms_of_glyphs_widget): add
14923         Qgui_callback_current_channel.
14924         (vars_of_glyphs_widget): add Vgui_callback_current_channel.
14925
14926         * gui-msw.c (mswindows_handle_gui_wm_command): bind
14927         widget-callback-current-channel when invoking the interactive
14928         arg. Also bind last-command and next-command when invoking the
14929         widget updates.
14930         * gui-x.c (popup_selection_callback): ditto.
14931
14932         * gui.c (get_gui_callback): massage args so that we are always
14933         calling eval. This allows us to add our own variable bindings
14934         outside.
14935
14936         * glyphs-x.c (x_button_instantiate): use
14937         gui_items_to_widget_values since this is GC safe.
14938         (x_progress_gauge_instantiate): ditto.
14939         (x_edit_field_instantiate): ditto.
14940         (x_label_instantiate): ditto.
14941
14942         * event-Xt.c (emacs_Xt_handle_magic_event): remove old printfs.
14943         (emacs_Xt_event_widget_focus_out): new function
14944         (emacs_Xt_event_widget_focus_in): new function. Set the keyboard
14945         focus.
14946         (emacs_Xt_event_add_widget_actions): new function. add focus
14947         functions as actions.
14948         (init_event_Xt_late): use it.
14949
14950 2000-04-14  Hrvoje Niksic  <hniksic@iskon.hr>
14951
14952         * event-stream.c (Fdispatch_event): Doc fix.
14953
14954 2000-03-29  SL Baur  <steve@musashimaru.m17n.org>
14955
14956         * postgresql.c: Remove all references to PQsetenv*.
14957
14958         * postgresql.h: Remove references to PGsetenvHandler object.
14959         * lrecord.h (lrecord_type): Ditto.
14960
14961 2000-04-11  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14962
14963         * glyphs-msw.h (struct mswindows_image_instance_data): Added
14964         real_heigh and real_width members, and accessor macros for these.
14965
14966         * glyphs-msw.c (init_image_instance_geometry): New function.
14967         (init_image_instance_from_dibitmap): Use it.
14968         (mswindows_resource_instantiate): Use it.
14969         (init_image_instance_from_xbm_inline): Use it.
14970         (mswindows_initialize_image_instance_mask): Use real bitmap
14971         geometry.
14972         (mswindows_create_resized_bitmap): Ditto.
14973         (mswindows_create_resized_mask): Ditto.
14974
14975         * redisplay-msw.c (mswindows_output_dibitmap): Stretch real mask
14976         and bitmap to their surface size.
14977
14978 2000-04-11  Jan Vroonhof  <jan@xemacs.org>
14979
14980         * process-unix.c (unix_send_process): Guard against process MIA
14981         after Faccept_process_output.
14982
14983 2000-04-11  Ben Wing  <ben@xemacs.org>
14984
14985         * eval.c (unbind_to_hairy): fix brokenness introduced by
14986         nanosecond speed improvements.
14987
14988 2000-04-07  Raymond Toy  <toy@rtp.ericsson.se>
14989
14990         * sunplay.c (init_device): To play sounds correctly, the device
14991         apparently needs to be initialized at least once by XEmacs.  Make
14992         it so.
14993
14994 2000-04-10  IKEYAMA Tomonori  <tomonori@suiyokai.org>
14995
14996         * redisplay.c (add_margin_runes): Add text image glyph
14997           handling.
14998
14999 2000-04-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
15000
15001         * lisp.h (DOESNT_RETURN): Don't declare as volatile when
15002         gcc is newer than 2.5.
15003
15004 2000-04-06  Colin Rafferty  <colin@xemacs.org>
15005
15006         * lisp.h (FLEXIBLE_ARRAY_STRUCT_SIZEOF): Created.
15007
15008         * fns.c (size_bit_vector):
15009         * alloc.c (size_vector):
15010         (make_vector_internal):
15011         (make_bit_vector_internal):
15012         (sweep_bit_vectors_1):
15013         Replace calls to offsetof with FLEXIBLE_ARRAY_STRUCT_SIZEOF macro.
15014
15015 2000-04-06  Andy Piper  <andy@xemacs.org>
15016
15017         * gmalloc.c (malloc): undo previous change.
15018         (malloc): ditto.
15019         (free): ditto.
15020         (realloc): ditto.
15021
15022 2000-04-06  IKEYAMA Tomonori <tomonori@suiyokai.org>
15023
15024         * line-number.c (buffer_line_number): Revert to former version.
15025
15026 2000-04-06  Andy Piper  <andy@xemacs.org>
15027
15028         * gmalloc.c (malloc): add error checking.
15029         (malloc): ditto.
15030         (free): ditto.
15031         (realloc): ditto.
15032
15033         * dialog-x.c (dbox_descriptor_to_widget_value): add extra
15034         button_item_to_widget_value arg.
15035
15036         * glyphs-x.c (x_button_instantiate): add extra
15037         button_item_to_widget_value arg.
15038         (x_progress_gauge_instantiate): ditto.
15039         (x_edit_field_instantiate): ditto.
15040         (x_label_instantiate): ditto.
15041
15042         * gui-x.c (gui_items_to_widget_values_1): add extra
15043         button_item_to_widget_value arg.
15044         (button_item_to_widget_value): add extra menu_item_p arg.
15045
15046         * gui-x.h: change signature of button_item_to_widget_value.
15047
15048         * menubar-x.c (menu_item_descriptor_to_widget_value_1): add extra
15049         button_item_to_widget_value arg.
15050
15051 2000-04-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
15052
15053         * buffer.h (struct buffer): auto_save_modified should be long.
15054
15055 2000-04-05  Andy Piper  <andy@xemacs.org>
15056
15057         * glyphs-widget.c (widget_instantiate): pixwidth != pixheight
15058         type.
15059         (button_query_geometry): give a little more room so that athena
15060         buttons fit.
15061
15062 2000-04-05  Andy Piper  <andy@xemacs.org>
15063
15064         * faces.c (complex_vars_of_faces): The widget face should inherit
15065         the font of the gui-element face.
15066
15067 2000-04-04  Andy Piper  <andy@xemacs.org>
15068
15069         * glyphs-x.c (x_button_update): new function. unconditionally
15070         update a button's state when the instance is dirty.
15071         (image_instantiator_format_create_glyphs_x): add x_button_update.
15072         (x_widget_instantiate): remove old resize cruft.
15073
15074 2000-04-02  Andy Piper  <andy@xemacs.org>
15075
15076         * frame.c (change_frame_size_1): The introduction of gutters means
15077         that we need to allow 0 as a potential frame dimension.
15078
15079 2000-04-02  IKEYAMA Tomonori  <tomonori@suiyokai.org>
15080
15081         * redisplay.c (add_glyph_rune): Don't set 0 to bufpos for text
15082         image glyph if allow_cursor.
15083         (add_hscroll_rune): Don't allow cursor to border glyph.
15084         (create_text_block): Ditto.
15085
15086         * redisplay-output.c (redisplay_move_cursor): Do nothing even if
15087         text not in buffer.
15088         (redisplay_output_layout): Call ensure_face_cachel_complete for
15089         text image glyph.
15090
15091
15092 2000-03-16  IKEYAMA Tomonori  <tomonori@suiyokai.org>
15093
15094         * redisplay.c (add_glyph_rune): Adding text image as text runes.
15095
15096         * redisplay-output.c (redisplay_move_cursor): NO_CURSOR if text
15097         not in buffer
15098
15099         * redisplay-tty.c (tty_output_display_block): Delete the routine
15100         for text image glyph
15101         * redisplay-x.c (x_output_display_block): ditto
15102         * redisplay-msw.c (mswindows_output_display_block): ditto
15103
15104 2000-02-02  Mike Alexander  <mta@arbortext.com>
15105
15106         Note: Some of these were committed by accident as part of other
15107         patches.
15108
15109         * regex.c (regex_compile): Avoid compiler warnings.
15110
15111         * ntproc.c (sys_spawnve): Avoid compiler warnings.
15112
15113         * nt.h: Declare term_ntproc correctly.
15114
15115         * nt.c: Remove incorrect declaration of get_home_directory which
15116         is declared correctly in lisp.h.
15117
15118         * keymap.c (get_keyelt): Avoid compiler warnings.
15119         (raw_lookup_key_mapper): Avoid compiler warnings.
15120
15121         * gutter.c (gutter_was_visible): Add return statement to avoid warning.
15122
15123         * glyphs-eimage.c (png_instantiate): Avoid compiler warnings.
15124
15125         * filemode.c (mode_string): Avoid compiler warnings.
15126
15127         * file-coding.c (Fcoding_system_aliasee): Add return statement to
15128         avoid warning.
15129
15130         * events-mod.h: Undef some things that winuser.h defines differently.
15131
15132         * data.c (Faset): Avoid compiler warnings.
15133
15134         * alloc.c (Fmake_byte_code): Avoid compiler warnings.
15135
15136 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
15137
15138         * sound.c (Fplay_sound_file): Wrap ESD in start/stop_interrupts.
15139         Fall through to simple beep on error.
15140         Replace "extern" by real header file.
15141
15142         * linuxplay.c: Use nativesound.h
15143         (play_sound_data): Return error code. Be less verbose on error.
15144
15145         * sunplay.c: Use nativesound.h
15146         (play_sound_data): Return error code. Be less verbose on error.
15147
15148         * ntplay.c: Use nativesound.h
15149         (play_sound_data): Return fake error code
15150
15151         * sgiplay.c: Use nativesound.h
15152         (play_sound_data): Return error code
15153
15154         * hpplay.c: Use nativesound.h, partially implement
15155         new error code. Break compilation until finished.
15156         (play_sound_data): error code.
15157
15158         * nativesound.h (play_sound_file):
15159           (play_sound_data): Prototype in new header.
15160
15161 2000-03-31  Andy Piper  <andy@xemacs.org>
15162
15163         * glyphs-widget.c: (button_query_geometry): new function. Adjust
15164         for toggle and radio buttons.
15165         (image_instantiator_buttons): use it.
15166
15167 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
15168
15169         * scrollbar-x.c (x_update_vertical_scrollbar_callback):
15170         (x_update_horizontal_scrollbar_callback): Return if no mirror was
15171         found. Scrollbar event probably belonged to some old config.
15172
15173 2000-03-31  Andy Piper  <andy@xemacs.org>
15174
15175         * glyphs-widget.c (widget_instantiate): use LAYOUT_VERTICAL rather
15176         than 1.
15177         (initialize_widget_image_instance): default layout to
15178         LAYOUT_HORIZONTAL rather than 0.
15179         (widget_instantiate): reverse the item list at the end rather than
15180         every iteration.
15181         (layout_layout): re-code for the border text at the front of the
15182         item list rather than at the end.
15183         (layout_query_geometry): ditto. Pick up fixed and dynamic sizes
15184         provided by the user.
15185         (widget_query_geometry): comment.
15186
15187 2000-03-30  Andy Piper  <andy@xemacs.org>
15188
15189         * glyphs-widget.c (image_instantiator_layout): allow standard
15190         widget keywords in layouts.
15191
15192         * gutter.c (output_gutter): cope with nil gutter contents.
15193
15194         * frame.c (Fset_frame_properties): add gutter docs.
15195
15196 2000-03-29  Andy Piper  <andy@xemacs.org>
15197
15198         * toolbar-msw.c (TBSTYLE_FLAT): add.
15199         (mswindows_output_toolbar): minor fiddling.
15200
15201 2000-03-29  Andy Piper  <andy@xemacs.org>
15202
15203         * gutter.c (output_gutter): force gutter size recalculation if
15204         what we are trying to display won't fit.
15205         (update_gutter_geometry): new function. A per-gutter version of
15206         update_frame_gutter_geometry.
15207         (update_frame_gutter_geometry): use it.
15208         (redraw_exposed_gutter): add extra debugging output.
15209
15210 2000-03-28  Mike Alexander  <mta@arbortext.com>
15211
15212         * dumper.c: Declare pdump_hFile and pdump_hMap (Windows only)
15213         (pdump_file_unmap): Implement it on Windows
15214         (pdump_file_get): Save alocated handles for pdump_file_unmap
15215
15216 2000-03-28  Andy Piper  <andy@xemacs.org>
15217
15218         * gui.c (get_gui_callback): treat Quit specially.
15219
15220 2000-03-27  Andy Piper  <andy@xemacs.org>
15221
15222         * glyphs.c (image_instantiate): be careful to check in the same
15223         way we assigned.
15224
15225 2000-03-27  Didier Verna  <didier@xemacs.org>
15226
15227         * config.h.in: define the proper SMART_INCLUDE macro.
15228         handle renaming of `foo_h_path' to `foo_h_file'.
15229
15230         * database.c: ditto.
15231
15232         * emacs.c: ditto.
15233
15234         * linuxplay.c: ditto.
15235
15236         * terminfo.c: ditto.
15237
15238         * tooltalk.h: ditto.
15239
15240 2000-03-27  Andy Piper  <andy@xemacs.org>
15241
15242         * glyphs-msw.c (mswindows_update_widget): make sure the widget
15243         gets updated whenever the face might have changed.
15244
15245 2000-03-26  Mike Alexander  <mta@arbortext.com>
15246
15247         * dumper.c (pdump_resource_free): Fix the comment.
15248
15249 2000-03-21  Olivier Galibert  <galibert@pobox.com>
15250
15251         * input-method-xlib.c (XIM_init_frame): Remove painful warning.
15252
15253 2000-03-22  Mike Alexander  <mta@arbortext.com>
15254
15255         * dumper.c: Include Windows headers on Windows
15256         (pdump_resource_free): Add a body to the function
15257         (pdump_load): exe_name -> exe_path and add some comments.
15258
15259 2000-03-25  Mike Alexander  <mta@arbortext.com>
15260
15261         * gui.c (copy_gui_item_tree): Return a value in all cases
15262
15263 2000-03-21  Didier Verna  <didier@xemacs.org>
15264
15265         * config.h.in: move INCLUDE_GLUE_1 and INCLUDE_GLUE_2 here from
15266         lwlib/config.h.in.
15267         (SMART_INCLUDE): new macro.
15268         (POSTGRES_INCLUDE): new macro to include postgresql headers from
15269         the proper location.
15270
15271         * postgresql.c: use it.
15272
15273         * inline.c: ditto.
15274
15275 2000-03-24  Andy Piper  <andy@xemacs.org>
15276
15277         * gutter.c (redraw_exposed_gutters): must be "in display" when we
15278         do this.
15279
15280 2000-03-24  Andy Piper  <andy@xemacs.org>
15281
15282         * redisplay-output.c (compare_runes): use image_instance_changed
15283         to detect changes. Do not depend on glyphs_changed, only depend on
15284         dirtiness.
15285          (redisplay_output_layout): add debug messages.
15286         (compare_runes): ditto.
15287
15288         * glyphs.h: declare new functions.
15289         (struct Lisp_Image_Instance): remove percent and associated
15290         accessors.
15291
15292         * gui.h: declare new copying functions.
15293
15294         * gui.c (copy_gui_item_tree): new function.
15295         (copy_gui_item): new function.
15296         (gui_item_id_hash): revert to standard hash.
15297         (gui_item_hash): ditto.
15298         (gui_item_hash_internal): deleted.
15299         (mark_gui_item): mark value.
15300         (gui_item_add_keyval_pair): add value.
15301         (gui_item_init): ditto.
15302         (gui_add_item_keywords_to_plist): ditto.
15303         (gui_item_equal): ditto.
15304         (syms_of_gui): add Q_value.
15305
15306         * glyphs-x.c (x_progress_gauge_update): use pending items and
15307         value for setting the state.
15308         (x_update_widget): don't set items from pending here.
15309
15310         * glyphs-widget.c (update_widget): update items here.
15311         (progress_gauge_set_property): use items for storing value. Put
15312         new value in pending items.
15313
15314         * glyphs-msw.c (mswindows_progress_gauge_update): use pending
15315         items for new value. Convert percent -> value.
15316         (mswindows_tab_control_update): don't update items here.
15317
15318         * glyphs.c (Fupdate_widget_instances): use image_instance_changed.
15319         (update_subwindow): ditto.
15320         (image_instance_changed): new function. Compare hash values and
15321         past and present widget items.
15322         (image_instantiate): We more careful about where we instantiate
15323         things.
15324         (image_instantiate): add error checking.
15325
15326         * gutter.c (syms_of_gutter): use -hook.
15327
15328 2000-03-20  Yoshiki Hayashi  <yoshiki@xemacs.org>
15329
15330         * console-tty.c (Fset_console_tty_input_coding_system): Use
15331         Qkeyboard.
15332         (Fset_console_tty_output_coding_system): Use Qterminal.
15333         (tty_init_console): Use Qkeyboard and Qterminal.
15334
15335 2000-03-21  Ben Wing  <ben@xemacs.org>
15336
15337         * ntproc.c (create_child): remove bogus HAVE_NTGUI's.
15338         From Mike Alexander <mta@arbortext.com>.
15339
15340 2000-03-21  Ben Wing  <ben@xemacs.org>
15341
15342         * event-msw.c (mswindows_need_event): Horrible kludge to fix
15343         process brokenness.  Proper implementation to come.
15344         * callproc.c:
15345         Rename call-process-internal to old-call-process-internal.
15346         New impl. in process.el.
15347
15348 2000-03-21  Martin Buchholz  <martin@xemacs.org>
15349
15350         * Makefile.in.in: Coalesce HAVE_NATIVE_SOUND code fragments.
15351
15352 2000-03-20  Andy Piper  <andy@xemacs.org>
15353
15354         * glyphs.c (full_list_hash): make hashes of the same elements in
15355         different orders return different values.
15356
15357 2000-03-20  Martin Buchholz <martin@xemacs.org>
15358
15359         * XEmacs 21.2.32 is released.
15360
15361 2000-03-20  Martin Buchholz  <martin@xemacs.org>
15362
15363         * buffer.h (DFC_ALLOCA_USE_CONVERTED_DATA):
15364         (DFC_MALLOC_USE_CONVERTED_DATA):
15365         Add aliasing-safe casts to allow use with char* or unsigned char*
15366         lvalues.
15367
15368         * eldap.c (Fldap_open):
15369         (Fldap_search_basic):
15370         (Fldap_add):
15371         (Fldap_modify):
15372         Make C++-compilable.
15373         Make sure GCPRO'ed variables are initialized.
15374         Use temp variables to avoid repeated calls to Flength.
15375
15376 2000-03-16  Martin Buchholz  <martin@xemacs.org>
15377
15378         * sysfile.h:
15379         Make sure PATH_MAX is always defined.
15380         Include limits.h for PATH_MAX.
15381         Deprecate use of MAXPATHLEN.
15382
15383 2000-03-10  Martin Buchholz  <martin@xemacs.org>
15384
15385         * emacs.c: Add reinit_vars_of_fileio.
15386         * symsinit.h: Add reinit_vars_of_fileio.
15387         * fileio.c (reinit_vars_of_fileio): New.
15388         * fileio.c (Fmake_temp_name):
15389         Initialize temp_name random number from microseconds to make
15390         collisions even less likely.  Initialize always at process startup
15391         time.  (make-temp-name) used to return the same file name twice in
15392         a row when PDUMP.
15393         Random stylistic fiddling.
15394         Comment fixes.
15395
15396 2000-03-20  Andy Piper  <andy@xemacs.org>
15397
15398         * glyphs.c (image_instantiate): allow text glyphs to be
15399         instantiated in the minibuffer window.
15400
15401 2000-03-19  Andy Piper  <andy@xemacs.org>
15402
15403         * glyphs.c (image_instance_hash): be careful about which items we
15404         hash on.
15405
15406         * glyphs-widget.c (tab_control_set_property): record into pending
15407         items rather than the actual items.
15408
15409         * glyphs-x.c (x_update_widget): use pending items to update with.
15410
15411         * glyphs-msw.c (mswindows_tab_control_update): use pending items
15412         to update with.
15413
15414         * glyphs.c (mark_image_instance): mark pending items.
15415
15416         * window.c (Fset_window_configuration): record the buffer.
15417         (Fselect_window): totally revert previous change which breaks many
15418         things.
15419
15420 2000-03-18  Andy Piper  <andy@xemacs.org>
15421
15422         * glyphs-msw.c (mswindows_tab_control_update): force selected
15423         item.
15424
15425         * glyphs.c (image_instantiate): don't allow the minibuffer as a
15426         window domain cache, otherwise we get inconsistencies at
15427         startup. There is something fishy at startup which can lead to the
15428         minibuffer being the selected window when the gutter content is
15429         instantiated.
15430
15431         * gui.c (parse_gui_item_tree_list): add probably unnecessary
15432         gcpros.
15433         (parse_gui_item_tree_children): ditto.
15434         (parse_gui_item_tree_item): ditto.
15435
15436         * glyphs.c (Fupdate_widget_instances): return something.
15437
15438 2000-03-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
15439
15440         * window.c (Fselect_window): Undo 2000-03-17 change.
15441
15442 2000-03-17  SL Baur  <steve@musashimaru.m17n.org>
15443
15444         * postgresql.c (Fpq_setenv): Remove this turkey when linking
15445         against v7.0 libraries.  Insta-coredump city until the postgres
15446         folks fix it.
15447
15448 2000-03-17  Andy Piper  <andy@xemacs.org>
15449
15450         * faces.c (complex_vars_of_faces): don't give the widget face an
15451         inherited background pixmap.
15452
15453         * glyphs-msw.c (mswindows_tab_control_instantiate): select the
15454         selected item.
15455
15456         * event-stream.c (Fdispatch_non_command_events): return something.
15457
15458         * gutter.c (output_gutter): use widget face.
15459         (clear_gutter): ditto.
15460
15461         * NEWS: adjust again.
15462
15463         * window.c (Fselect_window): make sure this runs to completion to
15464         avoid oddities with Fset_window_configuration.
15465         (Fcurrent_window_configuration): in general do not save the
15466         minibuffer as the selected window.
15467
15468         * glyphs.h (IMAGE_INSTANCE_HASH_DEPTH): increase.
15469
15470 2000-03-16  Olivier Galibert  <galibert@pobox.com>
15471
15472         * emacs.c (Frunning_temacs_p): Revert previous patch.
15473         (main_1): Reinitialize running_temacs_argc if pdump_load succeeds.
15474
15475 2000-03-16  Andy Piper  <andy@xemacs.org>
15476
15477         * glyphs-x.c (x_tab_control_update): if no widget values then
15478         return.
15479
15480         * NEWS: update for new features.
15481
15482         * event-Xt.c (emacs_Xt_force_event_pending): new function. Post a
15483         synthetic event to the native system.
15484         (reinit_vars_of_event_Xt): set force_event_pending to
15485         emacs_Xt_force_event_pending.
15486
15487         * events.h (struct event_stream): add force_event_pending.
15488
15489         * specifier.c (recompute_one_cached_specifier_in_window): add
15490         comment.
15491
15492         * redisplay.c (redisplay_frame): don't call
15493         update_frame_subwindows. Reset subwindow cachels when
15494         subwindows_changed, removing this was an optimization too far.
15495
15496         * redisplay-output.c (compare_runes): reorganize so that we catch
15497         glyph changes when we want them. Set optimize_output when this
15498         would help layouts.
15499         (redisplay_output_layout): remove frame_really_changed, use
15500         optimize_output instead.
15501
15502         * redisplay-msw.c (mswindows_output_display_block): reset
15503         optimize_output after outputting a glyph.
15504         * redisplay-x.c (x_output_display_block): ditto.
15505         * redisplay-tty.c (tty_output_display_block): ditto.
15506
15507         * gutter.c: (specifier_vars_of_gutter): use new spec changed
15508         functions.
15509         (gutter_specs_changed): do specific gutter positions.
15510         (top_gutter_specs_changed): new function. Only update the
15511         specified gutter specs.
15512         (bottom_gutter_specs_changed): ditto.
15513         (left_gutter_specs_changed): ditto.
15514         (right_gutter_specs_changed): ditto.
15515
15516         * gui.c (gui_item_hash_internal): new function, does a real hash.
15517         (gui_item_id_hash): use it.
15518         (gui_item_hash): hash the eval'ed gui_item.
15519
15520         * gui-x.c (popup_selection_callback): send an eval event to call
15521         Fupdate_widget_instances.
15522
15523         * gui-msw.c (mswindows_handle_gui_wm_command): send an eval event
15524         to call Fupdate_widget_instances.
15525
15526         * glyphs.h (struct Lisp_Image_Instance): add optimize_output flag.
15527         (IMAGE_INSTANCE_OPTIMIZE_OUTPUT): access it.
15528
15529         * glyphs.c: (update_frame_subwindows): deleted.
15530         (Fupdate_widget_instances): new function for updating the dirty
15531         state of widgets that might have changed.
15532         (syms_of_glyphs): add Qupdate_widget_instances.
15533         (full_list_hash): hash a list completely.
15534         (image_instance_hash): use it for items and properties.
15535
15536         * frame-msw.c (mswindows_size_frame_internal): remove unused
15537         variable.
15538
15539         * faces.h (struct face_cachel): fix comment.
15540
15541         * event-stream.c (Fdispatch_non_command_events): new
15542         function. Process non-command events, forcing an event cycle
15543         beforehand.
15544         (syms_of_event_stream): declare.
15545         (event_stream_force_event_pending): new function. Force an event
15546         on the native event queue so that an event cycle will occur next
15547         time we check.
15548
15549         * event-msw.c:
15550         (struct ntpipe_shove_stream):
15551         (mswindows_enqueue_dispatch_event):
15552         (mswindows_dequeue_dispatch_event):
15553         (mswindows_cancel_dispatch_event):
15554         (mswindows_pump_outstanding_events):
15555         (mswindows_drain_windows_queue):
15556         (mswindows_handle_paint):
15557         (mswindows_wnd_proc):
15558         (mswindows_key_to_emacs_keysym):
15559         (get_process_input_waitable):
15560         (emacs_mswindows_delete_stream_pair): re-indent file.
15561         (mswindows_need_event): do not process further fds if the windows
15562         fd is set, otherwise you get endless XM_BUMPQUEUE cycles. This
15563         fixes the 100% cpu problem.
15564         (reinit_vars_of_event_mswindows): set force_event_pending to 0.
15565
15566 2000-03-15  Olivier Galibert  <galibert@pobox.com>
15567
15568         * alloc.h: New.
15569         * dumper.h: New.
15570         * dumper.c: New.
15571
15572         * emacs.c: Moved dump file searching to dumper.c.
15573         (Frunning_temacs_p): Fixed.
15574
15575         * alloc.c: Moved everything pdump-related to dumper.c.  Removed
15576         last_lrecord_type_index_assigned.
15577
15578 2000-02-20  Olivier Galibert  <galibert@pobox.com>
15579
15580         * symsinit.h: Added reinit parameter to init_console_stream
15581         declaration.
15582
15583         * lisp.h: Added file parameter to pdump_load declaration.
15584
15585         * emacs.c (main_1): Added -nd/--nodump-file and -sd/--show-dump-id
15586         support.  Added dump file searching.
15587
15588         * config.h.in: Added EMACS_PROGNAME.
15589
15590         * console-stream.c (init_console_stream): Fix reinitialisation
15591         when running from temacs.
15592
15593         * alloc.c (pdump): Add id support.
15594         (pdump_load): Add file parameter and signature/id support.
15595
15596         * Makefile.in.in: Add full pdump support.
15597
15598 2000-03-15  SL Baur  <steve@musashimaru.m17n.org>
15599
15600         * postgresql.c: Update documentation to reflect latest code
15601         status.
15602         (print_result): Show tuple counts in printed representation when
15603         appropriate.
15604         (Fpq_put_nbytes): MULE-ize.
15605         (Fpq_get_line_async): Ditto.
15606
15607 2000-03-14  SL Baur  <steve@musashimaru.m17n.org>
15608
15609         * postgresql.c (Fpq_lo_import): Fix return value.
15610         Suggested by: Kenji Itoh <keit@tpj.co.jp>.
15611
15612 2000-03-13  Ben Wing  <ben@xemacs.org>
15613
15614         * alloc.c (pdump_load):
15615         Fix compile warning under mswin.
15616
15617 2000-03-14  SL Baur  <steve@musashimaru.m17n.org>
15618
15619         * postgresql.c: Mule-ization, bug fixes.
15620         Use PG_CODING to encapsulate coding system name changes.
15621         Backport a version of TO_EXTERNAL format for 21.1/InfoDock.
15622         (pg-coding-system): Create.
15623
15624         (Fpq_conn_defaults): Mule-ize.
15625         (Fpq_connectdb): Mule-ize & bug fix.
15626         (Fpq_connect_start): Mule-ize.
15627         (Fpq_set_client_encoding): Mule-ize.
15628         (Fpq_finish): Document `DEAD' connection status.
15629         (Fpq_clear): Ditto.
15630         (Fpq_pgconn): Mule-ize.
15631         (Fpq_exec): Mule-ize & bug fix.
15632         (Fpq_send_query): Ditto.
15633         (Fpq_get_result): Ditto.
15634         (Fpq_res_status): Mule-ize.
15635         (Fpq_result_error_message): Mule-ize.
15636         (Fpq_ntuples): fix comments.
15637         (Fpq_fname): Mule-ize.
15638         (Fpq_fnumber): Mule-ize.
15639         (Fpq_ftype): fix comments.
15640         (Fpq_get_value): Mule-ize.
15641         (Fpq_cmd_status): Ditto.
15642         (Fpq_cmd_tuples): Ditto.
15643         (Fpq_oid_value): Ditto.
15644         (Fpq_notifies): Ditto.
15645         (Fpq_lo_import): Ditto.
15646         (Fpq_lo_export): Ditto.
15647         (Fpq_get_line): Ditto.
15648         (Fpq_put_line): Mule-ize and bug fix.
15649         (syms_of_postgresql): Fix ifdef'ing, add pg-coding-system.
15650
15651 2000-03-10  SL Baur  <steve@musashimaru.m17n.org>
15652
15653         * postgresql.c (vars_of_postgresql): Mule-ize.
15654         (Fpq_conn_defaults): Ditto.
15655
15656 2000-03-12  Ben Wing  <ben@xemacs.org>
15657
15658         * alloc.c (Fmake_byte_code):
15659         * alloc.c (debug_string_purity_print):
15660         * alloc.c (pdump_backtrace):
15661         * alloc.c (pdump_get_indirect_count):
15662         * alloc.c (pdump_register_sub):
15663         * alloc.c (pdump_register_object):
15664         * alloc.c (pdump_register_struct):
15665         * alloc.c (pdump_dump_data):
15666         * alloc.c (pdump_reloc_one):
15667         Minor cleanups.
15668
15669         * console-msw.c:
15670         * console-msw.c (GetConsoleHwnd):
15671         * console-msw.c (msw_hide_console):
15672         * console-msw.c (msw_show_console):
15673         * console-msw.c (msw_ensure_console_buffered):
15674         * console-msw.c (msw_output_console_string):
15675         * console-msw.c (console_type_create_mswindows):
15676
15677         a) Added functions to manipulate the console window for use with
15678         shell support.
15679
15680         b) Added support for writing text to the console, which is now
15681         used under Windows when xemacs is not being run non-interactively,
15682         to write text that would otherwise be destined for stdout because
15683         under these circumstances, text written to stdout tends to
15684         disappear and not be seen.
15685
15686         * console-msw.h:
15687         * event-Xt.c:
15688         * event-Xt.c (x_event_to_emacs_event):
15689         * event-Xt.c (describe_event_window):
15690         * events-mod.h (XEMACS_MOD_CONTROL):
15691         * events.c:
15692         * events.c (Fmake_event):
15693         * events.c (character_to_event):
15694         * events.c (event_to_character):
15695         * events.c (format_event_object):
15696         * events.c (Fevent_modifiers):
15697         * events.h:
15698         * events.h (struct key_data):
15699         * events.h (struct button_data):
15700         * events.h (struct misc_user_data):
15701         * frame-x.c (Fcde_start_drag_internal):
15702         * frame-x.c (Foffix_start_drag_internal):
15703         * gpmevent.c (Freceive_gpm_event):
15704         * keymap.c:
15705         * keymap.c (bucky_sym_to_bucky_bit):
15706         * keymap.c (control_meta_superify):
15707         * keymap.c (make_key_description):
15708         * keymap.c (keymap_lookup_directly):
15709         * keymap.c (create_bucky_submap):
15710         * keymap.c (keymap_store):
15711         * keymap.c (define_key_check_and_coerce_keysym):
15712         * keymap.c (define_key_parser):
15713         * keymap.c (define_key_alternate_name):
15714         * keymap.c (Fdefine_key):
15715         * keymap.c (raw_lookup_key_mapper):
15716         * keymap.c (struct map_keymap_unsorted_closure):
15717         * keymap.c (map_keymap_unsorted_mapper):
15718         * keymap.c (map_keymap_sort_predicate):
15719         * keymap.c (map_keymap_sorted):
15720         * keymap.c (accessible_keymaps_mapper_1):
15721         * keymap.c (where_is_recursive_mapper):
15722         * keymap.c (describe_map_mapper):
15723         * keymap.c (describe_map_sort_predicate):
15724         * keymap.c (describe_map):
15725         * keymap.c (complex_vars_of_keymap):
15726         And a number of other files, the key modifier preprocessor
15727         constants that xemacs uses have names that conflict with constants
15728         defined under MS Windows for other purposes, so they were renamed
15729         to begin with the prefix XEMACS_. The variables that hold such
15730         modifiers were changed to consistently be of type int to fix
15731         various compile warnings.
15732
15733         * console.c (complex_vars_of_console):
15734         * device.c:
15735         * device-msw.c:
15736         * device-msw.c (mswindows_finish_init_device):
15737         * device-msw.c (msw_get_workspace_coords):
15738         * device-msw.c (mswindows_device_system_metrics):
15739         and various other files, added support for a new
15740         device property called offset-workspace which returns the position
15741         of the upper left corner of the workspace area and goes along with
15742         the existing size-workspace property.
15743
15744         * dialog-msw.c:
15745         * dialog-msw.c (push_bufbyte_string_as_unicode):
15746         * dialog-msw.c (mswindows_popup_dialog_box):
15747         Added support for XEmacs-style accelerator specifications in
15748         button text.  Note: I didn't add support for this under X Windows,
15749         and somebody needs to do this.
15750
15751         * dialog.c:
15752         * dialog.c (Fpopup_dialog_box):
15753         Documented the support for accelerators that was just mentioned.
15754
15755         editfns.c (get_home_directory): Changed behavior under Windows
15756         when HOME not defined; former behavior was irretrievably broken.
15757
15758         * emacs.c:
15759         * emacs.c (main_1):
15760         * emacs.c (main):
15761         * minibuf.c (clear_echo_area_internal):
15762         * minibuf.c (echo_area_append):
15763         * print.c:
15764         * print.c (std_handle_out_external):
15765         * print.c (std_handle_out_va):
15766         * print.c (fatal):
15767         * print.c (write_string_to_stdio_stream):
15768         * print.c (output_string):
15769         * print.c (debug_print):
15770         * print.c (debug_backtrace):
15771         * print.c (debug_short_backtrace):
15772         Cleaned up the code that prints text to stdout so that this can be
15773         changed to output into a console window instead under MS Windows,
15774         as described above.
15775
15776         * eval.c:
15777         * eval.c (DEFEND_AGAINST_THROW_RECURSION):
15778         * eval.c (internal_catch):
15779         * eval.c (unwind_to_catch):
15780         * eval.c (throw_or_bomb_out):
15781         * eval.c (condition_case_1):
15782         * eval.c (signal_1):
15783         * eval.c (check_error_state_sanity):
15784         * eval.c (call_with_suspended_errors_1):
15785         * eval.c (call_with_suspended_errors):
15786         * eval.c (reinit_vars_of_eval):
15787         Added code to catch throw loops and check for a pesky bug that may
15788         be gone now.
15789
15790         * event-msw.c:
15791         * event-msw.c (key_needs_default_processing_p):
15792         * event-msw.c (mswindows_wnd_proc):
15793         * event-msw.c (mswindows_modifier_state):
15794         * event-msw.c (emacs_mswindows_quit_p):
15795         * event-msw.c (vars_of_event_mswindows):
15796         a) Added support for using the alt key to select menu items as is
15797         standard under MS Windows.  This is controlled using the variable
15798         menu-accelerator-enabled, just like under X Windows.  There is an
15799         option on the options menu to turn this support on.  I really
15800         think that it should be on by default under Windows, but I'm not
15801         going to make this change yet.
15802
15803         b)  Added support for dynamic display size changes under Windows.
15804
15805         * event-stream.c:
15806         * event-stream.c (maybe_echo_keys):
15807         * event-stream.c (Fnext_event):
15808         * event-stream.c (command_builder_find_leaf):
15809         * event-stream.c (lookup_command_event):
15810         * event-stream.c (execute_command_event):
15811         * event-stream.c (pre_command_hook):
15812         * event-stream.c (post_command_hook):
15813         * event-stream.c (syms_of_event_stream):
15814         * event-stream.c (vars_of_event_stream):
15815         * event-stream.c (complex_vars_of_event_stream):
15816         * events.h (struct command_builder):
15817
15818         a) Tried to clean up a little bit the horribly written x-specific
15819         accelerator code that crept into this file.  I moved this code
15820         into menubar-x.c where it belongs. I also needed to move the
15821         command builder structure into the file events.h because it is
15822         accessed directly by this accelerator code.  What I didn't do, but
15823         which should be done at some point, is to properly abstract this
15824         code using device methods instead of the kludgy way that it
15825         currently hooks into the event code.
15826
15827         b) Added the lisp variables this-command-properties and
15828         last-command- properties, which should be used to synchronize two
15829         adjacent commands in preference to playing games with the variable
15830         this-command, which is typically what happens.
15831
15832         c) Added some slightly nasty code to hook into the lisp support
15833         for shifted- motion-key selection.  This is actually necessary for
15834         somewhat complicated reasons, which are described in
15835         simple.el. (NB: I think the proper thing would be to have the code
15836         that calls the pre and post command hooks also call out to generic
15837         lisp functions in simple.el, where all built-in stuff could be
15838         added.  I will think about this more.)
15839
15840         * event-unixoid.c (poll_fds_for_input):
15841         * lread.c (readchar):
15842         * redisplay-tty.c (tty_clear_frame):
15843         * redisplay-x.c (x_get_gc):
15844         * signal.c (interrupt_signal):
15845         And a whole bunch of other files: fixed up places that printed
15846         directly to stderr to instead call the function stderr_out so that
15847         the changes I made under Windows work correctly.
15848
15849         * filemode.c (mode_string):
15850         Warning fixes.
15851
15852         * frame-msw.c:
15853         * frame-msw.c (mswindows_size_frame_internal):
15854         Fixed the computation of frame size and position to keep the frame
15855         within the workspace area, rather than within the physical
15856         dimensions of the screen, so that the frame doesn't overlap window
15857         manager decorations, such as the start menu and toolbar, typically
15858         at the bottom of the screen.
15859
15860         * frame.c (vars_of_frame):
15861         Changed the default frame title format under MS Windows to consist
15862         of buffername-XEmacs, which is standard under MS Windows.  I think
15863         it might be a good idea to change this everywhere because I think
15864         it is superior to the current frame title format, but this is the
15865         kind of change that is likely to cause some people to get annoyed,
15866         so I'm not making it.
15867
15868         * glyphs-eimage.c (png_instantiate): Fixed some compile warnings.
15869
15870         * gui-msw.c (mswindows_handle_gui_wm_command):
15871         Fixed compile warnings.
15872
15873         * gui-x.c:
15874         * gui-x.c (strdup_and_add_accel):
15875         * gui-x.c (button_item_to_widget_value):
15876         * gui-x.h:
15877         Added code to automatically put an accelerator onto the beginning
15878         of menu items that don't have one as is now the standard, and is
15879         described more later.  Also fixed things so that the menu item
15880         name can be an evaluated expression, again a new standard.
15881
15882         * gui.c:
15883         * gui.c (gui_item_add_keyval_pair):
15884         * gui.c (make_gui_item_from_keywords_internal):
15885         * gui.c (gui_add_item_keywords_to_plist):
15886         * gui.c (gui_item_accelerator):
15887         * gui.c (gui_name_accelerator):
15888         * gui.c (gui_item_included_p):
15889         * gui.c (gui_item_display_flush_left):
15890         * gui.c (gui_item_display_flush_right):
15891         * gui.c (parse_gui_item_tree_item):
15892         * gui.c (parse_gui_item_tree_children):
15893         * gui.c (parse_gui_item_tree_list):
15894         Mule-ized.  Cleanup.  GCPRO addition.
15895
15896         * line-number.c (buffer_line_number):
15897         * lisp.h:
15898         * lisp.h (EMACS_INT_MAX):
15899         Added the manifest constant EMACS_INT_MIN corresponding to the
15900         existing constant EMACS_INT_MAX.  This is partially to fix compile
15901         warnings under Windows, and partly for cleanliness.
15902
15903         * menubar-msw.c:
15904         * menubar-msw.c (REPLACE_ME_WITH_GLOBAL_VARIABLE_WHICH_CONTROLS_RIGHT_FLUSH):
15905         * menubar-msw.c (msw_translate_menu_or_dialog_item):
15906         * menubar-msw.c (displayable_menu_item):
15907         * menubar-msw.c (populate_menu_add_item):
15908         * menubar-msw.c (populate_or_checksum_helper):
15909         * menubar-msw.c (populate_menu):
15910         * menubar-msw.c (update_frame_menubar_maybe):
15911         * menubar-msw.c (prune_menubar):
15912         * menubar-msw.c (msw_char_is_accelerator):
15913         * menubar-msw.c (unsafe_handle_wm_initmenu_1):
15914         * menubar-msw.c (mswindows_handle_wm_command):
15915         * menubar-msw.c (mswindows_handle_wm_initmenupopup):
15916         * menubar-msw.c (mswindows_handle_wm_initmenu):
15917         * menubar-msw.c (mswindows_update_frame_menubars):
15918         * menubar-msw.c (mswindows_free_frame_menubars):
15919         * menubar-msw.c (mswindows_popup_menu):
15920         Fixed a bug in handling accelerators where an extra character
15921         would be displayed in the menu item.  Also generalized the
15922         function displayable_menu_item because it is now used by the
15923         dialog box code as well.  And finally, added code in the functions
15924         that create the menubar to extract a list of accelerators for the
15925         top level menubar, which is used in the event code to determine
15926         whether a particular alt-key combination should be used to invoke
15927         a menu item, or should be passed through to access the standard
15928         XEmacs keymap binding for this key combination.
15929
15930         Much needed GCPROing.
15931
15932         * menubar-x.c:
15933         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
15934         * menubar-x.c (menu_item_descriptor_to_widget_value):
15935         * menubar-x.c (restore_in_menu_callback):
15936         * menubar-x.c (x_popup_menu):
15937         * menubar-x.c (menu_move_up):
15938         * menubar-x.c (menu_move_down):
15939         * menubar-x.c (menu_move_left):
15940         * menubar-x.c (menu_move_right):
15941         * menubar-x.c (menu_select_item):
15942         * menubar-x.c (command_builder_operate_menu_accelerator):
15943         * menubar-x.c (menu_accelerator_junk_on_error):
15944         * menubar-x.c (command_builder_find_menu_accelerator):
15945         * menubar-x.c (Faccelerate_menu):
15946         * menubar.h:
15947         Moved a whole bunch of code here that was previously in
15948         event-stream.c as described above.  There is also code connected
15949         to the new standard of adding an accelerator to the beginning of
15950         menu items that don't have one as described above and below.
15951
15952         * menubar.c:
15953         * menubar.c (menu_parse_submenu_keywords):
15954         * menubar.c (Fmenu_find_real_submenu):
15955         * menubar.c (Fnormalize_menu_item_name):
15956         * menubar.c (syms_of_menubar):
15957         * menubar.c (vars_of_menubar):
15958         * menubar.c (complex_vars_of_menubar):
15959
15960         a) Cleaned up a bunch of documentation and improved it.
15961
15962         b) XEmacs now automatically adds an accelerator onto the beginning
15963         of any menu items that don't have one.  I did this because there
15964         will inevitably be some menu items on the main menubar that don't
15965         have accelerators on them because the package that adds that
15966         particular menu item hasn't yet been fixed up to have accelerators
15967         in them and it looked rather strange to have some items with and
15968         some items without accelerators, especially since even in items
15969         without accelerators, you can, at least under windows, still
15970         access the item through an accelerator corresponding to the first
15971         character in the item's name.  If people don't like this behavior,
15972         I can add a variable to turn it off optionally, but I'm not sure
15973         this is a good idea because we really do need to have accelerators
15974         on all of the menu items, and if a package doesn't like the
15975         accelerators being put on the first character, then it should put
15976         the accelerators where they belong.
15977
15978         c) I made a behavior change, which is that the descriptor that
15979         specifies the text of the menu item, which formerly was just a
15980         string, can now also be an evaluated expression.  This makes this
15981         descriptor parallel with all of the others, which could also be
15982         evaluated expressions.  This also obviates the need for the
15983         keyword :label, which was previously listed in the documentation
15984         as unimplemented, and which was for the same purpose.
15985
15986         d) GCPROing.
15987
15988         * ntproc.c:
15989         * ntproc.c (new_child):
15990         * ntproc.c (sys_spawnve):
15991         * ntproc.c (find_child_console):
15992         * ntproc.c (sys_kill):
15993         Fixed compile warnings.  By the way, this file should really go
15994         away entirely, and this will happen as soon as Kirill makes his
15995         final round of process cleanups, which affect the function
15996         call-process.
15997
15998         * process-nt.c:
15999         * process-nt.c (struct nt_process_data):
16000         * process-nt.c (find_process_from_pid):
16001         * process-nt.c (send_signal_the_nt_way):
16002         * process-nt.c (enable_child_signals):
16003         * process-nt.c (find_child_console):
16004         * process-nt.c (send_signal_the_95_way):
16005         * process-nt.c (nt_finalize_process_data):
16006         * process-nt.c (ensure_console_window_exists):
16007         * process-nt.c (nt_create_process):
16008         * process-nt.c (nt_kill_child_process):
16009         * process-nt.c (nt_kill_process_by_pid):
16010         * process-nt.c (nt_open_network_stream):
16011         * process-nt.c (vars_of_process_nt):
16012         Copied over code from Emacs 20.5 to correctly send signals to sub-
16013         processes under Windows 95.  Also added code to automatically
16014         create and hide console window when a sub-process is created under
16015         Windows 95, which obviates the need for the separate runemacs.exe
16016         executable, and finally implemented some variables that were
16017         implemented in Emacs 20.5, but previously not in XEmacs.  These
16018         include mswindows- start-process-share-console and
16019         mswindows-start-process-inherit-error-mode. (Both of these only
16020         apply to Windows 95.)
16021
16022         * regex.c (regex_compile): Fixed a compile warning.
16023
16024         * select-msw.c:
16025         * select-msw.c (mswindows_own_selection):
16026         * select-msw.c (mswindows_get_foreign_selection):
16027         * select-msw.c (mswindows_disown_selection):
16028         * select-msw.c (console_type_create_select_mswindows):
16029         * select-msw.c (syms_of_select_mswindows):
16030         Cleaned up the file and implemented the device method
16031         selection_exists_p, which had accidentally been left out.  Also
16032         removed four lisp functions that were remnants from before the
16033         time when the selection code was properly device abstracted.
16034         These functions are no longer needed because there are generic
16035         equivalents, and because they were added recently and don't exist
16036         in FSF Emacs, I don't think there's any problem with just deleting
16037         them.
16038
16039         * sysdep.c:
16040         * sysdep.c (sys_subshell):
16041         Fixed a compile warning, although in this case there's probably
16042         something wrong with this code, and it ought to be looked into
16043         more thoroughly by somebody who understands it.
16044
16045         * window.c:
16046         * window.c (Fwindow_text_area_height):
16047         * window.c (Fwindow_width):
16048         * window.c (Fwindow_full_width):
16049         * window.c (Fwindow_pixel_width):
16050         * window.c (debug_print_window):
16051         * window.c (syms_of_window):
16052         Added functions window-text-area-height and window-full-width,
16053         which are functions for returning various width and height
16054         characteristics of a window. (One of these functions is necessary
16055         for making the file dialog box work correctly, and the other one
16056         was added for completeness.)  Also added a table to the
16057         documentation for window-height which describes the entire scheme
16058         for accessing width and height characteristics of a window.
16059
16060 2000-03-12  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16061
16062         * nt.c (fstat): Added a comment for another problem with
16063         non-encapsulated [f]stat(), reported by Adrian Aichner
16064         <aichner@ecf.teradyne.com>.
16065
16066 2000-03-11  Andy Piper  <andy@xemacs.org>
16067
16068         * window.c (make_dummy_parent): initialize subwindow instance
16069         cache.
16070         (Fset_window_configuration): zero extent_modiff.
16071
16072 2000-03-10  Andy Piper  <andy@xemacs.org>
16073
16074         * redisplay.c (Fredraw_frame): reset the changed_set flags so that
16075         more changes can be triggered.
16076         (Fredisplay_frame): ditto.
16077         (Fredraw_device): ditto.
16078         (Fredisplay_device): ditto.
16079         (redisplay_frame): make non-static.
16080         (redisplay_frame): call update_frame_gutter_geometry outside of
16081         display proper.
16082
16083         * gutter.h: declare update_frame_gutter_geometry.
16084
16085         * redisplay.h: declare redisplay_frame.
16086
16087         * gutter.c (update_frame_gutter_geometry): move geometry changes
16088         in update_frame_gutters here. Geometry changes can only occur
16089         outside of redisplay.
16090         (update_frame_gutters): remove geometry change code.
16091         (Fredisplay_gutter_area): make sure that we are in display when we
16092         update and that we have flushed any size changes.
16093
16094 2000-03-11  Andy Piper  <andy@xemacs.org>
16095
16096         * alloc.c (pdump_dump_data): remove i & count shadows.
16097
16098 2000-02-27  Mike Alexander  <mta@arbortext.com>
16099
16100         * sysdep.h: Declare pdump_read_file
16101
16102         * sysdep.c (pdump_read_file): New function
16103
16104         * alloc.c (pdump_load): Call pdump_read_file to get the portable
16105         dump data
16106
16107 2000-03-10  SL Baur  <steve@musashimaru.m17n.org>
16108
16109         * lrecord.h: add `lrecord_type_pgsetenv'.
16110
16111 2000-03-08  SL Baur  <steve@musashimaru.m17n.org>
16112
16113         * symsinit.h: declare (vars|syms)_of* functions.
16114         * lrecord.h: add `lrecord_type_pgconn' and 'lrecord_type_pgresult'.
16115
16116 2000-03-06  SL Baur  <steve@musashimaru.m17n.org>
16117
16118         * config.h.in: Add symbols HAVE_POSTGRESQL and HAVE_POSTGRESQLV7
16119
16120         * inline.c: Include postgresql.h lrecord stuffs to placate buggy
16121         GCCs.
16122
16123         * emacs.c (main_1): Call postgres initialization code.
16124
16125         * postgresql.h: New file.  PostgreSQL RDBMS support.
16126         * postgresql.c: New file.
16127
16128 2000-03-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
16129
16130         * redisplay-output.c (redisplay_output_display_block): Disable
16131         redundant code.
16132
16133 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
16134
16135         * mule-canna.c (Fcanna_henkan_region): Translate doc-string.
16136         (Fcanna_henkan_next): Ditto.
16137         (Fcanna_bunsetu_henkou): Ditto.
16138         (Fcanna_henkan_kakutei): Ditto.
16139         (Fcanna_henkan_end): Ditto.
16140         (Fcanna_henkan_quit): Ditto.
16141         (Fcanna_henkan_next): Set retun value correctly.
16142         (c2mu): Use unsigned char instead of signed char.
16143
16144 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
16145
16146         * emacs.c (main_1): Always call syms_of_gui.
16147         * inline.c: include gui.h
16148
16149 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
16150
16151         * redisplay.c (Vvisible_bell): Renamed from visible_bell and
16152         converted to Lisp_Object.
16153         (Qtop_bottom): New variable.
16154         (syms_of_redisplay): Initialize it.
16155         * redisplay.h (Vvisible_bell): Ditto.
16156         * sound.c (ding): Ditto and check if Vvisible_bell is nil.
16157         * redisplay-x.c (x_flash): When Vvisible_bell is top-bottom,
16158         only flash top and bottom.
16159
16160 2000-03-08  Andy Piper  <andy@xemacs.org>
16161
16162         * buffer.c (Frename_buffer): record new buffer name the right way.
16163
16164 2000-03-08  Andy Piper  <andy@xemacs.org>
16165
16166         * glyphs.c (update_subwindow): increase hash depth so that widget
16167         items get picked up properly.
16168
16169         * redisplay-output.c (compare_runes): increase hash depth so that
16170         widget items get picked up properly.
16171
16172 2000-03-08  Andy Piper  <andy@xemacs.org>
16173
16174         * gutter.c (output_gutter): add some debug.
16175
16176         * glyphs.h (struct Lisp_Image_Instance): add display_hash.
16177         (IMAGE_INSTANCE_DISPLAY_HASH): new macro.
16178         (XIMAGE_INSTANCE_DISPLAY_HASH): ditto.
16179
16180         * redisplay-output.c (compare_runes): use display_hash to
16181         determine if glyphs really are not the same.
16182
16183         * glyphs.c (update_subwindow): check display_hash to see if
16184         anything really needs to be updated. If not then do
16185         nothing. Record the display_hash after updating.
16186         (image_instance_equal): compare the image_instance face also.
16187
16188 2000-03-07  Yoshiki Hayashi  <yoshiki@xemacs.org>
16189
16190         * redisplay.h: Fix comment style.
16191
16192 2000-03-08  Jonathan Harris  <jhar@tardis.ed.ac.uk>
16193
16194         * consle-msw.h (struct mswindows_frame):
16195         Added new member paint_pending to indicate whether a WM_PAINT
16196         magic event has been queued for this frame.
16197
16198         * event-msw.c (mswindows_drain_windows_queue):
16199         Don't queue a WM_PAINT magic event if one is already queued.
16200         (emacs_mswindows_handle_magic_event): clear paint_pending flag.
16201
16202         * frame-msw.c (mswindows_init_frame_1): initialise paint_pending flag.
16203
16204 2000-03-07  Didier Verna  <didier@xemacs.org>
16205
16206         * dired.c: #include `regex.h' after `sysfile.h'.
16207
16208 2000-03-06  Martin Buchholz  <martin@xemacs.org>
16209
16210         * sound.c (init_nas_sound): Fix compiler warning.
16211
16212         * alloc.c (ALIASING_VOIDPP_DEREFERENCE): New.
16213         (FREE_STRUCT_P):
16214         (MARK_STRUCT_AS_FREE):
16215         (MARK_STRUCT_AS_NOT_FREE):
16216         Make `gcc -fstrict-aliasing' work properly.
16217
16218 2000-03-07  Jonathan Harris  <jhar@tardis.ed.ac.uk>
16219
16220         * device-msw.c (mswindows_finish_init_device): Call CoInitialize().
16221         (mswindows_delete_device): Call CoUnnitialize().
16222
16223         * event-msw.c (mswindows_wnd_proc): WM_DROPFILES: Decode Shortcuts.
16224
16225 2000-02-25    <CraigL@DyCon.com>
16226
16227         * process-nt.c: MinGW now has <shellapi.h>, but still needs
16228         <errno.h>.
16229
16230         * sysdep.c: This extern declaration for environ prevents MinGW
16231         from finding the variable in CRTDLL.DLL.
16232
16233         * s\mingw32.h (PBS_SMOOTH): Removed, now defined in cygwin's
16234         windows headers.
16235         (SHGFI_EXETYPE): ..
16236         (WM_MOUSEWHEEL): ..
16237         (_WIN32_IE): Added, needed to get the TCS_BOTTOM and TCS_VERTICAL
16238         definitions.
16239         (MMRESULT): Removed, now defined in cygwin's windows headers.
16240         (TIMECAPS): ..
16241         (uid_t,gid_t,pid_t,ssize_t): ..
16242         (_timeb): Removed, MinGW defines both _timeb and timeb.
16243         (HAVE_H_ERRNO): Added.
16244         (HAVE_TZNAME): Added, configure is not detecting this.
16245
16246 2000-02-03  IKEYAMA Tomonori <tomonori@suiyokai.org>
16247
16248         * chartab.h (XCHAR_TABLE_VALUE_UNSAFE): New macro.
16249         * syntax.c (syntax_match): Use it.
16250
16251         * cmds.c: Import auto-fill-chars from FSF Emacs.
16252         (Vauto_fill_chars): New variables.
16253         (internal_self_insert): Check Vauto_fill_chars.
16254         (vars_of_cmds):
16255         Declare auto-fill-chars as a Lisp variable and initialize it.
16256
16257 2000-03-05  Jonathan Harris  <jhar@tardis.ed.ac.uk>
16258
16259         * fileio.c (Fmake_symbolic_link):
16260         (Ffile_symlink_p):
16261         Run handlers even if local machine doesn't have symlinks.
16262
16263 2000-03-05  Jonathan Harris  <jhar@tardis.ed.ac.uk>
16264
16265         * event-msw.c (mswindows_drain_windows_queue):
16266         Don't generate paint magic events for non-XEmacs frames.
16267
16268 2000-03-05  Andy Piper  <andy@xemacs.org>
16269
16270         * redisplay.c (redisplay_frame): generate_displayable_area and
16271         friends assumes that we are not in GC, we therefore have to make
16272         sure that this doesn't happen.
16273
16274         * gutter.c (calculate_gutter_size): generate_displayable_area
16275         assumes that we are not in GC, we therefore have to make sure that
16276         this doesn't happen.
16277
16278 2000-03-05  Martin Buchholz  <martin@xemacs.org>
16279
16280         * opaque.c (DEFINE_LRECORD_IMPLEMENTATION): opaque_ptr ==> opaque-ptr
16281
16282 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
16283
16284         * redisplay.c (regenerate_window): Make sure we set a sane value
16285         for end_pos even if we jump out of the loop.
16286         (regenerate_window): Answer Ben's question :-).
16287         (start_end_of_last_line): Add may_error argument.
16288         (start_of_last_line):
16289         (end_of_last_line): Pass may_error = 0.
16290         (end_of_last_line_may_error): New function.
16291         (pixel_to_glyph_translation): Use it, so we don't crash in
16292         event_to_glyph.
16293
16294 2000-03-04  Andy Piper  <andy@xemacs.org>
16295
16296         * window.h (struct window): add gutter_extent_modiff.
16297
16298         * window.c (allocate_window): zero out gutter_extent_modiff.
16299
16300         * redisplay.h: declare sync_display_line_structs.
16301
16302         * redisplay.c (add_glyph_rune): add a better comment.
16303
16304         * redisplay-output.c (sync_display_line_structs): made non-static.
16305         (compare_runes): remove unneccesary glyph cachel access.
16306
16307         * gutter.h: declare gutter_extent_signal_changed_region_maybe.
16308
16309         * gutter.c (output_gutter): don't output the gutter if extent
16310         changes only involve extents in buffers. use 4 sets of display
16311         lines.
16312         (gutter_extent_signal_changed_region_maybe): new function. Mark
16313         extents in gutters as changed.
16314         (update_frame_gutters): use 4 sets of display lines.
16315         (reset_gutter_display_lines): ditto.
16316         (free_frame_gutters): ditto.
16317         (redraw_exposed_gutter): force output of gutters.
16318
16319         * frame.h (struct frame): add 4 sets of gutter display lines.
16320
16321         * extents.c: (extent_changed_for_redisplay): signal changes to
16322         extents in strings in the gutter as well as extents in buffers.
16323
16324 2000-03-02  Andy Piper  <andy@xemacs.org>
16325
16326         * gutter.c (specifier_vars_of_gutter): cosmetic changes.
16327
16328         * frame.c (Fmake_frame): make sure the gutters get initialized
16329         after the frame is visible.
16330         (set_frame_selected_window): re-arrange compilation macros a
16331         little.
16332         (change_frame_size_1): mark gutters changed.
16333
16334         * device.c (Fset_device_class): mark gutters changed.
16335
16336 2000-03-01  Andy Piper  <andy@xemacs.org>
16337
16338         * window.c (window_top_frame_gutter_height): deleted.
16339         (window_bottom_frame_gutter_height): ditto.
16340         (window_left_frame_gutter_height): ditto.
16341         (window_right_frame_gutter_height): ditto.
16342         (window_top_gutter_height): don't use them.
16343         (window_bottom_gutter_height): ditto.
16344         (window_left_gutter_width): ditto.
16345         (window_right_gutter_width): ditto.
16346         (Fsplit_window): ditto.
16347         (Fwindow_pixel_edges): don't use border dimensions here.
16348
16349         * scrollbar.c (update_scrollbar_instance): don't take gutters into account.
16350         (update_scrollbar_instance): ditto.
16351
16352         * redisplay.c (generate_modeline): don't take gutters into account.
16353         (generate_modeline): ditto.
16354         (redisplay_frame): small gutter display optimization.
16355
16356         * redisplay-x.c (x_output_vertical_divider): don't take gutters into account.
16357
16358         * redisplay-msw.c (mswindows_output_vertical_divider): don't take
16359         gutters into account.
16360
16361         * gutter.h (WINDOW_REAL_*_GUTTER_BOUNDS): remove bogus checks
16362         for window position and type.
16363
16364         * gutter.c (get_gutter_coords): fix for frame gutters.
16365         (update_frame_gutters): update frame geometry if the gutters have
16366         changed.
16367         (init_frame_gutters): record current gutter geometries.
16368
16369         * glyphs-msw.c (mswindows_subwindow_instantiate): remove unused
16370         var.
16371         (mswindows_widget_instantiate): ditto.
16372
16373         * frame.h (struct frame): add current_gutter_bounds.
16374
16375         * frame.c (change_frame_size_1): position window and minibuffer
16376         appropriately taking into account the frame gutters.
16377
16378         * frame-x.c: (x_initialize_frame_size): take into account the
16379         frame gutters.
16380
16381 2000-02-29  Stephen J. Turnbull  <stephen@xemacs.org>
16382
16383         * emacs.c (data-directory):  Xref `locate-data-file' in docstring.
16384
16385 2000-02-29  Stephen J. Turnbull  <stephen@xemacs.org>
16386
16387         * alloc.c (dumpopaquevec): Increase dimension for --with-canna.
16388
16389 1999-12-30  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
16390
16391         * file-coding.c (reset_decoding_stream): Clear previous
16392         detection state when autodetect.
16393
16394 2000-02-29  Didier Verna  <didier@xemacs.org>
16395
16396         * extents.c (set_extent_glyph_1): don't require extents to be
16397         attached.
16398
16399 2000-02-27  Andy Piper  <andy@xemacs.org>
16400
16401         * gutter.c (Fset_default_gutter_position): don't default left and
16402         right gutter visibility to t.
16403         (Fset_default_gutter_position): run
16404         default-gutter-position-changed-hook.
16405         (syms_of_gutter): add default-gutter-position-changed-hook.
16406
16407 2000-02-26  Andy Piper  <andy@xemacs.org>
16408
16409         * specifier.c (Fmake_specifier): add gutter references.
16410
16411         * gutter.h (RAW_WINDOW_GUTTER): new macro.
16412
16413         * lisp.h: declare Fvalid_plist_p.
16414
16415         * gutter.c (gutter_geometry_changed_in_window): mark the modeline
16416         as changed.
16417         (default_gutter_visible_p_changed_in_window): invalidate gutter as
16418         well as its visibility so that it gets reconstructed.
16419         (construct_window_gutter_spec): new function. Construct a string
16420         to be displayed in the gutter from a plist of strings. Take care
16421         to only use elements that are declared as visible.
16422         (calculate_gutter_size): use RAW_WINDOW_GUTTER instead of
16423         WINDOW_GUTTER.
16424         (gutter_validate): allow plists of strings in the specifier.
16425         (gutter_specs_changed): construct the real_gutter from the gutter
16426         specs using construct_window_gutter_spec.
16427         (gutter_visible_validate): gutter-visible is a new specifier type.
16428         (Fgutter_visible_specifier_p): new function for the new specifier.
16429         (syms_of_gutter): declare gutter-visible and
16430         Fgutter_visible_specifier_p.
16431         (specifier_type_create_gutter): intitalize new gutter-visible
16432         specifier.
16433         (reinit_specifier_type_create_gutter): ditto.
16434         (specifier_vars_of_gutter): use new specifier type for gutter
16435         visibility.
16436         (init_frame_gutters): construct real_gutter correctly.
16437         (Fgutter_specifier_p): beef up documentation.
16438         (Fgutter_size_specifier_p): ditto.
16439
16440         * winslots.h: add real_gutter slots.
16441
16442 2000-02-25  Andy Piper  <andy@xemacs.org>
16443
16444         * device-msw.c: Be kind to older cygwin versions. From Raymond
16445         Toy <toy@rtp.ericsson.se>.
16446
16447         * gui-msw.c (Fmswindows_shell_execute): Remove things unknown to
16448         earlier cygwins. From Raymond Toy <toy@rtp.ericsson.se>.
16449
16450 2000-02-25  Martin Buchholz  <martin@xemacs.org>
16451
16452         * elhash.c (MARK_OBJ): Practice macro hygiene.
16453
16454 2000-02-24  Martin Buchholz  <martin@xemacs.org>
16455
16456         * miscplay.c: s/__inline__/inline/g;
16457         * glyphs-msw.c (set_mono_pixel): INLINE ==> static inline
16458         (get_device_compdc): INLINE ==> static inline
16459         * *.[ch]: Change INLINE to INLINE_HEADER globally.
16460         find -name '*.h' | \
16461         xargs global-replace \
16462         's/(^|(?<=[^A-Za-z0-9_]))INLINE((?=[^A-Za-z0-9_])|$)/INLINE_HEADER/g'
16463
16464 2000-02-25  Andy Piper  <andy@xemacs.org>
16465
16466         * window.c (window_top_frame_gutter_height): new function.
16467         (window_top_window_gutter_height): ditto.
16468         (window_top_gutter_height): use them.
16469         (window_bottom_frame_gutter_height): new function.
16470         (window_bottom_window_gutter_height): ditto.
16471         (window_bottom_gutter_height): use them.
16472         (window_left_window_gutter_width): new function.
16473         (window_left_frame_gutter_width): ditto.
16474         (window_left_gutter_width): use them.
16475         (window_right_window_gutter_width): new function.
16476         (window_right_frame_gutter_width): ditto.
16477         (window_right_gutter_width): use them.
16478         (window_pixel_height): new function. calulate window pixel height
16479         with frame gutter involvement.
16480         (Fsplit_window): calculate new sizes taking frame gutters into
16481         account.
16482         (window_char_height_to_pixel_height): don't include frame gutters.
16483         (window_char_height): use window_pixel_height.
16484         (window_pixheight): rename from window_pixel_height.
16485         (change_window_height): use it.
16486         (window_pixel_height_to_char_height): don't include frame gutters.
16487         (window_char_width_to_pixel_width): ditto.
16488
16489 2000-02-25  Andy Piper  <andy@xemacs.org>
16490
16491         * glyphs.h (IMAGE_INSTANCE_FACE): glyph might be nil, don't crash
16492         if it is.
16493
16494 2000-02-24  Martin Buchholz  <martin@xemacs.org>
16495
16496         * alloc.c (staticpro):
16497         (staticpro_nodump):
16498         (dumpstruct):
16499         (dumpopaque):
16500         (pdump_wire):
16501         (pdump_wire_list):
16502         (compact_string_chars):
16503         (pdump_dump_wired):
16504         Convert:  if (foo) abort();  ==>  assert (! foo);
16505
16506         * eldap.c (Fldap_search_basic):
16507         (Fldap_add):
16508         (Fldap_modify):
16509         (Fldap_delete):
16510         Fix compiler warnings, and possible crashes if (random) return
16511         value were to be used.
16512
16513 2000-02-21  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16514
16515         * device-msw.c: Workaround ResetDC failure.
16516
16517         * frame-msw.c (msprinter_init_frame_3): Added an assertion before
16518         applying a devmode.
16519
16520         * redisplay-msw.c (get_frame_dc): Added start_page_p.
16521         (mswindows_text_width): Do not start printer page.
16522
16523         * console-msw.h (CHECK_MSGDI_DEVICE): Added this and friends.
16524
16525         * glyphs-msw.c: Added image methods to msprinter console and
16526         msprinter-specific image instantiation.
16527
16528 2000-02-20  Mike Alexander  <mta@arbortext.com>
16529
16530         * select-msw.c (Fmswindows_set_clipboard): GC protect more things
16531         to avoid crashes when selection-sets-clipboard is on
16532         (mswindows_own_selection): ditto
16533
16534 2000-02-19  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16535
16536         * glyphs-msw.c:
16537         * redisplay-msw.c (get_frame_dc):
16538         (get_frame_compdc):
16539         * console-msw.h:
16540         * device-msw.c (mswindows_init_device):
16541         (mswindows_delete_device):
16542         (msprinter_init_device):
16543         (msprinter_delete_device):
16544         * frame-msw.c (mswindows_init_frame_1):
16545         (mswindows_delete_frame):
16546         (msprinter_init_frame_3):
16547         (msprinter_delete_frame): Move compatible DC to device object from
16548         frame object, for both mswindows and msprinter. Only one at a time
16549         is needed, it is a real waste to have one per frame!
16550
16551 2000-02-23  Andy Piper  <andy@xemacs.org>
16552
16553         * glyphs.c: add dynamic width and height elements.
16554         (image_instance_equal): ditto.
16555
16556         * glyphs-widget.c (widget_query_geometry): calculate width and
16557         height dynamically if required.
16558         (initialize_widget_image_instance): initialize dynamic dimensions.
16559         (widget_instantiate): pick-up dynamic dimensions.
16560
16561         * glyphs.h (struct Lisp_Image_Instance): add width and height for
16562         dynamic determination. Add appropriate macros.
16563
16564         * gutter.h (WINDOW_GUTTER_BORDER_WIDTH): make non-integer
16565         dimensions safe.
16566         (WINDOW_GUTTER_SIZE): ditto.
16567         (WINDOW_GUTTER_SIZE_INTERNAL): ditto.
16568
16569         * redisplay-msw.c (get_frame_compdc): gcc can't cope with this
16570         inline.
16571         (get_frame_dc): ditto.
16572
16573         * redisplay.h (GLOBAL_RESET_CHANGED_FLAGS): don't reset faces
16574         here.
16575
16576 2000-02-23  Martin Buchholz <martin@xemacs.org>
16577
16578         * XEmacs 21.2.31 is released.
16579
16580 2000-02-22  Ben Wing <ben@xemacs.org>
16581
16582         * ntheap.c (allocate_heap): Make sure `ptr' is initialized.
16583
16584 2000-02-22  Andy Piper  <andy@xemacs.org>
16585
16586         * glyphs-x.c (x_widget_instantiate): don't explicitly resize here.
16587
16588 2000-02-21  Mike Sperber <mike@xemacs.org>
16589
16590         * .dbxrc:
16591         * .gdbinit:
16592         * Makefile.in.in: Remove obsolete EMACSBOOTSTRAP... environment
16593         variables.
16594
16595 2000-02-21  Mike Sperber <mike@xemacs.org>
16596
16597         * s/aix4.h: Declare getaddrinfo broken for AIX 4, which it is.
16598
16599 2000-02-21  Martin Buchholz <martin@xemacs.org>
16600
16601         * XEmacs 21.2.30 is released.
16602
16603 2000-02-20  Martin Buchholz  <martin@xemacs.org>
16604
16605         Performance hacking.
16606         * *.c (syms_of_*):
16607         Add INIT_LRECORD_IMPLEMENTATION macros, paired with
16608         DEFINE_LRECORD_IMPLEMENTATION macros in the same file.
16609         * emacs.c (main_1):
16610         * lisp.h (DEFUN):
16611         * console.c (DEFVAR_CONSOLE_LOCAL_1):
16612         * buffer.c (DEFVAR_BUFFER_LOCAL_1):
16613         * symeval.h (DEFVAR_SYMVAL_FWD):
16614         * symbols.c (guts_of_unbound_marker):
16615         Make all c_readonly objects also lisp_readonly and marked for life.
16616         * lrecord.h (struct lrecord_implementation):
16617         Document flags better.
16618         * lrecord.h (DEFINE_LRECORD_SEQUENCE_IMPLEMENTATION_WITH_PROPS):
16619         * lrecord.h (DECLARE_LRECORD):
16620         * lrecord.h (XSETRECORD):
16621         * lrecord.h (RECORDP):
16622         * lrecord.h (RECORD_TYPEP):
16623         * lrecord.h (RECORD_MARKER): New.
16624         * lrecord.h (error_check_*):
16625         * lrecord.h (CONCHECK_NONRECORD):
16626         * lrecord.h (MAKE_LRECORD_IMPLEMENTATION):
16627         * lrecord.h (INIT_LRECORD_IMPLEMENTATION): New.
16628         * lrecord.h (set_lheader_implementation):
16629         * lrecord.h (enum lrecord_type): New.
16630         * symeval.h (SYMBOL_VALUE_MAGIC_P):
16631         * alloc.c (disksave_object_finalization_1):
16632         * alloc.c (mark_object):
16633         * alloc.c (lrecord_type_index):
16634         * alloc.c (tick_lcrecord_stats):
16635         * alloc.c (Fgarbage_collect):
16636         * alloc.c (init_alloc_once_early):
16637         * alloc.c (pdump_load):
16638         * alloc.c (GC_CHECK_LHEADER_INVARIANTS): New.
16639         * alloc.c (lrecord_type_index): Delete.
16640         Make lisp object type indexes be constant.
16641           Makes (byte-compile) 5% faster.
16642         Put all marker functions into their own array.
16643           Makes (garbage-collect) 5% faster.
16644         Optimize SYMBOL_VALUE_MAGIC_P.
16645           Makes (byte-compile) 2-3% faster.
16646         * config.h.in (gc_checking_assert): New.
16647         * alloc.c: Use gc_checking_assert().
16648         * .dbxrc: Make compatible with new object type implementation.
16649         * .gdbinit: Make compatible with new object type implementation.
16650         * alloc.c: Delete all symbols defined only for debugging, such as
16651         Lisp_Type_Vector and lrecord_charset.
16652
16653 2000-02-21  Andy Piper  <andy@xemacs.org>
16654
16655         * gui-msw.c (Fmswindows_shell_execute): fix file location
16656         problems.
16657
16658         * buffer.c (Fkill_buffer): remove buffer from alist buffer
16659         unshowing so that set_window_buffer doesn't undo
16660         kill_buffer_hook's hard work.
16661
16662         * glyphs-widget.c (tab_control_query_geometry): don't count the
16663         first item when calculating geometry.
16664
16665         * glyphs.c (map_subwindow): remove redundant code.
16666         (update_frame_subwindows): be more circumspect about when to
16667         update subwindows.
16668
16669         * glyphs-x.c (x_update_widget): Properly fix sizing bug. Fix bug
16670         when items haven't changed. Update faces if faces have changed as
16671         well as just the widget face.
16672         (x_tab_control_update): Update faces if faces have changed as well
16673         as just the widget face.
16674
16675 2000-02-21  Jonathan Harris  <jhar@tardis.ed.ac.uk>
16676
16677         * device-msw.c: (mswindows_delete_device): Remove redundant DDE
16678         registration.
16679         (build_syscolor_string): Use mswindows_color_to_string to try to
16680         get a named color.
16681         (mswindows_device_system_metrics): Reverse the foreground and
16682         background colors so that they match the documentation.
16683
16684         * objects-msw.c: (mswindows_X_color_map): tweak some values so
16685         they match the default Windows palette.
16686         (mswindows_color_to_string): New function.
16687
16688 2000-02-21  Jonathan Harris  <jhar@tardis.ed.ac.uk>
16689
16690         * s/windowsnt.h: Only use __declspec(noreturn) with MSVC>=6.
16691
16692 2000-02-18  Olivier Galibert  <galibert@pobox.com>
16693
16694         * m/*, s/*: Removed obsolete DATA_SEG_BITS, PURE_SEG_BITS,
16695         WORD_MACHINE, SIGN_EXTEND_CHAR and EXPLICIT_SIGN_EXTEND.
16696
16697         * symbols.c (init_symbols_once_early): Removed obsolete
16698         DATA_SEG_BITS related kludge.
16699         (defvar_magic): Ditto.
16700
16701         * malloc.c: Removed obsolete DATA_SEG_BITS
16702         * ralloc.c: Ditto.
16703         * mem-limits.h: Ditto.
16704
16705         * Makefile.in.in: Removed obsolete HAVE_SHM
16706         * emacs.c: Ditto.
16707
16708 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
16709
16710         *  device-msw.c (mswindows_delete_device): Free DDE string
16711         handles.
16712
16713 2000-02-16  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16714
16715         * keymap.c (get_keyelt):
16716         * unexnt.c (unexec):
16717         * vm-limit.c (memory_warnings):
16718         * ntheap.c (recreate_heap):
16719         * ntheap.h (UNINIT_PTR):
16720         * select-msw.c (Fmswindows_get_clipboard):
16721         (Fmswindows_set_clipboard):
16722         * objects-msw.h (MSWINDOWS_BAD_HFONT):
16723         * objects-msw.c:
16724         * menubar-msw.c (displayable_menu_item):
16725         * glyphs-msw.c:
16726         * glyphs-msw.h (IMAGE_INSTANCE_MSWINDOWS_MASK):
16727         * sysdep.c (sys_subshell):
16728         * process-nt.c (nt_create_process):
16729         * nt.c (normalize_filename):
16730         (dostounix_filename):
16731         (unixtodos_filename):
16732         * ntproc.c (win32_executable_type):
16733         * ntplay.c (play_sound_data_1):
16734         (play_sound_file):
16735         * editfns.c (get_home_directory):
16736         * event-msw.c (struct winsock_stream):
16737         (mswindows_dde_callback):
16738         * device-msw.c (msprinter_init_device):
16739         (msprinter_get_devmode_copy): Frobbed syntax frivolities.
16740
16741         * toolbar-msw.c (mswindows_free_frame_toolbars): Paramters to
16742         mswindows_clear_toolbar were swapped!
16743
16744         * objects-msw.c:(colormap_t):
16745         (fontmap_t):
16746         * emacs.c (struct standard_args): Fixed const jumble.
16747
16748         * glyphs-widget.c (update_widget): Fixed comparison notation.
16749
16750         * event-msw.c (mswindows_dde_callback): Removed extraneous ';'.
16751
16752         * s\windowsnt.h (DOESNT_RETURN): Defined to support the MSVC
16753         __declspec(noreturn) syntax.
16754
16755 2000-02-19  Martin Buchholz  <martin@xemacs.org>
16756
16757         * eldap.c (Fldap_open):
16758         (Fldap_search_basic):
16759         (Fldap_add):
16760         (Fldap_modify):
16761         Use new coding system conversion macros.
16762
16763 2000-01-06  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
16764
16765         * console-tty.c (tty_init_console): Change MULE to FILE_CODING.
16766
16767 1999-11-27  Oscar Figueiredo  <Oscar.Figueiredo@di.epfl.ch>
16768
16769         * eldap.h (Fldap_search) Renamed from Fldap_search_internal:
16770         (Fldap_add, Fldap_modify, Fldap_delete): New functions
16771
16772         * eldap.c (Qadd, Qreplace): New constant symbols
16773         (Fldap_open): Use the LDAP_OPT_RESTART option to avoid
16774         interruptions by XEmacs signals
16775         Remove unnecessary calls to slow_down_interrupts and
16776         speed_up_interrupts
16777         (Fldap_search_basic): Renamed from Fldap_search_internal
16778         Added new optional parameter VERBOSE that triggers the
16779         display of progress messages
16780         Remove unnecessary calls to slow_down_interrupts and
16781         speed_up_interrupts
16782         LDAP result code analysis rewritten
16783         (Fldap_add, Fldap_modify, Fldap_delete): New functions
16784         (syms_of_eldap): Define the new symbols and functions
16785
16786
16787 2000-02-17  Martin Buchholz  <martin@xemacs.org>
16788
16789         * realpath.c: Determine PATH_MAX maximally portably.
16790
16791         * insdel.c (bytecount_to_charcount): Optimize.
16792         The function used to be optimized for entirely ASCII sequences.
16793         Now it is optimized for successive characters from the same
16794         charset.  This also wins big for _mostly_ ASCII sequences.
16795
16796         * fileio.c (Ffile_truename): convert return from realpath() using
16797         Qfile_name, not Qbinary.  Fixes obvious bug with non-ASCII symlinks.
16798         - Rewrite GCPROing slightly.
16799
16800         * sysdep.c (sys_open): Do filename conversion, like all other
16801         sys_* functions.  Fixes bug:
16802         (let ((file-name-coding-system 'iso-8859-2))
16803            (write-region x y latin2-name))
16804         ==> writes filename using internal encoding.
16805
16806 2000-02-18  Martin Buchholz  <martin@xemacs.org>
16807
16808         * buffer.c (DEFVAR_BUFFER_LOCAL_1): Turn on c_readonly. Always const.
16809         * console.c (DEFVAR_CONSOLE_LOCAL_1): Turn on c_readonly. Always const.
16810         * symeval.h (DEFVAR_SYMVAL_FWD): Turn on c_readonly. Always const.
16811         * eval.c (lrecord_subr): Remove this_one_is_unmarkable.
16812         * symbols.c (lrecord_symbol_value_forward): Remove this_one_is_unmarkable.
16813         * symbols.c (guts_of_unbound_marker): Turn on c_readonly.
16814         * lrecord.h (UNMARKABLE_LRECORD_HEADER_P): Delete.
16815         (CONST_IF_NOT_DEBUG): Delete.
16816         * alloc.c (this_one_is_unmarkable): Delete.
16817         (mark_object): Don't check for this_one_is_unmarkable. Use the
16818         c_readonly flag instead.
16819         * lisp.h (DEFUN): Define a Lisp_Subr as c_readonly.
16820
16821 2000-02-18  Jonathan Harris  <jhar@tardis.ed.ac.uk>
16822
16823         * event-msw.c (mswindows_drain_windows_queue):
16824         (emacs_mswindows_handle_magic_event): Remove attempt to optimise
16825         away redundant repaint events.
16826
16827 2000-02-17  Andy Piper  <andy@xemacs.org>
16828
16829         * redisplay.h: declare mark_redisplay_structs.
16830
16831         * redisplay.c (redisplay_window):
16832         (redisplay_frame): don't check subwindows_state_changed.
16833         (mark_redisplay): mark gutters here.
16834
16835         * glyphs.c: (instantiate_image_instantiator): always layout if we
16836         haven't done so already.
16837         (allocate_image_instance): don't mark as dirty.
16838         (update_subwindow): bind inhibit_quit.
16839
16840         * gutter.c (mark_gutters): new function.
16841
16842         * glyphs-x.c (x_update_widget): Always resize to get round a
16843         widget bug.
16844
16845         * glyphs-msw.c (mswindows_tab_control_update): remove `;' that was
16846         breaking absolutely everything.
16847
16848         * gutter.h: declare mark_gutters.
16849
16850 2000-02-16  Martin Buchholz <martin@xemacs.org>
16851
16852         * XEmacs 21.2.29 is released.
16853
16854 2000-02-15  Olivier Galibert  <galibert@pobox.com>
16855
16856         * fns.c (size_bit_vector): Fix computation of the size.
16857
16858 2000-02-15  Martin Buchholz  <martin@xemacs.org>
16859
16860         * *.[ch]: Change CONST to const globally.
16861         find -name '*.[ch]' | \
16862         xargs global-replace \
16863         's/(^|(?<=[^A-Za-z0-9_]))CONST((?=[^A-Za-z0-9_])|$)/const/g'
16864         - Remove vestigial references to CONST_IS_LOSING
16865
16866 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
16867
16868         * event-msw.c (mswindows_drain_windows_queue): Remove hack to
16869         bailout early on quit. Enqueue WM_PAINT events as XEmacs magic
16870         events instead of dispatching them directly.
16871         (mswindows_handle_paint): New function to do repainting.
16872         (mswindows_wnd_proc):
16873         (emacs_mswindows_handle_magic_event): Call above function.
16874
16875 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
16876
16877         * objects-msw.c (mswindows_create_font_variant): Return the new
16878         font handle.
16879         (initialize_font_instance): Get font metrics from the underlined
16880         variant of the font to cope with the case where the underlined
16881         font has a bigger descent.
16882
16883 2000-02-08   Daiki Ueno  <ueno@ueda.info.waseda.ac.jp>
16884
16885         * gui.c (gui_item_accelerator): Return the first underlined
16886         character in item name.
16887
16888 2000-02-11  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16889
16890         * lisp.h: Added Qprinter.
16891
16892         * general.c (syms_of_general): Initialized it.
16893
16894         * redisplay-msw.c (get_frame_dc): Conditionally start a new page.
16895         (get_frame_dc):
16896         (get_frame_compdc): Made inline.
16897
16898         * console.h (struct console_methods): Added eject_page method.
16899
16900         * frame.h: Added FRAME_DISPLAY_P and friends.
16901         Aligned backslahes in many macros in more readable fashion.
16902         Added page_number to struct frame, and an accessor macro
16903         for it.
16904
16905         * defice.h: Added DEVICE_DISPLAY_P and friends.
16906
16907         * device.c (Fdevice_printer_p): Used these.
16908
16909         * frame.c (allocate_frame_core): Initialize page number.
16910         (Fprint_job_page_number):
16911         (Fprint_job_eject_page): Implemented.
16912
16913         * frame-msw.c (msprinter_eject_page): Added method.
16914         (msprinter_start_page): Added.
16915
16916         * window.c (Fwindow_truncated_p): Fixed docstring.
16917         (Fwindow_last_line_visible_height): Implemented.
16918
16919 2000-02-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
16920
16921         * frame.c (change_frame_size_1): Undo 2000-02-03 change.
16922
16923 1999-12-20  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
16924
16925         * syntax.c (scan_words): Always advance at least one character.
16926
16927 2000-02-13  Andy Piper  <andy@xemacs.org>
16928
16929         * redisplay.c (add_glyph_rune): call get_glyph_cachel_index here
16930         to make sure the glyph is in the cachels.
16931
16932         * glyphs.h (struct Lisp_Image_Instance): make layout_changed a
16933         global image instance flag.
16934         (IMAGE_INSTANCE_NEEDS_LAYOUT): new macro.
16935         (XIMAGE_INSTANCE_NEEDS_LAYOUT): ditto.
16936
16937         * glyphs.c (allocate_image_instance): set dirty bits correctly.
16938         (Fset_image_instance_property): mark layout as changed.
16939         (invalidate_glyph_geometry_maybe): mark layout as changed.
16940         (glyph_width): use new NEEDS_LAYOUT macro.
16941         (glyph_ascent): ditto.
16942         (glyph_descent): ditto.
16943         (glyph_height): ditto.
16944         (image_instance_layout): mark layout as clean after laying out.
16945         (update_subwindow): don't mark layout as clean here.
16946
16947         * glyphs-x.h (IMAGE_INSTANCE_X_WIDGET_ID): undo C++ changes, they
16948         should no longer be needed.
16949
16950         * glyphs-x.c (x_update_widget): sanitize asserts.
16951         (x_finalize_image_instance): sanitize assignment to widgets.
16952
16953         * glyphs-widget.c (widget_instantiate): don't need to clear the
16954         layout flag here.
16955
16956 2000-02-13  Martin Buchholz  <martin@xemacs.org>
16957
16958         * sysdep.c (getcwd): Use standard prototype.
16959         * sysdep.h (getcwd): Use standard prototype.
16960
16961         * fns.c (Fsubseq): Change parameters to more natural ANSI Lisp
16962         (sequence, start, end).
16963         Remove redundant type checking.
16964         (Fmapconcat): Remove useless GCPRO, a wrong-headed attempt (in
16965         view of `caller-protects') to avoid a crash where the real fix was
16966         found elsewhere.
16967
16968 2000-02-12  Martin Buchholz  <martin@xemacs.org>
16969
16970         * glyphs-x.c (x_finalize_image_instance): Compile error fixes.
16971
16972         * s/sol2.h: Remove feature macro initialization.
16973
16974         * alloc.c (alloc_lcrecord): Add more type checking assertions.
16975         (vector_hash): New.  Code from internal_hash.
16976         * lrecord.h:
16977         Fix up allocation subsystem comments.
16978
16979         * config.h.in: Add __EXTENSIONS__ for Solaris.
16980
16981         * systime.h (EMACS_GETTIMEOFDAY): New.
16982         (EMACS_GET_TIME): Use EMACS_GETTIMEOFDAY.
16983         Remove Solaris-specific code.
16984         Use void* for the (ignored) second arg for gettimeofday().
16985
16986         * elhash.c (hash_table_hash): Implement it, finally.
16987         * elhash.c:  Use hashcode_t.
16988
16989         * linuxplay.c (sighandler): Fix prototypes to use SIGTYPE.
16990         * sunplay.c (sighandler): Fix prototype to use SIGTYPE.
16991
16992         * lisp.h (STRETCHY_STRUCT_SIZEOF): Delete.
16993         * fns.c (size_bit_vector):
16994         * alloc.c (size_vector):
16995         (make_vector_internal):
16996         (make_bit_vector_internal):
16997         (sweep_bit_vectors_1):
16998         Replace calls to STRETCHY_STRUCT_SIZEOF with offsetof expression.
16999
17000 2000-02-10  Martin Buchholz  <martin@xemacs.org>
17001
17002         * s/aix4.h: #define MAP_FAILED if sys/mman.h didn't.
17003         Include strings.h to avoid warnings for bzero and strcasecmp.
17004
17005 2000-02-10  Olivier Galibert  <galibert@pobox.com>
17006
17007         * alloc.c: Move STRETCHY_STRUCT_SIZEOF from here...
17008         * lisp.h (STRETCHY_STRUCT_SIZEOF): ...to here
17009
17010         * fns.c (size_bit_vector): New.  Declare bit vectors as a
17011         sequence.
17012
17013 2000-02-10  Olivier Galibert  <galibert@pobox.com>
17014
17015         * symeval.h (struct symbol_value_magic): Remove "next" kludge and
17016         use a value field instead.
17017         (symbol_value_forward_forward): Use value field.
17018         (DEFVAR_SYMVAL_FWD): Use value field.
17019         (DEFVAR_SYMVAL_FWD_INT): Added.  Dumps the int with dumpopaque.
17020         (DEFVAR_INT): Use DEFVAR_SYMVAL_FWD_INT.
17021         (DEFVAR_CONST_INT): Ditto.
17022         (DEFVAR_BOOL): Ditto.
17023         (DEFVAR_CONST_BOOL): Ditto.
17024         (DEFVAR_INT_MAGIC): Ditto.
17025         (DEFVAR_BOOL_MAGIC): Ditto.
17026
17027         * symbols.c (guts_of_unbound_marker): Use value field.
17028         * console.c (DEFVAR_CONSOLE_LOCAL_1): Ditto.
17029         * buffer.c (DEFVAR_BUFFER_LOCAL_1): Ditto.
17030
17031         * lisp.h: Declare dumpopaque and noninteractive1.
17032
17033         * alloc.c (dumpopaque): Added.
17034         (pdump_dump_opaquevec): Added.
17035         (pdump): Call pdump_dump_opaquevec to dump opaque data.
17036         (pdump_load): Reload opaque data.  Sync noninteractive1 with
17037         noninteractive.
17038
17039 2000-02-10  Andy Piper  <andy@xemacs.org>
17040
17041         * glyphs.c (image_instance_layout): if the size changes, mark it
17042         as such.
17043
17044         * redisplay-output.c (redisplay_output_layout): Update the
17045         subwindow here.
17046         (redisplay_output_subwindow): ditto.
17047
17048         * glyphs.c (update_subwindow): make sure we reset flags for
17049         layouts as well as everything else.
17050
17051         * glyphs-widget.c (layout_layout): don't need to set the instances
17052         dimensions here.
17053
17054 2000-02-09  Martin Buchholz  <martin@xemacs.org>
17055
17056         * device-x.c (x_init_device): Wrap calls to dll_*  in HAVE_SHLIB,
17057         not HAVE_DLOPEN, which is a lower-level thing.
17058
17059         * .cvsignore: Ignore gmon.out
17060
17061 2000-02-09  Hamish Macdonald <hamishm@lucent.com>
17062
17063         * .cvsignore: Ignore portable dumper xemacs.dmp file
17064
17065 2000-02-09  Andy Piper  <andy@xemacs.org>
17066
17067         * redisplay-output.c (redisplay_output_layout): be more clever
17068         about when we output based on the changed flags.
17069
17070         * glyphs.h (struct image_instantiator_methods): add update_method.
17071         (struct Lisp_Image_Instance): add changed flags. Declare new
17072         macros for manipulating them.
17073
17074         * glyphs.c (allocate_image_instance): renamed glyph -> parent.
17075         (image_instance_parent_glyph): find an image_instance's parent
17076         glyph or image_instance.
17077         (image_instance_layout): mark the size as changed.
17078         (set_image_instance_dirty_p): new function. mark an image
17079         instance, plus all of its parents, as dirty.
17080         (Fset_image_instance_property): use it.
17081         (Fglyph_animated_timeout_handler): use it.
17082         (update_subwindow): call update_widget and device methods for
17083         update_subwindow. Mark all changed flags as clean.
17084         (Fresize_subwindow): mark size as changed.
17085
17086         * glyphs-x.c (x_finalize_image_instance): try and detect gc
17087         failures.
17088         (x_update_subwindow): only resize subwindows here.
17089         (x_update_widget): new function. Update all changed properties of
17090         a widget.
17091         (x_resize_subwindow): deleted.
17092         (x_widget_set_property): deleted.
17093         (x_progress_gauge_set_property): deleted.
17094         (x_progress_gauge_update): new function. Implement recorded
17095         changes.
17096         (x_tab_control_update): ditto.
17097         (x_tab_control_set_property): deleted.
17098         (console_type_create_glyphs_x): declare new functions.
17099         (image_instantiator_format_create_glyphs_x): ditto.
17100
17101         * glyphs-widget.c (widget_set_property): mark text changed.
17102         (update_widget): new function. Update properties of a widget.
17103         (widget_instantiate): for layouts make sure we set their
17104         children's parent correctly.
17105         (tab_control_set_property): new function. Record changes that will
17106         take place under redisplay's control.
17107         (progress_gauge_set_property): ditto.
17108         (image_instantiator_progress_guage): declare new functions.
17109         (image_instantiator_tab_control): ditto.
17110
17111         * glyphs-msw.c (mswindows_update_subwindow): just do resizing here
17112         now.
17113         (mswindows_update_widget): new function. Update all properties on
17114         a widget that have changed.
17115         (mswindows_button_update): new function. Update a button's set
17116         state.
17117         (mswindows_tab_control_update): new function. Update the items in
17118         a tab.
17119         (mswindows_tab_control_set_property): deleted.
17120         (mswindows_progress_gauge_update): new function. Update the
17121         progress gauge's progress.
17122         (mswindows_widget_set_property): deleted. This is all done
17123         asynchronously now.
17124         (mswindows_progress_gauge_set_property): ditto.
17125         (console_type_create_glyphs_mswindows): declare new methods.
17126         (image_instantiator_format_create_glyphs_mswindows): ditto.
17127
17128         * frame-msw.c (msprinter_init_frame_1): Remove unused variables.
17129         (msprinter_set_frame_properties): ditto.
17130
17131         * console.h (struct console_methods): Add update_widget_method.
17132
17133 2000-02-09  Andy Piper  <andy@xemacs.org>
17134
17135         * gui-msw.c (Fmswindows_shell_execute): Make
17136         mswindows-shell-execute industrial strength.
17137
17138 2000-02-08  Martin Buchholz  <martin@xemacs.org>
17139
17140         * lrecord.h: Make macro argument `props' match member function `plist'.
17141         * fns.c (Fget):
17142         * fns.c (Fput):
17143         * fns.c (Fremprop):
17144         * fns.c (Fobject_plist):
17145         * alloc.c:
17146         * symbols.c:
17147         Object property list frobbing cleanup.
17148         - Allow any lisp object (compared with `eq'), not just symbols, as
17149           keys in object plists.
17150         - Move symbol plist frobbing into symbols.c, where it belongs.
17151         - Move string plist frobbing into alloc.c, where it belongs.
17152         - Everything's an lrecord now, so no need to test for symbolp, etc.
17153         - Fix up doc strings to refer to PROPERTY, not PROPNAME.
17154
17155         * extents.c: Reorder code to remove declarations.
17156
17157         * frame.h (store_in_alist): Remove useless declaration.
17158
17159 2000-02-07  Martin Buchholz  <martin@xemacs.org>
17160
17161         * event-Xt.c (x_has_keysym): Use XConvertCase only if available.
17162         * config.h.in: Add HAVE_XCONVERTCASE.
17163
17164 2000-02-07  Andy Piper  <andy@xemacs.org>
17165
17166         * glyphs.c (image_instance_layout): undo 2000-01-29 change since
17167         it breaks many things.
17168
17169 2000-02-07  Jan Vroonhof  <vroonhof@math.ethz.ch>
17170
17171         * src/syntax.h (SYNTAX_START_P): Check whether the two chars
17172         actually can start a common comment type.
17173         * src/syntax.h (SYNTAX_END_P): ditto for end.
17174
17175 2000-02-07  Martin Buchholz <martin@xemacs.org>
17176
17177         * XEmacs 21.2.28 is released.
17178
17179 2000-02-06  Martin Buchholz  <martin@xemacs.org>
17180
17181         * event-Xt.c (x_keysym_to_character): New.
17182         (maybe_define_x_key_as_self_inserting_character): New.
17183         (x_has_keysym): New.
17184         Auto-define all keys on the keyboard as self-insert-key.
17185
17186 2000-02-02  Martin Buchholz  <martin@xemacs.org>
17187
17188         * menubar.c (vars_of_menubar): A small code simplification.
17189
17190         * minibuf.c (echo_area_append): Workaround egcs-20000131 c++ compiler bug
17191
17192         * ExternalShell.c:
17193         * ExternalClient.c:
17194         * EmacsShell-sub.c:
17195         * EmacsManager.c:
17196         * EmacsFrame.c:
17197         Use consistent style for specifying X resources.
17198
17199         * symbols.c (Fset): Further implement SYMVAL_LISP_MAGIC.
17200         This makes (dontusethis-set-symbol-value-handler) actually usable.
17201
17202         * lrecord.h (lrecord_decription_type):
17203         * alloc.c (pdump_register_sub):
17204         (pdump_dump_data):
17205         (pdump_reloc_one):
17206         Add XD_LISP_OBJECT_ARRAY to describe multiple Lisp_Objects.
17207         Comply with XEmacs coding style.
17208         All lrecord descriptions updated to use XD_LISP_OBJECT with 2
17209         args, and XD_LISP_OBJECT_ARRAY with 3 args.
17210
17211         * keymap.c (Faccessible_keymaps):
17212         Make (accessible-keymaps map "\C-h") do the Right Thing.
17213         Make (accessible-keymaps map []) do the Right Thing.
17214         Make (accessible-keymaps map "") do the Right Thing.
17215         (check_keymap_definition_loop): New function.
17216         (keymap_store_internal): Keep luser from shooting self in foot,
17217           via (define-key ctl-x-4-map "p" global-map).
17218         Remove fullness slot from struct Lisp_Keymap, since hash tables
17219         are now reliable.
17220         (print_keymap): Remove 'Yuck' factor by simply printing "size %d".
17221
17222 2000-01-30  Martin Buchholz  <martin@xemacs.org>
17223
17224         * redisplay.c (init_redisplay): Fix small memory leak.
17225         * elhash.h:
17226         * elhash.c (pdump_reorganize_hash_table):
17227         Rename from reorganize_hash_table. Change prototype.
17228         Reuse the original memory for hentries.  Save 100k.
17229         * alloc.c (PDUMP_READ): new macro.
17230         * alloc.c (pdump_load): Replace LISP_TO_VOID with higher-level macros.
17231         * alloc.c: No need to #ifndef before #undef.
17232
17233         * print.c: Allow debug_print() to print readably by modifying
17234         debug_print_readably.  Use consistent variable names.
17235
17236         * .dbxrc: Try to get things to work even if stopped in a function
17237         without source available by explicitly specifying source files.
17238 2000-02-03  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17239
17240         * unexnt.c (_start): Removed bogus code which caused loading heap
17241         from differrent executable file.
17242         Removed bogus assignment to _fmode, which caused inconsistencies.
17243
17244 2000-02-03  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17245
17246         * s\windowsnt.h: Removed lots of #if 0 blocks of Emacs heritage.
17247         Have spawnve encapsulation regard DONT_ENCAPSULATE.
17248         Do not preliminary `#define signal sigset'.
17249
17250         * systime.h: Do not prototype environ on windows nt and cygwin,
17251         this conflicts with system header.
17252
17253         * syssignal.h: Use correct define for WINDOWSNT
17254
17255         * sysdep.h: Do not prototype environ on windows nt, this conflicts
17256         with system header.
17257
17258         * sysdep.c (near start of file): Fixed commentary and rearranged
17259         ifdefs in readable order.
17260         (NEED_STARTS): Do not force NEED_STARTS when PDUMPing.
17261         (start_of_text):
17262         (end_of_text):
17263         (end_of_data): Do not compile in if using PDUMP.
17264
17265         * symsinit.h: Prototyped vars_of_nt().
17266
17267         * ntproc.c (windows9x_p): Added, instead of os_subtype.
17268         (find_child_console): Use it.
17269         (sys_kill): Use it.
17270
17271         * ntheap.h: Do not extern os_subtype.
17272
17273         * ntheap.c (cache_system_info): Do not cache unneeded:
17274         nt_major_version, nt_minor_version and os_subtype.
17275         (recreate_heap): Do not compile in when PDUMPing.
17276
17277         * nt.c (geteuid and friends): Use the new varibale
17278         nt_fake_unix_uid, instead of hashing fake uid out of NT RID.
17279         (init_user_info): Removed the above mentioned hackery.
17280         (fstat, stat): Do not compile in if using MSVC 5.0 and above -
17281         stat has been fixed in the C runtime.
17282         (vars_of_nt): Added, defined the nt_fake_unix_uid variable there.
17283
17284         * file-coding.c (struct file_coding_dump): Do not define
17285         ucs_to_mule_table in the struct if not MULE.
17286         (struct struct lrecord_description fcd_description_1): Do not dump
17287         the above.
17288
17289         * emacs.c (main_1): Call vars_of_nt().
17290         (right before Fdump_emacs_data): Don't need lastfile if using both
17291         portabe dumper and system malloc.
17292
17293         * alloc.c (Fmemory_limit): Conditionalized out.
17294         (pdump): Use OPEN_BINARY for the portable dump file.
17295         (pdump_load): Ditto.
17296
17297 2000-02-02  Mike Alexander  <mta@arbortext.com>
17298
17299         * nt.c (convert_time): Set tm_isdst before calling mktime and
17300         avoid calling it at all if the compiler supports 64 bit integers.
17301         Also initialize utc_base_ft before using it.
17302
17303 2000-02-03   Daiki Ueno  <ueno@ueda.info.waseda.ac.jp>
17304
17305         * frame.c (change_frame_size_1): Take f->internal_border_width
17306         into consideration when calculating the width of the frame.
17307
17308 2000-02-01  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17309
17310         * window.c (frame_min_height):
17311         (frame_size_valid_p):
17312         (frame_pixsize_valid_p): Added.
17313         (check_frame_size): Generalized.
17314
17315         * window.h: Prototyped the above.
17316
17317         * lisp.h:
17318         * general.c: Added Qbottom_margin, Qduplex, Qlandscape,
17319         Qleft_margin, Qorientation, Qportrait, Qright_margin, Qtop_margin.
17320         Deleted Vwin32_* and Vbinary_process_* unused variables.
17321
17322         * device-msw.c (msprinter_init_device): Do not get printer font
17323         list; Added DEVMODE functions.
17324
17325         * frame-msw.c: Added lots of printer code.
17326
17327         * faces.c: Moved 'left-margin and 'right-margin defsymbols to
17328         general.c.
17329
17330         * console-msw.h: Added more msprinter device private slots.
17331
17332 2000-02-01  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17333
17334         * event-msw.c (key_needs_default_processing_p): Added.
17335         (mswindows_wnd_proc, WM_KEYUP, KEYDOWN): Call it.
17336
17337 2000-01-29  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17338
17339         * glyphs.c (image_instance_layout): Mark image instance as clean
17340         after layout.
17341         (glyph_dirty_p): Removed redundant function.
17342         (invalidate_glyph_geometry_maybe): Added.
17343         (update_glyph_cachel_data): Call it.
17344
17345         * glyphs.h: Prototyped it.
17346
17347         * redisplay.c (add_glyph_rune): Call it.
17348         (redisplay_window): Reset glyphs cachels when frame faces have
17349         changed, thus forcing recomputation of built-in border glyphs.
17350
17351 2000-01-30  Martin Buchholz  <martin@xemacs.org>
17352
17353         * Makefile.in.in: Make portable dumper and purify play well together.
17354         Add imperfect, but better than nothing, support for pdump.
17355         Remove xemacs.dmp when temacs is re-generated.
17356         Don't ignore errors when dumping xemacs.
17357
17358         * symbols.c (maybe_call_magic_handler): Remove one magic number.
17359
17360 2000-01-28  Andy Piper  <andy@xemacs.org>
17361
17362         * frame.c (allocate_frame_core): Use new Fset_window_buffer signature.
17363         (setup_normal_frame): ditto.
17364         (setup_frame_without_minibuffer): ditto.
17365         (setup_minibuffer_frame): ditto.
17366         (delete_frame_internal): ditto.
17367         (Fmake_frame_invisible): ditto.
17368         (Ficonify_frame): ditto.
17369
17370         * window.h: change Fset_window_buffer signature.
17371
17372         * window.c (Fsplit_window): Use new Fset_window_buffer signature.
17373         (Fset_window_buffer): allow recording of buffer if the window is
17374         the selected window.
17375         (window_loop): Use new Fset_window signature.
17376
17377 2000-01-23  Daniel Pittman  <daniel@danann.net>
17378
17379         * config.h.in: Added template for `HAVE_ATHENA_3D'
17380
17381 2000-01-29  Andy Piper  <andy@xemacs.org>
17382
17383         * glyphs-x.c (x_resize_subwindow): Try and catch bogus resizes.
17384
17385         * gutter.c (output_gutter): Don't output if the window isn't live.
17386
17387 2000-01-28  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17388
17389         * glyphs-msw.c (mswindows_unmap_subwindow): Fix of corrupted patch
17390         of 01/12/00: Moved SetFocus back here where it belongs.
17391
17392 2000-01-23  Andy Piper  <andy@xemacs.org>
17393
17394         * s/cygwin32.h: declare printer things.
17395
17396 2000-01-26  Andy Piper  <andy@xemacs.org>
17397
17398         * select.c (Fown_selection_internal): GCPRO bug fix from Mike
17399         Alexander.
17400
17401 2000-01-24  Andy Piper  <andy@xemacs.org>
17402
17403         * glyphs-msw.c (mswindows_locate_pixmap_file): Expand filename.
17404         (mswindows_button_instantiate): Make sure glyph is a pixmap.
17405
17406         * glyphs-widget.c (widget_instantiate): Avoid shadows.
17407
17408         * frame-msw.c (msprinter_init_frame_3): Nuke warning.
17409
17410         * glyphs-msw.c: (mswindows_string_to_color): remove declaration.
17411
17412         * redisplay-msw.c (mswindows_output_cursor): Avoid shadows.
17413         (mswindows_output_display_block): Avoid local shadows.
17414
17415         * event-msw.c (mswindows_enqueue_magic_event): Avoid shadows.
17416         (mswindows_enqueue_mouse_button_event): ditto.
17417         (mswindows_handle_gui_wm_command): remove declaration.
17418
17419         * console-msw.c (mswindows_canonicalize_console_connection): Avoid
17420         warnings.
17421
17422         * console-msw.h: Avoid shadows.
17423         (mswindows_get_toolbar_button_text):
17424         (emacs_mswindows_create_stream_pair):
17425         (emacs_mswindows_delete_stream_pair):
17426         (mswindows_handle_toolbar_wm_command): declare.
17427
17428         * device-msw.c (build_syscolor_string): Avoid shadows.
17429
17430 2000-01-23  Andy Piper  <andy@xemacs.org>
17431
17432         * glyphs-widget.c (widget_instantiate): reverse the items for
17433         layouts so that children are in the expected order.
17434
17435 2000-01-28  Martin Buchholz  <martin@xemacs.org>
17436
17437         * ralloc.c: safe_bcopy ==> memmove
17438         * gmalloc.c: Remove MEMMOVE_MISSING conditional code.
17439         * s/msdos.h: Remove BCOPY macros.
17440         * insdel.c (gap_right): Remove BCOPY conditional code.
17441         * insdel.c (gap_left): Remove BCOPY conditional code.
17442         XEmacs demands a working ANSI C compiler - hence memmove.
17443
17444         * regex.c (regex_compile): Remove accidental use of trigraphs.
17445
17446 2000-01-27  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17447
17448         * event-msw.c (mswindows_enqueue_misc_user_event): Initialize
17449         event timestamp.
17450
17451 2000-01-26  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17452
17453         * event-msw.c (mswindows_drain_windows_queue): Added the
17454         parameter.
17455         (mswindows_need_event): Commented the call to
17456         mswindows_drain_windows_queue().
17457         (emacs_mswindows_quit_p): Lookup the windows for keyboard messages
17458         only.
17459
17460         * console-msw.h: Moved a few function prototypes here from
17461         event-msw.c.
17462
17463         * gui-msw.c (mswindows_handle_gui_wm_command): Changed the ID
17464         parameter from unsigned short to unsigned long.
17465         (Fmswindows_shell_execute): Added return value.
17466
17467 2000-01-27  URA Hiroshi <ura@hiru.aoba.yokohama.jp>
17468
17469         * sysdep.c (init_system_name):
17470           process-unix.c (unix_canonicalized_host_name):
17471         Don't call freeaddrinfo() if getaddrinfo() fails.
17472
17473         * process-unix.c (unix_open_unix_network_stream):
17474         Moved the code to get a port # into address loop.
17475
17476 2000-01-27  Martin Buchholz  <martin@xemacs.org>
17477
17478         * buffer.c (reinit_vars_of_buffer):
17479         The right place to initialize conversion_in_dynarr and
17480         conversion_out_dynarr.
17481
17482         * alloc.c (pdump): Use the real open() till sys_open() is functional.
17483
17484         * process-unix.c (unix_canonicalize_host_name): Muleize.
17485         (unix_open_network_stream): Muleize.
17486
17487         * buffer.h: Fix up prototypes for ralloc.c functions.
17488
17489 2000-01-27  URA Hiroshi <ura@hiru.aoba.yokohama.jp>
17490         * config.h.in: added HAVE_GETADDRINFO and HAVE_GETNAMEINFO
17491         * sysdep.c: In init_system_name(), add code to use getaddrinfo()
17492                 instead of gethostbyname()
17493         * process-unix.c: In unix_canonicalize_host_name() and
17494                 unix_open_network_stream(), add code to use getaddrinfo()
17495                 instead of gethostbyname().
17496
17497 2000-01-27  Daniel Pittman <daniel@danann.net>
17498
17499         * device-x.c (x_init_device): Warn at run-time if using Athena 3d
17500         libs when built with flat Athena.
17501
17502 2000-01-27  Martin Buchholz  <martin@xemacs.org>
17503
17504         * ralloc.c: Replace SIZE (conflicts with Windows headers) with size_t.
17505         Use coding standards for function prototypes.
17506
17507 2000-01-25  Martin Buchholz  <martin@xemacs.org>
17508
17509         * dialog-msw.c (push_lisp_string_as_unicode):
17510         * doc.c (unparesseuxify_doc_string):
17511         * dired.c (Fuser_name_completion_1):
17512         * dired.c (Fuser_name_all_completions):
17513         * dired.c (free_user_cache):
17514         * dired.c (user_name_completion):
17515         * console-x.c (get_display_arg_connection):
17516         * minibuf.c (clear_echo_area_internal):
17517         * minibuf.c (echo_area_append):
17518         * eldap.c (Fldap_open):
17519         * eldap.c (Fldap_search_internal):
17520         * frame-x.c (x_set_frame_text_value):
17521         * frame-x.c (x_set_frame_properties):
17522         * frame-x.c (x_create_widgets):
17523         * redisplay-tty.c (term_get_fkeys_1):
17524         * objects-x.c (x_parse_nearest_color):
17525         * objects-x.c (x_valid_color_name_p):
17526         * objects-x.c (x_initialize_font_instance):
17527         * objects-x.c (x_list_fonts):
17528         * objects-x.c (x_find_charset_font):
17529         * tooltalk.c (Fadd_tooltalk_message_arg):
17530         * tooltalk.c (Fadd_tooltalk_pattern_attribute):
17531         * tooltalk.c (Fadd_tooltalk_pattern_arg):
17532         * process-unix.c (unix_create_process):
17533         * ntproc.c (sys_spawnve):
17534         * sound.c (Fplay_sound_file):
17535         * sound.c (Fplay_sound):
17536         * buffer.c (init_initial_directory):
17537         * buffer.c (init_buffer):
17538         * editfns.c (init_editfns):
17539         * editfns.c (Ftemp_directory):
17540         * editfns.c (Fuser_full_name):
17541         * editfns.c (uncache_home_directory):
17542         * editfns.c (get_home_directory):
17543         * editfns.c (Fuser_home_directory):
17544         * editfns.c (Fformat_time_string):
17545         * editfns.c (Fcurrent_time_string):
17546         * gui-x.c (button_item_to_widget_value):
17547         * database.c (Fopen_database):
17548         * event-Xt.c (x_to_emacs_keysym):
17549         * event-Xt.c (x_event_to_emacs_event):
17550         * event-Xt.c (describe_event_window):
17551         * event-msw.c (mswindows_wnd_proc):
17552         * glyphs-eimage.c (jpeg_instantiate):
17553         * glyphs-eimage.c (gif_instantiate):
17554         * glyphs-eimage.c (png_instantiate):
17555         * glyphs-eimage.c (tiff_instantiate):
17556         * glyphs-x.c (xbm_instantiate_1):
17557         * glyphs-x.c (x_xbm_instantiate):
17558         * glyphs-x.c (x_xface_instantiate):
17559         * glyphs-x.c (autodetect_instantiate):
17560         * glyphs-x.c (cursor_font_instantiate):
17561         * glyphs-x.c (x_widget_instantiate):
17562         * glyphs-x.c (x_widget_set_property):
17563         * glyphs-x.c (x_widget_property):
17564         * glyphs-x.c (BUILD_GLYPH_INST):
17565         * print.c (write_string_to_stdio_stream):
17566         * print.c (output_string):
17567         * print.c (Falternate_debugging_output):
17568         * print.c (Fexternal_debugging_output):
17569         * glyphs-msw.c (extract_xpm_color_names):
17570         * glyphs-msw.c (mswindows_xpm_instantiate):
17571         * glyphs-msw.c (bmp_instantiate):
17572         * glyphs-msw.c (resource_name_to_resource):
17573         * glyphs-msw.c (mswindows_resource_instantiate):
17574         * glyphs-msw.c (xbm_instantiate_1):
17575         * glyphs-msw.c (mswindows_xbm_instantiate):
17576         * glyphs-msw.c (mswindows_xface_instantiate):
17577         * glyphs-msw.c (mswindows_widget_instantiate):
17578         * glyphs-msw.c (add_tree_item):
17579         * glyphs-msw.c (add_tab_item):
17580         * glyphs-msw.c (mswindows_combo_box_instantiate):
17581         * glyphs-msw.c (mswindows_widget_property):
17582         * glyphs-msw.c (mswindows_combo_box_property):
17583         * glyphs-msw.c (mswindows_widget_set_property):
17584         * console.c (stuff_buffered_input):
17585         * objects-msw.c (mswindows_initialize_color_instance):
17586         * objects-msw.c (mswindows_valid_color_name_p):
17587         * objects-msw.c (mswindows_list_fonts):
17588         * objects-msw.c (mswindows_font_instance_truename):
17589         * bytecode.c (optimize_compiled_function):
17590         * select-x.c (symbol_to_x_atom):
17591         * select-x.c (x_atom_to_symbol):
17592         * select-x.c (hack_motif_clipboard_selection):
17593         * select-x.c (selection_data_to_lisp_data):
17594         * select-x.c (lisp_data_to_selection_data):
17595         * select-x.c (Fx_get_cutbuffer_internal):
17596         * select-x.c (Fx_store_cutbuffer_internal):
17597         * buffer.h (TO_EXTERNAL_FORMAT): New function.
17598         * buffer.h (TO_INTERNAL_FORMAT): New function.
17599         * emacs.c (make_arg_list_1):
17600         * emacs.c (make_argc_argv):
17601         * emacs.c (main_1):
17602         * emacs.c (Fdump_emacs):
17603         * emacs.c (split_string_by_emchar_1):
17604         * file-coding.h:
17605         * lisp.h:
17606         * lstream.h:
17607         * symsinit.h:
17608         * device-x.c (x_init_device):
17609         * device-x.c (Fx_valid_keysym_name_p):
17610         * device-x.c (Fx_get_font_path):
17611         * device-x.c (Fx_set_font_path):
17612         * glyphs.c (bitmap_to_lisp_data):
17613         * glyphs.c (pixmap_to_lisp_data):
17614         * alloc.c (make_ext_string): Use coding system arguments.  Update
17615         all callers.
17616         * alloc.c (build_string):
17617         * callproc.c (child_setup):
17618         * callproc.c (init_callproc):
17619         * fileio.c (lisp_strerror):
17620         * fileio.c (directory_file_name):
17621         * fileio.c (Fexpand_file_name):
17622         * fileio.c (Ffile_truename):
17623         * fileio.c (Fsysnetunam):
17624         * fileio.c (Fdo_auto_save):
17625         * sysdep.c (sys_readdir):
17626         * tests.c: New file.  Allow adding C tests.
17627         Replace GET_* macros with a more comprehensible and flexible
17628         interface, TO_INTERNAL_FORMAT() and TO_EXTERNAL_FORMAT().
17629         Modify all calls.
17630         Any coding system can be used to do format conversion.
17631         Eliminate enum external_data_format.
17632         Eliminate convert_to_external_format.
17633         Eliminate convert_to_internal_format.
17634         Make sure file-name, keyboard, terminal, and ctext are always
17635         defined as coding systems or aliases.  Make
17636         file-name-coding-system, terminal-coding-system, and
17637         keyboard-coding-system magical variables that are equivalent to
17638         defining the corresponding coding system aliases.
17639
17640         * file-coding.c (Fcoding_system_canonical_name_p): New function.
17641         * file-coding.c (Fcoding_system_alias_p): New function.
17642         * file-coding.c (Fcoding_system_aliasee): New function.
17643         * file-coding.c (append_suffix_to_symbol): New function.
17644         * file-coding.c (dangling_coding_system_alias_p): New function.
17645         * file-coding.c (Ffind_coding_system):
17646         * file-coding.c (Fcopy_coding_system):
17647         * file-coding.c (encode_coding_no_conversion):
17648         * file-coding.c (syms_of_file_coding):
17649         * file-coding.c (vars_of_file_coding):
17650         Rewrite coding system alias code.
17651         Allow nested aliases, like symbolic links.
17652         Allow redefinition of coding system aliases.
17653         Prevent existence of dangling coding system aliases.
17654
17655         * dired.c (Fuser_name_completion_1):
17656         * dired.c (Fuser_name_all_completions):
17657         A crash would happen if user did QUIT in the middle of building
17658         user_name_cache.  Remove redundant code in mainline and unwind_protect.
17659
17660         * lisp.h:
17661         * dynarr.c (Dynarr_min_size): Make static.  Increase value to 8.
17662
17663         * lstream.c (make_fixed_buffer_input_stream): Take a void *, not
17664         an unsigned char *.  Update all callers.
17665
17666 2000-01-26  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17667
17668         * callproc.c (Fcall_process_internal): Ignore Vbinary-process_output.
17669
17670 2000-01-25  Martin Buchholz  <martin@xemacs.org>
17671
17672         * elhash.c (hentry_description): Use more portable definition.
17673         (resize_hash_table): Initialize new hentries using
17674         xnew_array_and_zero, thereby simplifying the code.
17675
17676         * mule-charset.c (make_charset): Make sure entire object is
17677         initialized, to avoid Purify warnings.
17678
17679         * alloc.c (resize_string): Fix unlikely crash with big strings.
17680
17681 2000-01-24  Martin Buchholz  <martin@xemacs.org>
17682
17683         * realpath.c (xrealpath):
17684         Don't call getwd().
17685
17686 2000-01-25  Martin Buchholz  <martin@xemacs.org>
17687
17688         * lread.c (read_bit_vector): Fix memory leak reading literal bit vectors.
17689
17690 1999-12-28  Max Matveev  <max@melbourne.sgi.com>
17691
17692         * unexelfsgi.c (unexec): Change the way we decide which segment
17693         should be extended.
17694
17695         Assumption that .bss section should be outside the PT_LOADable
17696         segment. On IRIX with version 6.2 and above, .bss (or .sbss, if
17697         it's present) is inside the 'data' segment. This would fail the
17698         test which was used to find a segment to grow and cover new
17699         heap. Instead of this assumption, I created another one - on IRIX
17700         the segment to grow should start below .bss and it's address
17701         should extent above the end of .bss. Once this segment is
17702         identified, it's grown to accommodate the new heap and new
17703         zero-length .bss section is added at the end of .data2.
17704
17705 2000-01-25  Martin Buchholz  <martin@xemacs.org>
17706
17707         * eval.c (Feval): Wrong number of arguments should use original
17708         function, not the indirect_function version of it.
17709
17710 2000-01-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
17711
17712         * glyphs-x.c (x_button_instantiate): Don't add image if
17713         it is not a pixmap.
17714         (x_locate_pixmap_file): Call Fexpand_file_name when file name
17715         is relative.
17716
17717 2000-01-21  Yoshiki Hayashi  <yoshiki@xemacs.org>
17718
17719         * symeval.h (DEFVAR_LISP_MAGIC): Remove semicolon after macro
17720         declaration.
17721         (DEFVAR_INT_MAGIC): Ditto.
17722         (DEFVAR_BOOL_MAGIC): Ditto.
17723         * glyphs.h: Reindent backslash.
17724
17725 2000-01-24  Martin Buchholz  <martin@xemacs.org>
17726
17727         * glyphs-widget.c (layout_query_geometry):
17728         (layout_layout): Use correct types for gheight, gwidth.
17729
17730 2000-01-24  Martin Buchholz  <martin@xemacs.org>
17731
17732         * EmacsManager.c (QueryGeometry): Purified.
17733
17734 2000-01-23  Martin Buchholz  <martin@xemacs.org>
17735
17736         * alloc.c (make_float): Make sure entire object is initialized, to
17737         avoid Purify warnings.
17738         (pdump_register_sub): Remove useless assignment.
17739         (pdump): Use xmalloc, not malloc.
17740         (pdump_load): Use xmalloc, not malloc.
17741
17742 2000-01-23  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17743
17744         * callproc.c:
17745         * dired-msw.c:
17746         * fileio.c:
17747         * process-nt.c:
17748         * redisplay-msw.c:
17749         * sysdep.c: Removed redundant #include <windows.h>
17750
17751 2000-01-22  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17752
17753         * frame.c (delete_frame_internal): Do not delete device when its
17754         implementation so declares.
17755         (delete_frame_internal): Set device selected frame to nil when
17756         last frame goes away.
17757
17758         * device-msw.c (msprinter_device_system_metrics): Implemented.
17759         (mswindows_device_system_metrics): Added 'device-dpi property.
17760
17761         * device.c: (Fdevice_printer_p): Added.
17762         Added 'offset-workspace device metric.
17763
17764         * console.h (device_metrics): Declared DM_offset_workspace.
17765
17766 2000-01-23  Martin Buchholz  <martin@xemacs.org>
17767
17768         * fileio.c (Ffile_truename): Remove pointless and confusing
17769         initialization of elen.
17770
17771         * glyphs-widget.c: Compiler warning fixes.
17772
17773 2000-01-23  Gunnar Evermann  <ge204@eng.cam.ac.uk>
17774
17775         * process.h (PROCESS_LIVE_P): Modify to take a Lisp_Process
17776         instead of a Lisp_Object as argument to make it consistent with
17777         the other LIVE_P macros.
17778         (CHECK_LIVE_PROCESS): New macro.
17779
17780         * process.c: Declare Qprocess_live_p.
17781         (Fprocess_live_p): New function.
17782         (create_process): Use PROCESS_LIVE_P.
17783         (read_process_output): Ditto.
17784         (set_process_filter): Ditto.
17785         (Fdelete_process): Ditto.
17786         (kill_buffer_processes): Ditto
17787         (process_send_signal): Use CHECK_LIVE_PROCESS.
17788         (Fprocess_input_coding_system): Check whether process is still
17789         alive (fix PR#1061).
17790         (Fprocess_output_coding_system): Ditto.
17791         (Fprocess_coding_system): Ditto.
17792         (Fset_process_input_coding_system): Ditto.
17793         (Fset_process_output_coding_system): Ditto.
17794
17795 2000-01-23  Andy Piper  <andy@xemacs.org>
17796
17797         * glyphs.h (struct Lisp_Image_Instance): change format by unifying
17798         layout and widget.
17799
17800         * glyphs.c (mark_image_instance): take into account changed
17801         image_instance format.
17802         (image_instance_equal): ditto.
17803         (image_instance_hash): ditto.
17804
17805         * glyphs-widget.c (widget_instantiate): Incorporate layout
17806         instantiation here. Delay layout of the layout until later.
17807         (layout_instantiate): deleted.
17808         (layout_query_geometry): new function. get the geometry of a
17809         layout.
17810         (layout_layout): layout a layout dynamically.
17811         (image_instantiator_widget): New function - splitting up
17812         image_instantiator_format_create_glyphs_widget for netwinder
17813         compilation.
17814         (image_instantiator_buttons):
17815         (image_instantiator_edit_fields):
17816         (image_instantiator_combo_box):
17817         (image_instantiator_scrollbar):
17818         (image_instantiator_progress_guage):
17819         (image_instantiator_tree_view):
17820         (image_instantiator_tab_control):
17821         (image_instantiator_labels):
17822         (image_instantiator_layout): ditto.
17823         (image_instantiator_format_create_glyphs_widget): Call preceding
17824         functions.
17825
17826 2000-01-22  Martin Buchholz  <martin@xemacs.org>
17827
17828         * process.c (Fset_process_coding_system):
17829         * device-x.c (Fx_keysym_hash_table):
17830         Docstring fixes.
17831
17832         * lstream.c (Lstream_write): Return documented value, not 0.
17833
17834         * fileio.c (directory_file_name):
17835         (Fsubstitute_in_file_name):
17836         (Fsubstitute_insert_file_contents_internal):
17837         (Fwrite_region_internal):
17838         * emacs.c:
17839         * sysdep.c:
17840         * getloadavg.c:
17841         * systty.h:
17842         Remove vestigial APOLLO-conditional code.
17843
17844 2000-01-21  Martin Buchholz  <martin@xemacs.org>
17845
17846         * getpagesize.h: Add guard macros.
17847         * libsst.h: Add guard macros.
17848         * libst.h: Add guard macros.
17849         * line-number.h: Add guard macros.
17850         * ndir.h: Add guard macros.
17851         * sysfloat.h: Add guard macros.
17852         * sysfile.h: Add guard macros.
17853         * sysproc.h: Add guard macros.
17854         * syswait.h: Add guard macros.
17855         * xintrinsic.h: Add guard macros.
17856         * xintrinsicp.h: Add guard macros.
17857         * xmmanager.h: Add guard macros.
17858         * xmmanagerp.h: Add guard macros.
17859         * xmprimitive.h: Add guard macros.
17860         * xmu.h: Add guard macros.
17861         * gpmevent.h: Add copyright statement. Add guard macros.
17862         * miscplay.h: Add guard macros.
17863         * *.h: Use consistent C-standards-approved guard macro names.
17864
17865         * opaque.c (make_opaque): Switch parameter order.
17866         * opaque.h (make_opaque): Switch parameter order.
17867         Update all callers.
17868         * buffer.h (MAKE_MIRROR_TRT_TABLE): Use symbolic constant OPAQUE_CLEAR.
17869
17870         * config.h.in (type_checking_assert): Added.
17871         (bufpos_checking_assert): Added.
17872
17873 2000-01-21  Martin Buchholz  <martin@xemacs.org>
17874
17875         * alloc.c: Harmless pdump changes.
17876         - Use countof().
17877         - spell alignment correctly.
17878         * sysdep.c: Use countof()
17879
17880 2000-01-20  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17881
17882         * console.c (create_console): Use CONMETH_OR_GIVEN when calling
17883         initially_selected_for_input() console method, default to 0.
17884         (semi_canonicalize_console_connection): Try to delegate to
17885         canonicalize_console_connection if no such console method.
17886         (canonicalize_console_connection): Vice versa.
17887         (print_console): Do not print nil connection.
17888
17889         * console.h (XDEVIMPF_IS_A_PRINTER): Added.
17890         (XDEVIMPF_NO_AUTO_REDISPLAY): Added.
17891         (XDEVIMPF_FRAMELESS_OK): Added.
17892         (CONSOLE_INHERITS_METHOD): Added.
17893
17894         * console-msw.c (mswindows_canonicalize_console_connection):
17895         Added.
17896         (mswindows_canonicalize_device_connection): Added.
17897
17898         * console-msw.h (struct msprinter_device): Added this struct and
17899         accessor macros.
17900         (mswindows_device): Made fontlist a lisp object.
17901
17902         * device.c (semi_canonicalize_device_connection):  Try to delegate
17903         to canonicalize_device_connection if no such console method.
17904         (canonicalize_device_connection): Vice versa.
17905         (print_device): Do not print nil connection.
17906
17907         * device-msw.c (mswindows_init_device): Call InitCommonControls
17908         when have widgets.
17909         (mswindows_delete_device): Removed fontlist deallocation.
17910         (mswindows_mark_device): Added.
17911
17912         * events.c (event_equal): Added abort() at unreached code.
17913         (event_hash): Ditto.
17914
17915         * faces.c (complex_vars_of_faces): Added Qmsprinter to the list of
17916         fallback tags of Windows devices.
17917
17918         * general.c (syms_of_general): Initialized Qmsprinter.
17919
17920         * gutter.c (complex_vars_of_gutters): Added Qmsprinter to the list
17921         of fallback tags of Windows devices.
17922
17923         * lisp.h: Declared Qmsprinter.
17924
17925         * objects-msw.c (font_enum_callback_2): Rewrote to build lisp list
17926         of strings.
17927         (mswindows_list_fonts): Ditto.
17928         (mswindows_enumerate_fonts): Removed dependency on XDEVICE, so
17929         that it can be used by both mswindows and msprinter devices.
17930         (initialize_font_instance): Added.
17931         (mswindows_initialize_font_instance): Use it.
17932         (msprinter_initialize_font_instance): Added.
17933
17934         * redisplay.c (redisplay_device): Added the parameter AUTOMATIC
17935         and implementation flags check.
17936         (redisplay_without_hooks): Changed the call to the above.
17937         (Fredraw_device): Ditto.
17938         (Fredisplay_device): Ditto.
17939
17940         * redisplay-msw.c (get_frame_dc): Implemented.
17941         (get_frame_compdc): Implemented.
17942         (many functions): Use the two functions above to get device
17943         contexts, ether for a window or a printer.
17944
17945 2000-01-21  Olivier Galibert  <galibert@pobox.com>
17946
17947         * symbols.c (reinit_symbols_once_early): Put Qzero/Qnull_pointer
17948         initialization here.
17949         (init_symbols_once_early): Call it.
17950         * emacs.c (main_1): Call it.
17951         * symsinit.h: Declare it.
17952
17953 2000-01-19  Olivier Galibert  <galibert@pobox.com>
17954
17955         * alloc.c: Use a lrecord_header * in the backtrace instead of a
17956         Lisp_Object.
17957         (pdump_backtrace): Ditto.
17958         (pdump_register_object): Ditto.  Cleanup use of the pointers.
17959         (pdump_get_entry): Abort if trying to register a null pointer.
17960         (pdump_dump_data): Cleanup types when relocating.
17961         (pdump_dump_staticvec): Cleanup types w.r.t the reloc table.
17962         (pdump_dump_rtables): Remove bad casts.
17963         (pdump_load): Cleanup relocation w.r.t union type.  Use a
17964         Lisp_Object instead of a EMACS_INT for the hashtable
17965         reorganization.
17966
17967 2000-01-20  Martin Buchholz  <martin@xemacs.org>
17968
17969         * emacs.c (main_1): Rearrange morass of #ifdef's for correctness.
17970
17971         * callproc.c (call_process_cleanup): Isolate WINDOWSNT code for clarity.
17972
17973         * EmacsManager.c (GeometryManager): Avoid use of CPP for clarity.
17974
17975         * *.[ch]: global-replace 's/_of_xselect/_of_select_x/g' *.[ch]
17976
17977 2000-01-17  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17978
17979         * faces.h (FACE_STRIKETHRU_P): Added.
17980
17981         * glyphs-msw.c (mswindows_widget_hfont): Implemented, to take care
17982         of font variants.
17983
17984         * redisplay-msw.c (mswindows_apply_face_effects): Deleted.
17985         (mswindows_set_dc_font): New function, aware of font variants,
17986         separated from mswindows_update_dc.
17987
17988         * objects-msw.h (struct mswindows_font_instance_data): Added
17989         definition.
17990
17991         * objects-msw.c (mswindows_finalize_font_instance): Delete all
17992         cached fonts and the data structure.
17993         (mswindows_initialize_font_instance): Added creation of font data
17994         structure.
17995         (mswindows_print_font_instance): Print at least something.
17996         (mswindows_create_font_variant): Implemented.
17997         (mswindows_get_hfont): Implemented.
17998
17999 2000-01-13  Fabrice Popineau  <Fabrice.Popineau@supelec.fr>
18000
18001         * dired-msw.c: permute "sysdir.h" with "sysfile.h" because of
18002         prototyping problem with msvc.
18003
18004         * emacs.c (main_1): added syms_of_gui_mswindows() call
18005
18006         * gui-msw.c: added "mswindows-shell-execute" lisp subr and
18007         syms_of_gui_mswindows() function
18008
18009         * symsinit.h: added the prototype for syms_of_gui_mswindows()
18010
18011 2000-01-18  Martin Buchholz <martin@xemacs.org>
18012
18013         * XEmacs 21.2.27 is released.
18014
18015 2000-01-18  Martin Buchholz  <martin@xemacs.org>
18016
18017         * glyphs-eimage.c (struct tiff_error_struct):
18018         (tiff_error_func):
18019         (tiff_warning_func):
18020         #if HAVE_VSNPRINTF ==> #ifdef HAVE_VSNPRINTF
18021
18022         * unexmips.c:
18023         * unexhp9k3.c:
18024         * unexfreebsd.c:
18025         * unexec.c: Remove vestigial Lucid C code.
18026         * unexalpha.c:
18027         * unexaix.c:
18028         * termcap.c:
18029         * libsst.c: Ansify.
18030         Remove declarations of errno and strerror().
18031
18032         * eval.c (Fbacktrace): Small Purify-cation.  Fix docstring.
18033
18034         * .dbxrc (run-temacs): Use the horrible ${1+"$@"} instead of "$@".
18035
18036 2000-01-16  Martin Buchholz  <martin@xemacs.org>
18037
18038         * mule-charset.c (Fchar_octet): Resurrect from earlier in 1999.
18039         Optimize.
18040
18041 2000-01-14  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
18042
18043         * md5.c:
18044         * file-coding.c:
18045         * file-coding.h:
18046         Change enum eol_type to eol_type_t.
18047
18048 2000-01-17  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
18049
18050         * gui.c (get_gui_callback): Check cons before accessing car.
18051
18052 2000-01-17  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
18053
18054         * specifier.h (XSPECIFIER_TYPE): Add error checking version.
18055         (XSETSPECIFIER_TYPE): Ditto.
18056
18057 2000-01-17  Didier Verna  <didier@xemacs.org>
18058
18059         * redisplay.c (generate_fstring_runes): compute string size in
18060         characters, not bytes.
18061
18062 2000-01-09  Hrvoje Niksic  <hniksic@iskon.hr>
18063
18064         * window.c (Fwindow_minibuffer_p): Make WINDOW optional.
18065
18066 2000-01-14  Hrvoje Niksic  <hniksic@iskon.hr>
18067
18068         * print.c (print_error_message): Call print_prepare().
18069
18070 2000-01-14  Martin Buchholz  <martin@xemacs.org>
18071
18072         * .dbxrc: Renamed from dbxrc.
18073
18074         * events.c (event_to_character):
18075         Use `assert (foo)' instead of `if (!foo) abort()'
18076
18077         * .gdbinit (xtype): Add documentation.
18078         * .gdbinit (check-temacs): New function.
18079         * .gdbinit (check-xemacs): New function.
18080         * dbxrc (check-xemacs): New function.
18081         * dbxrc (check-xemacs): New function.
18082
18083 2000-01-14  Andy Piper  <andy@xemacs.org>
18084
18085         * glyphs-widget.c (widget_query_geometry): Make sure that we
18086         calculate default dimensions correctly.
18087
18088 2000-01-13  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
18089
18090         * symsinit.h: Added prototype for reinit_vars_of_frame_mswindows.
18091
18092         * event-msw.c (vars_of_event_mswindows): Fixed a mistyped
18093         pdump_wire'd variable.
18094
18095         * emacs.c: (main_1): Conditionalized calls to
18096         reinit_vars_of_scrollbar_x and reinit_vars_of_module.
18097
18098 2000-01-13  Martin Buchholz  <martin@xemacs.org>
18099
18100         * window.c (Fset_window_configuration):
18101         * sysdep.c (_start):
18102         * input-method-motif.c (res):
18103         * event-Xt.c (Xt_process_to_emacs_event):
18104         Simple compiler warning fixes.
18105
18106         * bytecode.c (funcall_compiled_function): Use the original
18107         function symbol on the backtrace list in preference to the
18108         compiled_function object in error messages.
18109
18110 2000-01-13  Andy Piper  <andy@xemacs.org>
18111
18112         * glyphs-x.c (update_widget_face): Make sure we update the widget
18113         background as well as foreground.
18114
18115 2000-01-13  Andy Piper  <andy@xemacs.org>
18116
18117         * glyphs.h (struct Lisp_Image_Instance): Move justify and orient
18118         fields to subwindow.
18119         (IMAGE_INSTANCE_SUBWINDOW_JUSTIFY): new macro.
18120         (XIMAGE_INSTANCE_SUBWINDOW_JUSTIFY): ditto.
18121         (IMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
18122         (XIMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
18123
18124         * glyphs-widget.c (check_valid_tab_orientation): new function.
18125         (initialize_widget_image_instance): zero orientation and
18126         justification.
18127         (widget_instantiate): pick up orientation.
18128         (tab_control_query_geometry): return appropriate values for
18129         vertical tabs.
18130
18131         * glyphs-msw.c: (mswindows_tab_control_instantiate): assign
18132         appropriate creation flags for left, right and bottom tabs.
18133
18134         * s/cygwin32.h: add tab definitions.
18135
18136 2000-01-12  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
18137
18138         * glyphs-msw.c (mswindows_unmap_subwindow): Set focus back to the
18139         frame upon hiding a subwindow.
18140         (mswindows_button_instantiate): Changed the push button style to
18141         BS_PUSHBUTTON.
18142         (mswindows_button_instantiate): Removed button BS_NOTIFY
18143         style.
18144         (mswindows_button_instantiate): Removed redundant check for
18145         a disabled gui item.
18146         (mswindows_button_instantiate): Made use of WS_TABSTOP
18147         consistent: "operable" controls (edit, button, tree, scroll) have
18148         this style, "display-only" ones (static, progress gauge) do
18149         not. This style is currently ignored by XEmacs though. Also,
18150         removed the WS_EX_CONTROLPARENT style - it is not for children,
18151         it is for their parents!
18152         (mswindows_edit_field_instantiate): Ditto.
18153         (mswindows_progress_gauge_instantiate): Ditto.
18154         (mswindows_tree_view_instantiate): Ditto.
18155         (mswindows_tab_control_instantiate): Ditto.
18156         (mswindows_scrollbar_instantiate): Ditto.
18157         (mswindows_combo_box_instantiate): Ditto.
18158         (mswindows_widget_instantiate): Added the WS_EX_CONTROLPARENT
18159         style to the "clip" window.
18160         (mswindows_button_instantiate): Removed compilation warning by
18161         equally typing terms of the ?: operator.
18162
18163 2000-01-12  Didier Verna  <didier@xemacs.org>
18164
18165         * redisplay.c (generate_fstring_runes): new parameter holding the
18166         last modeline-format extent.
18167         (add_glyph_to_fstring_db_runes): new parameter holding the glyph
18168         extent, fill the glyph block with it.
18169         (generate_fstring_runes): handle these parameters.
18170         (generate_formatted_string_db): ditto.
18171
18172         * keymap.c (get_relevant_keymaps): retreive the keymaps from the
18173         glyphs'extents in the modeline.
18174
18175 1999-01-11  Mike Woolley  <mike@bulsara.com>
18176
18177         * ntheap.c: Reduced the reserved heap space from 1Gb down to
18178         256Mb, as a workaround for the non-starting problem many people
18179         have experienced.
18180
18181 2000-01-06  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
18182
18183         * console-tty.c (Fset_console_tty_output_coding_system):
18184         Force redrawing tty frame.
18185
18186 2000-01-10  Didier Verna  <didier@xemacs.org>
18187
18188         * redisplay.c (generate_fstring_runes): fix size computation bug.
18189
18190 2000-01-09  William M. Perry <wmperry@aventail.com>
18191
18192         * gpmevent.c: (gpm_next_event_cb): Don't return value from void function.
18193
18194 2000-01-09  Andy Piper  <andy@xemacs.org>
18195
18196         * glyphs-msw.c: index -> i to avoid shadows.
18197         (xbm_create_bitmap_from_data): make static.
18198         (check_valid_string_or_int): deleted.
18199         (mswindows_control_wnd_proc): message -> msg to avoid shadows.
18200
18201         * glyphs-x.c (x_update_subwindow): remove unused args.
18202
18203         * glyphs.c (glyph_image_instance): return the thing. Don't set the
18204         back pointer - this is done in allocate_image_instance.
18205         (query_string_font): return Qnil to make the compiler happy.
18206         (unmap_subwindow): set to ~0 to make the compiler happy.
18207         (glyph_query_geometry): comment out until used.
18208         (glyph_layout): ditto.
18209
18210 2000-01-09  Hrvoje Niksic  <hniksic@iskon.hr>
18211
18212         * insdel.c (signal_after_change): Remove extraneous unbind_to().