ec3b624726dfaf6557f93aa46f49529ce3f6e377
[chise/xemacs-chise.git.1] / src / ChangeLog
1 2011-05-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2
3         * text-coding.c (char_encode_as_entity_reference): Don't use
4         `DECODE_CHAR' to detect isolated characters.
5
6         * char-ucs.h (CHAR_ISOLATED_ONLY): New macro.
7         (CHAR_ALL): New macro.
8         (CHAR_DEFINED_ONLY): New macro.
9
10 2011-03-14  MORIOKA Tomohiko  <tomo@zinbun.kyoto-u.ac.jp>
11
12         * chartab.c (Fchar_feature_base_name_eq): New function when
13         UTF2000 is enabled.
14         (Fput_char_attribute): Use `Fchar_feature_base_name_eq'.
15         (syms_of_chartab): Add new builtin function
16         `char-feature-base-name=' when UTF2000 is enabled.
17
18 2011-02-17  MORIOKA Tomohiko  <tomo@zinbun.kyoto-u.ac.jp>
19
20         * text-coding.c (Vdecomposition_feature_list): New variable when
21         UTF2000 is defined.
22         (char_encode_utf8): Refer variable `decomposition-feature-list'
23         instead of `=decomposition' feature.
24         (vars_of_file_coding): Add new variable
25         `decomposition-feature-list' when UTF2000 is defined.
26
27 2011-02-16  MORIOKA Tomohiko  <tomo@zinbun.kyoto-u.ac.jp>
28
29         * chartab.c (Fput_char_attribute): Support `=decomposition@FOO' as
30         `=decomposition' feature.
31
32 2011-02-12  MORIOKA Tomohiko  <tomo@zinbun.kyoto-u.ac.jp>
33
34         * mule-charset.c (Fmake_charset): Fix problem for 94^n or 96^n
35         coded-charsets with builtin characters.
36
37 2011-02-09  MORIOKA Tomohiko  <tomo@zinbun.kyoto-u.ac.jp>
38
39         * text-coding.c (Qrep_decomposition): New extern.
40         (char_encode_utf8): Try to encode as combing sequence (or IVS).
41
42 2011-01-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
43
44         * concord.c (Fconcord_genre_ds): Add "#ifdef HAVE_LIBCHISE" ...
45         "#endif" for code to refer Vchise_system_db_directory.
46
47 2010-12-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
48
49         * concord.c (Fconcord_object_put): Use `member' instead of `memq'.
50         (Fconcord_object_adjoin): New function.
51         (Fconcord_object_adjoinX): New function.
52         (syms_of_concord): Defsubred `Fconcord_object_adjoin' and
53         `Fconcord_object_adjoinX'.
54
55 2010-12-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
56
57         * concord.c:
58         - Include "elconcord.h".
59         - Move EXFUNs for `Fconcord_decode_object', `Fconcord_object_put'
60           and `Fconcord_object_get' to elconcord.h.
61         (Lisp_CONCORD_DS): Moved to elconcord.h.
62         (struct Lisp_CONCORD_DS): Ditto.
63         (XCONCORD_DS): Ditto.
64         (XSET_CONCORD_DS): Ditto.
65         (CONCORD_DS_P): Ditto.
66         (CHECK_CONCORD_DS): Ditto.
67         (CONCHECK_CONCORD_DS): Ditto.
68         (Lisp_CONCORD_Object): Ditto.
69         (struct Lisp_CONCORD_Object): Ditto.
70         (XCONCORD_OBJECT): Ditto.
71         (XSET_CONCORD_OBJECT): Ditto.
72         (CONCORD_OBJECT_P): Ditto.
73         (CHECK_CONCORD_OBJECT): Ditto.
74         (CONCHECK_CONCORD_OBJECT): Ditto.
75         (CONCORD_OBJECT_GENRE): Ditto.
76         (CONCORD_OBJECT_ID): Ditto.
77         (XCONCORD_OBJECT_ID): Ditto.
78         (XCONCORD_OBJECT_GENRE): Ditto.
79         (concord_object_equal): New function.
80         (LRECORD_IMPLEMENTATION of "concord_object"): Use
81         `concord_object_equal'.
82
83         * elconcord.h: New file.
84
85 2010-12-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
86
87         * concord.c (print_concord_object): Use readable form even if
88         `print-readably' is nil.
89
90 2010-11-19  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
91
92         * concord.c (print_concord_object): Don't display location of
93         data-source when `print-readably' is nil.
94
95 2010-11-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
96
97         * concord.c (Fconcord_genre_ds): Use Vchise_system_db_directory as
98         the default location of data-source.
99         (complex_vars_of_concord): Use Vchise_system_db_directory to
100         assign genre `character' and `feature'.
101
102         * chartab.h (Vchise_system_db_directory): New extern when
103         HAVE_CONCORD is defined.
104
105 2010-09-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
106
107         * concord.c: Include <chise.h> if HAVE_LIBCHISE is defined.
108         (Qcharacter): New variable when HAVE_LIBCHISE is defined.
109         (Qfeature): Ditto.
110         (Fconcord_object_genre): New function.
111         (syms_of_concord):
112         - Add new builtin symbols `character' and `feature' when
113           HAVE_LIBCHISE is defined.
114         - Add Add new builtin function `concord-object-genre'.  
115         (complex_vars_of_concord): New function; assign genres `character'
116         and `feature' when HAVE_LIBCHISE is defined.
117
118 2010-09-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
119
120         * emacs.c (main_1): Call `complex_vars_of_concord' when
121         HAVE_CONCORD is defined.
122
123         * symsinit.h (complex_vars_of_concord): New prototype.
124
125 2010-07-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
126
127         * chartab.c (allocate_character): Add `static'.
128
129 2010-07-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
130
131         * chartab.c (allocate_character): New function.
132         (Fdefine_char): Use allocate_character().
133
134 2010-06-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
135
136         * mule.c (vars_of_mule): Update `xemacs-chise-version' to 0.25
137         (Ōkawara).
138
139 2010-03-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
140
141         * chartab.c (save_uint8_byte_table): Fixed problem when a property
142         is unloaded.
143         (save_uint16_byte_table): Likewise.
144
145 2010-02-21  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
146
147         * chartab.c (Fchar_feature_property): New function when LIBCHISE
148         is enabled.
149         (Fput_char_feature_property): Likewise.
150         (syms_of_chartab): Add new builtin functions
151         `char-feature-property' and `put-char-feature-property' when
152         LIBCHISE is enabled.
153
154 2009-04-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
155
156         * mule-charset.c (Fmake_charset): Add DOC-string of 'iso-ir and
157         '=>iso-ir.
158         (Fcharset_property): Regard '=>iso-ir as same as `iso_ir.
159
160 2009-04-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
161
162         * mule-charset.c (Qto_iso_ir): New variable for XEmacs CHISE.
163         (make_charset): Add new argument `iso_ir'.
164         (Fmake_charset): Add new property `=>iso-ir' in XEmacs CHISE.
165         (Fmake_reverse_direction_charset): Copy CHARSET_ISO_IR(cs) in
166         XEmacs CHISE.
167         (Fcharset_property): Support `iso-ir' in XEmacs CHISE.
168         (syms_of_mule_charset): Add new builtin symbol `=>iso-ir' in
169         XEmacs CHISE.
170         (complex_vars_of_mule_charset): Specify argument `iso_ir' of
171         function `make_charset'.
172
173         * char-ucs.h (LEADING_BYTE_*): Enclose negative value with ( ).
174         (struct Lisp_Charset): Add new member `iso_ir'.
175         (CHARSET_ISO_IR): New macro.
176
177 2009-03-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
178
179         * mule-charset.c (Fdecode_char): Fix problem when decoding GR
180         code-point by GL charset.
181
182 2008-10-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
183
184         * concord.c (concord_id_validate): New function.
185         (structure_type_create_concord): Use `concord_id_validate' instead
186         of `concord_name_validate' to accept integer and character as =id.
187
188 2008-09-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
189
190         * concord.c (func_for_each_object): Fix bug about GC-protection.
191
192 2008-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
193
194         * concord.c (Fconcord_object_put): Check argument FEATURE is a
195         symbol.
196
197 2008-09-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
198
199         * text-coding.c (struct decoding_stream): Add new member
200         `bom_flag' in XEmacs CHISE.
201         (reset_decoding_stream): Ignore U+FEFF in the beginning of stream
202         in XEmacs CHISE.
203
204 2008-09-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
205
206         * mule-charset.c: Move definition of `=jis-x0208@1978' to
207         lisp/mule/mule-conf.el.
208
209 2008-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
210
211         * mule-charset.c (Qpartial): New variable in XEmacs CHISE.
212         (make_charset): Add new argument `partial'.
213         (Fmake_charset): Add new property 'partial in XEmacs CHISE.
214         (Fmake_reverse_direction_charset): Modify for `make_charset'.
215         (syms_of_mule_charset): Add new builtin symbol `partial' in XEmacs
216         CHISE.
217         (complex_vars_of_mule_charset): Modify for `make_charset'; specify
218         `=jis-x0208' as a partial coded-charset.
219
220 2008-08-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
221
222         * text-coding.c (decode_add_er_char): Fix problem when a character
223         represented by an entity-reference is not defined.
224
225 2008-06-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
226
227         * char-ucs.h, chartab.c, fns.c, mule-charset.c: Rename Qmap_* to
228         Qrep_*.
229
230 2007-09-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
231
232         * mule.c (vars_of_mule): Update `xemacs-chise-version' to 0.24
233         (Kasagi).
234
235 2006-06-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
236
237         * concord.c (Fconcord_object_put): Add reversed links when FEATURE
238         is a relation feature.
239
240 2006-06-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
241
242         * chartab.c (syms_of_chartab): Define
243         `{<-|->}{subsumptive|denotational}' when HAVE_CONCORD is defined.
244
245         * chartab.h (Q_denotational): New extern when UTF2000 or
246         HAVE_CONCORD is defined.
247         (Q_denotational_from): Likewise.
248         (Q_subsumptive): Likewise.
249         (Q_subsumptive_from): Likewise.
250
251 2006-06-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
252
253         * concord.c (concord_object_put): New function.
254         (Fconcord_object_put): Use `concord_object_put'.
255
256 2006-06-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
257
258         * concord.c (Fconcord_define_object): New function.
259         (syms_of_concord): Add new builtin function
260         `concord-define-object'.
261
262 2006-05-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
263
264         * mule.c (vars_of_mule): Update `xemacs-chise-version' to 0.23
265         (Kamo).
266
267 2006-04-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
268
269         * concord.c: Add EXFUN for Fconcord_object_get.
270         (Vconcord_genre_object_hash_table): New variable.
271         (concord_genre_cache_get_object): New function.
272         (concord_genre_cache_put_object): New function.
273         (Fconcord_make_object): Use object cache; put object-ID into `=id'
274         feature.
275         (Fconcord_object_put): Call `concord_index_sync' after
276         `concord_index_strid_put_obj'.
277         (vars_of_concord): Setup Vconcord_genre_object_hash_table.
278
279 2006-04-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
280
281         * concord.c (Fconcord_decode_object): Do GCPRO for
282         Fconcord_make_object.
283         (func_for_each_object): Likewise; do GCPRO for
284         for_each_object_closure->function.
285         (Fconcord_foreach_object_in_feature): Use GCPRO4 for
286         for_each_object_closure->function, for_each_object_closure->genre,
287         for_each_object_closure->ds and for_each_object_closure->ret.
288         (concord_object_validate): Do GCPRO for Fconcord_make_object.
289
290 2006-04-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
291
292         * concord.c: Add EXFUNs for Fconcord_decode_object and
293         Fconcord_object_put.
294         (Fconcord_make_object): Change order of arguments.
295         (Fconcord_decode_object): Modify for Fconcord_make_object.
296         (func_for_each_object): Likewise.
297         (concord_object_validate): Likewise.
298         (concord_object_instantiate): Use GCPRO2 for `data' and `retval'.
299
300 2006-04-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
301
302         * concord.c (Fconcord_object_put): Setup index for `=FOO' feature.
303
304 2006-04-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
305
306         * concord.c (Fconcord_decode_object): Try to use readable print
307         form as a key of Concord-index.
308         (Fconcord_object_get): Try to use readable print form as an ID of
309         Concord-object.
310         (Fconcord_object_put): Try to use readable print form as an ID of
311         Concord-object and a feature value.
312         (Fconcord_object_spec): Try to use readable print form as an ID of
313         Concord-object.
314
315 2006-04-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
316
317         * concord.c (print_concord_object): Support readable form.
318
319 2006-04-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
320
321         * emacs.c (main_1): Call `structure_type_create_concord' when
322         HAVE_CONCORD is defined.
323
324         * symsinit.h (structure_type_create_concord): New prototype.
325
326         * concord.c (Qconcord_object): New variable.
327         (Qgenre): Likewise.
328         (Q_id): Likewise.
329         (Fconcord_ds_directory): Use <char*> instead of <unsigned char*>
330         for directory.
331         (add_feature_to_list_mapper): Use <char*> instead of <unsigned
332         char*> for genre-name.
333         (Fconcord_feature_list): Likewise.
334         (Fconcord_make_object): Likewise.
335         (Fconcord_decode_object): Likewise; use <char*> instead of
336         <unsigned char*> for feature_name and strid.
337         (Fconcord_object_get): Use <char*> instead of <unsigned char*> for
338         c_obj and feature_name.
339         (Fconcord_object_put): Likewise; use <char*> instead of <unsigned
340         char*> for c_value.
341         (struct closure_for_object_spec): Use <char*> instead of <unsigned
342         char*> for member `object_id'.
343         (add_feature_to_spec_mapper): Use <char*> instead of <unsigned
344         char*> for feature-name.
345         (Fconcord_object_spec): Use <char*> instead of <unsigned char*>
346         for c_obj.
347         (func_for_each_object): Cast to avoid warnings.
348         (Fconcord_foreach_object_in_feature): Use <char*> instead of
349         <unsigned char*> for genre_name and feature_name.
350         (concord_name_validate): New function.
351         (concord_object_validate): Likewise.
352         (concord_object_instantiate): Likewise.
353         (syms_of_concord): Add new builtin symbols `concord-object',
354         `genre' and `=id'.
355         (structure_type_create_concord): New function.
356
357 2006-04-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
358
359         * concord.c (Vconcord_ds_hash_table): New variable.
360         (Vconcord_genre_hash_table): New variable.
361         (Fconcord_open_ds): Use Vconcord_ds_hash_table.
362         (Fconcord_ds_directory): New function.
363         (Fconcord_assign_genre): New function.
364         (Fconcord_genre_directory): New function.
365         (Fconcord_genre_ds): New function.
366         (Fconcord_feature_list): Allow to omit `ds'.
367         (Fconcord_make_object): Likewise.
368         (Fconcord_decode_object): Likewise.
369         (Fconcord_foreach_object_in_feature): Likewise.
370         (syms_of_concord): Add new builtin function Fconcord_ds_directory,
371         Fconcord_assign_genre, Fconcord_genre_directory and
372         Fconcord_genre_ds.
373         (vars_of_concord): Setup Vconcord_ds_hash_table and
374         Vconcord_genre_hash_table.
375
376 2006-02-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
377
378         * concord.c (struct closure_for_each_object): Add new member
379         `ret'.
380         (func_for_each_object): Setup the return value to
381         `for_each_object_closure->ret'.
382         (Fconcord_foreach_object_in_feature): If FUNCTION returns non-nil,
383         returns the value instead of Qt.
384
385 2005-12-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
386
387         * concord.c: New file.
388
389 2005-12-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
390
391         * lrecord.h (enum lrecord_type): Add `lrecord_type_concord_ds' and
392         `lrecord_type_concord_object'.
393
394 2005-09-21  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
395
396         * symsinit.h (syms_of_concord): New prototype.
397         (vars_of_concord): New prototype.
398
399         * emacs.c (main_1): Setup symbols and variable about concord if
400         HAVE_CONCORD is defined.
401
402         * config.h.in (HAVE_CONCORD): New macro.
403
404 2005-09-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
405
406         * chartab.c (Fput_char_attribute): For each character relation
407         feature `{<-|->}FOO', set up the reversed link `{->|<-}FOO'.
408
409 2005-08-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
410
411         * chartab.c (Fput_char_attribute): Use
412         `Fchar_refs_simplify_char_specs' for `=>decomposition' before
413         calling `put_char_composition'.
414
415 2005-08-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
416
417         * chartab.c (Q_halfwidth_of): New variable.
418         (put_char_composition): Return `<-halfwidth' instead of
419         `=decomposition' for compatibility mapping to single character
420         tagged `narrow'.
421         (Fput_char_attribute): Convert char-specs in value of
422         `{<-|->}halfwidth[^*]*' to characters and put reverse links.
423         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
424         for `<-halfwidth'.
425         (syms_of_chartab): Add new symbol `<-halfwidth'.
426
427 2005-08-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
428
429         * chartab.c (put_char_composition): Return
430         `<-formed@{isolated|initial|medial|final}' for compatibility
431         mapping to single character tagged
432         `{isolated|initial|medial|final}'.
433
434 2005-08-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
435
436         * chartab.c (Q_compat_of): Deleted.
437         (put_char_composition): Return `<-FOO' for compatibility mapping
438         to single character tagged `FOO'; use `Fsymbol_name (...)' instead
439         of `symbol_name (XSYMBOL(...))'.
440         (Fput_char_attribute): Convert char-specs in value of
441         `{<-|->}font[^*]*' to characters and put reverse links.
442         (Fsave_char_attribute_table): Don't refer Q_compat_of.
443         (syms_of_chartab): Delete builtin symbol `<-compat'.
444
445 2005-08-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
446
447         * chartab.c (Q_circled_of): New variable.
448         (put_char_composition): Return `<-circled' instead of
449         `=decomposition' for compatibility mapping to single character
450         tagged `circle'.
451         (Fput_char_attribute): Convert char-specs in value of
452         `{<-|->}circled[^*]*' to characters and put reverse links.
453         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
454         for `<-circled'.
455         (syms_of_chartab): Add new symbol `<-circled'.
456
457 2005-08-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
458
459         * chartab.c (Qto_decomposition_at_circled): New variable.
460         (put_char_composition): Return `=>decomposition@circled' instead
461         of `=decomposition' for compatibility decomposition mapping tagged
462         `circle'.
463         (syms_of_chartab): Add new symbol `=>decomposition@circled'.
464
465 2005-08-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
466
467         * chartab.c (Q_subscript_of): New variable.
468         (put_char_composition): Return `<-subscript' instead of
469         `=decomposition' for compatibility mapping to single character
470         tagged `sub'.
471         (Fput_char_attribute): Convert char-specs in value of
472         `{<-|->}subscript[^*]*' to characters and put reverse links.
473         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
474         for `<-subscript'.
475         (syms_of_chartab): Add new symbol `<-subscript'.
476
477 2005-08-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
478
479         * chartab.c (Q_superscript_of): New variable.
480         (put_char_composition): Return `<-superscript' instead of
481         `=decomposition' for compatibility mapping to single character
482         tagged `super'.
483         (Fput_char_attribute): Convert char-specs in value of
484         `{<-|->}superscript[^*]*' to characters and put reverse links.
485         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
486         for `<-superscript'.
487         (syms_of_chartab): Add new symbol `<-superscript'.
488
489 2005-08-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
490
491         * chartab.c (Qto_decomposition_at_compat): Deleted.
492         (Qto_decomposition_at_superscript): New variable.
493         (put_char_composition): Use `=>decomposition@superscript' instead
494         of `=decomposition' for compatibility decomposition mapping tagged
495         `super'.
496         (Fput_char_attribute): Fix condition about `put_char_composition'.
497         (syms_of_chartab): Delete builtin symbol `=>decomposition@compat';
498         add news symbol `=>decomposition@superscript'.
499
500 2005-07-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
501
502         * chartab.c (put_char_composition): Return `=>decomposition@FOO'
503         for compatibility decomposition mapping tagged FOO.
504         (Fput_char_attribute): Modify for `put_char_composition'.
505
506 2005-07-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
507
508         * chartab.c (Qto_decomposition_at_compat): New variable.
509         (Q_compat_of): Renamed from `Q_compatibility_of'.
510         (put_char_composition): Rename `Q_compatibility_of' to
511         `Q_compat_of'; return `=>decomposition@compat' for compatibility
512         decomposition mapping.
513         (Fsave_char_attribute_table): Rename `Q_compatibility_of' to
514         `Q_compat_of'.
515         (syms_of_chartab): Add new symbol `=>decomposition@compat'; rename
516         `<-compatibility' to `<-compat'.
517
518 2005-07-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
519
520         * chartab.c (Q_compatibility_of): New variable.
521         (put_char_composition): Use XCAR/XCDR instead of Fcar/Fcdr if an
522         object is proved to be a cons cell; return `<-compatibility' if
523         the first element of argument `value' is `compat'.
524         (Fput_char_attribute): Eliminate the first value if
525         `put_char_composition' returns `<-compatibility'.
526         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
527         for `<-compatibility'.
528         (syms_of_chartab): Add new symbol `<-compatibility'.
529
530 2005-07-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
531
532         * chartab.c (Q_canonical): New variable.
533         (put_char_composition): Return a feature name: return
534         `->canonical' if argument `value' specifies single character.
535         (Fput_char_attribute): Use `put_char_composition' to determine
536         feature name for `=decomposition' or `->denotational'.
537         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
538         for `->canonical'.
539         (syms_of_chartab): Add new symbol `->canonical'.
540
541 2005-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
542
543         * chartab.c (Qmap_decomposition): New variable.
544         (Fput_char_attribute): Convert `->decomposition' to
545         `=decomposition'.
546         (syms_of_chartab): Add new symbol `=decomposition'.
547
548 2005-07-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
549
550         * chartab.c (Fget_range_char_table): Fix serious problem when
551         `range' is nil.
552
553 2005-06-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
554
555         * chartab.c (char_table_get_db): Use `read_from_c_string'.
556
557 2005-06-19  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
558
559         * lread.c (read_from_c_string): New function.
560
561         * lisp.h (read_from_c_string): New prototype.
562
563 2005-05-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
564
565         * chartab.c (Fput_char_attribute): Convert char-specs in value of
566         `{<-|->}Oracle-Bones[^*]*' to characters and put reverse links.
567         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
568         for `{<-|->}Oracle-Bones[^*]*'.
569
570 2005-05-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
571
572         * mule.c (vars_of_mule): Update `xemacs-chise-version' to 0.22
573         (Kizu).
574
575 2005-02-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
576
577         * text-coding.c (Qccs_priority_list): New variable in XEmacs
578         CHISE.
579         (Fmake_coding_system): Support new property `ccs-priority-list' in
580         XEmacs CHISE.
581         (Fcoding_system_property): Likewise.
582         (char_encode_iso2022): Prefer CODING_SYSTEM_CCS_PRIORITY_LIST than
583         Vdefault_coded_charset_priority_list in XEmacs CHISE.
584         (syms_of_file_coding): Add builtin symbol `ccs-priority-list' in
585         XEmacs CHISE.
586         (complex_vars_of_file_coding): Define new coding-system-property
587         `ccs-priority-list' in XEmacs CHISE.
588
589         * file-coding.h (XCODING_SYSTEM_CCS_PRIORITY_LIST): New macro.
590
591 2004-12-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
592
593         * char-ucs.h (decoding_table_put_char): Moved to mule-charset.c;
594         changed to normal function.
595         (encode_char_2): Likewise.
596
597         * mule-charset.c (decoding_table_put_char): Copied from
598         char-ucs.h; changed to normal function.
599         (encode_char_2): Likewise.
600
601 2004-12-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
602
603         * char-ucs.h (Vdisplay_coded_charset_priority_use_inheritance):
604         New extern.
605         (Vdisplay_coded_charset_priority_use_hierarchy_order): Likewise.
606         (encode_char_2_search_children): New inline function.
607         (encode_char_2): Refer
608         `Vdisplay_coded_charset_priority_use_{inheritance|hierarchy_order}'
609         and use `encode_char_2_search_children'.
610
611 2004-12-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
612
613         * mule-charset.c
614         (Vdisplay_coded_charset_priority_use_inheritance): New variable.
615         (Vdisplay_coded_charset_priority_use_hierarchy_order): Likewise.
616         (vars_of_mule_charset): Add new variable
617         `display-coded-charset-priority-use-inheritance' and
618         `display-coded-charset-priority-use-hierarchy-order'.
619
620 2004-11-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
621
622         * char-ucs.h (Q_subsumptive): New extern.
623         (Q_denotational): Likewise.
624         (encode_char_2): Search children specified by `->subsumptive' and
625         `->denotational'.
626
627 2004-11-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
628
629         * mule-charset.c (complex_vars_of_mule_charset): Modify the
630         X-registry of `ucs-bmp'.
631
632 2004-10-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
633
634         * chartab.c (char-variants): Refer `->subsumptive',
635         `->denotational' and `->identical' as same as `->ucs-unified'.
636
637 2004-10-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
638
639         * chartab.c (Fput_char_attribute): Convert char-specs in value of
640         `{<-|->}{fullwidth|halfwidth}[^*]*' to characters and put reverse
641         links.
642
643 2004-09-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
644
645         * text-coding.c: Add EXFUN for `Fregexp_quote'.
646         (decode_add_er_char): Fix problem about infinite loop when a CCS
647         specified in `coded-charset-entity-reference-alist' is not
648         existed.
649
650 2004-09-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
651
652         * mule-charset.c (syms_of_mule_charset): Rename
653         `=jis-x0208-{1978|1983|1990}' to `=jis-x0208@{1978|1983|1990}'.
654
655 2004-08-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
656
657         * fns.c (simplify_char_spec): Don't allocate new character-object
658         if specified char_spec does not have any CCS-features.
659
660         * chartab.h: Add EXFUN for Fdefine_char.
661
662         * chartab.c: Delete EXFUN for Fdefine_char.
663
664 2004-08-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
665
666         * fns.c (simplify_char_spec): Use Fdefine_char instead of
667         Ffind_char for char-spec.
668
669 2004-07-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
670
671         * lisp-disunion.h (XCHARVAL): Fix condition about
672         SIZEOF_EMACS_INT.
673
674 2004-07-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
675
676         * mule-charset.c (decode_builtin_char): Use <EMACS_INT> instead of
677         <int> for `code'.
678         (Fdecode_builtin_char): Use <EMACS_INT> instead of <int> for code
679         point; use <Emchar> instead of <int> for character-id.
680
681 2004-07-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
682
683         * lisp-disunion.h (make_int): Cast the argument into <EMACS_INT>.
684         (make_char): Likewise.
685         (XCHARVAL): Don't use the inline function for UTF-2000 in 64 bit
686         environment.
687         (XCHARVAL[for UTF-2000 in 32 bit environment]): Use <Emchar>
688         instead of <int> as the type of return value; use <Lisp_Object>
689         instead of <Emchar> as the type of argument.
690         (XCHARVAL[macro version]): Cast the result into <Emchar>.
691
692         * syntax.h (SYNTAX_CODE_UNSAFE): Use <Lisp_Object> and <enum
693         syntaxcode> instead of <int>.
694
695 2004-07-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
696
697         * chartab.c (put_char_composition): Use DECODE_CHAR to get
698         character corresponding with UCS code point.
699         (Fput_char_attribute): Likewise.
700
701         * mule-charset.c (put_char_ccs_code_point): Don't omit a UCS
702         character in the UCS decoding-table if the char-id is not equal to
703         the UCS code point.
704
705 2004-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
706
707         * mule-charset.c (Fsave_charset_properties): Use `true-name' only
708         for aliases; write `description'; write
709         `mother-code-{min|max|offset|conversion}' if CHARSET_MAX_CODE is
710         not 0.
711
712 2004-07-21  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
713
714         * chartab.c (Fsave_char_attribute_table): Don't use
715         `save_charset_properties'.
716
717         * mule-charset.c (Fsave_charset_properties): Renamed from
718         `save_charset_properties' and changed to Lisp function again;
719         write property `type' as `CCS'; write properties `final-byte' and
720         `mother' if they exists.
721         (syms_of_mule_charset): Revive builtin function
722         `save-charset-properties' when HAVE_LIBCHISE is defined.
723
724 2004-07-21  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
725
726         * chartab.c (open_chise_data_source_maybe): Use Vdata_directory
727         instead of Vexec_directory.
728         (char_attribute_system_db_file): Likewise.
729
730 2004-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
731
732         * chartab.c (Fsave_char_attribute_table): Use
733         `save_charset_properties' for CCS features when HAVE_LIBCHISE is
734         defined.
735
736         * mule-charset.c (save_charset_properties): Renamed from
737         `Fsave_charset_properties'; changed to non-Lisp function.
738         (syms_of_mule_charset): Abolish builtin function
739         `save-charset-properties'.
740
741 2004-07-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
742
743         * mule-charset.c (Fsave_charset_properties): New function when
744         HAVE_LIBCHISE is defined.
745         (syms_of_mule_charset): Add new builtin function
746         `save-charset-properties' when HAVE_LIBCHISE is defined.
747
748 2004-06-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
749
750         * chartab.c (Fput_char_attribute): Convert char-specs in value of
751         `{<-|->}ancient[^*]*' to characters and put reverse links.
752         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
753         for `{<-|->}ancient[^*]*'.
754
755 2004-06-19  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
756
757         * chartab.c (Fput_char_attribute): Convert char-specs in value of
758         `{<-|->}original[^*]*' to characters and put reverse links.
759         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
760         for `{<-|->}original[^*]*'.
761
762 2004-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
763
764         * mule-canna.c (m2c): Fix problem with XEmacs CHISE.
765
766 2004-06-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
767
768         * mule-charset.c (Qsystem_char_id): New variable.
769
770         * chartab.c (Qsystem_char_id): Deleted even if HAVE_CHISE is
771         defined and HAVE_LIBCHISE_LIBCHISE is not defined.
772
773 2004-05-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
774
775         * chartab.c (Fput_char_attribute): When processing a reference of
776         a character, put into the end of the reversed reference of each
777         target character.
778
779 2004-05-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
780
781         * chartab.c (Q_same): Deleted.
782         (Q_same_of): Deleted.
783         (Fput_char_attribute): Use Fstring_match to find `{<-|->}same'.
784         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
785         for `{<-|->}same'.
786         (syms_of_chartab): Delete builtin symbol `{<-|->}same'.
787
788 2004-05-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
789
790         * chartab.c (Q_vulgar): Deleted.
791         (Q_vulgar_of): Deleted.
792         (Fput_char_attribute): Use Fstring_match to find `{<-|->}vulgar'.
793         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
794         for `{<-|->}vulgar'.
795         (syms_of_chartab): Don't define `{<-|->}vulgar'.
796
797 2004-04-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
798
799         * chartab.c (Fput_char_attribute): Convert char-specs in value of
800         `{<-|->}wrong[^*]*' to characters and put reverse links.
801         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
802         for `{<-|->}wrong[^*]*'.
803
804 2004-04-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
805
806         * chartab.c (Q_vulgar): New variable.
807         (Q_vulgar_of): New variable.
808         (Fput_char_attribute): Convert char-specs in value of
809         `{->|<-}vulgar' to characters and put reverse links.
810         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
811         for `{->|<-}vulgar'.
812         (syms_of_chartab): Add new symbols `{->|<-}vulgar'.
813
814 2004-04-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
815
816         * text-coding.c (decode_add_er_char): Must to quote prefix string
817         as regexp.
818
819 2004-04-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
820
821         * mule-charset.c (put_char_ccs_code_point): Store characters of
822         =ucs whose code_points >= 0xF0000.
823
824 2004-04-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
825
826         * mule-charset.c (Vcharset_system_char_id): New variable in XEmacs
827         CHISE.
828         (syms_of_mule_charset): Add new symbol `system-char-id' in XEmacs
829         CHISE.
830         (complex_vars_of_mule_charset): Add new coded-charset
831         `system-char-id' in XEmacs CHISE; modify `=ucs' to eliminate
832         builtin characters over 0xEFFFF.
833
834         * chartab.c (syms_of_chartab): Don't define symbol
835         `system-char-id' in every case.
836
837         * char-ucs.h (Qsystem_char_id): New extern variable.
838         (LEADING_BYTE_SYSTEM_CHAR_ID): New macro.
839
840 2004-04-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
841
842         * text-coding.c (char_encode_utf8): Try to use entity-references
843         for U-000F0000 ...  U-0010FFFF.
844
845 2004-04-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
846
847         * text-coding.c (ER_BUF_SIZE): New macro.
848         (struct decoding_stream): Use `ER_BUF_SIZE' to specify size of
849         `er_buf'.
850         (decode_add_er_char): Use `ER_BUF_SIZE' instead of 16.
851         (char_encode_as_entity_reference): Use `ER_BUF_SIZE'.
852
853 2004-03-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
854
855         * chartab.c (find_char_feature_in_family): New function.
856         (Fchar_feature): Use `find_char_feature_in_family' with
857         `->identical', `<-subsumptive' and `<-denotational'.
858
859 2004-03-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
860
861         * text-coding.c (char_encode_as_entity_reference): Allow prefix
862         within 8 characters; fix infinite loop.
863
864 2004-03-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
865
866         * chartab.c (Q_same): New variable.
867         (Q_same_of): New variable.
868         (Fput_char_attribute): Convert char-specs in value of
869         `{->|<-}same' to characters and put reverse links.
870         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
871         for `{->|<-}same'.
872         (syms_of_chartab): Add new symbols `{->|<-}same'.
873
874 2004-03-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
875
876         * chartab.c (Q_component): New variable.
877         (Q_component_of): Likewise.
878         (Fput_char_attribute): Convert char-specs in value of
879         `{->|<-}ideographic-component-forms' to characters and put reverse
880         links.
881         (syms_of_chartab): Add new symbols
882         `{->|<-}ideographic-component-forms'.
883
884 2004-02-24  MORIOKA Tomohiko  <tomo@m17n.org>
885
886         * chartab.c (Q_identical): New variable.
887         (Q_identical_from): New variable.
888         (Fchar_feature): Regard `->identical' as a feature to find
889         ancestors.
890         (Fput_char_attribute): Add reversed link for `{->|<-}identical'.
891         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
892         for `{->|<-}identical'.
893         (syms_of_chartab): Add new symbols `{->|<-}identical'.
894
895 2004-02-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
896
897         * char-ucs.h (encode_char_2): New inline function.
898         (CHAR_TO_CHARC): Use `encode_char_2' instead of `encode_char_1'.
899
900 2004-02-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
901
902         * chartab.c (Fput_char_attribute): Convert char-specs to
903         characters in value of `ideographic-structure'.
904         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
905         for `{<-|->}simplified(@...)'.
906         (Fdefine_char): Try to use predefined character's id.
907
908 2004-02-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
909
910         * fns.c (simplify_char_spec): Try to convert builtin chars to
911         defined chars.
912
913 2004-02-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
914
915         * chartab.c (Fput_char_attribute): Convert char-specs in value of
916         `<-simplified[^*]*' to characters and put reverse links.
917
918 2004-02-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
919
920         * chartab.c (Q_subsumptive): Renamed from Q_unified.
921         (Q_subsumptive_from): Renamed from Q_unified_from.
922         (Fchar_feature): Use `Q_subsumptive_from' instead of
923         `Q_unified_from'.
924         (Fput_char_attribute): Likewise; Use `Q_subsumptive' instead of
925         `Q_unified'.
926         (syms_of_chartab): Rename `->unified' to `->subsumptive' and
927         `<-unified' to `<-subsumptive'.
928
929 2004-02-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
930
931         * chartab.c (Fchar_feature): Check `<-denotational' to avoid
932         inheritance itself; fix typo; stop recursive search if cyclic
933         inheritance is found.
934
935 2004-02-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
936
937         * chartab.c (Q_denotational): New variable.
938         (Q_denotational_from): New variable.
939         (Fchar_feature): Refer `<-denotational' as same as `<-unified'.
940         (put_char_attribute): New function.
941         (Fput_char_attribute): Use `put_char_attribute'; regard
942         `->denotational' and `<-denotational' as same as `->unified' and
943         `<-unified'.
944         (syms_of_chartab): Add new symbols `->denotational' and
945         `<-denotational'.
946
947 2004-02-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
948
949         * chartab.c (Fget_composite_char): Use `Fchar_feature' instead of
950         `Fget_char_attribute'.
951         (Fchar_variants): Likewise.
952         (get_char_table): Likewise.
953         (Fchar_feature): New function.
954         (put_char_composition): Use `Fchar_feature' instead of
955         `Fget_char_attribute'.
956         (Fput_char_attribute): Likewise; don't put the target character
957         into its `->unified' value.
958         (syms_of_chartab): Add new builtin function `char-feature'.
959
960 2004-01-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
961
962         * text-coding.c (COMPOSE_ADD_CHAR): Use `Fchar_feature' instead of
963         `Fget_char_attribute'.
964         (char_encode_utf8): Likewise.
965
966         * chartab.h: Add an EXFUN for `Fchar_feature'.
967
968 2004-01-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
969
970         * chartab.c (Vnext_defined_char_id): New variable.
971         (Fput_char_attribute): Accept characters in `->unified'.
972         (Fdefine_char): Refer and update Vnext_defined_char_id to allocate
973         new characters which are not related with builtin char-id ranges.
974         (vars_of_chartab): Add new variable `next-defined-char-id'.
975
976 2004-01-19  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
977
978         * chartab.c (Q_unified): New variable.
979         (Q_unified_from): New variable.
980         (Fput_char_attribute): Add code for `->unified'.
981         (syms_of_chartab): Add new symbols `->unified' and `<-unified' in
982         XEmacs CHISE.
983
984 2003-11-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
985
986         * mule-charset.c (decode_ccs_conversion): New function.
987         (decode_defined_char): Use `decode_ccs_conversion'.
988         (decode_builtin_char): Likewise.
989
990 2003-11-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
991
992         * char-ucs.h: Change some charset-ids of private coded-charsets.
993
994 2003-11-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
995
996         * text-coding.c (decode_add_er_char): Modify for `DECODE_CHAR'.
997         (char_encode_as_entity_reference): Likewise.
998         (decode_coding_big5): Modify for `decode_defined_char' and
999         `DECODE_CHAR'.
1000         (decode_coding_utf8): Modify for `decode_defined_char'; modify to
1001         avoid compiler warning.
1002         (decode_coding_iso2022): Modify for `DECODE_CHAR'.
1003
1004         * mule-charset.c (decode_defined_char): Add new argument
1005         `without_inheritance'.
1006         (Fdecode_char): Add new optional argument `without_inheritance'.
1007         (Fdecode_builtin_char): Modify for `Fdecode_char'.
1008
1009         * fns.c (ids_format_unit): Modify for `Fdecode_char'.
1010         (simplify_char_spec): Likewise.
1011
1012         * chartab.h (Fdecode_char): Modify number of arguments of EXFUN
1013         setting.
1014
1015         * chartab.c (put_char_table): Modify for `DECODE_CHAR'.
1016         (map_char_table): Likewise.
1017         (Fdefine_char): Use `Fdecode_char' without inheritance.
1018         (Ffind_char): Modify for `Fdecode_char'.
1019
1020         * character.h (CHARC_TO_CHAR): Modify for `DECODE_CHAR'.
1021
1022         * char-ucs.h (decode_defined_char): Add new argument
1023         `without_inheritance'.
1024         (DECODE_CHAR): Likewise.
1025         (MAKE_CHAR): Modify for `DECODE_CHAR'.
1026
1027 2003-10-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1028
1029         * chartab.c (Vchise_system_db_directory): New variable.
1030         (vars_of_chartab): Add new variable `chise-system-db-directory'.
1031
1032 2003-10-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1033
1034         * chartab.c: EXFUN `Fmount_char_attribute_table'.
1035         (print_chartab_range): Don't define when `UTF2000' is defined.
1036         (open_chise_data_source_maybe): Specify 0 instead of DB_HASH for
1037         `CHISE_DS_open'.
1038
1039 2003-10-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1040
1041         * chartab.c (Fchar_attribute_list): When HAVE_LIBCHISE is defined
1042         and optional argument `rehash' is specified, call
1043         `open_chise_data_source_maybe' before
1044         `chise_ds_foreach_char_feature_name' is called.
1045
1046 2003-10-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1047
1048         * chartab.c (char_attribute_list_reset_map_func): New function
1049         when HAVE_LIBCHISE is defined.
1050         (Fchar_attribute_list): Add new optional argument `rehash' when
1051         HAVE_LIBCHISE is defined.
1052         (open_chise_data_source_maybe): Use "chise-db" instead of
1053         "char-db".
1054         (char_attribute_system_db_file): Likewise.
1055         (Fload_char_attribute_table): Use
1056         `chise_feature_foreach_char_with_value' instead of
1057         `chise_char_feature_value_iterate'.
1058
1059 2003-10-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1060
1061         * chartab.c (Vchise_db_directory): New variable.
1062         (vars_of_chartab): Add new built-in variable `chise-db-directory'.
1063
1064 2003-10-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1065
1066         * mule-charset.c (Freset_charset_mapping_table): Use HAVE_LIBCHISE
1067         instead of HAVE_CHISE to specify using with libchise.
1068
1069         * config.h.in (HAVE_CHISE_CLIENT): Deleted.
1070
1071         * chartab.h: Don't use HAVE_CHISE_CLIENT.
1072
1073         * chartab.c (Qsystem_char_id): Don't define when HAVE_CHISE is not
1074         defined or HAVE_LIBCHISE_LIBCHISE is defined.
1075         (char_attribute_system_db_file): Don't define when HAVE_LIBCHISE
1076         is defined.
1077         (Freset_char_attribute_table): Use HAVE_LIBCHISE instead of
1078         HAVE_CHISE to specify using with libchise.
1079         (syms_of_chartab): Don't define symbol `system-char-id' when
1080         HAVE_CHISE is not defined or HAVE_LIBCHISE_LIBCHISE is defined.
1081
1082 2003-10-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1083
1084         * mule-charset.c: Use HAVE_CHISE instead of HAVE_CHISE_CLIENT to
1085         specify CHISE DB support.
1086         (Freset_charset_mapping_table): Use `chise_ccs_setup_db' instead
1087         of `char_attribute_system_db_file' to check feature DB file.
1088
1089         * chartab.h, casetab.c, char-ucs.h: Use HAVE_CHISE instead of
1090         HAVE_CHISE_CLIENT to specify CHISE DB support.
1091
1092         * chartab.c: Use HAVE_CHISE instead of HAVE_CHISE_CLIENT to
1093         specify CHISE DB support.
1094         (open_chise_data_source_maybe): Don't define when HAVE_LIBCHISE is
1095         not defined.
1096         (Freset_char_attribute_table): Use `chise_feature_setup_db'
1097         instead of `char_attribute_system_db_file' to check feature DB
1098         file.
1099
1100 2003-10-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1101
1102         * mule.c (vars_of_mule): Use `HAVE_CHISE' instead of `CHISE' and
1103         `HAVE_CHISE_CLIENT'.
1104
1105 2003-10-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1106
1107         * mule-charset.c: Use HAVE_LIBCHISE instead of CHISE.
1108         (Fsave_charset_mapping_table): Don't use
1109         `char_attribute_system_db_file' when HAVE_LIBCHISE is defined.
1110
1111         * config.h.in (HAVE_CHISE): Renamed from `CHISE'.
1112         (HAVE_LIBCHISE): New macro.
1113
1114         * chartab.h: Use HAVE_LIBCHISE instead of CHISE.
1115
1116         * chartab.c: Use HAVE_LIBCHISE instead of CHISE.
1117         (Fsave_char_attribute_table): Don't use
1118         `char_attribute_system_db_file' when HAVE_LIBCHISE is defined.
1119
1120 2003-10-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1121
1122         * chartab.c (save_uint8_byte_table): Use libchise when CHISE is
1123         defined.
1124         (save_uint16_byte_table): Likewise.
1125         (save_byte_table): Likewise.
1126         (char_table_get_db): Use `chise_ds_load_char_feature_value'
1127         instead of `chise_char_load_feature_value'.
1128         (Fsave_char_attribute_table): Use libchise when CHISE is defined.
1129
1130 2003-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1131
1132         * chartab.h (struct Lisp_Char_Table): Delete member
1133         `feature_table' if CHISE is defined.
1134
1135         * chartab.c (Fmake_char_table): Don't refer `ct->feature_table'.
1136         (Fcopy_char_table): Likewise.
1137         (char_table_open_db_maybe): Likewise.
1138         (char_table_close_db_maybe): Likewise.
1139         (char_table_get_db): Likewise.
1140         (Fmount_char_attribute_table): Likewise.
1141         (Fload_char_attribute_table): Likewise.
1142
1143 2003-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1144
1145         * mule-charset.c (load_char_decoding_entry_maybe): Use
1146         `chise_ds_decode_char' instead of `chise_ds_get_ccs' and
1147         `chise_ccs_decode'.
1148
1149 2003-10-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1150
1151         * chartab.c (open_chise_data_source_maybe): Use `CHISE_DS_open'
1152         instead of `chise_open_data_source'.
1153         (Fclose_char_data_source): Use `CHISE_DS_close' instead of
1154         `chise_ds_close'.
1155
1156 2003-10-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1157
1158         * chartab.c (char_table_open_db_maybe): Use `chise_ds_get_feature'
1159         instead of `chise_ds_open_feature_table'.
1160         (char_table_close_db_maybe): Don't use `chise_ft_close'.
1161
1162 2003-10-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1163
1164         * mule-charset.c (Fsave_charset_mapping_table): Use
1165         `chise_ds_get_ccs' instead of `chise_ds_open_ccs_table'; use
1166         `chise_ccs_set_decoded_char' instead of `chise_ccst_put_char'; use
1167         `chise_ccs_sync' instead of `chise_ccst_close'.
1168         (load_char_decoding_entry_maybe): Modify for `chise_ds_get_ccs'.
1169
1170         * chartab.c (open_chise_data_source_maybe): Modify for
1171         `chise_open_data_source'.
1172         (char_table_open_db_maybe): Modify for
1173         `chise_ds_open_feature_table'.
1174
1175 2003-08-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1176
1177         * mule-charset.c (load_char_decoding_entry_maybe): Use
1178         `chise_ds_get_ccs' instead of `chise_ds_open_ccs_table'; don't use
1179         `chise_ccst_close'.
1180
1181 2003-08-25  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1182
1183         * mule-charset.c (Fsave_charset_mapping_table): Use
1184         `chise_ds_open_ccs_table', `chise_ccst_put_char' and
1185         `chise_ccst_close' instead of `chise_ds_open_decoding_table',
1186         `chise_dt_put_char' and `chise_dt_close'.
1187         (load_char_decoding_entry_maybe): Use `chise_ds_open_ccs_table',
1188         `chise_ccs_decode' and `chise_ccst_close' instead of
1189         `chise_ds_open_decoding_table', `chise_dt_get_char' and
1190         `chise_dt_close'.
1191
1192         * chartab.c (char_table_get_db): Use
1193         `chise_char_load_feature_value' instead of `chise_ft_get_value'.
1194         (load_char_attribute_table_map_func): Modify for
1195         `chise_char_feature_value_iterate'.
1196         (Fload_char_attribute_table): Use
1197         `chise_char_feature_value_iterate' instead of `chise_ft_iterate'.
1198
1199 2003-10-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1200
1201         * text-coding.c (COMPOSE_ADD_CHAR): Fixed.
1202
1203 2003-08-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1204
1205         * chartab.c (put_char_table): Modify for inherited coded-charsets
1206         in XEmacs CHISE.
1207
1208 2003-08-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1209
1210         * chartab.c (Fput_char_table_map_function): Fixed.
1211         (word_boundary_p): Don't check charset in XEmacs CHISE.
1212
1213 2003-08-17  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1214
1215         * mule-charset.c (Fsave_charset_mapping_table): Use
1216         `open_chise_data_source_maybe'; use `chise_ds_open_decoding_table'
1217         instead of `chise_open_decoding_table'; refer
1218         `default_chise_data_source'; use `chise_dt_close' instead of
1219         `chise_close_decoding_table'.
1220         (load_char_decoding_entry_maybe): Likewise.
1221
1222         * chartab.c (default_chise_data_source): New variable when `CHISE'
1223         is defined.
1224         (Fcopy_char_table): `ct->ds' is deleted.
1225         (open_chise_data_source_maybe): New function.
1226         (Fclose_char_data_source): New function.
1227         (char_table_open_db_maybe): Use `open_chise_data_source_maybe';
1228         use `chise_ds_open_feature_table' instead of
1229         `chise_open_feature_table'.
1230         (char_table_close_db_maybe): Use `chise_ft_close' instead of
1231         `chise_close_feature_table'; `cit->ds' is deleted.
1232         (syms_of_chartab): Add new builtin function
1233         `close-char-data-source' when `HAVE_CHISE_CLIENT' is defined.
1234
1235         * chartab.h (default_chise_data_source): New extern variable.
1236         (open_chise_data_source_maybe): New prototype.
1237         (struct Lisp_Char_Table): Delete `ds'.
1238
1239 2003-08-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1240
1241         * mule-charset.c (Fsave_charset_mapping_table): Use libchise when
1242         `CHISE' is defined.
1243
1244 2003-08-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1245
1246         * chartab.c (char_table_open_db_maybe): Defined even if `CHISE' is
1247         not defined; add code for non-libchise setting.
1248         (char_table_close_db_maybe): Likewise.
1249         (char_table_get_db): New function when `HAVE_CHISE_CLIENT' is
1250         defined.
1251         (Fclose_char_attribute_table): Use `char_table_close_db_maybe'
1252         even if `CHISE' is not defined.
1253         (Freset_char_attribute_table): Likewise.
1254         (load_char_attribute_maybe): Use `char_table_open_db_maybe' and
1255         `char_table_close_db_maybe' even if `CHISE' is not defined; use
1256         `char_table_get_db'.
1257         (Fload_char_attribute_table): Use `char_table_open_db_maybe' and
1258         `char_table_close_db_maybe' even if `CHISE' is not defined.
1259
1260 2003-08-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1261
1262         * chartab.c (char_table_open_db_maybe): New function.
1263         (char_table_close_db_maybe): New function.
1264         (Fclose_char_attribute_table): Use `char_table_close_db_maybe'.
1265         (Freset_char_attribute_table): Likewise.
1266         (load_char_attribute_maybe): Use `char_table_open_db_maybe' and
1267         `char_table_close_db_maybe'.
1268         (Fload_char_attribute_table): Likewise.
1269
1270 2003-08-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1271
1272         * chartab.c: Don't include <chise.h> because it is included in
1273         chartab.h.
1274         (Fmake_char_table): Initialize `ct->feature_table' when `CHISE' is
1275         defined.
1276         (Fcopy_char_table): Copy `ct->ds' and `ct->feature_table' when
1277         `CHISE' is defined.
1278         (Fmount_char_attribute_table): Initialize `ct->feature_table' when
1279         `CHISE' is defined.
1280         (Fclose_char_attribute_table): Close `ct->feature_table' and
1281         `ct->ds' when `CHISE' is defined.
1282         (Freset_char_attribute_table): Likewise.
1283         (load_char_attribute_maybe): Use `cit->ds' and
1284         `cit->feature_table' when `CHISE' is defined.
1285         (Fload_char_attribute_table): Likewise.
1286
1287         * chartab.h: Include <chise.h> when `CHISE' is defined.
1288         (struct Lisp_Char_Table): Add new member `ds' and `feature_table'
1289         when `CHISE' is defined.
1290
1291 2003-08-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1292
1293         * chartab.c (mark_char_table): Member `db' is deleted when `CHISE'
1294         is defined.
1295         (char_table_description): Likewise.
1296         (Fmake_char_table): Likewise.
1297         (Fcopy_char_table): Likewise.
1298         (Fmount_char_attribute_table): Likewise.
1299         (Fclose_char_attribute_table): Likewise.
1300         (Freset_char_attribute_table): Likewise.
1301         (load_char_attribute_maybe): Likewise.
1302         (Fload_char_attribute_table): Likewise.
1303
1304         * chartab.h (struct Lisp_Char_Table): Delete `db' when `CHISE' is
1305         defined.
1306
1307 2003-08-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1308
1309         * chartab.c (load_char_attribute_table_map_func): New function
1310         when CHISE is defined.
1311         (Qload_char_attribute_table_map_function): Don't define when CHISE
1312         is defined.
1313         (Fload_char_attribute_table_map_function): Likewise.
1314         (Fload_char_attribute_table): Use libchise when `CHISE' is
1315         defined.
1316         (syms_of_chartab): Don't define
1317         `load-char-attribute-table-map-function' when CHISE is defined.
1318
1319 2003-08-06  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1320
1321         * chartab.c: Include <chise.h> when `CHISE' is defined.
1322         (load_char_attribute_maybe): Use libchise when `CHISE' is defined.
1323
1324 2003-07-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1325
1326         * mule-charset.c (charset_code_point): Fix problem when searching
1327         in mother CCS fails with `defined_only' mode.
1328
1329 2003-06-29  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1330
1331         * chartab.c (Q_ucs_unified): Renamed from `Q_ucs_variants'.
1332         (Fchar_variants): Rename `Q_ucs_variants' to `Q_ucs_unified'.
1333         (put_char_composition): Likewise.
1334         (Fput_char_attribute): Likewise.
1335         (syms_of_chartab): Rename `->ucs-variants' to `->ucs-unified'.
1336
1337 2003-06-29  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1338
1339         * chartab.c (Q_ucs): Deleted.
1340         (Fput_char_attribute): Don't refer `->ucs'.
1341         (Fdefine_char): Likewise.
1342         (Ffind_char): Likewise.
1343         (syms_of_chartab): Delete `->ucs'.
1344
1345 2003-04-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1346
1347         * mule-charset.c (Qmap_cns11643_2): Renamed from
1348         `Qchinese_cns11643_2'.
1349         (syms_of_mule_charset): Add new symbol `=cns11643-2' instead of
1350         `chinese-cns11643-2'.
1351         (complex_vars_of_mule_charset): Rename `chinese-cns11643-2' to
1352         `=cns11643-2'.
1353
1354 2003-04-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1355
1356         * mule-charset.c (Qmap_cns11643_1): Renamed from
1357         `Qchinese_cns11643_1'.
1358         (syms_of_mule_charset): Add new symbol `=cns11643-1' instead of
1359         `chinese-cns11643-1'.
1360         (complex_vars_of_mule_charset): Rename `chinese-cns11643-1' to
1361         `=cns11643-1'.
1362
1363 2003-04-24  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1364
1365         * mule-charset.c (Qmap_gb12345): Renamed from `Qchinese_gb12345'.
1366         (syms_of_mule_charset): Add new symbol `=gb12345' instead of
1367         `chinese-gb12345'.
1368         (complex_vars_of_mule_charset): Rename `chinese-gb12345' to
1369         `=gb12345'.
1370
1371 2003-04-21  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1372
1373         * mule-charset.c (Qmap_gb2312): Renamed from `Qchinese_gb2312'.
1374         (syms_of_mule_charset): Add new symbol `=gb2312' instead of
1375         `chinese-gb2312'.
1376         (complex_vars_of_mule_charset): Rename `chinese-gb2312' to
1377         `=gb2312'.
1378
1379 2003-04-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1380
1381         * mule-charset.c (Qmap_big5): Renamed from `Qchinese_big5'.
1382         (syms_of_mule_charset): Add new symbol `=big5' instead of
1383         `chinese-big5'.
1384         (complex_vars_of_mule_charset): Rename `chinese-big5' to `=big5'.
1385
1386 2003-04-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1387
1388         * mule-charset.c (Qmap_ks_x1001): Renamed from `Qkorean_ksc5601'.
1389         (syms_of_mule_charset): Add new symbol `=ks-x1001' instead of
1390         `korean-ksc5601'.
1391         (complex_vars_of_mule_charset): Rename `korean-ksc5601' to
1392         `=ks-x1001'.
1393
1394 2003-04-15  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1395
1396         * mule-charset.c (Qmap_jis_x0212): Renamed from
1397         `Qjapanese_jisx0212'.
1398         (syms_of_mule_charset): Add new symbol `=jis-x0212' instead of
1399         `japanese-jisx0212'.
1400         (complex_vars_of_mule_charset): Rename `japanese-jisx0212' to
1401         `=jis-x0212'.
1402
1403 2003-04-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1404
1405         * mule-charset.c (Qmap_jis_x0208_1983): Renamed from
1406         `Qjapanese_jisx0208'.
1407         (syms_of_mule_charset): Add new symbol `=jis-x0208-1983' instead
1408         of `japanese-jisx0208'.
1409         (complex_vars_of_mule_charset): Rename `japanese-jisx0208' to
1410         `=jis-x0208-1983'.
1411
1412 2003-04-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1413
1414         * mule-charset.c (Qmap_jis_x0208_1978): Renamed from
1415         `Qjapanese_jisx0208_1978'.
1416         (syms_of_mule_charset): Add new symbol `=jis-x0208-1978' instead
1417         of `japanese-jisx0208-1978'.
1418         (complex_vars_of_mule_charset): Rename `japanese-jisx0208-1978' to
1419         `=jis-x0208-1978'.
1420
1421 2003-04-04  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1422
1423         * chartab.c (decode_char_table_range): CHARTAB_RANGE_DEFAULT is
1424         only for XEmacs CHISE.
1425
1426 2003-04-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1427
1428         * char-ucs.h: Compact non-ISO-IR charset-ids.
1429         (LEADING_BYTE_UCS): Changed to -177.
1430         (LEADING_BYTE_CONTROL_1): Changed to -77.
1431         (LEADING_BYTE_UCS_BMP): Changed to -176.
1432         (LEADING_BYTE_JAPANESE_JISX0208_1990): Changed to -168.
1433
1434 2003-04-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1435
1436         * mule-charset.c (Qiso_ir): New variable.
1437         (Fmake_charset): Recognise new property `iso-ir'.
1438         (syms_of_mule_charset): Add new symbol `iso-ir'.
1439
1440 2003-04-02  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1441
1442         * char-ucs.h: Change charset-id of ISO-IR sets from ISO-IR-number
1443         n to -n; charset-id of non ISO-IR sets are changed to positive
1444         numbers.
1445
1446 2003-03-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1447
1448         * text-coding.c (decode_add_er_char): Use XUINT instead of XINT
1449         for &MCS-XXXXXXXX; values.
1450
1451 2003-03-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1452
1453         * mule.c (Vxemacs_chise_version): Renamed from
1454         `Vutf_2000_version'.
1455         (vars_of_mule): Add new variable `xemacs-chise-version'; define
1456         `utf-2000-version' as an alias for `xemacs-chise-version'.
1457
1458 2003-03-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1459
1460         * mule-charset.c: Include <chise.h> when `CHISE' is defined.
1461         (load_char_decoding_entry_maybe): Use libchise when `CHISE' is
1462         defined.
1463
1464         * config.h.in (CHISE): New macro.
1465
1466 2003-03-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1467
1468         * mule-charset.c (put_char_ccs_code_point): Refer `=ucs' instead
1469         of `ucs'.
1470         (Qmap_ucs): New variable.
1471         (syms_of_mule_charset): Add new symbol `=ucs'.
1472         (complex_vars_of_mule_charset): Rename `ucs' to `=ucs'.
1473
1474         * fns.c (ids_format_unit): Refer `=ucs' instead of `ucs'.
1475         (simplify_char_spec): Likewise.
1476
1477         * chartab.c (Fdefine_char): Refer `=ucs' as same as `ucs'.
1478
1479         * char-ucs.h (Qmap_ucs): New extern variable.
1480
1481 2003-03-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1482
1483         * mule-charset.c (Qmap_jis_x0208): Renamed from `Qjis_x0208'.
1484         (Qmap_jis_x0208_1990): Renamed from `Qjapanese_jisx0208_1990';
1485         don't define it when UTF2000 is not defined.
1486         (syms_of_mule_charset): Modify for `Qmap_jis_x0208'; rename
1487         `japanese-jisx0208-1990' to `=jis-x0208-1990'; don't define it
1488         when UTF2000 is not defined.
1489         (complex_vars_of_mule_charset): Modify for `Qmap_jis_x0208';
1490         rename `japanese-jisx0208-1990' to `=jis-x0208-1990'.
1491
1492 2003-03-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1493
1494         * char-ucs.h (LEADING_BYTE_UCS_GB): Deleted.
1495
1496         * mule-charset.c (Vcharset_ucs_gb): Deleted.
1497         (Qucs_gb): Deleted.
1498         (syms_of_mule_charset): Delete `ucs-gb'.
1499         (complex_vars_of_mule_charset): Likewise.
1500
1501 2003-03-04  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1502
1503         * char-ucs.h (LEADING_BYTE_UCS_CNS): Deleted.
1504
1505         * mule-charset.c (Vcharset_ucs_cns): Deleted.
1506         (Qucs_cns): Deleted.
1507         (syms_of_mule_charset): Delete `ucs-cns'.
1508         (complex_vars_of_mule_charset): Likewise.
1509
1510 2003-03-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1511
1512         * char-ucs.h (LEADING_BYTE_UCS_JIS): Deleted.
1513
1514         * mule-charset.c (Vcharset_ucs_jis): Deleted.
1515         (Qucs_jis): Deleted.
1516         (syms_of_mule_charset): Delete `ucs-jis'.
1517         (complex_vars_of_mule_charset): Likewise.
1518
1519 2003-03-02  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1520
1521         * char-ucs.h (LEADING_BYTE_UCS_KS): Deleted.
1522
1523         * mule-charset.c (Vcharset_ucs_ks): Deleted.
1524         (Qucs_ks): Deleted.
1525         (syms_of_mule_charset): Delete `ucs-ks'.
1526         (complex_vars_of_mule_charset): Likewise.
1527
1528 2003-03-01  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1529
1530         * mule-charset.c (Vcharset_ideograph_daikanwa_2): Deleted.
1531         (Qideograph_daikanwa_2): Deleted.
1532         (syms_of_mule_charset): Delete `ideograph-daikanwa-2'.
1533         (complex_vars_of_mule_charset): Likewise.
1534
1535         * char-ucs.h (LEADING_BYTE_DAIKANWA_0): Deleted.
1536         (LEADING_BYTE_DAIKANWA_1): Deleted.
1537         (LEADING_BYTE_DAIKANWA_2): Deleted.
1538         (MIN_CHAR_DAIKANWA): Deleted.
1539         (MAX_CHAR_DAIKANWA): Deleted.
1540
1541 2003-02-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1542
1543         * char-ucs.h (LEADING_BYTE_DAIKANWA_3): Deleted.
1544         (LEADING_BYTE_HANZIKU_{1..12}): Deleted.
1545         ({MIN|MAX}_CHAR_HANZIKU_{1..12}): Deleted.
1546
1547         * mule-charset.c (Vcharset_ideograph_hanziku_{1..12}): Deleted.
1548         (Vcharset_ideograph_daikanwa): Deleted.
1549         (Qideograph_hanziku_{1..12}): Deleted.
1550         (Qideograph_daikanwa): Deleted.
1551         (encode_builtin_char_1): Don't use {MIN|MAX}_CHAR_DAIKANWA and
1552         Vcharset_ideograph_daikanwa.
1553         (syms_of_mule_charset): Delete `ideograph-daikanwa' and
1554         `ideograph-hanziku-{1..12}'.
1555         (complex_vars_of_mule_charset): Likewise.
1556
1557 2003-02-26  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1558
1559         * char-ucs.h (LEADING_BYTE_GT_PJ_{1..11}): Deleted.
1560
1561         * mule-charset.c (Vcharset_ideograph_gt_pj_{1..11}): Deleted.
1562         (Qideograph_gt_pj_{1..11}): Deleted.
1563         (syms_of_mule_charset): Delete `ideograph-gt-pj-{1..11}'.
1564         (complex_vars_of_mule_charset): Likewise.
1565
1566 2003-02-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1567
1568         * mule-charset.c (Vcharset_ucs_big5): Deleted.
1569         (Vcharset_ideograph_gt): Deleted.
1570         (Qucs_big5): Deleted.
1571         (Qideograph_gt): Deleted.
1572         (syms_of_mule_charset): Delete symbol `ucs-big5' and
1573         `ideograph-gt'.
1574         (complex_vars_of_mule_charset): Delete coded-charset `ucs-big5'
1575         and `ideograph-gt'.
1576
1577         * char-ucs.h (LEADING_BYTE_UCS_BIG5): Deleted.
1578         (LEADING_BYTE_GT): Deleted.
1579         (MIN_CHAR_GT): Deleted.
1580         (MAX_CHAR_GT): Deleted.
1581
1582 2003-02-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1583
1584         * chartab.c (Fput_char_attribute): Canonicalise charset-aliases.
1585
1586 2003-01-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1587
1588         * chartab.c (save_uint8_byte_table): Add new argument `filter'.
1589         (save_uint16_byte_table): Likewise.
1590         (save_byte_table): Likewise; convert values by it.
1591         (Fput_char_attribute): Don't use `char-refs-simplify-char-specs'
1592         for `ideographic-structure'.
1593         (Fsave_char_attribute_table): Use `char-refs-simplify-char-specs'
1594         as the filter for `ideographic-structure'.
1595
1596 2003-01-07  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1597
1598         * chartab.c (put_char_composition): New function.
1599         (Fput_char_attribute): Use `put_char_composition'; use
1600         `Fchar_refs_simplify_char_specs' for `ideographic-structure'.
1601
1602         * fns.c (simplify_char_spec): New function.
1603         (char_ref_simplify_spec): New function.
1604         (Fchar_refs_simplify_char_specs): New function.
1605         (syms_of_fns): Add new builtin function
1606         `char-refs-simplify-char-specs'.
1607
1608 2003-01-05  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1609
1610         * mule-charset.c (Vcharset_ideograph_cbeta): Deleted.
1611         (Qideograph_cbeta): Deleted.
1612         (syms_of_mule_charset): Don't define `ideograph-cbeta'.
1613         (complex_vars_of_mule_charset): Likewise.
1614
1615         * char-ucs.h (LEADING_BYTE_CBETA): Deleted.
1616         (MIN_CHAR_CBETA): Comment out.
1617         (MAX_CHAR_CBETA): Likewise.
1618
1619 2002-12-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1620
1621         * mule-charset.c, chartab.h, casetab.c, char-ucs.h, chartab.c: Use
1622         `HAVE_CHISE_CLIENT' instead of `HAVE_DATABASE' to indicate the
1623         CHISE client feature.
1624
1625 2002-12-25  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1626
1627         * mule.c (vars_of_mule): Update `utf-2000-version' to 0.20.
1628
1629 2002-12-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1630
1631         * mule-charset.c (charset_lookup_description_1): Use
1632         `NUM_LEADING_BYTES' in UTF-2000.
1633
1634 2002-12-18  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1635
1636         * char-ucs.h (GC_CHARSETP): Deleted.
1637
1638 2002-12-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1639
1640         * char-ucs.h (MAX_CHAR_GT): Updated.
1641
1642 2002-12-15  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1643
1644         * text-coding.c: Sync with XEmacs 21.4.10.
1645
1646 2002-11-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1647
1648         * mule-charset.c (Vcharset_china3_jef): Deleted.
1649         (Qchina3_jef): Deleted.
1650         (syms_of_mule_charset): Don't define `china3-jef'.
1651         (complex_vars_of_mule_charset): Likewise.
1652
1653         * char-ucs.h (LEADING_BYTE_CHINA3_JEF): Deleted.
1654         (MIN_CHAR_CHINA3_JEF): Comment out.
1655         (MAX_CHAR_CHINA3_JEF): Comment out.
1656
1657 2002-11-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1658
1659         * mule-charset.c (Vcharset_ucs_gb): New variable.
1660         (Qucs_gb): New variable.
1661         (syms_of_mule_charset): Add new symbol `ucs-gb'.
1662         (complex_vars_of_mule_charset): Add new coded-charset `ucs-gb'.
1663
1664         * char-ucs.h (LEADING_BYTE_UCS_GB): New macro.
1665
1666 2002-11-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1667
1668         * mule-charset.c (charset_code_point): if a coded-charset has a
1669         final-byte, don't inherit the builtin range of the mother CCS.
1670
1671 2002-11-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1672
1673         * mule-charset.c (charset_code_point): Fix problem about
1674         inheritance.
1675
1676 2002-11-14  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1677
1678         * mule-charset.c (decode_builtin_char): Reorganized.
1679
1680 2002-10-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1681
1682         * text-coding.c (char_encode_as_entity_reference): Modify for
1683         `charset_code_point'.
1684         (char_encode_shift_jis): Likewise.
1685         (char_encode_big5): Likewise.
1686         (char_encode_utf8): Likewise.
1687         (char_encode_iso2022): Likewise.
1688
1689         * mule-charset.c (charset_code_point): Add new argument
1690         `defined_only'.
1691         (Fencode_char): Add new optional argument `defined_only'.
1692
1693         * chartab.c (put_char_table): Modify for `charset_code_point'.
1694
1695         * char-ucs.h (charset_code_point): Add new argument
1696         `defined_only'.
1697         (encode_char_1): Modify for `charset_code_point'.
1698
1699 2002-10-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1700
1701         * mule-charset.c (complex_vars_of_mule_charset): Don't specify
1702         `MIN_CHAR_THAI' and `MAX_CHAR_THAI' for `thai-tis620'.
1703
1704 2002-10-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1705
1706         * mule-charset.c (Vcharset_jis_x0208): New variable in UTF-2000.
1707         (Qjis_x0208): Likewise.
1708         (decode_builtin_char): Prefer XCHARSET_MAX_CODE(charset) than
1709         XCHARSET_FINAL(charset).
1710         (charset_code_point): Modify condition for final-byte based
1711         builtin-chars.
1712         (syms_of_mule_charset): Add new symbol `=jis-x0208' in UTF-2000.
1713         (complex_vars_of_mule_charset): Add new coded-charset `=jis-x0208'
1714         in UTF-2000; specify `=jis-x0208' as the mother of
1715         `japanese-jisx0208-1978', `japanese-jisx0208' and
1716         `japanese-jisx0208-1990' in UTF-2000.
1717
1718 2002-10-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1719
1720         * char-ucs.h (LEADING_BYTE_JIS_X0208): New macro.
1721
1722 2002-10-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1723
1724         * text-coding.c (decode_coding_utf16): Support UTF-16.
1725         (char_encode_utf16): Fixed.
1726
1727 2002-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1728
1729         * text-coding.c (Qutf16): New variable in MULE.
1730         (Fmake_coding_system): Accept `utf-16' as `type' in MULE.
1731         (Fcoding_system_type): Add `utf-16' in MULE.
1732         (struct detection_state): Add a structure for utf16 in MULE.
1733         (detect_coding_type): Setup st->utf16.mask in MULE.
1734         (mule_decode): Use `decode_coding_utf16' for `CODESYS_UTF16' in
1735         MULE.
1736         (reset_encoding_stream): Use `char_encode_utf16' and
1737         `char_finish_utf16' for `CODESYS_UTF16' in MULE.
1738         (detect_coding_utf16): New function [incomplete].
1739         (decode_coding_utf16): New function [support only UCS-2].
1740         (char_encode_utf16): New function.
1741         (char_finish_utf16): New function.
1742         (syms_of_file_coding): Add new symbol `utf-16'; setup
1743         `coding_category_symbol[CODING_CATEGORY_UTF16]'.
1744
1745         * file-coding.h (enum coding_system_type): Add `CODESYS_UTF16' in
1746         UTF-2000.
1747         (enum coding_category_type): Add `CODING_CATEGORY_UTF16' in MULE.
1748         (CODING_CATEGORY_UTF16_MASK): New macro in MULE.
1749
1750 2002-10-08  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1751
1752         * chartab.c (put_char_table): When a charset is specified as a
1753         range in UTF-2000, don't support builtin characters.
1754
1755 2002-09-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1756
1757         * mule-charset.c (decode_defined_char): Don't refer external
1758         database if Qunbound or Qnil are found.
1759         (Fsave_charset_mapping_table): Don't define it if
1760         HAVE_CHISE_CLIENT is not defined.
1761         (Freset_charset_mapping_table): New function.
1762         (load_char_decoding_entry_maybe): Store Qnil if a character is not
1763         found in external database.
1764         (syms_of_mule_charset): Don't define `save-charset-mapping-table'
1765         if HAVE_CHISE_CLIENT is not defined; add new builtin function
1766         `reset-charset-mapping-table' if HAVE_CHISE_CLIENT is defined.
1767
1768 2002-09-18  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1769
1770         * text-coding.c (decode_coding_utf8): Check CCS is specified or
1771         not.
1772
1773 2002-08-26  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1774
1775         * chartab.h: Add extern declarations for Qdowncase, Qflippedcase,
1776         Q_lowercase, Q_uppercase in UTF-2000.
1777
1778         * chartab.c (get_char_table): Add special code for the standard
1779         case table to use character attribute `->downcase' and
1780         `->uppercase' for case operations in UTF-2000.
1781
1782         * casetab.c (Qflippedcase): New variable in UTF-2000.
1783         (Q_lowercase): Likewise.
1784         (Q_uppercase): Likewise.
1785         (syms_of_casetab): Add new symbols `flippedcase', `->lowercase'
1786         and `->uppercase' in UTF-2000.
1787         (complex_vars_of_casetab): Assign attribute name `downcase' to
1788         downcase and CANON table of Vstandard_case_table in UTF-2000;
1789         assign attribute name `flippedcase' to upcase and EQV table of
1790         Vstandard_case_table in UTF-2000.
1791
1792 2002-08-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1793
1794         * text-coding.c (decode_add_er_char): Support isolated-chars.
1795         (char_encode_as_entity_reference): Likewise.
1796
1797 2002-08-13  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1798
1799         * emacs.c (Vutf_2000_lisp_directory): New variable.
1800         (Vconfigure_utf_2000_lisp_directory): Likewise.
1801         (complex_vars_of_emacs): Add new variable
1802         `utf-2000-lisp-directory' and `configure-utf-2000-lisp-directory'.
1803
1804 2002-08-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1805
1806         * char-ucs.h (DECODE_CHAR): Delete special code for
1807         `chinese-big5-1' and `chinese-big5-2'.
1808
1809         * mule-charset.c (Qbig5_1): New variable in UTF-2000.
1810         (Qbig5_2): Likewise.
1811         (decode_defined_char): Support CONVERSION_BIG5_1 and
1812         CONVERSION_BIG5_2.
1813         (decode_builtin_char): Likewise.
1814         (charset_code_point): Likewise.
1815         (Fmake_charset): Accept `big5-1' and `big5-2' as a value of
1816         'conversion in UTF-2000.
1817         (syms_of_mule_charset): Add new symbol `big5-1' and `big5-2'.
1818         (complex_vars_of_mule_charset): Define `chinese-big5-1' and
1819         `chinese-big5-2' as children of `chinese-big5'.
1820
1821         * char-ucs.h (CONVERSION_BIG5_1): New macro.
1822         (CONVERSION_BIG5_2): New macro.
1823
1824 2002-08-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1825
1826         * text-coding.c (char_encode_big5): Support entity-reference.
1827
1828 2002-08-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1829
1830         * text-coding.c (char_encode_as_entity_reference): New function.
1831         (char_encode_utf8): Use `char_encode_as_entity_reference'.
1832
1833 2002-08-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1834
1835         * text-coding.c (decode_coding_big5): Support entity-reference
1836         decoding feature.
1837
1838 2002-08-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1839
1840         * text-coding.c (allocate_coding_system): Initialize initial
1841         charsets for CODESYS_UTF8.
1842         (Fmake_coding_system): Accept charset-g0, charset-g1 and
1843         charset-g2 for CODESYS_UTF8.
1844         (decode_coding_utf8): Use charset-g0.
1845         (char_encode_utf8): Use charset-g0; use charset-g1 and charset-g2
1846         to force variants to map to UCS.
1847
1848 2002-07-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1849
1850         * text-coding.c (Qutf_8_mcs): New variable.
1851         (syms_of_file_coding): Add new symbol `utf-8-mcs' in UTF-2000.
1852         (complex_vars_of_file_coding): Define coding-system `utf-8-mcs'
1853         instead of `utf-8' in UTF-2000.
1854
1855 2002-07-22  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1856
1857         * mule-charset.c (charset_code_point): If CHARSET_CONVERSION is
1858         CONVERSION_IDENTICAL, identical conversion is used even if a CCS
1859         is ISO-2022 style; instead of it, CONVERSION_94, CONVERSION_96,
1860         CONVERSION_94x94, CONVERSION_96x96, CONVERSION_94x94x94,
1861         CONVERSION_96x96x96, CONVERSION_94x94x94x94 and
1862         CONVERSION_96x96x96x96 are introduced.
1863         (complex_vars_of_mule_charset): Specify CONVERSION_96 instead of
1864         CONVERSION_IDENTICAL for thai-tis620; Specify CONVERSION_94x94
1865         instead of CONVERSION_IDENTICAL for japanese-jisx0208-1990.
1866
1867         * char-ucs.h (CONVERSION_94): New macro.
1868         (CONVERSION_96): New macro.
1869         (CONVERSION_94x94): New macro.
1870         (CONVERSION_96x96): New macro.
1871         (CONVERSION_94x94x94): New macro.
1872         (CONVERSION_96x96x96): New macro.
1873         (CONVERSION_94x94x94x60): New macro.
1874         (CONVERSION_94x94x94x94): New macro.
1875         (CONVERSION_96x96x96x96): New macro.
1876
1877 2002-07-17  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1878
1879         * chartab.c (Vcharacter_variant_table): Deleted.
1880         (Fchar_variants): Use character-attribute `->ucs-variants' instead
1881         of `Vcharacter_variant_table'.
1882         (Fput_char_attribute): Likewise.
1883         (vars_of_chartab): Don't setup `Vcharacter_variant_table'.
1884         (complex_vars_of_chartab): Likewise.
1885
1886 2002-07-17  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1887
1888         * lisp.h: Add an EXFUN for `Fchar_ref_p'.
1889
1890         * fns.c (Qideographic_structure): New variable.
1891         (Qkeyword_char): New variable.
1892         (ids_format_unit): New function.
1893         (Fideographic_structure_to_ids): New function.
1894         (syms_of_fns): Add new symbols `ideographic-structure' and
1895         `:char'; add new builtin function `ideographic-structure-to-ids'.
1896
1897         * data.c (Fchar_ref_p): New function.
1898         (syms_of_data): Add new builtin function `char-ref-p'.
1899
1900         * chartab.h: Add an EXFUN for `Ffind_char'.
1901
1902 2002-07-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1903
1904         * text-coding.c (Vcharacter_composition_table): Deleted.
1905         (COMPOSE_ADD_CHAR): Use the implementation for external-DB support
1906         in every UTF-2000.
1907
1908         * chartab.c: Add EXFUN for `Fmap_char_attribute' in every
1909         UTF-2000.
1910         (Vcharacter_composition_table): Deleted.
1911         (Fget_composite_char): Use the implementation for external-DB
1912         support in every UTF-2000.
1913         (Fput_char_attribute): Likewise.
1914         (char_attribute_system_db_file): Don't define if external-DB
1915         feature is not available.
1916         (Fsave_char_attribute_table): Likewise.
1917         (Fmount_char_attribute_table): Likewise.
1918         (Fclose_char_attribute_table): Likewise.
1919         (Freset_char_attribute_table): Likewise.
1920         (Fload_char_attribute_table): Likewise.
1921         (syms_of_chartab): Don't define `save-char-attribute-table',
1922         `mount-char-attribute-table', `reset-char-attribute-table',
1923         `close-char-attribute-table' and `load-char-attribute-table' if
1924         external-DB feature is not available.
1925         (vars_of_chartab): Don't setup `Vcharacter_composition_table'.
1926
1927 2002-07-15  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1928
1929         * text-coding.c (Qcomposition): Add extern if external-DB feature
1930         is supported.
1931         (Vcharacter_composition_table): Don't add extern if external-DB
1932         feature is supported.
1933         (COMPOSE_ADD_CHAR): Modify for new data-representation of
1934         character composition rule if external-DB feature is supported.
1935
1936         * chartab.c (Vcharacter_composition_table): Don't define if
1937         external-DB feature is supported.
1938         (Qcomposition): New variable.
1939         (Fget_composite_char): New implementation for external-DB support.
1940         (Fput_char_attribute): Use `composition' property of each
1941         character instead of `Vcharacter_composition_table' to store
1942         character-composition rules if external-DB feature is supported.
1943         (syms_of_chartab): Add new symbol `composition'.
1944         (vars_of_chartab): Don't setup `Vcharacter_composition_table' if
1945         external-DB feature is supported.
1946
1947 2002-07-14  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1948
1949         * chartab.c (Vchar_db_stingy_mode): New variable.
1950         (load_char_attribute_maybe): Close database if
1951         Vchar_db_stingy_mode is not NIL.
1952         (Fload_char_attribute_table_map_function): Use
1953         `get_char_id_table_0' instead of `get_char_id_table'.
1954         (vars_of_chartab): Add new variable `char-db-stingy-mode'.
1955
1956         * chartab.h (get_char_id_table_0): New inline function.
1957         (get_char_id_table): Use `get_char_id_table_0'.
1958
1959 2002-07-07  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1960
1961         * text-coding.c (decode_coding_utf8): Use `COMPOSE_FLUSH_CHARS'
1962         and `COMPOSE_ADD_CHAR'.
1963         (decode_coding_iso2022): Use `decode_flush_er_chars'.
1964
1965 2002-07-07  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1966
1967         * text-coding.c (COMPOSE_FLUSH_CHARS): Use `decode_add_er_char'
1968         instead of `DECODE_ADD_UCS_CHAR'.
1969         (COMPOSE_ADD_CHAR): Likewise.
1970
1971 2002-07-06  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1972
1973         * text-coding.c (decode_flush_er_chars): New inline function.
1974         (decode_add_er_char): New function.
1975         (decode_coding_utf8): Use `decode_flush_er_chars' and
1976         `decode_add_er_char'.
1977
1978 2002-07-06  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1979
1980         * text-coding.c (decode_coding_utf8): Flush for er_buf must be
1981         done before `decode_output_utf8_partial_char'.
1982
1983         * mule-charset.c (complex_vars_of_mule_charset): Specify
1984         `Vcharset_ucs' as the mother of `Vcharset_ucs_cns',
1985         `Vcharset_ucs_ks' and `Vcharset_ucs_big5'.
1986
1987 2002-07-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1988
1989         * mule-charset.c (decode_defined_char): New function; search
1990         mother.
1991         (decode_builtin_char): Don't search mother if
1992         XCHARSET_MAX_CODE(charset) == 0.
1993         (charset_code_point): Search mother if XCHARSET_MAX_CODE(charset)
1994         == 0 even if code >= XCHARSET_MAX_CODE(charset).
1995         (Fdecode_char): Use `decode_defined_char' instead of
1996         `DECODE_DEFINED_CHAR'.
1997         (complex_vars_of_mule_charset): Specify `Vcharset_ucs' as the
1998         mother of `Vcharset_ucs_jis'.
1999
2000         * text-coding.c (decode_coding_big5): Use `decode_defined_char'
2001         instead of `DECODE_DEFINED_CHAR'.
2002
2003         * char-ucs.h (decode_defined_char): Renamed from
2004         `DECODE_DEFINED_CHAR'; changed to normal function.
2005         (DECODE_CHAR): Use `decode_defined_char' instead of
2006         `DECODE_DEFINED_CHAR'.
2007
2008         * lisp.h: Add `EXFUN' for `Fstring_to_number'.
2009
2010 2002-07-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2011
2012         * char-ucs.h: Add `extern' for `Vcharset_ucs'.
2013
2014         * text-coding.c (Vcoded_charset_entity_reference_alist): New
2015         variable.
2016         (Quse_entity_reference): New variable.
2017         (Qd): New variable.
2018         (Qx): New variable.
2019         (QX): New variable.
2020         (coding_system_description): Add description for
2021         `ccs_priority_list'.
2022         (mark_coding_system): Mark `ccs_priority_list' in UTF-2000.
2023         (allocate_coding_system): Initialize `ccs_priority_list' in
2024         UTF-2000.
2025         (Fmake_coding_system): Add description about
2026         'use-entity-reference; setup CODING_SYSTEM_USE_ENTITY_REFERENCE
2027         (codesys).
2028         (Fcoding_system_property): Accept `disable-composition' and
2029         `use-entity-reference' in UTF-2000.
2030         (struct decoding_stream): Add new member `er_counter' and `er_buf'
2031         in UTF-2000.
2032         (reset_decoding_stream): Initialize `str->er_counter' in UTF-2000.
2033         (decode_coding_utf8): Decode entity-reference if
2034         CODING_SYSTEM_USE_ENTITY_REFERENCE (str->codesys).
2035         (char_encode_utf8): Encode non-Unicode characters as
2036         entity-references if CODING_SYSTEM_USE_ENTITY_REFERENCE
2037         (str->codesys).
2038         (syms_of_file_coding): Add new symbols `use-entity-reference',
2039         `d', `x', `X'.
2040         (vars_of_file_coding): Add new variable
2041         `coded-charset-entity-reference-alist'.
2042         (complex_vars_of_file_coding): Declare `disable-composition' and
2043         `use-entity-reference' to be coding-system-properties in UTF-2000.
2044
2045         * file-coding.h (struct Lisp_Coding_System): Add new member
2046         `use_entity_reference' and `ccs_priority_list'.
2047         (CODING_SYSTEM_USE_ENTITY_REFERENCE): New macro.
2048         (CODING_SYSTEM_CCS_PRIORITY_LIST): New macro.
2049         (XCODING_SYSTEM_USE_ENTITY_REFERENCE): New macro.
2050
2051 2002-07-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2052
2053         * chartab.c (save_uint8_byte_table): Don't clear the table.
2054         (save_uint16_byte_table): Likewise.
2055         (save_byte_table): Likewise.
2056         (Fmount_char_attribute_table): New function.
2057         (syms_of_chartab): Add new builtin function
2058         `mount-char-attribute-table'.
2059
2060 2002-07-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2061
2062         * mule-charset.c (Fsave_charset_mapping_table): Open database as
2063         "w+" mode.
2064         (load_char_decoding_entry_maybe): Open database as read-only mode.
2065
2066         * chartab.c (Fsave_char_attribute_table): Don't share `ct->db';
2067         open database as "w+" mode.
2068         (load_char_attribute_maybe): Open database as read-only mode.
2069         (Fload_char_attribute_table): Likewise.
2070
2071 2002-07-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2072
2073         * chartab.c (mark_char_table): Don't refer `ct->db_file'.
2074         (char_table_description): Delete member `db_file'.
2075         (Fmake_char_table): Don't refer `ct->db_file'.
2076         (Fcopy_char_table): Likewise.
2077         (Fsave_char_attribute_table): Likewise.
2078         (Fclose_char_attribute_table): Likewise.
2079         (Freset_char_attribute_table): Likewise.
2080         (load_char_attribute_maybe): Likewise.
2081         (Fload_char_attribute_table): Likewise.
2082
2083         * chartab.h (struct Lisp_Char_Table): Delete member `db_file'.
2084
2085 2002-07-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2086
2087         * chartab.c: Add an EXFUN for `Fmap_char_attribute'.
2088         (Fsave_char_attribute_table): Don't check `ct->db_file' if
2089         `ct->db' is living.
2090         (load_char_attribute_maybe): Likewise.
2091         (Fload_char_attribute_table): Likewise.
2092
2093 2002-07-01  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2094
2095         * chartab.c (Fclose_char_attribute_table): Set Qnil on
2096         `ct->db_file' unconditionally.
2097
2098 2002-07-01  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2099
2100         * chartab.c (mark_char_table): Mark `ct->db_file' and `ct->db' in
2101         UTF-2000.
2102         (char_table_description): Add description for `db_file' and `db'
2103         in UTF-2000.
2104         (Fmake_char_table): Initialize `ct->db_file' and `ct->db' in
2105         UTF-2000.
2106         (Fcopy_char_table): Copy `ct->db_file' and `ct->db' in UTF-2000.
2107         (Fsave_char_attribute_table): Use `ct->db_file' and `ct->db'.
2108         (Fclose_char_attribute_table): New function.
2109         (Freset_char_attribute_table): Reset `ct->db_file' and `ct->db'.
2110         (load_char_attribute_maybe): Change interface; use `cit->db_file'
2111         and `cit->db'.
2112         (Fload_char_attribute_table): Use `ct->db_file' and `ct->db'.
2113         (syms_of_chartab): Add new builtin function
2114         `Fclose_char_attribute_table'.
2115
2116 2002-06-28  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2117
2118         * chartab.h (struct Lisp_Char_Table): Add new member `db_file' and
2119         `db' in UTF-2000.
2120         (load_char_attribute_maybe): Change interface.
2121         (get_char_id_table): Modify for `load_char_attribute_maybe'.
2122
2123 2002-06-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2124
2125         * database.h: Add an EXFUN for `Fdatabase_live_p'.
2126
2127 2002-04-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2128
2129         * mule-charset.c (decode_builtin_char): Use `decode_builtin_char'
2130         instead of `DECODE_CHAR' for mother; don't use special code for
2131         chinese-big5 to use code space of chinese-big5-1 and
2132         chinese-big5-2.
2133         (complex_vars_of_mule_charset): Use `MIN_CHAR_BIG5_CDP' and
2134         `MAX_CHAR_BIG5_CDP' for chinese-big5.
2135
2136         * char-ucs.h (MIN_CHAR_BIG5_CDP): Revival.
2137         (MAX_CHAR_BIG5_CDP): Revival.
2138
2139 2002-04-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2140
2141         * mule-charset.c (complex_vars_of_mule_charset): Use "big5-0" as
2142         the XLFD registry-encoding name of `chinese-big5'.
2143
2144 2002-04-08  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2145
2146         * mule-charset.c (Vcharset_chinese_big5_cdp): Deleted.
2147         (Qchinese_big5_cdp): Deleted.
2148         (syms_of_mule_charset): Delete symbol `chinese-big5-cdp'.
2149         (complex_vars_of_mule_charset): Delete coded-charset
2150         `chinese-big5-cdp'.
2151
2152         * char-ucs.h (CHARSET_ID_OFFSET): Deleted.
2153         (LEADING_BYTE_*): Use `MIN_LEADING_BYTE + n' instead of
2154         `CHARSET_ID_OFFSET - n' for private CCS.
2155         (LEADING_BYTE_CHINESE_BIG5_CDP): Deleted.
2156         (MIN_LEADING_BYTE_PRIVATE): Use `(MIN_LEADING_BYTE + 97)' instead
2157         of `MIN_LEADING_BYTE'.
2158         (MAX_LEADING_BYTE_PRIVATE): Use `-1' instead of
2159         `(CHARSET_ID_OFFSET - 97)'.
2160         (MIN_CHAR_BIG5_CDP): Deleted.
2161         (MAX_CHAR_BIG5_CDP): Deleted.
2162
2163 2002-03-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2164
2165         * mule.c (vars_of_mule): Update `utf-2000-version' to 0.19.
2166
2167 2002-03-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2168
2169         * mule.c (Vutf_2000_version): New variable [moved from chartab.c].
2170         (vars_of_mule): Add new variable `utf-2000-version' [moved from
2171         chartab.c].
2172
2173         * chartab.c (Vutf_2000_version): Moved to mule.c.
2174         (vars_of_chartab): Move code about `utf-2000-version' into mule.c.
2175
2176 2002-03-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2177
2178         * mule-charset.c (load_char_decoding_entry_maybe): Don't define it
2179         when HAVE_CHISE_CLIENT is not defined.
2180
2181         * mule.c (vars_of_mule): Provide feature `chise' when
2182         HAVE_CHISE_CLIENT is defined.
2183
2184 2002-03-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2185
2186         * config.h.in (UTF2000): Add comment.
2187         (HAVE_CHISE_CLIENT): New macro.
2188
2189 2002-02-25  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2190
2191         * chartab.c (Fchar_variants): Check Vcharacter_variant_table is
2192         CONSP.
2193         (Fput_char_attribute): Likewise.
2194         (char_attribute_system_db_file): Encode file-name of attribute.
2195         (vars_of_chartab): Set Qunbound into Vcharacter_variant_table as
2196         the initial value.
2197
2198 2002-02-13  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2199
2200         * mule-charset.c (put_char_ccs_code_point): Delete unused codes.
2201         (Fsave_charset_mapping_table): Use
2202         `char_attribute_system_db_file'.
2203         (load_char_decoding_entry_maybe): Likewise.
2204
2205         * chartab.h (Qsystem_char_id): New external variable.
2206         (char_attribute_system_db_file): New prototype.
2207
2208         * chartab.c (Qsystem_char_id): New variable in UTF-2000.
2209         (char_attribute_system_db_file): New function.
2210         (Fsave_char_attribute_table): Use `char_attribute_system_db_file'.
2211         (Freset_char_attribute_table): Likewise.
2212         (load_char_attribute_maybe): Likewise.
2213         (Fload_char_attribute_table): Likewise.
2214         (syms_of_chartab): Add new symbol `system-char-id'.
2215
2216 2002-02-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2217
2218         * char-ucs.h (DECODE_DEFINED_CHAR): Don't check
2219         `XCHARSET_GRAPHIC(ccs)'.
2220
2221 2002-02-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2222
2223         * mule-charset.c (Fsave_charset_mapping_table): Fixed.
2224
2225 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2226
2227         * chartab.c (Q_ucs_variants): New variable.
2228         (syms_of_chartab): Add new symbol `->ucs-variants'.
2229         (complex_vars_of_chartab): Set `Vcharacter_variant_table' on
2230         `Vchar_attribute_hash_table' as the value of `->ucs-variants'; set
2231         `->ucs-variants' on `XCHAR_TABLE_NAME (Vcharacter_variant_table)'.
2232
2233         * mule-charset.c (load_char_decoding_entry_maybe): New function.
2234
2235         * char-ucs.h (load_char_decoding_entry_maybe): New prototype when
2236         `HAVE_DATABASE' is defined.
2237         (DECODE_DEFINED_CHAR): Use `load_char_decoding_entry_maybe' when
2238         `HAVE_DATABASE' is defined.
2239
2240 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2241
2242         * chartab.c (Fsave_char_attribute_table): Don't clear internal
2243         attribute-table.
2244         (Freset_char_attribute_table): New function.
2245         (syms_of_chartab): Add new builtin function
2246         `reset-char-attribute-table'.
2247
2248 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2249
2250         * chartab.c (load_char_attribute_maybe): Don't make directories.
2251
2252 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2253
2254         * char-ucs.h: Add EXFUN for `Fmake_directory_internal'.
2255
2256         * mule-charset.c (put_char_ccs_code_point): Don't prepare a vector
2257         for decoding-table.
2258
2259 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2260
2261         * mule-charset.c (Fsave_charset_mapping_table): Use
2262         `XCHARSET_BYTE_SIZE' instead of `XCHARSET_CHARS'.
2263
2264         * char-ucs.h (put_ccs_octet_table): Use `XCHARSET_BYTE_SIZE'
2265         instead of `XCHARSET_CHARS'.
2266
2267 2002-02-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2268
2269         * mule-charset.c (CHARSET_BYTE_SIZE): Moved to char-ucs.h.
2270         (XCHARSET_BYTE_SIZE): Likewise.
2271
2272         * char-ucs.h (CHARSET_BYTE_SIZE): New inline function [moved from
2273         mule-charset.c].
2274         (XCHARSET_BYTE_SIZE): Likewise.
2275
2276 2002-02-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2277
2278         * chartab.c (Fput_char_attribute): Use exec-directory instead of
2279         data-directory to store database.
2280         (Fsave_char_attribute_table): Likewise.
2281         (load_char_attribute_maybe): Likewise.
2282         (Fload_char_attribute_table): Likewise.
2283
2284 2002-02-08  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2285
2286         * mule-charset.c (Fsave_charset_mapping_table): New function.
2287         (syms_of_mule_charset): Add new builtin function
2288         `save-charset-mapping-table'.
2289
2290 2002-02-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2291
2292         * char-ucs.h (decoding_table_check_elements): Delete prototype.
2293         (get_ccs_octet_table): New inline function.
2294         (put_ccs_octet_table): Likewise.
2295         (decoding_table_put_char): Use `get_ccs_octet_table' and
2296         `put_ccs_octet_table'.
2297         (decoding_table_remove_char): Use `decoding_table_put_char'.
2298         (DECODE_DEFINED_CHAR): Use `get_ccs_octet_table'.
2299
2300         * mule-charset.c (remove_char_ccs): Store Qunbound instead of Qnil
2301         into encoding_table.
2302         (make_charset): Use Qunbound instead Qnil as initial value of
2303         decoding_table.
2304
2305 2002-02-04  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2306
2307         * chartab.c (map_over_uint8_byte_table): Set Qunbound if an
2308         element is Qunloaded.
2309         (map_over_uint16_byte_table): Likewise.
2310         (map_over_byte_table): Likewise.
2311         (map_char_table): Likewise for CHARTAB_RANGE_ALL in UTF-2000; when
2312         CHARTAB_RANGE_CHARSET is specified in UTF-2000 with external
2313         database support, load encoding-table of the specified
2314         coded-charset if it is not loaded yet.
2315         (save_uint8_byte_table): New function of UTF-2000 with external
2316         database support.
2317         (save_uint16_byte_table): Likewise.
2318         (save_byte_table): Likewise.
2319         (Fput_char_attribute): Don't store value into external database
2320         even if the external database feature is supported in UTF-2000;
2321         set `attribute' as name of char-table if the external database
2322         feature is supported.
2323         (Fsave_char_attribute_table): New function in UTF-2000.
2324         (syms_of_chartab): Add new builtin function
2325         `save-char-attribute-table' in UTF-2000.
2326
2327 2002-02-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2328
2329         * chartab.c (char_attribute_table_to_put): New variable in
2330         UTF-2000.
2331         (Qput_char_table_map_function): Likewise.
2332         (value_to_put): Likewise.
2333         (Fput_char_table_map_function): New function in UTF-2000.
2334         (put_char_table): Use `Fmap_char_attribute' for
2335         CHARTAB_RANGE_CHARSET in UTF-2000.
2336         (Fput_char_attribute): Store symbol instead of string in
2337         `XCHAR_TABLE_NAME (table)'.
2338         (load_char_attribute_maybe): Likewise.
2339         (syms_of_chartab): Add new symbol/function
2340         `put-char-table-map-function'.
2341
2342 2002-01-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2343
2344         * database.h: Add new EXFUN for `Fmap_database'.
2345
2346         * database.c (Fmap_database): Renamed from `Fmapdatabase'.
2347         (syms_of_database): Likewise.
2348
2349         * chartab.h (struct Lisp_Char_Table): Add new member `unloaded' in
2350         UTF-2000.
2351         (CHAR_TABLE_UNLOADED): New macro of UTF-2000.
2352         (XCHAR_TABLE_UNLOADED): Likewise.
2353
2354         * chartab.c (fill_char_table): Initialize `ct->unloaded'.
2355         (Fput_char_attribute): Set XCHAR_TABLE_UNLOADED(table) if
2356         HAVE_DATABASE is defined.
2357         (char_attribute_table_to_load): New variable of UTF-2000 with
2358         external database support.
2359         (Qload_char_attribute_table_map_function): Likewise.
2360         (Fload_char_attribute_table_map_function): New function of
2361         UTF-2000 with external database support.
2362         (Fload_char_attribute_table): New function of UTF-2000.
2363         (Fmap_char_attribute): Call Fload_char_attribute_table if
2364         CHAR_TABLE_UNLOADED(ct) is set when HAVE_DATABASE is defined.
2365         (syms_of_chartab): Add new symbol and function
2366         `load-char-attribute-table-map-function' in UTF-2000 with external
2367         database support; add new function `load-char-attribute-table' in
2368         UTF-2000.
2369
2370 2002-01-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2371
2372         * chartab.h (load_char_attribute_maybe): New prototype for
2373         UTF-2000 with DATABASE support.
2374         (get_char_id_table): Use `load_char_attribute_maybe' if
2375         HAVE_DATABASE is defined.
2376
2377         * chartab.c (load_char_attribute_maybe): New function in UTF-2000
2378         with DATABASE support.
2379
2380 2002-01-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2381
2382         * chartab.c (Fput_char_attribute): Use S-expression as key of
2383         external database.
2384
2385         * chartab.h (get_char_id_table): Use S-expression as key of
2386         external database.
2387
2388 2002-01-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2389
2390         * chartab.c (map_over_uint8_byte_table): Add new argument `root';
2391         if an element is not loaded, load the corresponding attributes
2392         from an external database.
2393         (map_over_uint16_byte_table): Likewise.
2394         (map_over_byte_table): Likewise.
2395         (map_char_table): Modify for `map_over_uint8_byte_table',
2396         `map_over_uint16_byte_table' and `map_over_byte_table'; if an
2397         element is not loaded, load the corresponding attributes from an
2398         external database.
2399         (Fput_char_attribute): Change initial values to Qunloaded.
2400
2401         * chartab.h (get_char_id_table): If a character attribute is not
2402         loaded and the attribute value is not found in an external
2403         database, store Qunbound as the attribute value.
2404
2405 2002-01-22  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2406
2407         * chartab.c (BT_UINT8_unloaded): New macro.
2408         (UINT8_VALUE_P): Accept Qunloaded.
2409         (UINT8_ENCODE): Likewise.
2410         (UINT8_DECODE): Likewise.
2411         (BT_UINT16_unloaded): New macro.
2412         (UINT16_VALUE_P): Accept Qunloaded.
2413         (UINT16_ENCODE): Likewise.
2414         (UINT16_DECODE): Likewise.
2415         (UINT8_TO_UINT16): Convert BT_UINT8_unloaded into
2416         BT_UINT16_unloaded.
2417         (mark_char_table): Mark `ct->name' in UTF-2000.
2418         (char_table_description): Add `name' in UTF-2000.
2419         (Fmake_char_table): Initialize `ct->name'.
2420         (Fcopy_char_table): Copy `ct->name'.
2421         (Fput_char_attribute): Store value into an external database if
2422         HAVE_DATABASE is defined.
2423
2424         * chartab.h (struct Lisp_Char_Table): Add new member `name' in
2425         UTF-2000.
2426         (CHAR_TABLE_NAME): New macro in UTF-2000.
2427         (XCHAR_TABLE_NAME): New macro in UTF-2000.
2428         (get_char_id_table): Try to read an external database if Qunloaded
2429         is stored in a table.
2430
2431         * symbols.c (init_symbols_once_early): Assign '#<unloaded> into
2432         Qunloaded.
2433
2434 2002-01-21  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2435
2436         * database.h: Add EXFUN definitions for Fopen_database,
2437         Fput_database, Fget_database and Fclose_database.
2438
2439         * data.c (Qunloaded): New variable in UTF-2000.
2440
2441         * lisp.h (Qunloaded): New variable in UTF-2000.
2442
2443 2002-01-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2444
2445         * mule-charset.c (put_char_ccs_code_point): Modify for
2446         `decoding_table_remove_char' and `decoding_table_put_char'.
2447         (remove_char_ccs): Modify for `decoding_table_remove_char'.
2448
2449         * char-ucs.h (decoding_table_remove_char): Change arguments to
2450         hide decoding_table vector.
2451         (decoding_table_put_char): Likewise.
2452
2453 2002-01-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2454
2455         * mule-charset.c (decoding_table_remove_char): Moved to
2456         char-ucs.h.
2457         (decoding_table_put_char): Likewise.
2458
2459         * char-ucs.h (decoding_table_check_elements): New prototype [moved
2460         from mule-charset.c].
2461         (decoding_table_remove_char): New inline function [moved from
2462         mule-charset.c].
2463         (decoding_table_put_char): Likewise.
2464
2465 2002-01-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2466
2467         * mule-charset.c (Fmake_charset): Modify DOC-string for UTF-2000
2468         extension.
2469
2470 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2471
2472         * mule-charset.c (decode_builtin_char): Support mother charsets.
2473
2474 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2475
2476         * mule-charset.c (Q94x94x60): New variable.
2477         (charset_code_point): Support conversion `94x94x60'.
2478         (Fmake_charset): Likewise.
2479         (syms_of_mule_charset): Add new symbol `94x94x60'.
2480
2481         * char-ucs.h (CONVERSION_94x94x60): New macro.
2482
2483 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2484
2485         * mule-charset.c (charset_code_point): Unify code about
2486         `code-offset'.
2487
2488 2001-12-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2489
2490         * mule-charset.c (charset_code_point): Merge code about builtin
2491         characters into code about mother charsets; don't use
2492         `range_charset_code_point'.
2493         (range_charset_code_point): Deleted.
2494
2495 2001-12-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2496
2497         * mule-charset.c (Qcode_offset): New variable.
2498         (Fmake_charset): Use `XUINT' to get value of `min-code' and
2499         `max-code'; accept new property `code-offset'.
2500         (syms_of_mule_charset): Add new symbol `code-offset'.
2501
2502 2001-12-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2503
2504         * mule-charset.c (range_charset_code_point): Fixed.
2505
2506 2001-12-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2507
2508         * mule-charset.c (decode_builtin_char): Change semantics of
2509         code-offset of coded-charset.
2510         (charset_code_point): Likewise.
2511         (range_charset_code_point): Likewise.
2512         (complex_vars_of_mule_charset): Modify for the change.
2513
2514 2001-12-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2515
2516         * mule-charset.c (Fencode_char): Reverse arguments.
2517
2518         * mule-charset.c (charset_code_point): Fixed.
2519
2520 2001-12-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2521
2522         * mule-charset.c (Vcharset_mojikyo): Deleted.
2523         (Vcharset_mojikyo_2022_1): Deleted.
2524         (Vcharset_mojikyo_pj_{1..21}): Deleted.
2525         (Qmin_code): New variable in UTF-2000.
2526         (Qmax_code): Likewise.
2527         (Qmother): Likewise.
2528         (Qconversion): Likewise.
2529         (Q94x60): Likewise.
2530         (Qmojikyo): Deleted.
2531         (Qmojikyo_2022_1): Deleted.
2532         (Qmojikyo_pj_{1..22}): Deleted.
2533         (mark_charset): Mark `cs->mother'.
2534         (charset_description): Add description for `mother'.
2535         (make_charset): Rename `ucs_{min|max}' to `{min|max}_code'; add
2536         new arguments `mother' and `conversion'; use
2537         `CHARSET_{MIN|MAX}_CODE' instead of `CHARSET_UCS_{MIN|MAX}'.
2538         (charset_code_point): Moved from char-ucs.h; support `mother'
2539         charset feature.
2540         (range_charset_code_point): use `CHARSET_{MIN|MAX}_CODE' instead
2541         of `CHARSET_UCS_{MIN|MAX}'; delete hard code for `mojikyo-2022-1'.
2542         (Fmake_charset): Allow 3 and 4 as the value of `dimension' in
2543         UTF-2000; allow 128 and 256 as the value of `chars' in UTF-2000;
2544         allow 2 as the value of `graphic' in UTF-2000; add new properties
2545         `min-code', `max-code', `mother', `conversion' in UTF-2000; don't
2546         require `final' in UTF-2000; modify for `make_charset'.
2547         (Fmake_reverse_direction_charset): use `CHARSET_{MIN|MAX}_CODE'
2548         instead of `CHARSET_UCS_{MIN|MAX}'; modify for `make_charset'.
2549         (Fcharset_property): Support `mother', `min-code' and `max-code'.
2550         (Fencode_char): New function.
2551         (syms_of_mule_charset): Add new builtin function `encode-char' in
2552         UTF-2000; add new symbols `min-code', `max-code', `mother',
2553         `conversion' and `94x60'; delete symbols `mojikyo',
2554         `mojikyo-2022-1' and `mojikyo-pj-{1..21}'.
2555         (complex_vars_of_mule_charset): Modify for `make_charset' change;
2556         delete coded-charsets `mojikyo', `mojikyo-2022-1' and
2557         `mojikyo-pj-{1..21}'; delete `DEF_MOJIKYO_PJ'.
2558
2559         * chartab.c (Fdefine_char): Use `XCHARSET_MAX_CODE' instead of
2560         `XCHARSET_UCS_MAX'; regard `chinese-big5' as a base CCS.
2561
2562         * char-ucs.h (Vcharset_mojikyo): Deleted.
2563         (Vcharset_mojikyo_2022_1): Deleted.
2564         (LEADING_BYTE_MOJIKYO): Deleted.
2565         (LEADING_BYTE_MOJIKYO_2022_1): Deleted.
2566         (LEADING_BYTE_MOJIKYO_2022_2): Deleted.
2567         (LEADING_BYTE_MOJIKYO_PJ_{1 .. 21}): Deleted.
2568         (struct Lisp_Charset): Rename `ucs_{min|max}' to `{min|max}_code';
2569         add new member `mother'; add new member `conversion'.
2570         (CHARSET_MIN_CODE): Renamed from `CHARSET_UCS_MIN'.
2571         (CHARSET_MAX_CODE): Renamed from `CHARSET_UCS_MAX'.
2572         (CHARSET_MOTHER): New macro.
2573         (CHARSET_CONVERSION): New macro.
2574         (CONVERSION_IDENTICAL): New macro.
2575         (CONVERSION_94x60): New macro.
2576         (XCHARSET_MIN_CODE): Renamed from `CHARSET_MIN_CODE'.
2577         (XCHARSET_MAX_CODE): Renamed from `CHARSET_MAX_CODE'.
2578         (XCHARSET_MOTHER): New macro.
2579         (XCHARSET_CONVERSION): New macro.
2580         (MIN_CHAR_MOJIKYO): Deleted.
2581         (MAX_CHAR_MOJIKYO): Deleted.
2582         (DECODE_MOJIKYO_2022): Deleted.
2583         (DECODE_CHAR): Delete hard code for builtin Mojikyo characters.
2584         (charset_code_point): Changed to non-inline function.
2585         (encode_char_1): Use `charset_code_point'.
2586         (CHAR_TO_CHARC): Delete hard code for Mojikyo characters.
2587
2588 2001-12-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2589
2590         * lread.c (read_compiled_function): Fix prototype.
2591         (read_vector): Likewise.
2592
2593 2001-12-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2594
2595         * lrecord.h (struct lrecord_header): Delete `older'.
2596         (set_lheader_implementation): Delete code for `older'.
2597         (set_lheader_older_implementation): Deleted.
2598         (enum lrecord_type): Delete `lrecord_type_char_id_table'.
2599         (OLDER_RECORD_P): Deleted.
2600         (OLDER_RECORD_HEADER_P): Deleted.
2601         (alloc_older_lcrecord): Deleted.
2602         (alloc_older_lcrecord_type): Deleted.
2603
2604         * alloc.c (all_older_lcrecords): Deleted.
2605         (alloc_older_lcrecord): Deleted.
2606         (disksave_object_finalization_1): Delete code for older objects.
2607         (mark_object): Don't use `OLDER_RECORD_HEADER_P'.
2608         (reinit_alloc_once_early): Don't initialize `all_older_lcrecords'.
2609
2610 2001-12-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2611
2612         * mule-charset.c (decoding_table_put_char): Use `make_vector'
2613         instead of `make_older_vector'.
2614         (put_char_ccs_code_point): Likewise.
2615         (mark_charset): Mark `cs->decoding_table'.
2616         (Fset_charset_mapping_table): Don't use `make_vector_newer'.
2617
2618         * lisp.h (make_older_vector): Deleted.
2619         (make_vector_newer): Deleted.
2620
2621         * config.h.in (HAVE_GGC): Deleted.
2622
2623         * alloc.c (make_older_vector): Deleted.
2624         (make_vector_newer_1): Deleted.
2625         (make_vector_newer): Deleted.
2626
2627 2001-12-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2628
2629         * mule-charset.c (Vcharset_ideograph_daikanwa_2): New variable.
2630         (Qideograph_daikanwa_2): New variable.
2631         (syms_of_mule_charset): Add new symbol `ideograph-daikanwa-2'.
2632         (complex_vars_of_mule_charset): Add new coded-charset
2633         `ideograph-daikanwa-2'; use `LEADING_BYTE_DAIKANWA_3' instead of
2634         `LEADING_BYTE_DAIKANWA'.
2635
2636         * char-ucs.h (LEADING_BYTE_DAIKANWA_0): New macro.
2637         (LEADING_BYTE_DAIKANWA_1): New macro.
2638         (LEADING_BYTE_DAIKANWA_2): New macro.
2639         (LEADING_BYTE_DAIKANWA_3): Renamed from `LEADING_BYTE_DAIKANWA'.
2640
2641 2001-12-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2642
2643         * mule-charset.c (complex_vars_of_mule_charset): Change
2644         DOC-strings and registry of `ideograph-daikanwa'; now it indicates
2645         the second revised version.
2646
2647 2001-12-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2648
2649         * mule-charset.c (Vcharset_ucs_smp): New variable.
2650         (Vcharset_ucs_sip): New variable.
2651         (Qucs_smp): New variable.
2652         (Qucs_sip): New variable.
2653         (encode_builtin_char_1): Treat MIN_CHAR_{SMP|SIP} to
2654         MAX_CHAR_{SMP|SIP} as `ucs-{smp|sip}'.
2655         (syms_of_mule_charset): Add new symbols `ucs-smp' and `ucs-sip'.
2656         (complex_vars_of_mule_charset): Modify middle-DOC and registry of
2657         `ucs-bmp'; add new coded-charset `ucs-smp' and `ucs-sip'; change
2658         charset width of `ucs-cns', `ucs-jis', `ucs-ks' and `ucs-big5'.
2659
2660         * char-ucs.h (LEADING_BYTE_UCS_SMP): New macro.
2661         (LEADING_BYTE_UCS_SIP): New macro.
2662         (MIN_CHAR_SMP): New macro.
2663         (MAX_CHAR_SMP): New macro.
2664         (MIN_CHAR_SIP): New macro.
2665         (MAX_CHAR_SIP): New macro.
2666
2667 2001-11-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
2668
2669         * dumper.c (PDUMP_HASH_SIZE): Increase the size of hash table when
2670         utf-2000.
2671
2672 2001-11-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2673
2674         * mule-charset.c (put_char_ccs_code_point): Return canonicalized
2675         value; don't store value into `encoding_table' of `Lisp_Charset'.
2676         (mark_charset): `encoding_table' was deleted.
2677         (charset_description): Likewise.
2678         (make_charset): Likewise.
2679         (Fset_charset_mapping_table): Use `Fput_char_attribute' instead of
2680         `put_char_ccs_code_point'.
2681
2682         * chartab.h (Fput_char_attribute): New EXFUN.
2683
2684         * chartab.c (Fchar_attribute_alist): Name space of CCS-attributes
2685         is unified with normal symbol space.
2686         (Fget_char_attribute): Likewise.
2687         (Fput_char_attribute): Likewise; behavior of
2688         `put_char_ccs_code_point' is changed.
2689
2690         * char-ucs.h: Include "elhash.h".
2691         (Vchar_attribute_hash_table): New external variable.
2692         (struct Lisp_Charset): Delete `encoding_table'.
2693         (CHARSET_ENCODING_TABLE): New implementation; refer
2694         `Vchar_attribute_hash_table' instead of `encoding_table' of struct
2695         `Lisp_Charset'.
2696
2697 2001-11-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2698
2699         * mule-charset.c (Fcharset_property): Return Qnil if CHARSET_FINAL
2700         (cs) == 0.
2701
2702 2001-11-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2703
2704         * text-coding.c (char_encode_big5): Prefer charset-g1 than
2705         `chinese-big5'.
2706
2707 2001-11-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2708
2709         * chartab.c (uint8_byte_table_description): New constant.
2710         (uint8-byte-table): Use `uint8_byte_table_description'.
2711         (uint16_byte_table_description): New constant.
2712         (uint16-byte-table): Use `uint16_byte_table_description'.
2713
2714 2001-10-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2715
2716         * mule-charset.c (complex_vars_of_mule_charset): Don't use builtin
2717         range MIN_CHAR_BIG5_CDP .. MAX_CHAR_BIG5_CDP.
2718
2719 2001-10-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2720
2721         * mule-charset.c (Vcharset_ucs_ks): New variable.
2722         (Qucs_ks): New variable.
2723         (syms_of_mule_charset): Add new symbol `ucs-ks'.
2724         (complex_vars_of_mule_charset): Add new coded-charset `ucs-ks'.
2725
2726         * char-ucs.h (LEADING_BYTE_UCS_KS): New macro.
2727
2728 2001-10-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2729
2730         * chartab.h (Fmake_char): New EXFUN; moved from chartab.c.
2731         (Fdecode_char): Likewise.
2732
2733         * chartab.c: Move EXFUN for Fmake_char and Fdecode_char into
2734         chartab.h.
2735         (Fdefine_char): Modify for Fdecode_char.
2736         (Ffind_char): Likewise.
2737
2738         * mule-charset.c (Fdecode_char): Add new optional argument
2739         `defined-only'.
2740         (Fdecode_builtin_char): Modify for `Fdecode_char'.
2741
2742 2001-10-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2743
2744         * text-coding.c (mark_coding_system): Mark initial-charset-g0 and
2745         -g1 of CODESYS_BIG5 in XEmacs UTF-2000.
2746         (allocate_coding_system): Initialize initial-charsets of
2747         CODESYS_BIG5 in XEmacs UTF-2000.
2748         (Fmake_coding_system): Accept `charset-g0' and `charset-g1' for
2749         CODESYS_BIG5 in XEmacs UTF-2000.
2750         (decode_coding_big5): Use initial-charset-g0 and -g1 of
2751         CODESYS_BIG5 in XEmacs UTF-2000; use `DECODE_DEFINED_CHAR'.
2752
2753         * mule-charset.c (Vcharset_ideograph_hanziku_{1 .. 12}): New
2754         variables.
2755         (Qideograph_hanziku_{1 .. 12}): Likewise.
2756         (syms_of_mule_charset): Add new symbols `ideograph-hanziku-{1
2757         .. 12}'.
2758         (complex_vars_of_mule_charset): Use `MIN_CHAR_BIG5_CDP' to
2759         `MAX_CHAR_BIG5_CDP' for `chinese-big5'; add news coded-charsets
2760         `ideograph-hanziku-{1 .. 12}'.
2761
2762         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x200.
2763         (LEADING_BYTE_HANZIKU_{1 .. 12}): New macros.
2764         ({MIN|MAX}_CHAR_BIG5_CDP): New macros.
2765         ({MIN|MAX}_CHAR_HANZIKU_{1 .. 12}): New macros.
2766         (DECODE_DEFINED_CHAR): New inline function.
2767         (DECODE_CHAR): Use `DECODE_DEFINED_CHAR'.
2768
2769 2001-10-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2770
2771         * mule-charset.c (Vcharset_china3_jef): Renamed from
2772         `Vcharset_japanese_jef_china3'.
2773         (Qchina3_jef): Renamed from `Qjapanese_jef_china3'.
2774         (encode_builtin_char_1): Rename `{MIN|MAX}_CHAR_CHINA3_JEF' from
2775         `{MIN|MAX}_CHAR_JEF_CHINA3'..
2776         (syms_of_mule_charset): Rename `china3-jef' from
2777         `japanese-jef-china3'.
2778         (complex_vars_of_mule_charset): Likewise; rename
2779         `LEADING_BYTE_CHINA3_JEF' from `LEADING_BYTE_JEF_CHINA3'.
2780
2781         * char-ucs.h (LEADING_BYTE_CHINA3_JEF): Renamed from
2782         `LEADING_BYTE_JEF_CHINA3'.
2783         (MIN_CHAR_CHINA3_JEF): Renamed from `MIN_CHAR_JEF_CHINA3'.
2784         (MAX_CHAR_CHINA3_JEF): Renamed from `MAX_CHAR_JEF_CHINA3'.
2785
2786 2001-10-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2787
2788         * mule-charset.c (encode_builtin_char_1): Comment out special code
2789         for MIN_CHAR_MOJIKYO_0 ... MAX_CHAR_MOJIKYO_0.
2790
2791         * char-ucs.h (MIN_CHAR_MOJIKYO_0): Comment out.
2792         (MAX_CHAR_MOJIKYO_0): Comment out.
2793         (MIN_CHAR_CBETA): Changed to 0x00E20000.
2794         (MAX_CHAR_CBETA): Changed to 0x00E2FFFF.
2795         (MIN_CHAR_JEF_CHINA3): Changed to 0x00E80000.
2796         (MAX_CHAR_JEF_CHINA3): Changed to 0x00E8FFFF.
2797
2798 2001-10-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2799
2800         * mule-charset.c (Vcharset_ideograph_cbeta): New variable.
2801         (Qideograph_cbeta): New variable.
2802         (encode_builtin_char_1): Comment out special code for
2803         coded-charset `mojikyo' and `japanese-jef-china3'.
2804         (syms_of_mule_charset): Add new symbol `ideograph-cbeta'.
2805         (complex_vars_of_mule_charset): Add new coded-charset
2806         `ideograph-cbeta'.
2807
2808         * char-ucs.h (LEADING_BYTE_CBETA): New macro.
2809         (MIN_CHAR_CBETA): New macro.
2810         (MAX_CHAR_CBETA): New macro.
2811
2812 2001-10-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2813
2814         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x100.
2815         (LEADING_BYTE_JEF_CHINA3): New macro.
2816         (MIN_CHAR_JEF_CHINA3): New macro.
2817         (MAX_CHAR_JEF_CHINA3): Likewise.
2818         (DECODE_CHAR): Fixed.
2819
2820 2001-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2821
2822         * mule-charset.c (Vcharset_japanese_jef_china3): New variable.
2823         (Qjapanese_jef_china3): New variable.
2824         (encode_builtin_char_1): Support `japanese-jef-china3'.
2825         (syms_of_mule_charset): Add new symbol `japanese-jef-china3'.
2826         (complex_vars_of_mule_charset): Add new coded-charset
2827         `japanese-jef-china3'.
2828
2829 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2830
2831         * chartab.c (XCHARSET_CELL_RANGE): New inline function.
2832         (decode_char_table_range): Use `XCHARSET_CELL_RANGE'; accept 94^3,
2833         94^4, 96^3, 96^4, 128^n and 256^n set.
2834         (put_char_table): Use `XCHARSET_CELL_RANGE'.
2835         (map_char_table): Likewise.
2836
2837 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2838
2839         * chartab.c (get_char_table): Use `get_char_id_table' in XEmacs
2840         UTF-2000.
2841
2842 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2843
2844         * chartab.h (get_char_id_table): New inline function.
2845
2846         * chartab.c (get_char_id_table): Moved to chartab.h as an inline
2847         function.
2848
2849 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2850
2851         * chartab.h (decode_char_table_range): New prototype in XEmacs
2852         UTF-2000.
2853         (put_char_id_table): New inline function in XEmacs UTF-2000.
2854
2855         * chartab.c (put_char_id_table): Moved to chartab.h as an inline
2856         function.
2857         (decode_char_table_range): Delete static declaration in XEmacs
2858         UTF-2000.
2859
2860 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2861
2862         * chartab.c (put_char_id_table): Use `put_char_table'.
2863
2864 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2865
2866         * chartab.c (map_over_uint8_byte_table): Delete argument `ccs'.
2867         (map_over_uint16_byte_table): Likewise.
2868         (map_over_byte_table): Likewise.
2869         (map_char_table): Modify for `map_over_uint8_byte_table',
2870         `map_over_uint16_byte_table' and `map_over_byte_table' in XEmacs
2871         UTF-2000.
2872
2873 2001-09-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2874
2875         * chartab.c (struct map_char_table_for_charset_arg): New
2876         structure.
2877         (map_char_table_for_charset_fun): New function.
2878         (map_char_table): Use `map_char_table' for encoding_table of
2879         `range->charset'.
2880
2881 2001-09-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2882
2883         * chartab.c (map_char_table): Check a character is found in
2884         range->charset instead of non default value is defined in
2885         char-table when range is CHARTAB_RANGE_ROW.
2886
2887 2001-09-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2888
2889         * chartab.c (map_char_id_table): Deleted.
2890         (Fmap_char_attribute): Use `map_char_table' instead of
2891         `map_char_id_table'.
2892
2893 2001-09-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2894
2895         * syntax.h (SYNTAX_CODE_UNSAFE): New implementation in XEmacs
2896         UTF-2000.
2897         (update_syntax_table): Deleted in XEmacs UTF-2000.
2898
2899         * syntax.c (find_defun_start): Use `syntax_table' instead of
2900         `mirror_syntax_table' in XEmacs UTF-2000.
2901         (Fset_syntax_table): Don't use `mirror_syntax_table' in XEmacs
2902         UTF-2000.
2903         (Fchar_syntax): Use `syntax_table' instead of `mirror_table' in
2904         XEmacs UTF-2000.
2905         (Fmatching_paren): Likewise.
2906         (scan_words): Use `syntax_table' instead of `mirror_syntax_table'
2907         in XEmacs UTF-2000.
2908         (find_start_of_comment): Likewise.
2909         (find_end_of_comment): Likewise.
2910         (Fforward_comment): Likewise.
2911         (scan_lists): Likewise.
2912         (char_quoted): Likewise.
2913         (Fbackward_prefix_chars): Likewise.
2914         (scan_sexps_forward): Likewise.
2915         (update_just_this_syntax_table): Deleted in XEmacs UTF-2000.
2916         (update_syntax_table): Likewise.
2917
2918         * search.c (skip_chars): Use `syntax_table' instead of
2919         `mirror_syntax_table' in XEmacs UTF-2000.
2920         (wordify): Likewise.
2921         (Freplace_match): Likewise.
2922
2923         * regex.c (re_compile_fastmap): Use `syntax_table' instead of
2924         `mirror_syntax_table' in XEmacs UTF-2000.
2925         (WORDCHAR_P_UNSAFE): Likewise.
2926         (re_match_2_internal): Likewise.
2927
2928         * font-lock.c (find_context): Use `buf->syntax_table' instead of
2929         `buf->mirror_syntax_table' in XEmacs UTF-2000.
2930
2931         * cmds.c (internal_self_insert): Use `buf->syntax_table' instead
2932         of `buf->mirror_syntax_table' in XEmacs UTF-2000.
2933
2934         * chartab.h (struct Lisp_Char_Table): Delete `mirror_table' in
2935         XEmacs UTF-2000.
2936
2937         * chartab.c (mark_char_table): Don't mark `mirror_table' in XEmacs
2938         UTF-2000.
2939         (print_char_table): Print `default_value' in XEmacs UTF-2000.
2940         (char_table_description): Delete `mirror_table' in XEmacs
2941         UTF-2000.
2942         (fill_char_table): Don't call `update_syntax_table' in XEmacs
2943         UTF-2000.
2944         (Fmake_char_table): Don't use `mirror_table' in XEmacs UTF-2000.
2945         (Fcopy_char_table): Likewise.
2946         (put_char_table): Don't call `update_syntax_table' in XEmacs
2947         UTF-2000.
2948
2949         * casefiddle.c (casify_object): Use `buf->syntax_table' instead of
2950         `buf->mirror_syntax_table' in XEmacs UTF-2000.
2951         (casify_region_internal): Likewise.
2952
2953         * bufslots.h: Delete `mirror_syntax_table' in XEmacs UTF-2000.
2954
2955         * buffer.c (common_init_complex_vars_of_buffer): Don't use
2956         `mirror_syntax_table' in XEmacs UTF-2000.
2957
2958         * abbrev.c (abbrev_match): Use `buf->syntax_table' instead of
2959         `buf->mirror_syntax_table' in XEmacs UTF-2000.
2960         (Fexpand_abbrev): Likewise.
2961
2962 2001-09-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2963
2964         * chartab.c (vars_of_chartab): Update `utf-2000-version' to 0.18.
2965
2966 2001-09-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2967
2968         * chartab.c (map_over_uint8_byte_table): Cancel temporary hack.
2969         (map_over_uint16_byte_table): Likewise.
2970         (map_over_byte_table): Likewise.
2971         (get_char_id_table): Refer `cit->default_value'.
2972         (put_char_id_table): Support `CHARTAB_RANGE_DEFAULT'.
2973         (map_char_id_table): Use `1 << 30' instead of `1 << 24' as number
2974         of character-id ranges.
2975         (mark_char_table): Mark `ct->default_value'.
2976         (char_table_description): Add `default_value'.
2977         (fill_char_table): Use `default_value'.
2978         (decode_char_table_range): Decode `nil' as
2979         `CHARTAB_RANGE_DEFAULT'.
2980         (get_char_id_table): Refer `cit->default_value'.
2981         (put_char_id_table): Support `CHARTAB_RANGE_DEFAULT'.
2982         (map_char_table): Support `CHARTAB_RANGE_DEFAULT'; cancel
2983         temporary hack; check value of char-table is bound or not.
2984         (slow_map_char_table_fun): Support `CHARTAB_RANGE_DEFAULT'.
2985
2986         * chartab.h (struct Lisp_Char_Table): Add new member
2987         `default_value' in XEmacs UTF-2000.
2988         (CHAR_TABLE_VALUE_UNSAFE): Use `default_value'.
2989         (enum chartab_range_type): Add `CHARTAB_RANGE_DEFAULT' in XEmacs
2990         UTF-2000.
2991
2992 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2993
2994         * chartab.h (Lisp_Char_ID_Table): Deleted.
2995
2996         * chartab.c (char_table_description): Fix typo.
2997         (Fmap_char_attribute): Use `Lisp_Char_Table' instead of
2998         `Lisp_Char_ID_Table'.
2999
3000 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3001
3002         * text-coding.c (COMPOSE_ADD_CHAR): Use `CHAR_TABLEP' instead of
3003         `CHAR_ID_TABLE_P'.
3004
3005         * mule-charset.c (remove_char_ccs): Use `CHAR_TABLEP' instead of
3006         `CHAR_ID_TABLE_P'.
3007
3008         * chartab.h (XCHAR_ID_TABLE): Deleted.
3009         (XSETCHAR_ID_TABLE): Deleted.
3010         (CHAR_ID_TABLE_P): Deleted.
3011
3012         * chartab.c (put_char_id_table): Use `CHAR_TABLEP' instead of
3013         `CHAR_ID_TABLE_P'.
3014         (Fget_composite_char): Likewise.
3015         (put_char_table): Likewise.
3016         (add_char_attribute_alist_mapper): Fixed.
3017         (Fchar_attribute_alist): Use `CHAR_TABLEP' instead of
3018         `CHAR_ID_TABLE_P'.
3019         (Fget_char_attribute): Likewise.
3020         (Fget_char_attribute): Likewise.
3021         (Fmap_char_attribute): Likewise.
3022
3023         * char-ucs.h (charset_code_point): Use `CHAR_TABLEP' instead of
3024         `CHAR_ID_TABLE_P'.
3025         (encode_char_1): Likewise.
3026
3027 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3028
3029         * text-coding.c (COMPOSE_ADD_CHAR): Use `XCHAR_TABLE' instead of
3030         `XCHAR_ID_TABLE'.
3031
3032         * mule-charset.c (put_char_ccs_code_point): Use `XCHAR_TABLE'
3033         instead of `XCHAR_ID_TABLE'.
3034         (remove_char_ccs): Likewise.
3035
3036         * chartab.c (put_char_id_table): Use `XCHAR_TABLE' instead of
3037         `XCHAR_ID_TABLE'.
3038         (Fget_composite_char): Likewise.
3039         (Fchar_variants): Likewise.
3040         (put_char_table): Likewise.
3041         (add_char_attribute_alist_mapper): Likewise.
3042         (Fchar_attribute_alist): Likewise.
3043         (Fget_char_attribute): Likewise.
3044         (Fput_char_attribute): Likewise.
3045         (Fmap_char_attribute): Likewise.
3046         (Fmap_char_attribute): Likewise.
3047
3048         * char-ucs.h (charset_code_point): Use `XCHAR_TABLE' instead of
3049         `XCHAR_ID_TABLE'.
3050         (encode_char_1): Likewise.
3051
3052 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3053
3054         * chartab.c (map_char_id_table): Use `Lisp_Char_Table' instead of
3055         `Lisp_Char_ID_Table'.
3056         (mark_char_id_table): Deleted.
3057         (print_char_id_table): Likewise.
3058         (char_id_table_equal): Likewise.
3059         (char_id_table_hash): Likewise.
3060         (char_id_table_description): Likewise.
3061         (char_id_table): Likewise.
3062         (make_char_id_table): Use `Fmake_char_table' and
3063         `fill_char_table'.
3064         (get_char_id_table): Use `Lisp_Char_Table' instead of
3065         `Lisp_Char_ID_Table'.
3066         (put_char_id_table): Likewise.
3067         (Fput_char_attribute): Use `XCHAR_TABLE' instead of
3068         `XCHAR_ID_TABLE'.
3069         (Fremove_char_attribute): Likewise.
3070         (syms_of_chartab): Don't define type `char-id-table'.
3071
3072         * chartab.h (struct Lisp_Char_ID_Table): Deleted.
3073         (char_id_table): Likewise.
3074         (GC_CHAR_ID_TABLE_P): Likewise.
3075         (Lisp_Char_ID_Table): Use structure `Lisp_Char_Table'.
3076         (XCHAR_ID_TABLE): Use `XCHAR_TABLE'.
3077         (XSETCHAR_ID_TABLE): Use `XSETCHAR_TABLE'.
3078         (CHAR_ID_TABLE_P): Use `CHAR_TABLEP'.
3079         (get_char_id_table): Use `Lisp_Char_Table' instead of
3080         `Lisp_Char_ID_Table'.
3081         (put_char_id_table_0): Likewise.
3082         (put_char_id_table): Likewise.
3083
3084 2001-09-02  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
3085
3086         * chartab.h: Lisp_Byte_Table related codes are moved from
3087         chartab.h.
3088
3089         * char-ucs.h: Move Lisp_Byte_Table related codes to chartab.h.
3090
3091 2001-09-02  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
3092
3093         * chartab.h: Don't include "chartab.h".
3094         (struct Lisp_Char_ID_Table): Moved from char-ucs.h.
3095         (Lisp_Char_ID_Table): Likewise.
3096         (char_id_table): Likewise.
3097         (XCHAR_ID_TABLE): Likewise.
3098         (XSETCHAR_ID_TABLE): Likewise.
3099         (CHAR_ID_TABLE_P): Likewise.
3100         (GC_CHAR_ID_TABLE_P): Likewise.
3101         (get_char_id_table): Likewise.
3102
3103         * char-ucs.h: Include "chartab.h".
3104         (struct Lisp_Char_ID_Table): Moved to chartab.h.
3105         (Lisp_Char_ID_Table): Likewise.
3106         (char_id_table): Likewise.
3107         (XCHAR_ID_TABLE): Likewise.
3108         (XSETCHAR_ID_TABLE): Likewise.
3109         (CHAR_ID_TABLE_P): Likewise.
3110         (GC_CHAR_ID_TABLE_P): Likewise.
3111         (get_char_id_table): Likewise.
3112
3113 2001-09-01  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
3114
3115         * chartab.c (copy_uint8_byte_table): New function.
3116         (copy_uint16_byte_table): New function.
3117         (copy_byte_table): New function.
3118         (map_over_uint8_byte_table): Modify to avoid huge numbers of
3119         characters to call.
3120         (map_over_uint16_byte_table): Likewise.
3121         (map_over_byte_table): Likewise.
3122         (get_byte_table): Move prototype to chartab.h.
3123         (put_byte_table): Likewise.
3124         (put_char_id_table_0): Moved to chartab.h.
3125         (mark_char_table_entry): Don't define in XEmacs UTF-2000.
3126         (char_table_entry_equal): Likewise.
3127         (char_table_entry_hash): Likewise.
3128         (char_table_entry_description): Likewise.
3129         (char_table_entry): Likewise.
3130         (make_char_table_entry): Likewise.
3131         (copy_char_table_entry): Likewise.
3132         (get_non_ascii_char_table_value): Likewise.
3133         (map_over_charset_ascii): Likewise.
3134         (map_over_charset_control_1): Likewise.
3135         (map_over_charset_row): Likewise.
3136         (map_over_other_charset): Likewise.
3137         (mark_char_table): Modify for new structure in XEmacs UTF-2000.
3138         (print_char_table): Likewise.
3139         (char_table_equal): Likewise.
3140         (char_table_hash): Likewise.
3141         (char_table_description): Likewise.
3142         (fill_char_table): Likewise.
3143         (Fcopy_char_table): Likewise.
3144         (get_char_table): Likewise.
3145         (Fget_range_char_table): Likewise.
3146         (put_char_table): Likewise.
3147         (map_char_table): Likewise.
3148         (syms_of_chartab): Don't define `char_table_entry' in XEmacs
3149         UTF-2000.
3150
3151 2001-08-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3152
3153         * cmds.c (vars_of_cmds): Use `put_char_id_table_0' for
3154         `Vauto_fill_chars' in XEmacs UTF-2000.
3155
3156         * chartab.h (get_byte_table): New prototype [moved from
3157         chartab.c].
3158         (put_byte_table): Likewise [moved from chartab.c].
3159         (put_char_id_table_0): New inline function [moved from chartab.c].
3160         (struct Lisp_Char_Table_Entry): Don't define in XEmacs UTF-2000.
3161         (Lisp_Char_Table_Entry): Likewise.
3162         (char_table_entry): Likewise.
3163         (XCHAR_TABLE_ENTRY): Likewise.
3164         (XSETCHAR_TABLE_ENTRY): Likewise.
3165         (CHAR_TABLE_ENTRYP): Likewise.
3166         (CHECK_CHAR_TABLE_ENTRY): Likewise.
3167         (NUM_ASCII_CHARS): Likewise.
3168         (struct Lisp_Char_Table): New implementation in XEmacs UTF-2000.
3169         (CHAR_TABLE_VALUE_UNSAFE): Likewise.
3170
3171 2001-08-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3172
3173         * chartab.c (get_char_id_table): Change interface.
3174         (put_char_id_table_0): New function.
3175         (put_char_id_table): Change interface; new implementation.
3176         (Fget_composite_char): Modify for interface change of
3177         `get_char_id_table'.
3178         (Fchar_variants): Likewise.
3179         (add_char_attribute_alist_mapper): Likewise.
3180         (Fchar_attribute_alist): Likewise.
3181         (Fget_char_attribute): Likewise.
3182         (Fput_char_attribute): Allow coded-charset or [CODED-CHARSET ROW]
3183         as same as character as the first argument like `put-char-table';
3184         modify for interface change of `put_char_id_table'.
3185         (Fremove_char_attribute): Modify for interface change of
3186         `put_char_id_table'.
3187
3188 2001-08-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3189
3190         * text-coding.c: Sync up with XEmacs 21.2.41.
3191         (COMPOSE_ADD_CHAR): Modify for interface change of
3192         `get_char_id_table'.
3193
3194         * mule-charset.c (put_char_ccs_code_point): Modify for interface
3195         change of `put_char_id_table'.
3196         (remove_char_ccs): Likewise.
3197
3198         * chartab.h (put_char_id_table): Change interface.
3199
3200         * char-ucs.h (get_char_id_table): Change interface.
3201         (charset_code_point): Modify for interface change of
3202         `get_char_id_table'.
3203         (encode_char_1): Likewise.
3204
3205 2001-08-19  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3206
3207         * chartab.c (map_over_uint8_byte_table): Change arguments; add new
3208         argument `ccs'.
3209         (map_over_uint16_byte_table): Likewise.
3210         (map_over_byte_table): Likewise.
3211         (map_char_id_table): Add new argument `range' like
3212         `map_char_table'.
3213         (Fmap_char_attribute): Add new argument `range' like
3214         `Fmap_char_table'.
3215
3216 2001-08-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3217
3218         * chartab.c (map_over_uint8_byte_table): Change interface of
3219         mapping function to use struct chartab_range instead of Emchar.
3220         (map_over_uint16_byte_table): Likewise.
3221         (map_over_byte_table): Likewise.
3222         (map_char_id_table): Likewise.
3223         (struct slow_map_char_id_table_arg): Deleted.
3224         (slow_map_char_id_table_fun): Deleted.
3225         (Fmap_char_attribute): Use struct `slow_map_char_table_arg' and
3226         function `slow_map_char_table_fun' instead of struct
3227         `slow_map_char_id_table_arg' and function
3228         `slow_map_char_id_table_fun'.
3229
3230 2001-08-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3231
3232         * mule-charset.c: Move char-it-table related codes to chartab.c.
3233         (Vutf_2000_version): Moved to chartab.c.
3234         (Fdefine_char): Likewise.
3235         (Ffind_char): Likewise.
3236         (syms_of_mule_charset): Move types `uint8-byte-table',
3237         `uint16-byte-table', `byte-table' and `char-id-table' to
3238         chartab.c; move functions `char_attribute_list,
3239         `find_char_attribute_table, `char_attribute_alist,
3240         `get_char_attribute, `put_char_attribute, `remove_char_attribute,
3241         `map_char_attribute, `define_char, `find_char, `char_variants and
3242         `get_composite_char to chartab.c; move symbols `=>ucs',
3243         `->decomposition', `compat', `isolated', `initial', `medial',
3244         `final', `vertical', `noBreak', `fraction', `super', `sub',
3245         `circle', `square', `wide', `narrow', `small' and `font' to
3246         chartab.c.
3247         (vars_of_mule_charset): Move `utf-2000-version' to chartab.c; move
3248         setting codes for `Vcharacter_composition_table' and
3249         `Vcharacter_variant_table' to chartab.c.
3250         (complex_vars_of_mule_charset): Move setting code for
3251         `Vchar_attribute_hash_table' to chartab.c.
3252
3253         * chartab.h: Include "char-ucs.h" if --with-utf-2000 is specified.
3254         (make_char_id_table): New prototype.
3255         (put_char_id_table): Likewise.
3256         (Fget_char_attribute): Likewise.
3257
3258         * chartab.c: Move char-id-table related code from mule-charset.c.
3259         (Vutf_2000_version): Moved from mule-charset.c.
3260
3261         * char-ucs.h (Qucs): New external variable.
3262         (put_char_ccs_code_point): New prototype.
3263         (remove_char_ccs): Likewise.
3264
3265 2001-08-14  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
3266
3267         * mule-charset.c (Vcharset_ucs_jis): New variable.
3268         (Qucs_jis): Likewise.
3269         (syms_of_mule_charset): Add new symbol `ucs-jis'.
3270         (complex_vars_of_mule_charset): Add new coded-charset `ucs-jis'.
3271
3272         * char-ucs.h (LEADING_BYTE_UCS_JIS): New macro.
3273
3274 2001-08-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3275
3276         * mule-charset.c (map_over_uint8_byte_table): New function.
3277         (map_over_uint16_byte_table): Likewise.
3278         (map_over_byte_table): Likewise.
3279         (map_char_id_table): Likewise.
3280         (slow_map_char_id_table_fun): Likewise.
3281         (Fmap_char_attribute): Likewise.
3282         (syms_of_mule_charset): Add new function `map-char-attribute'.
3283
3284 2001-08-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3285
3286         * mule-charset.c (Ffind_char): New function in XEmacs UTF-2000.
3287         (syms_of_mule_charset): Add new function `find-char'.
3288
3289 2001-08-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3290
3291         * mule-charset.c (Vcharset_chinese_big5_cdp): New variable in
3292         XEmacs UTF-2000.
3293         (Qchinese_big5_cdp): New variable in XEmacs UTF-2000.
3294         (syms_of_mule_charset): Add new symbol `chinese-big5-cdp' in
3295         XEmacs UTF-2000.
3296         (complex_vars_of_mule_charset): Add new coded-charset
3297         `chinese-big5-cdp' in XEmacs UTF-2000; change registry of
3298         `ideograph-gt-pj-*'.
3299
3300         * char-ucs.h (LEADING_BYTE_CHINESE_BIG5_CDP): New macro.
3301
3302 2001-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3303
3304         * mule-charset.c (encode_builtin_char_1): Purge codes about
3305         {MIN|MAX}_CHAR_{GREEK|CYRILLIC}; comment out code about
3306         {MIN|MAX}_CHAR_HEBREW.
3307         (complex_vars_of_mule_charset): Comment out {MIN|MAX}_CHAR_HEBREW;
3308         don't use {MIN|MAX}_CHAR_HEBREW to define `hebrew-iso8859-8'.
3309
3310         * char-ucs.h (MIN_CHAR_GREEK): Purged.
3311         (MAX_CHAR_GREEK): Purged.
3312         (MIN_CHAR_CYRILLIC): Purged.
3313         (MAX_CHAR_CYRILLIC): Purged.
3314         (MIN_CHAR_HEBREW): Commented out.
3315         (MAX_CHAR_HEBREW): Likewise.
3316
3317 2001-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3318
3319         * mule-charset.c (Qto_ucs): New variable.
3320         (Fput_char_attribute): Treat `=>ucs' as same as `->ucs'.
3321         (Fdefine_char): Likewise.
3322         (syms_of_mule_charset): Add new symbol `=>ucs'.
3323
3324 2001-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3325
3326         * mule-charset.c (Fdecode_char): Fixed.
3327
3328 2001-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3329
3330         * mule-charset.c (complex_vars_of_mule_charset): Modify registry
3331         of latin-tcvn5712 to accept "tcvn5712.1993-1" as same as
3332         "tcvn5712-1".
3333
3334 2001-07-21  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3335
3336         * mule-charset.c (Vcharset_ucs_big5): New variable.
3337         (Qucs_big5): Likewise.
3338         (syms_of_mule_charset): Add new symbol `ucs-big5'.
3339         (complex_vars_of_mule_charset): Add new coded-charset `ucs-big5'.
3340
3341         * char-ucs.h (LEADING_BYTE_UCS_BIG5): New macro.
3342
3343 2001-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3344
3345         * mule-charset.c (decode_builtin_char): Check Big5 code range
3346         which can be mapped to `chinese-big5-1' and `chinese-big5-2'.
3347
3348 2001-07-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3349
3350         * mule-charset.c (Vcharset_chinese_gb12345): New variable.
3351         (Qchinese_gb12345): Likewise.
3352         (Fdecode_builtin_char): Fixed.
3353         (syms_of_mule_charset): Add `chinese-gb12345'.
3354         (complex_vars_of_mule_charset): Add coded-charset
3355         `chinese-gb12345'.
3356
3357         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x70.
3358         (LEADING_BYTE_CHINESE_GB12345): New macro.
3359
3360 2001-07-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3361
3362         * mule-charset.c (Fdecode_builtin_char): Use `latin-viscii-lower'
3363         and `latin-viscii-upper' for `latin-viscii'.
3364
3365 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3366
3367         * mule-charset.c (Fdecode_builtin_char): Comment out
3368         regularization code for ISO-IR GR representation.
3369
3370 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3371
3372         * mule-charset.c (decode_builtin_char): New function; renamed from
3373         `make_builtin_char'; return -1 instead of signal.
3374         (Fdecode_builtin_char): Use `decode_builtin_char'.
3375
3376         * char-ucs.h (decode_builtin_char): New prototype; renamed from
3377         `make_builtin_char'.
3378         (DECODE_CHAR): Use `decode_builtin_char' instead of
3379         `make_builtin_char'; use mapping table of `chinese-big5' for
3380         `chinese-big5-{1,2}'.
3381
3382 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3383
3384         * text-coding.c (char_encode_big5): New function.
3385         (char_finish_big5): Likewise.
3386         (reset_encoding_stream): Use `char_encode_big5' and
3387         `char_finish_big5' for CODESYS_BIG5.
3388         (mule_encode): Don't use `encode_coding_big5'.
3389         (encode_coding_big5): Deleted.
3390
3391 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3392
3393         * text-coding.c (BYTE_BIG5_TWO_BYTE_1_P): Support private area
3394         0x81- in XEmacs UTF-2000.
3395         (detect_coding_big5): Likewise.
3396
3397 2001-07-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3398
3399         * mule-charset.c (Fdefine_char): Don't use a CCS property to
3400         generate character-id if the CCS property does not have
3401         corresponding predefined character.
3402         (make_builtin_char): Return -1 if corresponding predefined
3403         character is not found.
3404         (Fdecode_char): Return nil if corresponding character is not
3405         found.
3406         (complex_vars_of_mule_charset): Change `ucs-cns' to 256^3-set and
3407         don't map to builtin ucs space.
3408
3409 2001-07-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3410
3411         * char-ucs.h (MAX_LEADING_BYTE_PRIVATE): Fixed.
3412         (MAX_CHAR_GT): Changed to `(MIN_CHAR_GT + 66773)'.
3413
3414 2001-07-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3415
3416         * mule-charset.c (Vcharset_ideograph_gt): New variable.
3417         (Vcharset_ideograph_gt_pj_{1..11}): Likewise.
3418         (Qideograph_gt): Likewise.
3419         (Qideograph_gt_pj_{1..11}): Likewise.
3420         (syms_of_mule_charset): Add `ideograph-gt', `ideograph-gt-pj-1',
3421         `ideograph-gt-pj-2', ..., `ideograph-gt-pj-10' and
3422         `ideograph-gt-pj-11'.
3423         (complex_vars_of_mule_charset): Add coded-charset `ideograph-gt',
3424         `ideograph-gt-pj-1', `ideograph-gt-pj-2', ...,
3425         `ideograph-gt-pj-10' and `ideograph-gt-pj-11'.
3426
3427         * char-ucs.h (LEADING_BYTE_GT): New macro.
3428         (LEADING_BYTE_GT_PJ_{1..11}): Likewise.
3429         (MIN_CHAR_GT): Likewise.
3430         (MAX_CHAR_GT): Likewise.
3431
3432 2001-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3433
3434         * lisp-disunion.h (XCHARVAL): New implementation for UTF-2000 to
3435         support U-60000000 .. U-7FFFFFFF with 32 bits architecture.
3436
3437         * doprnt.c (unsigned_int_converters): Add `c'.
3438         (emacs_doprnt_1): Use `XUINT' for unsigned integers.
3439
3440         * char-ucs.h (MIN_CHAR_DAIKANWA): Don't refer `MIN_CHAR_MOJIKYO'.
3441         (MAX_CHAR_DAIKANWA): Refer `MIN_CHAR_DAIKANWA' instead of
3442         `MIN_CHAR_MOJIKYO'.
3443         (MIN_CHAR_MOJIKYO_0): New macro; refer `MIN_CHAR_DAIKANWA'.
3444         (MAX_CHAR_MOJIKYO_0): New macro.
3445         (MIN_CHAR_MOJIKYO): Changed to 0x60000000.
3446
3447 2001-06-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3448
3449         * mule-charset.c (Fdefine_char): Delete cemented out code.
3450         (encode_builtin_char_1): Modify for new allocation of builtin
3451         Mojikyo characters.
3452
3453         * lisp-disunion.h (XCHARVAL): Cast the argument into EMACS_UINT.
3454
3455 2001-06-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3456
3457         * mule-charset.c (Vcharset_ucs_cns): New variable.
3458         (Qucs_cns): New variable.
3459         (syms_of_mule_charset): Add new symbol `ucs-cns'.
3460         (complex_vars_of_mule_charset): Add new coded-charset `ucs-cns'.
3461
3462 2001-05-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3463
3464         * char-ucs.h (LEADING_BYTE_UCS_CNS): New macro.
3465
3466 2000-12-09  MORIOKA Tomohiko  <tomo@m17n.org>
3467
3468         * search.c (search_buffer): Make `charset_base_code' as
3469         character-id >> 6 to eliminate the corresponding last byte in
3470         UTF-8 representation [I'm not sure it is right thing].
3471         (boyer_moore): Likewise.
3472
3473 2000-12-09  MORIOKA Tomohiko  <tomo@m17n.org>
3474
3475         * emacs.c (vars_of_emacs): Convert XEMACS_CODENAME to internal
3476         representation in MULE.
3477
3478 2000-11-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3479
3480         * text-coding.c (Fmake_coding_system): Use
3481         `EXTERNAL_PROPERTY_LIST_LOOP_3' instead of
3482         `EXTERNAL_PROPERTY_LIST_LOOP'.
3483
3484 2000-11-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3485
3486         * text-coding.c (decode_output_utf8_partial_char): New function.
3487         (decode_coding_utf8): Use `decode_output_utf8_partial_char'.
3488
3489 2000-11-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3490
3491         * text-coding.c (decode_coding_utf8): Output original byte
3492         sequence if it is broken; change order of conditions.
3493
3494         * mb-utf-8.h (REP_BYTES_BY_FIRST_BYTE): Use Bufbyte; reverse order
3495         of conditions.
3496
3497         * mb-multibyte.h (BYTE_ASCII_P):
3498         Use bit ops for char-signedness safety.
3499         (BYTE_C0_P): Use bit ops for char-signedness safety.
3500         (BYTE_C1_P): Use bit ops for char-signedness safety.
3501
3502         * character.h: (XCHAR_OR_CHAR_INT):
3503         Always use inline function.
3504         Remove redundant type checking assert() - XINT will abort quite
3505         nicely.
3506
3507 2000-11-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3508
3509         * text-coding.c: (Fencode_shift_jis_char):
3510         (Fencode_big5_char):
3511         Docstring arglist/Texinfo fixes.  See man/ChangeLog for details.
3512         Replace 0 with '\0' when working with bytes.
3513         Replace initial "(" with "\(" in docstrings.
3514
3515         (Fmake_coding_system):
3516         When type is ccl and value is vector, register it with a proper
3517         symbol.  And checks whether the given ccl program is valid.
3518         (mule_decode): When calling ccl_driver, if src indicates
3519         NULL pointer, set an empty string instead.
3520         (mule_encode): Likewise.
3521
3522         (detect_eol_type):
3523         (detect_coding_sjis):
3524         (decode_coding_sjis):
3525         (detect_coding_big5):
3526         (decode_coding_big5):
3527         (detect_coding_ucs4):
3528         (decode_coding_ucs4):
3529         (detect_coding_utf8):
3530         (decode_coding_utf8):
3531         (detect_coding_iso2022):
3532         (decode_coding_iso2022):
3533         (decode_coding_no_conversion):
3534         (mule_decode):
3535         Make all detecting and decoding functions take an Extbyte * arg.
3536         (text_encode_generic):
3537         (encode_coding_big5):
3538         (encode_coding_no_conversion):
3539         (mule_encode):
3540         Make all encoding functions take a Bufbyte * arg.
3541         Use size_t instead of unsigned int for memory sizes.
3542         Only cast to unsigned char whenever dereferencing Extbyte *.
3543
3544         (struct lrecord_description fcd_description_1): Use countof.
3545         (complex_vars_of_file_coding):
3546         Use countof instead of sizeof.
3547         Use CHECK_NATNUM instead of CHECK_INT.
3548
3549 2000-11-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3550
3551         * mule-charset.c (Fget_char_attribute): Add new optional argument
3552         `default-value'.
3553         (put_char_ccs_code_point): Modify for `Fget_char_attribute'.
3554         (remove_char_ccs): Likewise.
3555
3556 2000-10-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3557
3558         * text-coding.c (char_encode_shift_jis): New implementation in
3559         UTF-2000.
3560         (decode_coding_big5): Use `DECODE_CHAR (Vcharset_chinese_big5,
3561         ...)'.
3562
3563         * mule-charset.c (Vcharset_chinese_big5): New variable in
3564         UTF-2000.
3565         (Qchinese_big5): New variable in UTF-2000.
3566         (BIG5_SAME_ROW): New macro in UTF-2000.
3567         (make_builtin_char): Use builtin characters of
3568         `Vcharset_chinese_big5_1' and `Vcharset_chinese_big5_2' as builtin
3569         characters of `Vcharset_chinese_big5'.
3570         (syms_of_mule_charset): Add new symbol `chinese-big5' in UTF-2000.
3571         (complex_vars_of_mule_charset): Add new coded-charset
3572         `chinese-big5' in UTF-2000.
3573
3574         * char-ucs.h (LEADING_BYTE_CHINESE_BIG5): New macro.
3575         (Vcharset_chinese_big5): New external variable declaration.
3576         (Vcharset_japanese_jisx0208_1990): Likewise.
3577
3578 2000-07-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3579
3580         * mule-charset.c (expand_uint8_byte_table_to_uint16): New
3581         function.
3582         (put_byte_table): Use `expand_uint8_byte_table_to_uint16'.
3583
3584 2000-07-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3585
3586         * mule-charset.c (complex_vars_of_mule_charset): Define new macro
3587         `DEF_MOJIKYO_PJ' in UTF-2000; use `DEF_MOJIKYO_PJ' to define
3588         `mojikyo-pj-*'; add "MojikyoPJ-*" to charset-registry of
3589         `mojikyo-pj-*'.
3590
3591 2000-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3592
3593         * text-coding.c (decode_coding_big5): Modify for UTF-2000.
3594
3595 2000-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3596
3597         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3598         to 0.17.
3599
3600 2000-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3601
3602         * file-coding.c (ucs_to_char): Don't use `CHARSET_TYPE_*'; modify
3603         for `CHARSET_BY_ATTRIBUTES'.
3604         (parse_iso2022_esc): Don't use `CHARSET_TYPE_*'; modify for
3605         `CHARSET_BY_ATTRIBUTES'.
3606
3607         * text-coding.c (struct decoding_stream): Rename member `CH' to
3608         `CPOS'.
3609         (reset_decoding_stream): Use `str->cpos' instead of `str->ch'.
3610         (decode_coding_sjis): Likewise.
3611         (decode_coding_big5): Likewise.
3612         (decode_coding_ucs4): Likewise.
3613         (decode_coding_utf8): Likewise.
3614         (parse_iso2022_esc): Don't use `CHARSET_TYPE_*'; modify for
3615         `CHARSET_BY_ATTRIBUTES'.
3616         (decode_coding_iso2022): Use `str->cpos' instead of `str->ch'; use
3617         `str->counter'; decode 3, 4 bytes sets.
3618         (char_encode_iso2022): Don't use `BREAKUP_CHAR'; encode 3, 4 bytes
3619         sets.
3620         (decode_coding_no_conversion): Use `str->cpos' instead of
3621         `str->ch'.
3622
3623         * mule-charset.c (Vcharset_mojikyo_2022_1): New variable.
3624         (Qmojikyo_2022_1): New variable.
3625         (make_charset): Don't use `CHARSET_TYPE_*'.
3626         (range_charset_code_point): Support coded-charset
3627         `mojikyo-2022-1'.
3628         (encode_builtin_char_1): Modify for `CHARSET_BY_ATTRIBUTES'.
3629         (Fmake_charset): Don't use `CHARSET_TYPE_*'; modify for
3630         `CHARSET_BY_ATTRIBUTES'.
3631         (Fcharset_from_attributes): Don't use `CHARSET_TYPE_*'; modify for
3632         `CHARSET_BY_ATTRIBUTES'.
3633         (syms_of_mule_charset): Add new symbol `mojikyo-2022-1'.
3634         (complex_vars_of_mule_charset): Add new coded-charset
3635         `mojikyo-2022-1'.
3636
3637         * mule-charset.h (CHARSET_BY_ATTRIBUTES): New implementation and
3638         interface; changed to inline function.
3639
3640         * char-ucs.h (Vcharset_mojikyo_2022_1): New variable.
3641         (LEADING_BYTE_MOJIKYO_2022_1): New macro.
3642         (LEADING_BYTE_MOJIKYO_2022_2): New macro.
3643         (CHARSET_TYPE_94): Deleted.
3644         (CHARSET_TYPE_94X94): Deleted.
3645         (CHARSET_TYPE_96): Deleted.
3646         (CHARSET_TYPE_96X96): Deleted.
3647         (CHARSET_TYPE_128): Deleted.
3648         (CHARSET_TYPE_128X128): Deleted.
3649         (CHARSET_TYPE_256): Deleted.
3650         (CHARSET_TYPE_256X256): Deleted.
3651         (CHARSET_BY_ATTRIBUTES): New implementation and interface; changed
3652         to inline function.
3653         (DECODE_MOJIKYO_2022): New inline function.
3654         (DECODE_CHAR): Use `DECODE_MOJIKYO_2022'; decode
3655         `Vcharset_mojikyo_2022_1'.
3656
3657 2000-07-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3658
3659         * mule-charset.c (byte_table_same_value_p): Use `internal_equal'
3660         instead of `EQ'.
3661         (put_byte_table): Likewise.
3662         (char_id_table_equal): Use `get_byte_table' [new implementation].
3663
3664 2000-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3665
3666         * mule-charset.c: Include <limits.h> in UTF-2000.
3667         (BT_UINT8_MIN): New macro in UTF-2000.
3668         (BT_UINT8_MAX): New macro in UTF-2000.
3669         (BT_UINT8_t): New macro in UTF-2000.
3670         (BT_UINT8_nil): New macro in UTF-2000.
3671         (BT_UINT8_unbound): New macro in UTF-2000.
3672         (INT_UINT8_P): New inline function in UTF-2000.
3673         (UINT8_VALUE_P): New inline function in UTF-2000.
3674         (UINT8_ENCODE): New inline function in UTF-2000.
3675         (UINT8_DECODE): New inline function in UTF-2000.
3676         (mark_uint8_byte_table): New function in UTF-2000.
3677         (print_uint8_byte_table): New function in UTF-2000.
3678         (uint8_byte_table_equal): New function in UTF-2000.
3679         (uint8_byte_table_hash): New function in UTF-2000.
3680         (make_uint8_byte_table): New function in UTF-2000.
3681         (uint8_byte_table_same_value_p): New function in UTF-2000.
3682         (BT_UINT16_MIN): New macro in UTF-2000.
3683         (BT_UINT16_MAX): New macro in UTF-2000.
3684         (BT_UINT16_t): New macro in UTF-2000.
3685         (BT_UINT16_nil): New macro in UTF-2000.
3686         (BT_UINT16_unbound): New macro in UTF-2000.
3687         (INT_UINT16_P): New inline function in UTF-2000.
3688         (UINT16_VALUE_P): New inline function in UTF-2000.
3689         (UINT16_ENCODE): New inline function in UTF-2000.
3690         (UINT16_DECODE): New inline function in UTF-2000.
3691         (UINT8_TO_UINT16): New inline function in UTF-2000.
3692         (mark_uint16_byte_table): New function in UTF-2000.
3693         (print_uint16_byte_table): New function in UTF-2000.
3694         (uint16_byte_table_equal): New function in UTF-2000.
3695         (uint16_byte_table_hash): New function in UTF-2000.
3696         (make_uint16_byte_table): New function in UTF-2000.
3697         (uint16_byte_table_same_value_p): New function in UTF-2000.
3698         (print_byte_table): New function in UTF-2000.
3699         (byte-table): Use `print_byte_table' as printer.
3700         (make_byte_table): Delete second argument `older'.
3701         (byte_table_same_value_p): New function in UTF-2000.
3702         (copy_byte_table): Deleted.
3703         (get_byte_table): New function in UTF-2000.
3704         (put_byte_table): New function in UTF-2000.
3705         (print_char_id_table): New function in UTF-2000.
3706         (char-id-table): Use `print_char_id_table' as printer.
3707         (make_char_id_table): Delete second argument `older'.
3708         (get_char_id_table): Use `get_byte_table [new implementation].
3709         (put_char_id_table): Use `get_byte_table and `put_byte_table' [new
3710         implementation].
3711         (Ffind_char_attribute_table): New function in UTF-2000.
3712         (mark_charset): Mark `cs->encoding_table' in UTF-2000.
3713         (syms_of_mule_charset): Add LRECORD_IMPLEMENTATION
3714         `uint8_byte_table' and `uint16_byte_table' in UTF-2000.
3715         (syms_of_mule_charset): Add new function
3716         `find-char-attribute-table' in UTF-2000.
3717
3718         * lrecord.h (enum lrecord_type): Add
3719         `lrecord_type_uint16_byte_table' and
3720         `lrecord_type_uint8_byte_table'.
3721
3722         * char-ucs.h (struct Lisp_Uint8_Byte_Table): New structure.
3723         (Lisp_Uint8_Byte_Table): New type.
3724         (XUINT8_BYTE_TABLE): New macro.
3725         (XSETUINT8_BYTE_TABLE): New macro.
3726         (UINT8_BYTE_TABLE_P): New macro.
3727         (GC_UINT8_BYTE_TABLE_P): New macro.
3728         (struct Lisp_Uint16_Byte_Table): New structure.
3729         (Lisp_Uint16_Byte_Table): New type.
3730         (XUINT16_BYTE_TABLE): New macro.
3731         (XSETUINT16_BYTE_TABLE): New macro.
3732         (UINT16_BYTE_TABLE_P): New macro.
3733         (GC_UINT16_BYTE_TABLE_P): New macro.
3734
3735 2000-07-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3736
3737         * mule-charset.c (Vcharacter_ideographic_radical_table): Deleted.
3738         (Vcharacter_ideographic_strokes_table): Deleted.
3739         (Vcharacter_total_strokes_table): Deleted.
3740         (Vcharacter_morohashi_daikanwa_table): Deleted.
3741         (Vcharacter_decomposition_table): Deleted.
3742         (Qname): Deleted because it is duplicated.
3743         (Qideographic_radical): Deleted.
3744         (Qideographic_strokes): Deleted.
3745         (Qtotal_strokes): Deleted.
3746         (Qmorohashi_daikanwa): Deleted.
3747         (Fchar_attribute_alist): Use `Vchar_attribute_hash_table' for
3748         `ideographic-radical', `ideographic-strokes', `total-strokes',
3749         `morohashi-daikanwa' and `->decomposition'.
3750         (Fget_char_attribute): Likewise.
3751         (Fput_char_attribute): Likewise; use `make-vector' instead of
3752         `make_older_vector' for `->decomposition' value.
3753         (Fdefine_char): Comment out code to check `morohashi-daikanwa' and
3754         `ideograph-daikanwa'.
3755         (syms_of_mule_charset): Delete builtin symbols `name',
3756         `ideographic-radical', `ideographic-strokes', `total-strokes' and
3757         `morohashi-daikanwa'.
3758         (vars_of_mule_charset): Don't setup
3759         `Vcharacter_ideographic_radical_table',
3760         `Vcharacter_ideographic_strokes_table',
3761         `Vcharacter_total_strokes_table',
3762         `Vcharacter_morohashi_daikanwa_table' and
3763         `Vcharacter_decomposition_table'.
3764
3765 2000-06-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3766
3767         * alloc.c: Use `HAVE_GGC' instead of `UTF2000' for
3768         `make_older_vector', `make_vector_newer_1' and
3769         `make_vector_newer'.
3770
3771         * lisp.h: Use `HAVE_GGC' instead of `UTF2000' for
3772         `make_older_vector' and `make_vector_newer'.
3773
3774         * config.h.in (HAVE_GGC): New macro.
3775
3776 2000-06-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3777
3778         * mule-charset.c (struct char_attribute_list_closure): New
3779         structure in UTF-2000.
3780         (add_char_attribute_to_list_mapper): New function in UTF-2000.
3781         (Fchar_attribute_list): Likewise.
3782         (Fset_charset_mapping_table): Use `make_vector_newer'.
3783         (Fdecode_builtin_char): New function in UTF-2000.
3784         (syms_of_mule_charset): Add new function `char-attribute-list' and
3785         `decode-builtin-char' in UTF-2000.
3786
3787         * lisp.h (make_vector_newer): New prototype.
3788
3789         * alloc.c (make_vector_newer_1): New function.
3790         (make_vector_newer): New function.
3791
3792 2000-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3793
3794         * char-ucs.h (MAX_CHAR_DAIKANWA): Changed to `(MIN_CHAR_MOJIKYO +
3795         50100)'.
3796
3797 2000-06-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3798
3799         * mule-charset.c (Vchar_attribute_hash_table): New variable.
3800         (Vcharacter_attribute_table): Deleted.
3801         (Vcharacter_name_table): Deleted.
3802         (put_char_attribute): Deleted.
3803         (remove_char_attribute): Deleted.
3804         (struct char_attribute_alist_closure): New structure.
3805         (add_char_attribute_alist_mapper): New function.
3806         (Fchar_attribute_alist): Use `Vchar_attribute_hash_table' instead
3807         of `Vcharacter_attribute_table' and `Vcharacter_name_table'.
3808         (Fget_char_attribute): Likewise.
3809         (Fput_char_attribute): Likewise.
3810         (Fremove_char_attribute): Use `Vchar_attribute_hash_table' instead
3811         of `remove_char_attribute'.
3812         (Fdefine_char): Return character.
3813         (vars_of_mule_charset): Don't setup `Vcharacter_attribute_table'
3814         and `Vcharacter_name_table'.
3815         (complex_vars_of_mule_charset): Likewise
3816         `Vchar_attribute_hash_table'.
3817
3818 2000-06-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3819
3820         * character.h (CHARC_CHARSET): New macro.
3821         (CHARC_CHARSET_ID): New macro.
3822         (CHARC_CODE_POINT): New macro.
3823         (CHARC_COLUMNS): New macro.
3824         (CHARC_TO_CHAR): New inline function.
3825         (CHARC_EQ): New inline function.
3826         (CHARC_ASCII_EQ): New inline function.
3827         (CHARC_IS_SPACE): New inline function.
3828         (ASCII_TO_CHARC): New inline function.
3829
3830         * char-ucs.h (encode_char_2): Deleted.
3831         (ENCODE_CHAR): Use `encode_char_1' again.
3832         (breakup_char_1): Likewise.
3833         (CHAR_TO_CHARC): New inline function.
3834
3835         * char-lb.h, char-1byte.h (CHAR_TO_CHARC): New inline function.
3836
3837 2000-06-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3838
3839         * redisplay.c (add_emchar_rune): Use `ASCII_TO_CHARC',
3840         `CHAR_TO_CHARC' and `CHARC_CHARSET'.
3841         (create_text_block): Use `CHARC_ASCII_EQ' and `CHARC_IS_SPACE'.
3842         (generate_formatted_string_db): Use `CHARC_TO_CHAR'.
3843         (create_string_text_block): Use `CHARC_ASCII_EQ' and
3844         `CHARC_IS_SPACE'.
3845         (pixel_to_glyph_translation): Use `CHARC_ASCII_EQ'.
3846
3847         * redisplay-x.c (separate_textual_runs): Use `CHARC_CHARSET' and
3848         `CHARC_CODE_POINT'.
3849         (x_output_display_block): Use `CHARC_CHARSET' and
3850         `CHARC_ASCII_EQ'.
3851
3852         * redisplay-tty.c (tty_output_display_block): Use
3853         `CHARC_ASCII_EQ'.
3854         (tty_output_display_block): Likewise; use `ASCII_TO_CHARC'.
3855
3856         * redisplay-output.c (compare_runes): Use `CHARC_EQ'.
3857
3858         * insdel.c (find_charsets_in_charc_string): Use
3859         `CHARC_CHARSET_ID'.
3860         (charc_string_displayed_columns): Use `CHARC_COLUMNS'.
3861         (convert_bufbyte_string_into_charc_dynarr): Use `CHAR_TO_CHARC'.
3862         (convert_charc_string_into_bufbyte_dynarr): Use `CHARC_TO_CHAR'.
3863         (convert_charc_string_into_malloced_string): Likewise.
3864
3865 2000-06-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3866
3867         * toolbar-x.c (x_output_toolbar_button): Use <Charc_dynarr *>
3868         instead of <Emchar_dynarr *> for buf; use
3869         `convert_bufbyte_string_into_charc_dynarr' instead of
3870         `convert_bufbyte_string_into_emchar_dynarr'; use
3871         `find_charsets_in_charc_string' instead of
3872         `find_charsets_in_emchar_string'.
3873
3874         * redisplay.h:
3875         - Include "character.h".
3876         (struct rune): New member `cglyph'; delete member `chr'.
3877
3878         * redisplay.c (redisplay_text_width_charc_string): New function;
3879         delete `redisplay_text_width_emchar_string'.
3880         (rtw_charc_dynarr): New variable; renamed from
3881         `rtw_emchar_dynarr'.
3882         (redisplay_text_width_string): Use `rtw_charc_dynarr' instead of
3883         `rtw_emchar_dynarr'; use
3884         `convert_bufbyte_string_into_charc_dynarr' instead of
3885         `convert_bufbyte_string_into_emchar_dynarr'; use
3886         `redisplay_text_width_charc_string' instead of
3887         `redisplay_text_width_emchar_string'.
3888         (redisplay_frame_text_width_string): Use `rtw_charc_dynarr'
3889         instead of `rtw_emchar_dynarr'; use
3890         `convert_bufbyte_string_into_charc_dynarr' instead of
3891         `convert_bufbyte_string_into_emchar_dynarr'.
3892         (add_emchar_rune): Add <Charc> instead of <Emchar>; use
3893         `redisplay_text_width_charc_string' instead of
3894         `redisplay_text_width_emchar_string'.
3895         (create_text_block): Modify for <struct rune> change.
3896         (generate_formatted_string_db): Likewise.
3897         (create_string_text_block): Likewise.
3898         (pixel_to_glyph_translation): Likewise.
3899
3900         * redisplay-x.c (separate_textual_runs): Use <const Charc *>
3901         instead of <const Emchar *>.
3902         (x_text_width): Likewise.
3903         (x_output_display_block): Use <Charc_dynarr *> instead
3904         <Emchar_dynarr *>; modify for <structure rune> change.
3905         (x_output_string): Use <Charc_dynarr *> instead of <Emchar_dynarr
3906         *>.
3907
3908         * redisplay-tty.c (tty_text_width): Use <const Charc *> instead of
3909         <const Emchar *>; use `charc_string_displayed_columns' instead of
3910         `emchar_string_displayed_columns'.
3911         (tty_output_display_block): Use <Charc_dynarr *> instead of
3912         <Emchar_dynarr *> for buf; modify for <structure rune> change; use
3913         `tty_output_charc_dynarr' instead of `tty_output_emchar_dynarr'.
3914         (tty_output_charc_dynarr_dynarr): New variable; renamed from
3915         `tty_output_emchar_dynarr_dynarr'.
3916         (tty_output_charc_dynarr): New function; delete
3917         `tty_output_charc_dynarr'.
3918
3919         * redisplay-output.c (compare_runes): Modify for `struct rune'.
3920         (redisplay_output_layout): Use <Charc_dynarr *> instead of
3921         <Emchar_dynarr *> for buf; use
3922         `convert_bufbyte_string_into_charc_dynarr' instead of
3923         `convert_bufbyte_string_into_emchar_dynarr'.
3924
3925         * frame.c (title_string_charc_dynarr): New variable; renamed from
3926         `title_string_emchar_dynarr'.
3927         (generate_title_string): Use `title_string_charc_dynarr' instead
3928         of `title_string_emchar_dynarr'; use
3929         `convert_charc_string_into_malloced_string' instead of
3930         `convert_emchar_string_into_malloced_string'.
3931         (init_frame): Use `title_string_charc_dynarr' instead of
3932         `title_string_emchar_dynarr'.
3933
3934         * console.h:
3935         - Include "character.h".
3936         (struct console_methods): Use <const Charc *> instead of <const
3937         Emchar *> in `text_width_method'; use <Charc_dynarr *> instead of
3938         <Emchar_dynarr *> in output_string_method.
3939
3940         * console-x.h (x_output_string): Use <Charc_dynarr *> instead of
3941         <Emchar_dynarr *>.
3942
3943         * console-stream.c (stream_text_width): Use <const Charc *>
3944         instead of <const Emchar *>.
3945
3946         * character.h (Charc_dynarr): New type.
3947
3948         * char-ucs.h (structure Charc): New structure; define new type
3949         `Charc'.
3950
3951         * char-lb.h (DECODE_CHAR): New inline function.
3952         (encode_char_1): New inline function.
3953         (ENCODE_CHAR): New macro.
3954         (structure Charc): New structure; define new type `Charc'.
3955
3956         * char-1byte.h (Vcharset_control_1): New macro.
3957         (Vcharset_latin_iso8859_1): New macro.
3958         (DECODE_CHAR): New inline function.
3959         (encode_char_1): New inline function.
3960         (ENCODE_CHAR): New macro.
3961         (structure Charc): New structure; define new type `Charc'.
3962
3963         * insdel.c (find_charsets_in_charc_string): New function; delete
3964         `find_charsets_in_emchar_string'.
3965         (charc_string_displayed_columns): New function; delete
3966         `emchar_string_displayed_columns'.
3967         (convert_bufbyte_string_into_charc_dynarr): New function; delete
3968         `convert_bufbyte_string_into_emchar_dynarr'.
3969         (convert_charc_string_into_bufbyte_dynarr): New function; delete
3970         `convert_charc_string_into_bufbyte_dynarr'.
3971         (convert_charc_string_into_malloced_string): New function; delete
3972         `convert_charc_string_into_malloced_string'.
3973
3974         * buffer.h (find_charsets_in_charc_string): New prototype; delete
3975         `find_charsets_in_emchar_string'.
3976         (charc_string_displayed_columns): New prototype; delete
3977         `emchar_string_displayed_columns'.
3978         (convert_charc_string_into_bufbyte_dynarr): New prototype; delete
3979         `convert_charc_string_into_bufbyte_dynarr'.
3980         (convert_charc_string_into_malloced_string): New prototype; delete
3981         `convert_charc_string_into_malloced_string'.
3982
3983 2000-06-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3984
3985         * select-x.c (Fx_store_cutbuffer_internal): Modify for UTF-2000.
3986
3987 2000-06-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3988
3989         * chartab.h (get_non_ascii_char_table_value): Use <Charset_ID>.
3990
3991         * char-ucs.h: Use <short> for <Charset_ID>.
3992
3993         * mule-charset.h, char-1byte.h: Use <unsigned char> for
3994         <Charset_ID>.
3995
3996 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3997
3998         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3999         to 0.16.
4000
4001 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4002
4003         * mule-charset.c (Vcharacter_morohashi_daikanwa_table): New
4004         variable.
4005         (Qmorohashi_daikanwa): New variable.
4006         (Fchar_attribute_alist): Use `Vcharacter_morohashi_daikanwa_table'
4007         for `morohashi-daikanwa' attribute.
4008         (Fget_char_attribute): Likewise.
4009         (Fput_char_attribute): Likewise.
4010         (Fdefine_char): Don't setup `morohashi-daikanwa' attribute if it
4011         has the same value of `ideograph-daikanwa'.
4012         (syms_of_mule_charset): Add new symbol `morohashi-daikanwa'.
4013         (vars_of_mule_charset): Setup
4014         `Vcharacter_morohashi_daikanwa_table'.
4015
4016 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4017
4018         * mule-charset.c (Fchar_attribute_alist): Add coded-charset
4019         attributes.
4020         (add_charset_to_list_mapper): Add `key' instead of
4021         `XCHARSET_NAME (value)' to return aliases.
4022
4023 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4024
4025         * mule-charset.c (Vcharacter_ideographic_radical_table): New
4026         variable.
4027         (Vcharacter_ideographic_strokes_table): New variable.
4028         (Qideographic_radical): New variable.
4029         (Qideographic_strokes): New variable.
4030         (Fchar_attribute_alist): Use
4031         `Vcharacter_ideographic_radical_table' for `ideographic-radical'
4032         attribute; use `Vcharacter_ideographic_strokes_table' for
4033         `ideographic-strokes' attribute.
4034         (Fget_char_attribute): Likewise.
4035         (Fput_char_attribute): Likewise.
4036         (syms_of_mule_charset): Add new symbol `ideographic-radical' and
4037         `ideographic-strokes'.
4038         (vars_of_mule_charset): Setup
4039         `Vcharacter_ideographic_radical_table' and
4040         `Vcharacter_ideographic_strokes_table'.
4041
4042 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4043
4044         * mule-charset.c (Vcharacter_total_strokes_table): New variable.
4045         (Qtotal_strokes): New variable.
4046         (Fchar_attribute_alist): Use `Vcharacter_total_strokes_table' for
4047         `total-strokes' attribute.
4048         (Fget_char_attribute): Likewise.
4049         (Fput_char_attribute): Likewise.
4050         (syms_of_mule_charset): Add new symbol `total-strokes'.
4051         (vars_of_mule_charset): Setup `Vcharacter_total_strokes_table'.
4052
4053 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4054
4055         * mule-charset.c (Vcharacter_decomposition_table): New variable.
4056         (Fchar_attribute_alist): Add `name' and `->decomposition' if they
4057         are found.
4058         (Fget_char_attribute): Use `Vcharacter_decomposition_table' for
4059         `->decomposition' attribute.
4060         (Fput_char_attribute): Likewise.
4061         (vars_of_mule_charset): Setup `Vcharacter_decomposition_table'.
4062
4063 2000-06-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4064
4065         * mule-charset.c (decoding_table_check_elements): New function.
4066         (Fset_charset_mapping_table): Use `decoding_table_check_elements'.
4067
4068 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4069
4070         * mule-charset.c (Fset_charset_mapping_table): Use
4071         `put_char_ccs_code_point'.
4072
4073 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4074
4075         * mule-charset.c (decoding_table_put_char): New inline function.
4076         (put_char_ccs_code_point): Use `decoding_table_put_char'.
4077
4078 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4079
4080         * mule-charset.c (CHARSET_BYTE_SIZE): New inline function.
4081         (XCHARSET_BYTE_SIZE): New macro.
4082         (decoding_table_remove_char): New inline function.
4083         (put_char_ccs_code_point): Use `XCHARSET_BYTE_SIZE'; use
4084         `decoding_table_remove_char'.
4085         (remove_char_ccs): Use `decoding_table_remove_char'.
4086         (Fset_charset_mapping_table): Use `CHARSET_BYTE_SIZE'.
4087
4088 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4089
4090         * mule-charset.c (Vcharacter_name_table): New variable.
4091         (Qname): New variable.
4092         (Fget_char_attribute): Use `Vcharacter_name_table' for `name'
4093         attribute.
4094         (Fput_char_attribute): Use function `put_char_ccs_code_point'; use
4095         `Vcharacter_name_table' for `name' attribute.
4096         (Fremove_char_attribute): Use function `remove_char_ccs'.
4097         (put_char_ccs_code_point): New function.
4098         (remove_char_ccs): New function.
4099         (syms_of_mule_charset): Add new symbol `name'.
4100         (vars_of_mule_charset): Setup `Vcharacter_name_table'.
4101
4102 2000-05-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4103
4104         * mule-charset.c (make_byte_table): Add new argument `older'.
4105         (make_char_id_table): Likewise.
4106         (copy_char_id_table): Comment out because it is not used.
4107         (put_char_id_table): Modify for `make_byte_table'.
4108         (Fput_char_attribute): Make encoding_table as older object;
4109         inherit older bit of `Vcharacter_composition_table'.
4110         (mark_charset): Don't mark `cs->encoding_table'.
4111         (vars_of_mule_charset): Make `Vcharacter_attribute_table' as a
4112         normal object; make `Vcharacter_composition_table' as an older
4113         object; delete staticpro for `Vcharacter_composition_table'; make
4114         `Vcharacter_variant_table' as a normal object.
4115
4116         * alloc.c (alloc_older_lcrecord): New function in UTF-2000.
4117         (mark_object): Don't check older object in UTF-2000.
4118
4119         * lrecord.h (struct lrecord_header): Add new member `older' in
4120         UTF-2000.
4121         (set_lheader_implementation): Setup `SLI_header->older' in
4122         UTF-2000.
4123         (set_lheader_older_implementation): New macro in UTF-2000.
4124         (OLDER_RECORD_P): New macro in UTF-2000.
4125         (OLDER_RECORD_HEADER_P): New macro in UTF-2000.
4126         (alloc_older_lcrecord): New prototype in UTF-2000.
4127         (alloc_older_lcrecord_type): New macro in UTF-2000.
4128
4129 2000-05-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4130
4131         * mule-charset.c (byte_table_description): Use
4132         `XD_LISP_OBJECT_ARRAY' instead of `XD_LISP_OBJECT'.
4133         (char_id_table_description): Delete bogus `, 1'.
4134         (Fget_char_attribute): Refer encoding_table of each coded-charset
4135         to get value of coded-charset attribute of a character.
4136         (Fput_char_attribute): Use `make_older_vector' instead of
4137         `make_vector'; use encoding_table of each coded-charset to store
4138         value of coded-charset attribute of a character.
4139         (Fremove_char_attribute): Use encoding_table of each coded-charset
4140         to store value of coded-charset attribute of a character.
4141         (mark_charset): Mark `cs->encoding_table'; don't mark
4142         `cs->decoding_table'.
4143         (charset_description): Add description of new member
4144         `encoding_table'.
4145         (make_charset): Initialize `encoding_table'.
4146
4147         * char-ucs.h (struct Lisp_Charset): Add new member
4148         `encoding_table'.
4149         (CHARSET_ENCODING_TABLE): New macro.
4150         (XCHARSET_ENCODING_TABLE): New macro.
4151         (charset_code_point): New implementation.
4152         (encode_char_1): Likewise.
4153
4154         * alloc.c (all_older_lcrecords): New variable in UTF-2000.
4155         (disksave_object_finalization_1): Call finalizers of
4156         `all_older_lcrecords' in UTF-2000.
4157         (make_older_vector): New function in UTF-2000.
4158         (reinit_alloc_once_early): Initialize `all_older_lcrecords' in
4159         UTF-2000.
4160
4161         * lisp.h (make_older_vector): New prototype in UTF-2000.
4162
4163 2000-05-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4164
4165         * lrecord.h (enum lrecord_type): Rename
4166         `lrecord_type_char_code_table' to `lrecord_type_char_id_table'.
4167
4168         * text-coding.c (COMPOSE_ADD_CHAR): Use `CHAR_ID_TABLE_P' and
4169         `get_char_id_table' instead of `CHAR_CODE_TABLE_P' and
4170         `get_char_code_table'.
4171
4172         * mule-charset.c (mark_char_id_table): Renamed from
4173         `mark_char_code_table'.
4174         (char_id_table_equal): Renamed from `char_code_table_equal'.
4175         (char_id_table_hash): Renamed from `char_code_table_hash'.
4176         (make_char_id_table): Renamed from `make_char_code_table'.
4177         (copy_char_id_table): Renamed from `copy_char_code_table'.
4178         (get_char_id_table): Renamed from `get_char_code_table'.
4179         (put_char_id_table): Renamed from `put_char_code_table'.
4180         (to_char_id): Renamed from `to_char_code'.
4181
4182         * char-ucs.h (struct Lisp_Char_ID_Table): Renamed from
4183         `Lisp_Char_Code_Table'.
4184         (char_id_table): Renamed from `char_code_table'.
4185         (XCHAR_ID_TABLE): Renamed from `XCHAR_CODE_TABLE'.
4186         (XSETCHAR_ID_TABLE): Renamed from `XSETCHAR_CODE_TABLE'.
4187         (CHAR_ID_TABLE_P): Renamed from `CHAR_CODE_TABLE_P'.
4188         (GC_CHAR_ID_TABLE_P): Renamed from `GC_CHAR_CODE_TABLE_P'.
4189         (get_char_id_table): Renamed from `get_char_code_table'.
4190
4191 2000-05-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4192
4193         * lrecord.h (enum lrecord_type): Rename
4194         `lrecord_type_char_byte_table' to `lrecord_type_byte_table'.
4195
4196         * mule-charset.c (mark_byte_table): Renamed from
4197         `mark_char_byte_table'.
4198         (byte_table_equal): Renamed from `char_byte_table_equal'.
4199         (byte_table_hash): Renamed from `byte_table_hash'.
4200         (make_byte_table): Renamed from `make_byte_table'.
4201         (copy_byte_table): Renamed from `copy_char_byte_table'.
4202
4203         * char-ucs.h (struct Lisp_Byte_Table): Renamed from
4204         `Lisp_Char_Byte_Table'.
4205         (byte_table): Renamed from `char_byte_table'.
4206         (XBYTE_TABLE): Renamed from `XCHAR_BYTE_TABLE'.
4207         (XSETBYTE_TABLE): Renamed from `XSET_CHAR_BYTE_TABLE'.
4208         (BYTE_TABLE_P): Renamed from `XBYTE_TABLE_P'.
4209         (GC_BYTE_TABLE_P): Renamed from `GC_CHAR_BYTE_TABLE_P'.
4210
4211 2000-05-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4212
4213         * buffer.c (dfc_convert_to_external_format): Modify for UTF-2000.
4214         (dfc_convert_to_internal_format): Likewise.
4215         
4216         * text-coding.c (Fcoding_system_canonical_name_p): New function.
4217         * text-coding.c (Fcoding_system_alias_p): New function.
4218         * text-coding.c (Fcoding_system_aliasee): New function.
4219         * text-coding.c (append_suffix_to_symbol): New function.
4220         * text-coding.c (dangling_coding_system_alias_p): New function.
4221         * text-coding.c (Ffind_coding_system):
4222         * text-coding.c (Fcopy_coding_system):
4223         * text-coding.c (encode_coding_no_conversion):
4224         * text-coding.c (syms_of_file_coding):
4225         * text-coding.c (vars_of_file_coding):
4226         Rewrite coding system alias code.
4227         Allow nested aliases, like symbolic links.
4228         Allow redefinition of coding system aliases.
4229         Prevent existence of dangling coding system aliases.
4230         Eliminate convert_to_external_format.
4231         Eliminate convert_to_internal_format.
4232         
4233         * text-coding.c: Change enum eol_type to eol_type_t.
4234
4235 2000-05-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4236
4237         * mule-charset.c (encode_builtin_char_1): Limit builtin-code-range
4238         of `mojikyo' to MIN_CHAR_MOJIKYO + 94 * 60 * 22.
4239
4240         * char-ucs.h (MAX_CHAR_MOJIKYO): Limit builtin-code-range to
4241         MIN_CHAR_MOJIKYO + 94 * 60 * 22.
4242
4243 2000-04-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4244
4245         * mule-charset.c (encode_builtin_char_1): Use `mojikyo' instead of
4246         `ideograph-daikanwa'.
4247
4248         * char-ucs.h (Vcharset_ucs): Deleted because it is not used.
4249         (Vcharset_ucs_bmp): Likewise.
4250         (Vcharset_mojikyo): Add new extern variable definition.
4251         (Vcharset_latin_iso8859_2): Deleted because it is not used.
4252         (Vcharset_latin_iso8859_3): Likewise.
4253         (Vcharset_latin_iso8859_4): Likewise.
4254         (Vcharset_latin_iso8859_9): Likewise.
4255         (Vcharset_latin_viscii_lower): Likewise.
4256         (Vcharset_latin_viscii_upper): Likewise.
4257         (DECODE_CHAR): If charset is `mojikyo-pj-N', corresponding
4258         `mojikyo' code-point is used to decode.
4259         (encode_char_2): New function [to convert `mojikyo' code-point to
4260         Mojikyo font encoding].
4261         (ENCODE_CHAR): Use `encode_char_2' instead of `encode_code_1'.
4262         (breakup_char_1): Likewise.
4263         (CHAR_CHARSET): Use `ENCODE_CHAR' instead of `BREAKUP_CHAR'.
4264
4265 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4266
4267         * text-coding.c (Fmake_coding_system): Add document about
4268         `disable-composition' property.
4269
4270 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4271
4272         * text-coding.c (Qdisable_composition): New variable; delete
4273         `Qcomposite'.
4274         (Fmake_coding_system): Add new property `disable-composite';
4275         delete property `composite'.
4276         (COMPOSE_ADD_CHAR): Use `CODING_SYSTEM_DISABLE_COMPOSITION'
4277         instead of `!CODING_SYSTEM_COMPOSITE'.
4278         (syms_of_file_coding): Add new symbol `disable-composition';
4279         delete symbol `composite'.
4280
4281         * file-coding.h (struct Lisp_Coding_System): Add
4282         `disable_composition'; delete `enable_composition'.
4283         (CODING_SYSTEM_DISABLE_COMPOSITION): New macro; delete
4284         `CODING_SYSTEM_COMPOSITE'.
4285         (XCODING_SYSTEM_DISABLE_COMPOSITION): New macro; delete
4286         `XCODING_SYSTEM_COMPOSITE'.
4287
4288 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4289
4290         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
4291         to 0.15.
4292
4293 2000-04-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4294
4295         * text-coding.c (Qcomposite): New variable.
4296         (Fmake_coding_system): Add new property `composite'.
4297         (struct decoding_stream): Add `combined_char_count',
4298         `combined_chars' and `combining_table' in UTF-2000.
4299         (COMPOSE_FLUSH_CHARS): New macro.
4300         (COMPOSE_ADD_CHAR): New macro.
4301         (reset_decoding_stream): Reset `str->combined_char_count' and
4302         `str->combining_table' in UTF-2000.
4303         (decode_coding_iso2022): Modify for character-decomposition.
4304         (syms_of_file_coding): Add new symbol `composite'.
4305
4306 2000-04-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4307
4308         * mule-charset.c (Vcharset_latin_tcvn5712): New variable.
4309         (Fput_char_attribute): Set up `Vcharacter_variant_table' instead
4310         of `Vcharacter_composition_table' if `->decomposition' property
4311         has only 1 element.
4312         (Qlatin_tcvn5712): New variable.
4313         (syms_of_mule_charset): Add new symbol `latin-tcvn5712'.
4314         (complex_vars_of_mule_charset): Add new coded-charset
4315         `latin-tcvn5712'.
4316
4317         * char-ucs.h (LEADING_BYTE_LATIN_TCVN5712): New macro.
4318
4319 2000-04-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4320
4321         * file-coding.h (struct Lisp_Coding_System): Add
4322         `enable_composition'.
4323         (CODING_SYSTEM_COMPOSITE): New macro.
4324         (XCODING_SYSTEM_COMPOSITE): New macro.
4325
4326 2000-03-17  MORIOKA Tomohiko  <tomo@m17n.org>
4327
4328         * mule-canna.c (c2mu): Fix problem with UTF-2000.
4329
4330 2000-03-16  MORIOKA Tomohiko  <tomo@m17n.org>
4331
4332         * mule-charset.c (Fput_char_attribute): Don't make mapping-table
4333         if ATTRIBUTE is `ucs' and character-id of CHARACTER = VALUE.
4334
4335 2000-02-24  MORIOKA Tomohiko  <tomo@m17n.org>
4336
4337         * mule-charset.c (Vcharset_mojikyo): New variable.
4338         (Fdefine_char): Don't use coded-charset which does not have
4339         non-builtin character range to allocate character-id.
4340         (Qmojikyo): New variable.
4341         (syms_of_mule_charset): Add new symbol `mojikyo'.
4342         (complex_vars_of_mule_charset): Add new coded-charset `mojikyo'.
4343
4344         * char-ucs.h (LEADING_BYTE_DAIKANWA_EKANJI): New macro.
4345         (LEADING_BYTE_MOJIKYO): New macro.
4346         (MIN_CHAR_MOJIKYO): New macro.
4347         (MIN_CHAR_DAIKANWA): Use `MIN_CHAR_MOJIKYO'.
4348         (MAX_CHAR_MOJIKYO): New macro.
4349
4350 2000-02-12  MORIOKA Tomohiko  <tomo@m17n.org>
4351
4352         * mule-charset.c (remove_char_attribute): Fixed.
4353
4354 2000-02-08  MORIOKA Tomohiko  <tomo@m17n.org>
4355
4356         * mule-charset.c (remove_char_attribute): New function.
4357         (Fremove_char_attribute): New function.
4358         (encode_builtin_char_1): Comment out builtin-support for
4359         greek-iso8859-7 and cyrillic-iso8859-5.
4360         (Fdecode_char): Check `code' is an integer.
4361         (syms_of_mule_charset): Add `remove-char-attribute'.
4362         (MIN_CHAR_GREEK): Deleted.
4363         (MAX_CHAR_GREEK): Likewise.
4364         (MIN_CHAR_CYRILLIC): Likewise.
4365         (MAX_CHAR_CYRILLIC): Likewise.
4366         (complex_vars_of_mule_charset): Don't use MIN_CHAR_GREEK and
4367         MAX_CHAR_GREEK for `greek-iso8859-7'.
4368
4369         * char-ucs.h (MIN_CHAR_GREEK): Comment out.
4370         (MAX_CHAR_GREEK): Likewise.
4371         (MIN_CHAR_CYRILLIC): Likewise.
4372         (MAX_CHAR_CYRILLIC): Likewise.
4373
4374 2000-02-02  MORIOKA Tomohiko  <tomo@m17n.org>
4375
4376         * mule-charset.c (Fdefine_char): Fix problem when new code-point
4377         format is used without `ucs' property.
4378         (Fdecode_char): Fix problem with GR representation.
4379         (complex_vars_of_mule_charset): Don't use `MIN_CHAR_CYRILLIC' and
4380         `MAX_CHAR_CYRILLIC' as range of builtin `cyrillic-iso8859-5'.
4381
4382 2000-01-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
4383
4384         * mule-charset.c (make_builtin_char): New function.
4385         (encode_builtin_char_1): Check ISO-2022-charset is defined or not.
4386         (Fset_charset_mapping_table): Modify for new representation of
4387         code-point.
4388         (Fdecode_char): New function.
4389         (syms_of_mule_charset): Add new builtin function `decode-char' in
4390         UTF-2000.
4391
4392         * char-ucs.h (make_builtin_char): New prototype.
4393         (DECODE_CHAR): New inline function.
4394         (MAKE_CHAR): Use `DECODE_CHAR'.
4395
4396 2000-01-28  MORIOKA Tomohiko  <tomo@m17n.org>
4397
4398         * text-coding.c (parse_charset_conversion_specs): Use
4399         `XCHARSET_CHARS' and `XCHARSET_DIMENSION' instead of
4400         `XCHARSET_TYPE'.
4401         (iso2022_designate): Likewise.
4402
4403         * chartab.c (decode_char_table_range): Use `XCHARSET_CHARS' and
4404         `XCHARSET_DIMENSION' instead of `XCHARSET_TYPE'.
4405
4406         * mule-charset.c (Vcharset_ucs): New variable.
4407         (print_charset): Change design; use `CHARSET_CHARS' and
4408         `CHARSET_DIMENSION' instead of `CHARSET_TYPE'.
4409         (make_charset): Change signature to specify `chars' and
4410         `dimension' instead of `type'.
4411         (range_charset_code_point): Modify for 256^n-set.
4412         (encode_builtin_char_1): Encode as `ucs' in default.
4413         (Fmake_charset): Modify for `make_charset'.
4414         (Fmake_reverse_direction_charset): Likewise.
4415         (Fsplit_char): Use `ENCODE_CHAR' instead of `BREAKUP_CHAR' in
4416         UTF-2000.
4417         (complex_vars_of_mule_charset): Add coded-charset `ucs'; modify
4418         for `make_charset'.
4419
4420         * char-ucs.h (Vcharset_ucs): New variable.
4421         (LEADING_BYTE_UCS): New macro.
4422         (struct Lisp_Charset): Delete `type'; change type of `dimension'
4423         and `chars' to `unsigned short' from `unsigned int'.
4424         (CHARSET_TYPE): Deleted.
4425         (XCHARSET_TYPE): Deleted.
4426
4427 2000-01-27  MORIOKA Tomohiko  <tomo@m17n.org>
4428
4429         * mule-charset.c (charset_code_point): Moved to char-ucs.h.
4430
4431         * char-ucs.h (charset_code_point): Moved from mule-charset.c.
4432         (ENCODE_CHAR): New macro.
4433
4434 2000-01-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
4435
4436         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
4437         to 0.14 (Kawachi-Katakami).
4438
4439 2000-01-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
4440
4441         * text-coding.c (char_encode_shift_jis): Modify for
4442         `charset_code_point'.
4443         (char_encode_iso2022): Likewise.
4444
4445         * mule-charset.c (Fput_char_attribute): Use <Lisp_Object>
4446         (integer) instead of list of <Lisp_Object>s (integers) as the
4447         format of code-point of a coded-charset.
4448         (range_charset_code_point): Return <int> instead of <Lisp_Object>.
4449         (encode_builtin_char_1): New function; delete
4450         `split_builtin_char'.
4451         (charset_code_point): Return <int> instead of <Lisp_Object>.
4452         (Fsplit_char): Don't use `SPLIT_CHAR'.
4453
4454         * char-ucs.h (encode_builtin_char_1): New prototype; delete
4455         prototype for `split_builtin_char'.
4456         (range_charset_code_point): Return <int> instead of <Lisp_Object>.
4457         (charset_code_point): Likewise.
4458         (encode_char_1): New inline function; delete `SPLIT_CHAR'.
4459         (breakup_char_1): Use `encode_char_1' instead of `SPLIT_CHAR'.
4460
4461 2000-01-20  MORIOKA Tomohiko  <tomo@m17n.org>
4462
4463         * mule-charset.c (complex_vars_of_mule_charset): Don't define
4464         `japanese-jisx0208-1990' in non-UTF-2000 Mule.
4465
4466 2000-01-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
4467
4468         * mule-charset.c (split_builtin_char): Don't support OBS_94x94.
4469
4470         * char-ucs.h (MIN_CHAR_OBS_94x94): Deleted.
4471         (MAX_CHAR_OBS_94x94): Deleted.
4472
4473 2000-01-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
4474
4475         * mule-charset.c (split_builtin_char): Use `MAX_CHAR_BMP'.
4476
4477         * char-ucs.h (MAX_CHAR_BMP): New macro.
4478
4479 2000-01-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
4480
4481         * text-coding.c: Sync with r21-2-24.
4482
4483 2000-01-08  MORIOKA Tomohiko  <tomo@etl.go.jp>
4484
4485         * file-coding.c: Modify for UTF-2000.
4486
4487 2000-01-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
4488
4489         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
4490         to 0.13 (Takaida).
4491
4492 2000-01-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
4493
4494         * mule-charset.c (split_builtin_char): Delete builtin support for
4495         `katakana-jisx0201'.
4496         (complex_vars_of_mule_charset): Don't map `katakana-jisx0201' to
4497         BMP area in builtin representation.
4498
4499         * char-ucs.h (MAKE_CHAR): Delete builtin support for
4500         `Vcharset_katakana_jisx0201'.
4501
4502 1999-12-24  MORIOKA Tomohiko  <tomo@etl.go.jp>
4503
4504         * mule-charset.c (Vcharset_mojikyo_pj_[1 .. 21]): New variable.
4505         (Qisolated): New variable.
4506         (Qinitial): New variable.
4507         (Qmedial): New variable.
4508         (Qfinal): New variable.
4509         (Qvertical): New variable.
4510         (Qsmall): New variable.
4511         (to_char_code): Use `Qisolated', `Qinitial', `Qmedial', `Qfinal',
4512         `Qvertical' and `Qsmall'.
4513         (Qmojikyo_pj_[1 .. 21]): New variable.
4514         (syms_of_mule_charset): Add new symbols `isolated', `initial',
4515         `medial', `final', `vertical', `small' and `mojikyo-pj-[1 .. 21]'.
4516         (complex_vars_of_mule_charset): Add new charset `mojikyo-pj-[1
4517         .. 21]'.
4518
4519 1999-11-23  MORIOKA Tomohiko  <tomo@etl.go.jp>
4520
4521         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x60.
4522         (LEADING_BYTE_MOJIKYO_PJ_[1 .. 21]): New macros.
4523         (MAX_LEADING_BYTE_PRIVATE): Changed to `(CHARSET_ID_OFFSET - 32)'.
4524
4525 1999-11-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
4526
4527         * mule-charset.c (Vcharset_japanese_jisx0208_1990): New variable.
4528         (Fdefine_char): Use Group 00 Plane 10 for non-coded variants of
4529         BMP.
4530         (Qjapanese_jisx0208_1990): New variable.
4531         (syms_of_mule_charset): Add new symbol `Qjapanese_jisx0208_1990'.
4532         (complex_vars_of_mule_charset): Add new coded-charset
4533         `japanese-jisx0208-1990'.
4534
4535         * char-ucs.h (LEADING_BYTE_JAPANESE_JISX0208_1990): New macro.
4536         (MIN_CHAR_JIS_X0208_1990): New macro.
4537         (MAX_CHAR_JIS_X0208_1990): New macro.
4538
4539 1999-11-16  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4540
4541         * text-coding.c (char_encode_iso2022): Output `~' if ISO 2022
4542         coded-charset is not found.
4543
4544 1999-11-16  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4545
4546         * mule-charset.c (Fget_char_attribute): Forgot to `CHECK_CHAR'.
4547         (Fdefine_char): Use `Fmake_char'.
4548
4549 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4550
4551         * mule-charset.c (Vcharset_ideograph_daikanwa): New variable.
4552         (Vcharset_hiragana_jisx0208): Deleted.
4553         (Vcharset_katakana_jisx0208): Deleted.
4554         (Qideograph_daikanwa): New variable.
4555         (Qhiragana_jisx0208): Deleted.
4556         (Qkatakana_jisx0208): Deleted.
4557         (split_builtin_char): Split `ideograph-daikanwa'.
4558         (Fsplit_char): New implementation for UTF-2000.
4559         (syms_of_mule_charset): Add new symbol `ideograph-daikanwa';
4560         delete symbol `hiragana-jisx0208' and `katakana-jisx0208'.
4561         (complex_vars_of_mule_charset): Add new coded-charset
4562         `ideograph-daikanwa'; delete coded-charset `hiragana-jisx0208' and
4563         `katakana-jisx0208'.
4564
4565         * char-ucs.h (LEADING_BYTE_DAIKANWA): New macro.
4566         (LEADING_BYTE_HIRAGANA_JISX0208): Deleted.
4567         (LEADING_BYTE_KATAKANA_JISX0208): Deleted.
4568         (MIN_CHAR_DAIKANWA): New macro.
4569         (MAX_CHAR_DAIKANWA): New macro.
4570
4571 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4572
4573         * data.c (Fstring_to_number): Don't recognize floating point if
4574         base is not 10.
4575
4576 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4577
4578         * mule-charset.c (Fput_char_attribute): Forgot to `CHECK_CHAR'.
4579
4580 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4581
4582         * mule-charset.c (Qsquare): New variable.
4583         (to_char_code): Add `Qsquare'.
4584         (syms_of_mule_charset): Add new symbol `square'.
4585
4586 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4587
4588         * mule-charset.c (Qcircle): New variable.
4589         (to_char_code): Add `Qcircle'.
4590         (syms_of_mule_charset): Add new symbol `circle'.
4591
4592 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4593
4594         * mule-charset.c (Qfont): New variable.
4595         (to_char_code): Add `Qfont'.
4596         (syms_of_mule_charset): Add new symbol `font'.
4597
4598 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4599
4600         * mule-charset.c (Qsub): New variable.
4601         (to_char_code): Add `Qsub'.
4602         (syms_of_mule_charset): Add new symbol `sub'.
4603
4604 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4605
4606         * mule-charset.c (Fput_char_attribute): Convert each element of
4607         VALUE to GL position if ATTRIBUTE is a GR-set,
4608
4609 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4610
4611         * mule-charset.c (Fput_char_attribute): Allow GR code-point if a
4612         coded-charset is a GR-set.
4613
4614 1999-11-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4615
4616         * mule-charset.c (Fput_char_attribute): Check each element of
4617         VALUE is a byte if ATTRIBUTE is a coded-charset or its name.
4618
4619 1999-11-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4620
4621         * mule-charset.c (Vcharset_ethiopic_ucs): New variable in
4622         UTF-2000.
4623         (Qethiopic_ucs): New variable in UTF-2000.
4624         (syms_of_mule_charset): Add new symbol `ethiopic-ucs' in UTF-2000.
4625         (complex_vars_of_mule_charset): Add new coded-charset
4626         `ethiopic-ucs' in UTF-2000.
4627
4628         * char-ucs.h (LEADING_BYTE_ETHIOPIC_UCS): New macro.
4629         (LEADING_BYTE_HIRAGANA_JISX0208): Changed to `(CHARSET_ID_OFFSET -
4630         9)'.
4631         (LEADING_BYTE_KATAKANA_JISX0208): Changed to `(CHARSET_ID_OFFSET -
4632         10)'.
4633         (LEADING_BYTE_PRIVATE): Changed to `(CHARSET_ID_OFFSET - 11)'.
4634
4635 1999-11-13  MORIOKA Tomohiko  <tomo@etl.go.jp>
4636
4637         * mule-charset.c (Fset_charset_mapping_table): Fix problem with
4638         `ascii'.
4639
4640 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4641
4642         * mule-charset.c (Vcharacter_variant_table): New variable.
4643         (Q_ucs): New variable.
4644         (Fchar_variants): New function.
4645         (Fput_char_attribute): Register `->ucs' value to
4646         `Vcharacter_variant_table'.
4647         (syms_of_mule_charset): Add new function `char-variants' and new
4648         symbol `->ucs'.
4649         (vars_of_mule_charset): Setup `Vcharacter_variant_table'.
4650
4651 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4652
4653         * mule-charset.c (get_char_code_table): Allow negative character
4654         code.
4655         (put_char_code_table): Likewise.
4656         (Vcharacter_composition_table): New variable.
4657         (Q_decomposition): New variable.
4658         (Qwide): New variable.
4659         (Qnarrow): New variable.
4660         (Qcompat): New variable.
4661         (QnoBreak): New variable.
4662         (Qsuper): New variable.
4663         (Qfraction): New variable.
4664         (to_char_code): New function.
4665         (Fget_composite_char): New function.
4666         (Fput_char_attribute): Register `->decomposition' value to
4667         `Vcharacter_composition_table'.
4668         (syms_of_mule_charset): Add new function `get-composite-char', new
4669         symbol `->decomposition', `wide', `narrow', `compat', `noBreak',
4670         `super' and `fraction'.
4671         (vars_of_mule_charset): Setup `Vcharacter_composition_table'.
4672
4673 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4674
4675         * mule-charset.c (Fchar_attribute_alist): Check the argument is a
4676         character; copy the return value.
4677
4678 1999-11-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
4679
4680         * char-ucs.h (SPLIT_CHAR): Use `split_builtin_char'.
4681
4682         * mule-charset.c (range_charset_code_point): Must use make_int.
4683         (split_builtin_char): New function.
4684
4685 1999-11-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
4686
4687         * mule-charset.c (char_byte_table): Change name from
4688         "char-code-table" to "char-byte-table".
4689         (mark_char_code_table): New function.
4690         (char_code_table_equal): New function.
4691         (char_code_table_hash): New function.
4692         (char_code_table_description): New constant.
4693         (char_code_table): New type.
4694         (make_char_code_table): New function.
4695         (copy_char_code_table): New function.
4696         (get_char_code_table): Modify for `char_code_table' type.
4697         (put_char_code_table): Likewise.
4698         (vars_of_mule_charset): Update `utf-2000-version' to 0.12
4699         (Kashiwara).
4700
4701         * char-ucs.h (char_code_table): New type.
4702         (XCHAR_CODE_TABLE): New macro.
4703         (XSETCHAR_CODE_TABLE): New macro.
4704         (CHAR_CODE_TABLE_P): New macro.
4705         (GC_CHAR_CODE_TABLE_P): New macro.
4706         (struct Lisp_Char_Code_Table): New structure.
4707
4708 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
4709
4710         * mule-charset.c (Fmake_charset): Setup byte_offset for
4711         {94|96}^n-set.
4712
4713 1999-11-09  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4714
4715         * mule-charset.c (Fdefine_char): Fix problem with non-UCS
4716         character.
4717
4718 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
4719
4720         * char-ucs.h (SPLIT_CHAR): Don't make new cell if a charset slot
4721         is found.
4722
4723 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
4724
4725         * mule-charset.c (Fget_char_attribute): If ATTRIBUTE is a name of
4726         charset, it is regarded as a charset.
4727         (put_char_attribute): New function in UTF-2000.
4728         (Fput_char_attribute): If ATTRIBUTE is a charset or a name of
4729         charset, mapping-table of the charset is modified.
4730         (Fdefine_char): New function in UTF-2000.
4731         (Fset_charset_mapping_table): Use `put_char_attribute' instead of
4732         `Fput_char_attribute'.
4733         (syms_of_mule_charset): Add new function `define-char' and new
4734         symbol `ucs' in UTF-2000.
4735         (vars_of_mule_charset): Update `utf-2000-version' to 0.11 (Shiki).
4736
4737 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
4738
4739         * mule-charset.c (Fcharset_name): Define `byte_offset' in
4740         non-UTF-2000 configuration.
4741
4742 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
4743
4744         * text-coding.c (char_encode_shift_jis): Use `charset_code_point'
4745         not to use `XCHARSET_ENCODING_TABLE (Vcharset_latin_jisx0201)'.
4746
4747         * mule-charset.c (mark_charset): `cs->encoding_table' has been
4748         deleted.
4749         (make_charset): Don't use `CHARSET_ENCODING_TABLE(cs)'.
4750         (Fset_charset_mapping_table): Likewise.
4751
4752         * char-ucs.h (struct Lisp_Charset): Delete `encoding_table'.
4753         (CHARSET_ENCODING_TABLE): Delete.
4754         (XCHARSET_ENCODING_TABLE): Delete.
4755         (charset_code_point): New interface.
4756
4757 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
4758
4759         * text-coding.c (char_encode_iso2022): Use `charset_code_point'
4760         instead of `charset_get_byte1' and `charset_get_byte2'.
4761
4762         * mule-charset.c, char-ucs.h (charset_get_byte1): Deleted.
4763         (charset_get_byte2): Deleted.
4764
4765 1999-10-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
4766
4767         * char-ucs.h (SPLIT_CHAR): New inline function.
4768         (breakup_char_1): Use `SPLIT_CHAR'.
4769
4770         * mule-charset.c (range_charset_code_point): New function.
4771         (charset_code_point): New function.
4772
4773         * char-ucs.h (range_charset_code_point): New interface.
4774         (breakup_char_1): Use `range_charset_code_point'.
4775
4776 1999-10-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
4777
4778         * mule-charset.c (Fmake_charset): Delete unused local variable
4779         `code_offset'.
4780
4781         * char-ucs.h (Vcharacter_attribute_table): New extern variable.
4782         (breakup_char_1): Find a charset and code-point in
4783         `Vcharacter_attribute_table'.
4784
4785 1999-10-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
4786
4787         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
4788         to 0.10 (Yao).
4789
4790 1999-10-25  MORIOKA Tomohiko  <tomo@etl.go.jp>
4791
4792         * mule-charset.c (Vcharacter_attribute_table): New variable.
4793         (Fchar_attribute_alist): New function.
4794         (Fget_char_attribute): New function.
4795         (Fput_char_attribute): New function.
4796         (Fset_charset_mapping_table): Setup `Vcharacter_attribute_table'
4797         too.
4798         (syms_of_mule_charset): Add new function `char-attribute-alist',
4799         `get-char-attribute' and `put-char-attribute'.
4800         (vars_of_mule_charset): Setup `Vcharacter_attribute_table'.
4801
4802 1999-10-19  MORIOKA Tomohiko  <tomo@etl.go.jp>
4803
4804         * mule-charset.c (Fmake_charset): Just use
4805         `get_unallocated_leading_byte'.
4806
4807         * char-ucs.h (LEADING_BYTE_*): Use ISO-IR numbers for official
4808         sets; don't use final-byte based number for private sets.
4809
4810 1999-10-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
4811
4812         * doprnt.c (emacs_doprnt_1): Fix problem with %0XXd for a negative
4813         integer.
4814
4815 1999-10-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
4816
4817         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
4818         to 0.9.
4819
4820 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4821
4822         * regex.c (compile_extended_range): Use `CHAR_CHARSET_ID' instead
4823         of `CHAR_LEADING_BYTE' in UTF-2000.
4824
4825         * insdel.c (find_charsets_in_bufbyte_string): Use
4826         `CHAR_CHARSET_ID' instead of `CHAR_LEADING_BYTE' in UTF-2000.
4827         (find_charsets_in_emchar_string): Likewise.
4828
4829         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use
4830         `CHAR_CHARSET_ID' instead of `CHAR_LEADING_BYTE' in UTF-2000.
4831
4832         * char-ucs.h (CHAR_LEADING_BYTE): Deleted.
4833         (CHAR_CHARSET_ID): New macro.
4834
4835 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4836
4837         * chartab.c (get_char_table): Don't use type `Charset_ID' for
4838         charset-id - MIN_LEADING_BYTE.
4839         (put_char_table): Likewise.
4840
4841 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4842
4843         * char-ucs.h (MIN_LEADING_BYTE): Changed to `-0x40'.
4844         (NUM_LEADING_BYTES): Changed to (80 * 3 - MIN_LEADING_BYTE).
4845         (CHARSET_LEADING_BYTE): Don't cast by `Bufbyte'.
4846         (CHARSET_ID_OFFSET): New macro.
4847         (LEADING_BYTE_CONTROL_1): Changed to (CHARSET_ID_OFFSET - 1).
4848         (LEADING_BYTE_UCS_BMP): Changed to (CHARSET_ID_OFFSET - 2).
4849         (LEADING_BYTE_LATIN_VISCII): Changed to (CHARSET_ID_OFFSET - 3).
4850         (LEADING_BYTE_HIRAGANA_JISX0208): Changed to (CHARSET_ID_OFFSET -
4851         4).
4852         (LEADING_BYTE_KATAKANA_JISX0208): Changed to (CHARSET_ID_OFFSET -
4853         5).
4854         (MIN_LEADING_BYTE_PRIVATE): Changed to `MIN_LEADING_BYTE'.
4855         (MAX_LEADING_BYTE_PRIVATE): Changed to (CHARSET_ID_OFFSET - 6).
4856         (CHARSET_ID_OFFSET_94): Changed to (CHARSET_ID_OFFSET - '0').
4857         (CHARSET_ID_OFFSET_96): Changed to (CHARSET_ID_OFFSET_94 + 80).
4858         (CHARSET_ID_OFFSET_94x94): Changed to (CHARSET_ID_OFFSET_96 + 80).
4859
4860 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4861
4862         * mule-charset.c (next_allocated_leading_byte): New variable in
4863         UTF-2000.
4864         (next_allocated_1_byte_leading_byte): Don't define in UTF-2000.
4865         (next_allocated_2_byte_leading_byte): Don't define in UTF-2000.
4866         (get_unallocated_leading_byte): Simply use
4867         `next_allocated_leading_byte' [ignore dimension] in UTF-2000.
4868         (vars_of_mule_charset): Setup `next_allocated_leading_byte' in
4869         UTF-2000.
4870
4871         * char-ucs.h (MIN_LEADING_BYTE_PRIVATE): New macro.
4872         (MAX_LEADING_BYTE_PRIVATE): New macro.
4873         (MIN_LEADING_BYTE_OFFICIAL_2): Deleted.
4874         (MAX_LEADING_BYTE_OFFICIAL_2): Deleted.
4875
4876 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4877
4878         * mule-charset.c (Fmake_charset): Allocate final-byte based
4879         charset-id for 94-set, 96-set and 94x94-set.
4880
4881 1999-10-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
4882
4883         * mule-charset.c (char_byte_table_equal): Fill braces to avoid
4884         ambiguous `else'.
4885         (Fmake_charset): Likewise.
4886         (complex_vars_of_mule_charset): Modify the font registry of
4887         `ucs-bmp' not to match `Ethiopic-Unicode'.
4888
4889 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4890
4891         * mule-charset.c (complex_vars_of_mule_charset): Add font
4892         registory of `ucs-bmp'.
4893
4894 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4895
4896         * text-coding.c (char_encode_iso2022): Ignore non-ISO-2022
4897         coded-charsets in `default-coded-charset-priority-list' when
4898         breaking up a character.
4899
4900         * mule-charset.c (Vcharset_latin_viscii): New variable.
4901         (Qlatin_viscii): New variable.
4902         (make_charset): Don't use `decoding_table'.
4903         (Fmake_charset): Regard graphic = 2 as 256^n-set; setup
4904         byte_offset.
4905         (Fset_charset_mapping_table): New implementation.
4906         (syms_of_mule_charset): Add new symbol `latin-viscii'.
4907         (complex_vars_of_mule_charset): Set `graphic' attribute of charset
4908         `ucs-bmp' and `latin_viscii' to 2; change font registry of charset
4909         `latin-viscii-lower' to "MULEVISCII-LOWER"; change font registry
4910         of charset `latin-viscii-upper' to "MULEVISCII-UPPER"; add new
4911         charset `latin_viscii'.
4912
4913         * char-ucs.h (LEADING_BYTE_LATIN_VISCII): New macro.
4914         (CHARSET_TYPE_94X94): Change to 1 from 2.
4915         (CHARSET_TYPE_96): Change to 2 from 1.
4916         (CHARSET_TYPE_128): New macro.
4917         (CHARSET_TYPE_128X128): Change to 5 from 4.
4918         (CHARSET_TYPE_256): New macro.
4919         (CHARSET_TYPE_256X256): Change to 7 from 5.
4920         (MAKE_CHAR): Use `XCHARSET_BYTE_OFFSET(charset)'.
4921
4922 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4923
4924         * text-coding.c (char_encode_shift_jis): Refer
4925         `XCHARSET_ENCODING_TABLE(Vcharset_latin_jisx0201)' instead of
4926         `XCHARSET_TO_BYTE1_TABLE(Vcharset_latin_jisx0201)'.
4927
4928         * mule-charset.c (mark_char_byte_table): New function in UTF-2000.
4929         (char_byte_table_equal): New function in UTF-2000.
4930         (char_byte_table_hash): New function in UTF-2000.
4931         (char_byte_table_description): New constant in UTF-2000.
4932         (char_byte_table): New type in UTF-2000.
4933         (make_char_byte_table): New function in UTF-2000.
4934         (copy_char_byte_table): New function in UTF-2000.
4935         (make_char_code_table): New macro in UTF-2000.
4936         (get_char_code_table): New function in UTF-2000.
4937         (put_char_code_table): New function in UTF-2000.
4938         (mark_charset): Mark `cs->encoding_table' in UTF-2000.
4939         (charset_description): Add setting in UTF-2000.
4940         (make_charset): Setup `CHARSET_ENCODING_TABLE(cs)' instead of
4941         `CHARSET_TO_BYTE1_TABLE(cs)'.
4942         (charset_get_byte1): Refer `XCHARSET_ENCODING_TABLE(charset)'
4943         instead of `XCHARSET_TO_BYTE1_TABLE(charset)'.
4944         (charset_get_byte2): Refer `XCHARSET_ENCODING_TABLE(charset)'
4945         instead of `XCHARSET_TO_BYTE2_TABLE(charset)'.
4946         (Fset_charset_mapping_table): Setup `CHARSET_ENCODING_TABLE(cs)'
4947         instead of `CHARSET_TO_BYTE1_TABLE(cs)' and
4948         `CHARSET_TO_BYTE2_TABLE(cs)'.
4949
4950         * char-ucs.h (char_byte_table): New type.
4951         (XCHAR_BYTE_TABLE): New macro.
4952         (XSETCHAR_BYTE_TABLE): New macro.
4953         (CHAR_BYTE_TABLE_P): New macro.
4954         (GC_CHAR_BYTE_TABLE_P): New macro.
4955         (struct Lisp_Char_Byte_Table): New structure.
4956         (get_char_code_table): New interface.
4957         (Emchar_to_byte_table): Deleted.
4958         (get_byte_from_character_table): Deleted.
4959         (struct Lisp_Charset): Add `encoding_table'; delete
4960         `to_byte1_table' and `to_byte2_table'.
4961         (CHARSET_ENCODING_TABLE): New macro.
4962         (CHARSET_TO_BYTE1_TABLE): Deleted.
4963         (CHARSET_TO_BYTE2_TABLE): Deleted.
4964         (XCHARSET_ENCODING_TABLE): New macro.
4965         (XCHARSET_TO_BYTE1_TABLE): Deleted.
4966         (XCHARSET_TO_BYTE2_TABLE): Deleted.
4967
4968 1999-10-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
4969
4970         * mule-charset.c (syms_of_mule_charset): Delete charset alias
4971         `vietnamese-viscii-*'.
4972
4973 1999-10-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
4974
4975         * mule-charset.c (Qvietnamese_viscii_lower): New variable.
4976         (Qvietnamese_viscii_upper): New variable.
4977         (Fdefine_charset_alias): New function.
4978         (syms_of_mule_charset): Add new function `define-charset-alias'.
4979         (syms_of_mule_charset): Rename charset `vietnamese-viscii-*' to
4980         `latin-viscii-*'; define `vietnamese-viscii-*' as aliases for
4981         `latin-viscii-*'.
4982
4983 1999-10-04  MORIOKA Tomohiko  <tomo@etl.go.jp>
4984
4985         * char-ucs.h (MIN_CHAR_OBS_94x94): New macro.
4986         (MAX_CHAR_OBS_94x94): New macro.
4987         (breakup_char_1): Support obsolete XEmacs-UCS private code space
4988         for 94x94 sets.
4989
4990         * mule-charset.c (put_byte_from_character_table): Change unit size
4991         from 128 to 256.
4992         (mark_charset): Don't mark `cs->decoding_table' if `UTF2000' is
4993         not defined.
4994         (Fmake_reverse_direction_charset): Modify dummy argument of
4995         `make_charset' for non-UTF-2000 environment.
4996
4997 1999-10-03  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4998
4999         * char-ucs.h (MAKE_CHAR): Allow nested decoding-table.
5000
5001         * mule-charset.c (destroy_byte_from_character_table): New macro.
5002         (latin_jisx0201_to_ucs): Deleted.
5003         (latin_iso8859_2_to_ucs): Deleted.
5004         (latin_iso8859_3_to_ucs): Deleted.
5005         (latin_iso8859_4_to_ucs): Deleted.
5006         (latin_iso8859_9_to_ucs): Deleted.
5007         (latin_viscii_lower_to_ucs): Deleted.
5008         (latin_viscii_upper_to_ucs): Deleted.
5009         (mark_charset): Mark `cs->decoding_table'.
5010         (Fcharset_mapping_table): Fix DOC-string.
5011         (Fset_charset_mapping_table): New function.
5012         (syms_of_mule_charset): Add nwe function
5013         `set-charset-mapping-table'.
5014         (complex_vars_of_mule_charset): Don't setup and use
5015         `latin_*_to_ucs'.
5016
5017 1999-10-01  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5018
5019         * char-ucs.h (MAKE_CHAR): Check the result for range-represented
5020         charset.
5021
5022 1999-09-30  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5023
5024         * mule-charset.c (Vcharset_hiragana_jisx0208): New variable.
5025         (Vcharset_katakana_jisx0208): New variable.
5026         (Qhiragana_jisx0208): New variable.
5027         (Qkatakana_jisx0208): New variable.
5028         (make_charset): Add new argument `byte_offset'.
5029         (charset_get_byte1): Modify for new coded-charset definition; use
5030         `XCHARSET_UCS_MIN', `XCHARSET_UCS_MAX', `XCHARSET_CODE_OFFSET' and
5031         `XCHARSET_BYTE_OFFSET'.
5032         (Fmake_charset): Modify for `make_charset'.
5033         (Fmake_reverse_direction_charset): Likewise.
5034         (syms_of_mule_charset): Add new symbols `hiragana-jisx0208' and
5035         `katakana-jisx0208'.
5036         (complex_vars_of_mule_charset): Modify for `make_charset'; quote
5037         `.'  in font registry of charset `katakana-jisx0201',
5038         `latin-jisx0201', `vietnamese-viscii-lower' and
5039         `vietnamese-viscii-upper'; modify DOC-string of charset
5040         `japanese-jisx0208-1978' and `japanese-jisx0208'; modify font
5041         registry of charset `japanese-jisx0208' not to use font for JIS
5042         X0208:1990; add new charset `hiragana-jisx0208' and
5043         `katakana-jisx0208'.
5044
5045         * char-ucs.h (LEADING_BYTE_HIRAGANA_JISX0208): New macro.
5046         (LEADING_BYTE_KATAKANA_JISX0208): New macro.
5047         (struct Lisp_Charset): Add `byte_offset'.
5048         (CHARSET_BYTE_OFFSET): New macro.
5049         (XCHARSET_UCS_MIN): New macro.
5050         (XCHARSET_UCS_MAX): New macro.
5051         (XCHARSET_CODE_OFFSET): New macro.
5052         (XCHARSET_BYTE_OFFSET): New macro.
5053         (MIN_CHAR_HIRAGANA): New macro.
5054         (MAX_CHAR_HIRAGANA): New macro.
5055         (MIN_CHAR_KATAKANA): New macro.
5056         (MAX_CHAR_KATAKANA): New macro.
5057         (MAKE_CHAR): Modify for new coded-charset definition; use
5058         `XCHARSET_UCS_MIN', `XCHARSET_UCS_MAX', `XCHARSET_CODE_OFFSET' and
5059         `XCHARSET_BYTE_OFFSET'.
5060
5061 1999-09-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
5062
5063         * mule-charset.c (CHAR96): Deleted.
5064         (latin_jisx0201_to_ucs): Type is changed from array of <Emchar> to
5065         <Lisp_Object>.
5066         (latin_iso8859_2_to_ucs): Likewise.
5067         (latin_iso8859_3_to_ucs): Likewise.
5068         (latin_iso8859_4_to_ucs): Likewise.
5069         (latin_iso8859_9_to_ucs): Likewise.
5070         (latin_viscii_lower_to_ucs): Likewise.
5071         (latin_viscii_upper_to_ucs): Likewise.
5072         (latin_tcvn5712_to_ucs): Commented out.
5073         (make_charset): Change type of argument `decoding_table' from
5074         <Emchar*> to <Lisp_Object> [vector of characters].
5075         (Fmake_charset): Modify for `make_charset'.
5076         (Fmake_reverse_direction_charset): Likewise.
5077         (Fcharset_mapping_table): New function in UTF-2000.
5078         (syms_of_mule_charset): Setup `Fcharset_mapping_table' in
5079         UTF-2000.
5080         (complex_vars_of_mule_charset): Modify for type change of
5081         `*_to_ucs'; modify for `make_charset'.
5082
5083         * char-ucs.h (struct Lisp_Charset): Change type of
5084         `decoding_table' from <Emchar*> to <Lisp_Object>.
5085         (MAKE_CHAR): Modify for new specification of `decoding_table'.
5086
5087 1999-09-23  MORIOKA Tomohiko  <tomo@etl.go.jp>
5088
5089         * mule-charset.c (Fmake_reverse_direction_charset): Fix compile
5090         error with non-UTF-2000-Mule.
5091
5092 1999-09-21  MORIOKA Tomohiko  <tomo@etl.go.jp>
5093
5094         * mule-charset.c (Vcharset_chinese_cns11643_3): Deleted [defined
5095         in lisp again].
5096         (Vcharset_chinese_cns11643_4): Likewise.
5097         (Vcharset_chinese_cns11643_5): Likewise.
5098         (Vcharset_chinese_cns11643_6): Likewise.
5099         (Vcharset_chinese_cns11643_7): Likewise.
5100         (Qchinese_cns11643_3): Likewise.
5101         (Qchinese_cns11643_4): Likewise.
5102         (Qchinese_cns11643_5): Likewise.
5103         (Qchinese_cns11643_6): Likewise.
5104         (Qchinese_cns11643_7): Likewise.
5105         (syms_of_mule_charset): Move definitions for `chinese-cns11643-3',
5106         `chinese-cns11643-4', `chinese-cns11643-5', `chinese-cns11643-6'
5107         and `chinese-cns11643-7' to lisp/mule/chinese.el.
5108         (complex_vars_of_mule_charset): Likewise.
5109
5110 1999-09-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
5111
5112         * mule-charset.c (charset_get_byte1): Fix bug about 94- and
5113         96-set.
5114         (Fmake_reverse_direction_charset): Inherit CHARSET_DECODING_TABLE,
5115         CHARSET_UCS_MIN, CHARSET_UCS_MAX and CHARSET_CODE_OFFSET.
5116
5117 1999-09-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
5118
5119         * char-ucs.h (MIN_CHAR_HALFWIDTH_KATAKANA): Changed to 0xFF61 from
5120         0xFF60.
5121         (MAKE_CHAR): Change offset for katakana-jisx0201 to 33 from 0x20.
5122         (breakup_char_1): Likewise.
5123
5124         * text-coding.c (char_encode_iso2022): Keep designated charsets if
5125         one of them includes the specified character.
5126
5127 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
5128
5129         * mule-charset.c: Update `utf-2000-version' to 0.8 (Kami).
5130
5131 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
5132
5133         * char-ucs.h (MAKE_CHAR): Fix problem in 2-dimension charset.
5134
5135 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
5136
5137         * mule-charset.c (latin_iso8859_2_to_ucs NULL): Add pseudo
5138         definition for non-UTF-2000 Mule.
5139         (latin_iso8859_3_to_ucs): Likewise.
5140         (latin_iso8859_4_to_ucs): Likewise.
5141         (latin_iso8859_9_to_ucs): Likewise.
5142         (latin_jisx0201_to_ucs): Likewise.
5143         (MIN_CHAR_THAI): Likewise.
5144         (MAX_CHAR_THAI): Likewise.
5145         (MIN_CHAR_GREEK): Likewise.
5146         (MAX_CHAR_GREEK): Likewise.
5147         (MIN_CHAR_HEBREW): Likewise.
5148         (MAX_CHAR_HEBREW): Likewise.
5149         (MIN_CHAR_HALFWIDTH_KATAKANA): Likewise.
5150         (MAX_CHAR_HALFWIDTH_KATAKANA): Likewise.
5151         (MIN_CHAR_CYRILLIC): Likewise.
5152         (MAX_CHAR_CYRILLIC): Likewise.
5153
5154 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
5155
5156         * char-ucs.h (breakup_char_1): Use
5157         `Vdefault_coded_charset_priority_list' for hebrew-iso8859-8,
5158         thai-tis620 and katakana-jisx0201 area.
5159
5160 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5161
5162         * char-ucs.h (breakup_char_1): Use
5163         `Vdefault_coded_charset_priority_list' for cyrillic-iso8859-5
5164         area.
5165
5166         * text-coding.c (reset_encoding_stream): Fixed.
5167         (char_encode_ucs4): Delete `& 255'.
5168
5169         * char-ucs.h (breakup_char_1): Use
5170         `Vdefault_coded_charset_priority_list' for greek-iso8859-7 area.
5171
5172 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5173
5174         * file-coding.c (Fmake_coding_system): Don't set up
5175         `codesys->fixed.size'.
5176         (encode_coding_no_conversion): Don't refer
5177         `str->codesys->fixed.size'.
5178
5179 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5180
5181         * mule-charset.c, char-ucs.h (latin_a_char_to_charset): Deleted.
5182         (latin_a_char_to_byte1): Deleted.
5183         (latin_a_char_to_byte2): Deleted.
5184
5185 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5186
5187         * mule-charset.c (make_charset): Add new argument `ucs_min',
5188         `ucs_max' and `code_offset'.
5189         (charset_get_byte1): New implementation [delete specific charset
5190         depended implementations].
5191         (Fmake_charset): Modify for `make_charset'.
5192         (Fmake_reverse_direction_charset): Likewise.
5193         (complex_vars_of_mule_charset): Likewise.
5194
5195         * char-ucs.h (struct Lisp_Charset): Add `ucs_min', `ucs_max' and
5196         `code_offset'.
5197         (CHARSET_UCS_MIN): New macro.
5198         (CHARSET_UCS_MAX): New macro.
5199         (CHARSET_CODE_OFFSET): New macro.
5200         (MAKE_CHAR): Delete charset depended definitions [except
5201         katakana-jisx0201].
5202
5203 1999-09-13  MORIOKA Tomohiko  <tomo@etl.go.jp>
5204
5205         * char-ucs.h (breakup_char_1): Use
5206         `Vdefault_coded_charset_priority_list' for C0-Controls,
5207         Basic-Latin, C1-Controls and Latin-1-Supplement area.
5208
5209 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5210
5211         * char-ucs.h (charset_get_byte1): New function.
5212         (XCHARSET_GET_BYTE1): Deleted.
5213         (charset_get_byte2): New function.
5214         (XCHARSET_GET_BYTE2): Deleted.
5215         (Vdefault_coded_charset_priority_list): New external variable.
5216         (breakup_char_1): Use `charset_get_byte1', `charset_get_byte2' and
5217         `Vdefault_preferred_coded_charset_list'.
5218
5219         * mule-charset.c (charset_get_byte1): New function.
5220         (charset_get_byte2): New function.
5221         (Vdefault_coded_charset_priority_list): New variable.
5222         (vars_of_mule_charset): Add new variable
5223         `default-coded-charset-priority-list'.
5224
5225 1999-09-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5226
5227         * char-ucs.h (XCHARSET_GET_BYTE1): New inline function.
5228         (XCHARSET_GET_BYTE2): New inline function.
5229         (breakup_char_1): Use `XCHARSET_GET_BYTE1' and
5230         `XCHARSET_GET_BYTE2'.
5231
5232 1999-09-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5233
5234         * mule-charset.c (make_charset): Initialize
5235         `CHARSET_TO_BYTE1_TABLE(cs)' and `CHARSET_TO_BYTE2_TABLE(cs)' by
5236         NULL if table is not defined.
5237
5238 1999-09-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5239
5240         * text-coding.c (char_encode_shift_jis): Use
5241         `XCHARSET_TO_BYTE1_TABLE' for `Vcharset_latin_jisx0201' instead of
5242         `ucs_to_latin_jisx0201'.
5243
5244         * mule-charset.c (ucs_to_latin_jisx0201): Deleted.
5245         (ucs_to_latin_iso8859_2): Deleted.
5246         (ucs_to_latin_iso8859_3): Deleted.
5247         (ucs_to_latin_iso8859_4): Deleted.
5248         (ucs_to_latin_iso8859_9): Deleted.
5249         (ucs_to_latin_viscii_lower): Deleted.
5250         (ucs_to_latin_viscii_upper): Deleted.
5251         (ucs_to_latin_tcvn5712): Deleted.
5252         (make_charset): Add new argument `decoding_table'; set up
5253         `CHARSET_DECODING_TABLE(cs)' in UTF-2000; set up
5254         `CHARSET_TO_BYTE1_TABLE(cs)' for 94-set and 96-set if
5255         `decoding_table' is defined in UTF-2000.
5256         (Fmake_charset): Modify for `make_charset'.
5257         (Fmake_reverse_direction_charset): Likewise.
5258         (complex_vars_of_mule_charset): Likewise; delete `GENERATE_94_SET'
5259         and `GENERATE_96_SET'.
5260
5261         * char-ucs.h (latin_jisx0201_to_ucs): Deleted.
5262         (ucs_to_latin_jisx0201): Deleted.
5263         (latin_iso8859_2_to_ucs): Deleted.
5264         (ucs_to_latin_iso8859_2): Deleted.
5265         (latin_iso8859_3_to_ucs): Deleted.
5266         (ucs_to_latin_iso8859_3): Deleted.
5267         (latin_iso8859_4_to_ucs): Deleted.
5268         (ucs_to_latin_iso8859_4): Deleted.
5269         (latin_iso8859_9_to_ucs): Deleted.
5270         (ucs_to_latin_iso8859_9): Deleted.
5271         (latin_viscii_lower_to_ucs): Deleted.
5272         (ucs_to_latin_viscii_lower): Deleted.
5273         (latin_viscii_upper_to_ucs): Deleted.
5274         (ucs_to_latin_viscii_upper): Deleted.
5275         (struct Lisp_Charset): Renamed `encoding_table' to
5276         `to_byte1_table'; add `to_byte2_table'.
5277         (CHARSET_DECODING_TABLE): New macro.
5278         (CHARSET_TO_BYTE1_TABLE): New macro.
5279         (CHARSET_TO_BYTE2_TABLE): New macro.
5280         (XCHARSET_DECODING_TABLE): New macro.
5281         (XCHARSET_TO_BYTE1_TABLE): New macro.
5282         (XCHARSET_TO_BYTE2_TABLE): New macro.
5283         (MAKE_CHAR): Use `XCHARSET_DECODING_TABLE'; don't use `*_to_ucs'
5284         tables.
5285         (breakup_char_1): Use `XCHARSET_TO_BYTE1_TABLE' if it is defined;
5286         don't use `ucs_to_*' tables.
5287
5288 1999-09-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5289
5290         * text-coding.c (Fmake_coding_system): Don't set up
5291         `codesys->fixed.size'.
5292         (encode_coding_no_conversion): Use `if' instead of `switch'.
5293
5294         * file-coding.h (struct Lisp_Coding_System): Delete `fixed.size'.
5295
5296 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
5297
5298         * mule-charset.c (make_charset): Delete argument `rep_bytes'.
5299         (Fmake_charset): Modify for `make_charset'.
5300         (Fmake_reverse_direction_charset): Likewise.
5301         (complex_vars_of_mule_charset): Likewise.
5302
5303 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
5304
5305         * text-coding.c (char_encode_shift_jis): Use table
5306         `ucs_to_latin_jisx0201' and BREAKUP_CHAR.
5307
5308 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
5309
5310         * text-coding.c (text_encode_generic): Use `if' instead of
5311         `switch'.
5312         (decode_coding_sjis): Use `MAKE_CHAR' and `DECODE_ADD_UCS_CHAR' to
5313         decode JIS-Latin.
5314
5315 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
5316
5317         * text-coding.c (encode_coding_sjis): Deleted.
5318         (char_encode_shift_jis): New function.
5319         (char_finish_shift_jis): New function.
5320         (reset_encoding_stream): Set up `encode_char' and `finish' for
5321         `CODESYS_UCS4' and `CODESYS_SHIFT_JIS'.
5322         (mule_encode): Use generic encoder for `CODESYS_SHIFT_JIS'.
5323         (char_encode_utf8): Treat `eol_type'.
5324
5325 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
5326
5327         * file-coding.c (decode_coding_iso2022): Use
5328         `DECODE_ADD_UCS_CHAR'; don't use `XCHARSET_REP_BYTES'.
5329
5330 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
5331
5332         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
5333         to 0.7 (Hirano).
5334
5335 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
5336
5337         * char-lb.h (CHAR_COLUMNS): New macro.
5338
5339 1999-09-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
5340
5341         * text-coding.c (char_encode_ucs4): New function.
5342         (char_finish_ucs4): New function.
5343         (encode_coding_ucs4): Deleted.
5344         (mule_encode): Use generic encoder for `CODESYS_UCS4'.
5345         (text_encode_generic): Delete local variable `charset' and `half'.
5346         (ucs_to_mule_table): Deleted.
5347         (mule_to_ucs_table): Deleted.
5348         (Fset_ucs_char): Deleted.
5349         (ucs_to_char): Deleted.
5350         (Fucs_char): Deleted.
5351         (Fset_char_ucs): Deleted.
5352         (Fchar_ucs): Deleted.
5353         (decode_ucs4): Deleted.
5354         (mule_char_to_ucs4): Deleted.
5355         (encode_ucs4): Deleted.
5356         (decode_coding_ucs4): Use `DECODE_ADD_UCS_CHAR'.
5357         (decode_coding_utf8): Likewise.
5358         (decode_coding_iso2022): Likewise; don't use `XCHARSET_REP_BYTES'.
5359         (char_encode_iso2022): Fixed.
5360         (syms_of_file_coding): Delete `Fset_ucs_char', `Fucs_char',
5361         `Fset_char_ucs' and `Fchar_ucs'.
5362         (complex_vars_of_file_coding): Don't initialize
5363         `ucs_to_mule_table'.
5364
5365         * objects-tty.c (tty_initialize_font_instance): Don't use
5366         `XCHARSET_COLUMNS'.
5367
5368         * mule-charset.c (make_charset): Don't set up CHARSET_REP_BYTES in
5369         UTF-2000.
5370
5371         * redisplay-tty.c (tty_output_display_block): Use `CHAR_COLUMNS'
5372         instead of `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
5373
5374         * insdel.c (bufbyte_string_displayed_columns): Use `CHAR_COLUMNS'
5375         instead of `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
5376         (emchar_string_displayed_columns): Likewise.
5377
5378         * indent.c (column_at_point): Use `CHAR_COLUMNS' instead of
5379         `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
5380         (string_column_at_point): Likewise.
5381         (Fmove_to_column): Likewise.
5382
5383         * char-ucs.h (struct Lisp_Charset): Delete `rep_bytes'; add
5384         `encoding_table' and `decoding_table'.
5385         (CHARSET_REP_BYTES): Deleted.
5386         (XCHARSET_REP_BYTES): Deleted.
5387         (XCHARSET_COLUMNS): Deleted.
5388         (CHAR_COLUMNS): New macro.
5389         (lookup_composite_char): Deleted unconditionally.
5390         (composite_char_string): Likewise.
5391
5392 1999-09-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
5393
5394         * char-ucs.h (Emchar_to_byte_table): New type.
5395         (get_byte_from_character_table): New function interface.
5396         (Vcharset_latin_jisx0201): New variable.
5397         (latin_jisx0201_to_ucs): New variable.
5398         (ucs_to_latin_jisx0201): New variable.
5399         (Vcharset_latin_iso8859_2): New variable.
5400         (latin_iso8859_2_to_ucs): New variable.
5401         (ucs_to_latin_iso8859_2): New variable.
5402         (Vcharset_latin_iso8859_3): New variable.
5403         (latin_iso8859_3_to_ucs): New variable.
5404         (ucs_to_latin_iso8859_3): New variable.
5405         (Vcharset_latin_iso8859_4): New variable.
5406         (latin_iso8859_4_to_ucs): New variable.
5407         (ucs_to_latin_iso8859_4): New variable.
5408         (Vcharset_latin_iso8859_9): New variable.
5409         (latin_iso8859_9_to_ucs): New variable.
5410         (ucs_to_latin_iso8859_9): New variable.
5411         (Vcharset_latin_viscii_lower): New variable.
5412         (latin_viscii_lower_to_ucs): New variable.
5413         (ucs_to_latin_viscii_lower): New variable.
5414         (Vcharset_latin_viscii_upper): New variable.
5415         (latin_viscii_upper_to_ucs): New variable.
5416         (ucs_to_latin_viscii_upper): New variable.
5417         (CHARSET_ID_OFFSET_94): Changed from 0x60 to 0x55.
5418         (LEADING_BYTE_LATIN_VISCII_LOWER): New macro.
5419         (LEADING_BYTE_LATIN_VISCII_UPPER): New macro.
5420         (MAKE_CHAR): Map `latin-iso8859-2', `latin-iso8859-3',
5421         `latin-iso8859-4', `latin-iso8859-9', `latin-jisx0201',
5422         `vietnamese-viscii-lower' and `vietnamese-viscii-upper' to BMP.
5423         (breakup_char_1): Use `ucs_to_latin_iso8859_2',
5424         `ucs_to_latin_iso8859_3', `ucs_to_latin_iso8859_4',
5425         `ucs_to_latin_iso8859_9', `ucs_to_latin_viscii_lower',
5426         `ucs_to_latin_viscii_upper' and `ucs_to_latin_jisx0201' tables.
5427
5428         * mule-charset.c (Vcharset_latin_viscii_lower): New variable.
5429         (Vcharset_latin_viscii_upper): New variable.
5430         (make_byte_from_character_table): New function.
5431         (put_byte_from_character_table): New function.
5432         (get_byte_from_character_table): New function.
5433         (CHAR96): New macro.
5434         (ucs_to_latin_jisx0201): New variable.
5435         (latin_jisx0201_to_ucs): New variable.
5436         (ucs_to_latin_iso8859_2): New variable.
5437         (latin_iso8859_2_to_ucs): New variable.
5438         (ucs_to_latin_iso8859_3): New variable.
5439         (latin_iso8859_3_to_ucs): New variable.
5440         (ucs_to_latin_iso8859_4): New variable.
5441         (latin_iso8859_4_to_ucs): New variable.
5442         (ucs_to_latin_iso8859_9): New variable.
5443         (latin_iso8859_9_to_ucs): New variable.
5444         (ucs_to_latin_viscii_lower): New variable.
5445         (latin_viscii_lower_to_ucs): New variable.
5446         (ucs_to_latin_viscii_upper): New variable.
5447         (latin_viscii_upper_to_ucs): New variable.
5448         (ucs_to_latin_tcvn5712): New variable.
5449         (latin_tcvn5712_to_ucs): New variable.
5450         (Qlatin_viscii_lower): New variable.
5451         (Qlatin_viscii_upper): New variable.
5452         (syms_of_mule_charset): Set up new symbol
5453         `vietnamese-viscii-lower' and `vietnamese-viscii-upper'.
5454         (complex_vars_of_mule_charset): Set up new charset
5455         `vietnamese-viscii-lower' and `vietnamese-viscii-upper'; new macro
5456         `GENERATE_94_SET' and `GENERATE_96_SET'; use them to generate
5457         `ucs_to_<CHARSET>' tables.
5458
5459 1999-09-08  MORIOKA Tomohiko  <tomo@etl.go.jp>
5460
5461         * text-coding.c: New file.
5462
5463 1999-09-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
5464
5465         * mule-charset.c (Fmake_char): Fix problem of 256-set.
5466
5467         * char-ucs.h (Vcharset_ucs_bmp): New variable.
5468         (MAKE_CHAR): Modify for `ucs-bmp'.
5469         (breakup_char_1): Return `ucs-bmp' and code point of BMP for
5470         non-MULE characters of BMP.
5471
5472 1999-09-06  MORIOKA Tomohiko  <tomo@etl.go.jp>
5473
5474         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
5475         to 0.6.
5476
5477 1999-09-05  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5478
5479         * lstream.h:
5480         - Include multibyte.h instead of character.h for `BYTE_ASCII_P'.
5481         - Include character.h for `CHAR_ASCII_P'.
5482
5483         * mb-multibyte.h (CHAR_MULTIBYTE_P): Moved from mule-charset.h.
5484
5485         * mule-charset.h (CHAR_MULTIBYTE_P): Moved to mb-multibyte.h.
5486         (CHAR_ASCII_P): Don't use `CHAR_MULTIBYTE_P'.
5487
5488         * mb-multibyte.h (BYTE_ASCII_P): Moved from char-ucs.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         * char-ucs.h (BYTE_ASCII_P): Moved to mb-multibyte.h.
5498         (BYTE_C0_P): Likewise.
5499         (BYTE_C1_P): Likewise.
5500         (Lstream_get_emchar_1): Likewise.
5501         (Lstream_fput_emchar): Likewise.
5502         (Lstream_funget_emchar): Likewise.
5503         (copy_internal_to_external): Likewise.
5504         (copy_external_to_internal): Likewise.
5505
5506         * mb-1byte.h (BYTE_ASCII_P): Moved from buffer.h.
5507         (REP_BYTES_BY_FIRST_BYTE): Likewise.
5508
5509         * buffer.h (REP_BYTES_BY_FIRST_BYTE): Moved to mb-1byte.h.
5510         (BYTE_ASCII_P): Moved to mb-1byte.h.
5511
5512 1999-09-04  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5513
5514         * mb-utf-8.h, mb-lb.h: Include mb-multibyte.h.
5515
5516         * multibyte.h: Include mb-1byte.h in unibyte-XEmacs.
5517         (MAX_EMCHAR_LEN): Moved to mb-1byte.h.
5518         (VALID_CHARPTR_P): Moved to mb-*byte.h.
5519         (VALIDATE_CHARPTR_BACKWARD): Likewise.
5520         (VALIDATE_CHARPTR_FORWARD): Likewise.
5521         (simple_charptr_emchar): Moved to mb-multibyte.h.
5522         (simple_set_charptr_emchar): Likewise.
5523         (simple_charptr_copy_char): Likewise.
5524         (non_ascii_charptr_emchar): Likewise.
5525         (non_ascii_set_charptr_emchar): Likewise.
5526         (non_ascii_charptr_copy_char): Likewise.
5527         (charptr_emchar): Moved to mb-*byte.h.
5528         (set_charptr_emchar): Likewise.
5529         (charptr_copy_char): Likewise.
5530
5531         * mb-1byte.h, mb-multibyte.h: New files.
5532
5533 1999-09-03  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5534
5535         * mb-utf-8.h (MULTIBYTE): New macro.
5536         (MAX_EMCHAR_LEN): Moved from buffer.h.
5537         (REP_BYTES_BY_FIRST_BYTE): Moved from char-ucs.h.
5538
5539         * char-ucs.h (REP_BYTES_BY_FIRST_BYTE): Moved to mb-utf-8.h.
5540
5541         * mb-lb.h, multibyte.h: New files.
5542
5543         * char-1byte.h (Charset_ID): Moved from buffer.h.
5544         (MIN_LEADING_BYTE): Likewise.
5545         (LEADING_BYTE_ASCII): Likewise.
5546         (NUM_LEADING_BYTES): Likewise.
5547         (CHARSETP): Likewise.
5548         (CHARSET_BY_LEADING_BYTE): Likewise.
5549         (XCHARSET_LEADING_BYTE): Likewise.
5550         (XCHARSET_GRAPHIC): Likewise.
5551         (XCHARSET_COLUMNS): Likewise.
5552         (XCHARSET_DIMENSION): Likewise.
5553         (CHAR_CHARSET): Likewise.
5554         (CHAR_LEADING_BYTE): Likewise.
5555         (BREAKUP_CHAR): Likewise.
5556         (Vcharset_ascii): Likewise.
5557
5558         * buffer.h: Include multibyte.h unconditionally.
5559         (VALID_CHARPTR_P): Moved to multibyte.h.
5560         (ASSERT_VALID_CHARPTR): Likewise.
5561         (REAL_INC_CHARPTR): Likewise.
5562         (REAL_INC_CHARBYTIND): Likewise.
5563         (REAL_DEC_CHARPTR): Likewise.
5564         (INC_CHARPTR): Likewise.
5565         (INC_CHARBYTIND): Likewise.
5566         (DEC_CHARPTR): Likewise.
5567         (VALIDATE_CHARPTR_BACKWARD): Likewise.
5568         (VALIDATE_CHARPTR_FORWARD): Likewise.
5569         (charptr_n_addr): Likewise.
5570         (MAX_EMCHAR_LEN): Moved to mb-*.h.
5571         (simple_charptr_emchar): Moved to multibyte.h.
5572         (simple_set_charptr_emchar): Likewise.
5573         (simple_charptr_copy_char): Likewise.
5574         (non_ascii_charptr_emchar): Likewise.
5575         (non_ascii_set_charptr_emchar): Likewise.
5576         (non_ascii_charptr_copy_char): Likewise.
5577         (charptr_emchar): Likewise.
5578         (set_charptr_emchar): Likewise.
5579         (charptr_copy_char): Likewise.
5580         (charptr_emchar_n): Likewise.
5581         (Charset_ID): Moved to char-1byte.h.
5582         (Vcharset_ascii): Likewise.
5583         (CHAR_CHARSET): Likewise.
5584         (CHAR_LEADING_BYTE): Likewise.
5585         (LEADING_BYTE_ASCII): Likewise.
5586         (NUM_LEADING_BYTES): Likewise.
5587         (MIN_LEADING_BYTE): Likewise.
5588         (CHARSETP): Likewise.
5589         (CHARSET_BY_LEADING_BYTE): Likewise.
5590         (XCHARSET_LEADING_BYTE): Likewise.
5591         (XCHARSET_GRAPHIC): Likewise.
5592         (XCHARSET_COLUMNS): Likewise.
5593         (XCHARSET_DIMENSION): Likewise.
5594         (BREAKUP_CHAR): Likewise.
5595
5596 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5597
5598         * character.h: Add document about interface for characters.
5599
5600         * char-ucs.h (CHAR_ASCII_P): Modify name of argument.
5601         (MAKE_CHAR): Delete comment about
5602         `FIELD2_TO_OFFICIAL_LEADING_BYTE' and
5603         `FIELD2_TO_PRIVATE_LEADING_BYTE'.
5604         (BREAKUP_CHAR): Modify name of arguments.
5605         (CHAR_CHARSET): Modify name of argument.
5606
5607         * buffer.h: Delete document about Emchar accessors.
5608
5609 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5610
5611         * character.h (CHAR_INTP): Moved from buffer.h
5612         (CHAR_OR_CHAR_INTP): Likewise.
5613         (XCHAR_OR_CHAR_INT): Likewise.
5614         (CHECK_CHAR_COERCE_INT): Likewise.
5615
5616         * buffer.h (CHAR_INTP): Moved to character.h
5617         (CHAR_OR_CHAR_INTP): Likewise.
5618         (XCHAR_OR_CHAR_INT): Likewise.
5619         (CHECK_CHAR_COERCE_INT): Likewise.
5620
5621 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5622
5623         * character.h:
5624         - Move definitions about UCS-2000 (UCS-4) to char-ucs.h.
5625         - Include char-1byte.h, char-lb.h or char-ucs.h.
5626
5627         * mb-utf-8.h (CHAR_ASCII_P): Moved to char-ucs.h.
5628
5629         * buffer.h: Include character unconditionally.
5630         (valid_char_p): Moved to char-*.h.
5631         (non_ascii_valid_char_p): Moved to char-lb.h.
5632
5633         * char-1byte.h, char-lb.h, char-ucs.h: New files.
5634
5635 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5636
5637         * mule-ccl.c (ccl_driver): Don't define `CCL_WriteMultibyteChar2'
5638         in UTF-2000 because it is not ported yet and not to use
5639         `FIELD2_TO_OFFICIAL_LEADING_BYTE', `MIN_LEADING_BYTE_OFFICIAL_2',
5640         `FIELD1_TO_OFFICIAL_LEADING_BYTE' and
5641         `FIELD1_TO_PRIVATE_LEADING_BYTE'.
5642
5643         * mb-utf-8.h (CHAR_MULTIBYTE_P): Moved from character.h.
5644         (CHAR_ASCII_P): Moved from character.h.
5645
5646         * character.h (CHAR_MULTIBYTE_P): Moved to mb-utf-8.h.
5647         (CHAR_ASCII_P): Likewise.
5648         (CHAR_FIELD1_MASK): Deleted.
5649         (CHAR_FIELD2_MASK): Deleted.
5650         (CHAR_FIELD3_MASK): Deleted.
5651         (MAX_CHAR_BASIC_LATIN): New macro.
5652         (CHAR_FIELD1): Deleted.
5653         (CHAR_FIELD2_INTERNAL): Deleted.
5654         (CHAR_FIELD3_INTERNAL): Deleted.
5655         (FIELD1_TO_PRIVATE_LEADING_BYTE): Deleted.
5656         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Deleted.
5657         (FIELD2_TO_PRIVATE_LEADING_BYTE): Deleted.
5658         (FIELD2_TO_OFFICIAL_LEADING_BYTE): Deleted.
5659         (MIN_CHAR_FIELD1_OFFICIAL): Deleted.
5660         (MAX_CHAR_FIELD1_OFFICIAL): Deleted.
5661         (MIN_CHAR_FIELD2_PRIVATE): Deleted.
5662         (MAX_CHAR_FIELD2_PRIVATE): Deleted.
5663         (MIN_CHAR_FIELD1_PRIVATE): Deleted.
5664         (MAX_CHAR_FIELD1_PRIVATE): Deleted.
5665         (MULE_CHAR_PRIVATE_OFFSET): Deleted.
5666         (MIN_CHAR_PRIVATE_TYPE9N): Deleted.
5667         (MAX_CHAR_PRIVATE_TYPE9N): Deleted.
5668         (MIN_CHAR_PRIVATE_TYPE9NX9N): Deleted.
5669         (MIN_CHAR_OFFICIAL_TYPE9NX9N): Deleted.
5670         (MIN_CHAR_COMPOSITION): Deleted.
5671         (breakup_char_1): Use `MAX_CHAR_BASIC_LATIN' instead of
5672         `CHAR_ASCII_P'; use `0x7f' instead of `CHAR_FIELD3_INTERNAL'.
5673
5674 1999-09-02  MORIOKA Tomohiko  <tomo@m17n.org>
5675
5676         * buffer.h: Include mb-utf-8.h in UTF-2000.
5677
5678         * character.h (BUFBYTE_FIRST_BYTE_P): Moved to mb-utf-8.h.
5679
5680         * mb-utf-8.h: New file.
5681
5682 1999-09-02  MORIOKA Tomohiko  <tomo@etl.go.jp>
5683
5684         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use `Charset_ID'
5685         instead of `int'.
5686
5687         * mule-charset.h, buffer.h (Charset_ID): New type.
5688
5689 1999-09-01  MORIOKA Tomohiko  <tomo@etl.go.jp>
5690
5691         * mule-canna.c (c2mu): Use `MAKE_CHAR',
5692         `Vcharset_japanese_jisx0212' and `Vcharset_japanese_jisx0208'
5693         instead of `MULE_CHAR_PRIVATE_OFFSET',
5694         `LEADING_BYTE_JAPANESE_JISX0212', `LEADING_BYTE_JAPANESE_JISX0208'
5695         and `FIELD1_TO_OFFICIAL_LEADING_BYTE'.
5696         (m2c): Use `BREAKUP_CHAR' and `XCHARSET_FINAL'.
5697
5698         * character.h (Vcharset_japanese_jisx0212): New variable
5699         definition.
5700
5701 1999-09-01  MORIOKA Tomohiko  <tomo@etl.go.jp>
5702
5703         * mule-charset.c (Vcharset_ucs_bmp): New variable in UTF-2000.
5704         (charset_by_attributes): Delete array about direction.
5705         (latin_a_char_to_charset): New variable in UTF-2000.
5706         (latin_a_char_to_byte1): New variable in UTF-2000.
5707         (latin_a_char_to_byte2): New variable in UTF-2000.
5708         (Qucs_bmp): New variable.
5709         (next_allocated_1_byte_leading_byte): Use `Charset_ID' instead of
5710         `Bufbyte'.
5711         (next_allocated_2_byte_leading_byte): Likewise.
5712         (non_ascii_set_charptr_emchar): Likewise.
5713         (make_charset): Likewise; add `CHARSET_TYPE_128X128' and
5714         `CHARSET_TYPE_256X256' in UTF-2000; modify for
5715         `charset_by_attributes'.
5716         (get_unallocated_leading_byte): Use `Charset_ID' instead of `int'.
5717         (char-charset): Use `CHAR_CHARSET' instead of `CHAR_LEADING_BYTE'
5718         and `CHARSET_BY_LEADING_BYTE'.
5719         (syms_of_mule_charset): Set up `ucs-bmp'; move setting of
5720         `utf-2000-version' to `vars_of_mule_charset'.
5721         (vars_of_mule_charset): Modify for `charset_by_attributes'; don't
5722         define `leading-code-private-11' in UTF-2000; move setting of
5723         `utf-2000-version' from `syms_of_mule_charset'.
5724         (complex_vars_of_mule_charset): Set up charset `ucs-bmp' in
5725         UTF-2000.
5726
5727         * character.h (Charset_ID): New type.
5728         (LEADING_BYTE_UCS_BMP): New macro.
5729         (LEADING_BYTE_CONTROL_1): Changed from 0x8F to 0x81.
5730         (CHARSET_ID_OFFSET_94): New macro.
5731         (MIN_CHARSET_ID_PRIVATE_94): New macro.
5732         (MAX_CHARSET_ID_PRIVATE_94): New macro.
5733         (LEADING_BYTE_ASCII): Changed to use CHARSET_ID_OFFSET_94 and
5734         final-byte.
5735         (LEADING_BYTE_KATAKANA_JISX0201): Likewise.
5736         (LEADING_BYTE_LATIN_JISX0201): Likewise.
5737         (CHARSET_ID_OFFSET_96): New macro.
5738         (LEADING_BYTE_LATIN_ISO8859_1): Changed to use
5739         CHARSET_ID_OFFSET_96 and final-byte.
5740         (LEADING_BYTE_LATIN_ISO8859_2): Likewise.
5741         (LEADING_BYTE_LATIN_ISO8859_3): Likewise.
5742         (LEADING_BYTE_LATIN_ISO8859_4): Likewise.
5743         (LEADING_BYTE_GREEK_ISO8859_7): Likewise.
5744         (LEADING_BYTE_ARABIC_ISO8859_6): Likewise.
5745         (LEADING_BYTE_HEBREW_ISO8859_8): Likewise.
5746         (LEADING_BYTE_CYRILLIC_ISO8859_5): Likewise.
5747         (LEADING_BYTE_LATIN_ISO8859_9): Likewise.
5748         (LEADING_BYTE_THAI_TIS620): Likewise.
5749         (MIN_LEADING_BYTE_PRIVATE_1): Changed from 0x0D0 to 0xD0.
5750         (MAX_LEADING_BYTE_PRIVATE_1): Changed from 0x11f to 0xDF.
5751         (CHARSET_ID_OFFSET_94x94): New macro.
5752         (LEADING_BYTE_CHINESE_BIG5_1): Changed to use
5753         CHARSET_ID_OFFSET_94x94 and final-byte.
5754         (LEADING_BYTE_CHINESE_BIG5_2): Likewise.
5755         (MIN_LEADING_BYTE_PRIVATE_2): Likewise.
5756         (MAX_LEADING_BYTE_PRIVATE_2): Likewise.
5757         (LEADING_BYTE_JAPANESE_JISX0208_1978): Likewise.
5758         (LEADING_BYTE_CHINESE_GB2312): Likewise.
5759         (LEADING_BYTE_JAPANESE_JISX0208): Likewise.
5760         (LEADING_BYTE_KOREAN_KSC5601): Likewise.
5761         (LEADING_BYTE_JAPANESE_JISX0212): Likewise.
5762         (LEADING_BYTE_CHINESE_CCITT_GB): Likewise.
5763         (LEADING_BYTE_CHINESE_CNS11643_*): Likewise.
5764         (LEADING_BYTE_KOREAN_KPS9566): Likewise.
5765         (CHARSET_TYPE_128X128): New macro.
5766         (CHARSET_TYPE_256X256): New macro.
5767         (XCHARSET_PRIVATE_P): Delete unconditionally.
5768         (charset_by_attributes): Delete array about direction.
5769         (CHARSET_BY_LEADING_BYTE): Use `Charset_ID' instead of `int'.
5770         (CHARSET_BY_ATTRIBUTES): Modify for `charset_by_attributes'.
5771         (MIN_CHAR_94): New macro.
5772         (MAX_CHAR_94): New macro.
5773         (MIN_CHAR_96): New macro.
5774         (MAX_CHAR_96): New macro.
5775         (MIN_CHAR_94x94): New macro.
5776         (MAX_CHAR_94x94): New macro.
5777         (MIN_CHAR_96x96): New macro.
5778         (MAX_CHAR_96x96): New macro.
5779         (FIELD1_TO_PRIVATE_LEADING_BYTE): Use `CHARSET_ID_OFFSET_94x94'.
5780         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Likewise.
5781         (FIELD2_TO_PRIVATE_LEADING_BYTE): Use `(MIN_LEADING_BYTE_PRIVATE_1
5782         - 32)'.
5783         (FIELD2_TO_OFFICIAL_LEADING_BYTE): Use `LEADING_BYTE_ASCII'.
5784         (MIN_CHAR_FIELD2_OFFICIAL): Deleted.
5785         (MAX_CHAR_FIELD2_OFFICIAL): Deleted.
5786         (MIN_CHAR_OFFICIAL_TYPE9N): Deleted.
5787         (MAX_CHAR_PRIVATE_TYPE9N): Changed.
5788         (MAKE_CHAR): Use `XCHARSET_FINAL' instead of
5789         `XCHARSET_LEADING_BYTE' to make code-point.
5790         (latin_a_char_to_charset): New variable.
5791         (latin_a_char_to_byte1): New variable.
5792         (latin_a_char_to_byte2): New variable.
5793         (breakup_char_1): Use `latin_a_char_to_{charset|byte1|byte2}' for
5794         Latin Extended-A; use `CHARSET_BY_ATTRIBUTES' instead of
5795         `CHARSET_BY_LEADING_BYTE' to get charset for ISO-2022 characters.
5796
5797         * insdel.c (find_charsets_in_bufbyte_string): Use `Charset_ID'
5798         instead of `unsigned char'; use `MIN_LEADING_BYTE' instead of 128.
5799         (find_charsets_in_emchar_string): Likewise.
5800         (vars_of_insdel): Don't define local variable `i' in UTF-2000.
5801
5802         * file-coding.c (Fdecode_big5_char): Use `Charset_ID' instead of
5803         `int'.
5804         (decode_coding_iso2022): Likewise.
5805
5806         * toolbar-x.c (x_output_toolbar_button): Use `Charset_ID' instead
5807         of `unsigned char'.
5808
5809         * redisplay.c (redisplay_text_width_emchar_string): Use
5810         `Charset_ID' instead of `unsigned char'.
5811         (redisplay_frame_text_width_string): Likewise.
5812
5813         * glyphs.c (glyph_height_internal): Use `Charset_ID' instead of
5814         `unsigned char'.
5815
5816         * faces.h, faces.c (ensure_face_cachel_complete): Use `Charset_ID'
5817         instead of `unsigned char'.
5818         (face_cachel_charset_font_metric_info): Likewise.
5819
5820         * chartab.c (print_char_table): Use `Charset_ID' instead of `int'.
5821         (get_non_ascii_char_table_value): Likewise.
5822         (get_char_table): Likewise.
5823         (put_char_table): Likewise.
5824         (map_over_other_charset): Likewise.
5825         (map_char_table): Likewise.
5826
5827         * buffer.h (find_charsets_in_bufbyte_string): Use `Charset_ID'
5828         instead of `unsigned char'.
5829
5830 1999-08-31  MORIOKA Tomohiko  <tomo@etl.go.jp>
5831
5832         * character.h (PRE_LEADING_BYTE_PRIVATE_1): Deleted.
5833         (PRE_LEADING_BYTE_PRIVATE_2): Deleted.
5834
5835         * mule-charset.c (leading_code_private_11): Don't define in
5836         UTF-2000.
5837
5838         * mule-ccl.c (ccl_driver): Don't define `CCL_ReadMultibyteChar2'
5839         in UTF-2000 because it is not ported yet and not to use
5840         `PRE_LEADING_BYTE_PRIVATE_1' and `PRE_LEADING_BYTE_PRIVATE_2'.
5841
5842 1999-08-30  MORIOKA Tomohiko  <tomo@etl.go.jp>
5843
5844         * character.h (LEADING_BYTE_COMPOSITE): Deleted.
5845
5846 1999-08-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
5847
5848         * regex.c (re_compile_fastmap): Don't use `LEADING_BYTE_PREFIX_P'
5849         in UTF-2000.
5850
5851         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use int instead
5852         of unsigned char to store leading-byte.
5853
5854         * chartab.c (get_non_ascii_char_table_value): Don't use
5855         `BREAKUP_CHAR_1_UNSAFE' in UTF-2000.
5856
5857         * file-coding.c (encode_coding_big5): Delete bogus implementation
5858         in UTF2000.
5859
5860         * character.h (LEADING_BYTE_*): Delete definition for
5861         non-UTF-2000.
5862         (LEADING_BYTE_PRIVATE_P): Deleted unconditionally.
5863         (LEADING_BYTE_PREFIX_P): Deleted.
5864         (PRIVATE_LEADING_BYTE_PREFIX): Deleted.
5865         (BUFBYTE_FIRST_BYTE_P): Delete definition for non-UTF-2000.
5866         (BUFBYTE_LEADING_BYTE_P): Deleted.
5867         (CHARSET_PRIVATE_P): Deleted unconditionally.
5868         (rep_bytes_by_first_byte): Deleted unconditionally.
5869         (REP_BYTES_BY_FIRST_BYTE): Delete definition for non-UTF-2000.
5870         (FIELD1_TO_PRIVATE_LEADING_BYTE): Likewise.
5871         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Likewise.
5872         (FIELD2_TO_PRIVATE_LEADING_BYTE): Likewise.
5873         (CHAR_FIELD2): Deleted.
5874         (CHAR_FIELD3): Deleted.
5875         (MAKE_CHAR): Delete definition for non-UTF-2000.
5876         (BREAKUP_CHAR_1_UNSAFE): Deleted.
5877         (breakup_char_1): New implementation.
5878         (CHAR_CHARSET): Use `BREAKUP_CHAR'.
5879         (CHAR_LEADING_BYTE): Use `CHAR_CHARSET'.
5880
5881 1999-08-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
5882
5883         * character.h (REP_BYTES_BY_FIRST_BYTE): Change order of
5884         condition.
5885
5886 1999-08-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
5887
5888         * character.h (LEADING_BYTE_PRIVATE_P): Don't define in UTF2000.
5889         (CHARSET_PRIVATE_P): Likewise.
5890         (XCHARSET_PRIVATE_P): Likewise.
5891         (MAKE_CHAR): Don't use XCHARSET_PRIVATE_P in UTF2000.
5892
5893         * file-coding.c (encode_coding_ucs4): Delete bogus implement in
5894         UTF2000.
5895         (decode_coding_iso2022): Don't use XCHARSET_PRIVATE_P in UTF2000.
5896
5897 1999-08-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
5898
5899         * character.h (LEADING_BYTE_*): Changed in UTF2000.
5900         (NUM_LEADING_BYTES): Changed from 128 to 256.
5901         (FIELD1_TO_PRIVATE_LEADING_BYTE): Change value to 0x80 in UTF2000.
5902         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Change value to 0x80 in
5903         UTF2000.
5904         (FIELD2_TO_PRIVATE_LEADING_BYTE): Change value to 0x80 in UTF2000.
5905
5906         * mule-charset.c (Vcharset_chinese_cns11643_3): New variable in
5907         UTF2000.
5908         (Vcharset_chinese_cns11643_4): New variable in UTF2000.
5909         (Vcharset_chinese_cns11643_5): New variable in UTF2000.
5910         (Vcharset_chinese_cns11643_6): New variable in UTF2000.
5911         (Vcharset_chinese_cns11643_7): New variable in UTF2000.
5912         (Qchinese_cns11643_3): New variable in UTF2000.
5913         (Qchinese_cns11643_4): New variable in UTF2000.
5914         (Qchinese_cns11643_5): New variable in UTF2000.
5915         (Qchinese_cns11643_6): New variable in UTF2000.
5916         (Qchinese_cns11643_7): New variable in UTF2000.
5917         (syms_of_mule_charset): Define `chinese-cns11643-3',
5918         `chinese-cns11643-4', `chinese-cns11643-5', `chinese-cns11643-6'
5919         and `chinese-cns11643-7' in UTF2000.
5920         (vars_of_mule_charset): Initialize
5921         next_allocated_2_byte_leading_byte by LEADING_BYTE_CHINESE_BIG5_2
5922         + 1 in UTF2000.
5923         (complex_vars_of_mule_charset): Setup charset
5924         `chinese-cns11643-3', `chinese-cns11643-4', `chinese-cns11643-5',
5925         `chinese-cns11643-6' and `chinese-cns11643-7' in UTF2000.
5926
5927 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
5928
5929         * mule-charset.c: Move setting for `leading-code-private-11' from
5930         `syms_of_mule_charset' to `vars_of_mule_charset'.
5931
5932 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
5933
5934         * mule-charset.h (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE'
5935         and `NUM_LEADING_BYTES' in assert.
5936
5937 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
5938
5939         * character.h (charset_by_leading_byte): Use `NUM_LEADING_BYTES'
5940         instead of 128.
5941         (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE' and
5942         `NUM_LEADING_BYTES' instead of 128.
5943
5944 1999-08-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
5945
5946         * mule-charset.h (charset_by_leading_byte): Use
5947         `NUM_LEADING_BYTES' instead of 128.
5948         (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE' instead of 128.
5949
5950         * mule-charset.c (charset_by_leading_byte): Use
5951         `NUM_LEADING_BYTES' instead of 128.
5952         (make_charset): Use `MIN_LEADING_BYTE' instead of 128.
5953
5954         * faces.h (FACE_CACHEL_FONT): Use `MIN_LEADING_BYTE' instead of
5955         128.
5956
5957 1999-08-25  MORIOKA Tomohiko  <tomo@etl.go.jp>
5958
5959         * mule-charset.c (syms_of_mule_charset): Update to
5960         0.4 (Shin-Imamiya).
5961
5962 1999-07-13 Daiki Ueno <ueno@ueda.info.waseda.ac.jp>
5963
5964         * file-coding.c (encode_coding_sjis): New implementation for
5965         UTF2000.  (decode_coding_sjis): Ditto.
5966
5967 1999-06-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
5968
5969         * mule-charset.c, character.h (Bytecount rep_bytes_by_first_byte):
5970         Don't define in UTF2000.
5971
5972         * character.h: Include mule-charset.h if CHAR_IS_UCS4 is not
5973         defined.
5974
5975         * redisplay-msw.c, objects-tty.c, objects-msw.c, mule-wnnfns.c,
5976         mule-ccl.c, lstream.h, buffer.h: Include character.h in every
5977         MULE.
5978
5979 1999-06-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
5980
5981         * config.h.in (CHAR_IS_UCS4): New macro.
5982
5983         * mule-charset.c (rep_bytes_by_first_byte): Modify for
5984         conventional MULE representation.
5985         (syms_of_mule_charset): Update to 0.3 (Imamiya).
5986
5987         * mule-charset.h: Reverted to original.
5988
5989         * redisplay-msw.c, objects-tty.c, objects-msw.c, mule-wnnfns.c,
5990         mule-ccl.c, lstream.h, buffer.h: Use "character.h" instead of
5991         "mule-charset.h" if CHAR_IS_UCS4 is defined.
5992
5993         * character.h: New file.
5994
5995         * file-coding.c (Fmake_coding_system): Set 1 to
5996         `codesys->fixed.size' if TYPE is `no-conversion' and UTF2000 is
5997         defined.
5998         (encode_coding_no_conversion): New implementation for UTF2000.
5999
6000         * file-coding.h (struct Lisp_Coding_System): Add new member
6001         `fixed.size'.
6002
6003 1999-06-16  MORIOKA Tomohiko  <tomo@etl.go.jp>
6004
6005         * file-coding.c (decode_coding_iso2022): Code-point arguments of
6006         `MAKE_CHAR' must be smaller than 0x80 in UTF2000.
6007         (encode_coding_iso2022): New implementation for UTF2000.
6008
6009 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
6010
6011         * mule-canna.c (c2mu): New implementation for UTF2000.
6012         (m2c): Likewise.
6013
6014 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
6015
6016         * file-coding.c (encode_coding_no_conversion): Modify for UTF2000.
6017
6018 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
6019
6020         * file-coding.c (reset_encoding_stream): Set 0 to
6021         `str->iso2022.current_char_boundary' in UTF2000.
6022         (encode_utf8): Don't define in UTF2000.
6023         (encode_coding_utf8): New implementation for UTF-8 representation
6024         of UTF2000.
6025         (complex_vars_of_file_coding): Define coding-system `utf-8'.
6026
6027 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
6028
6029         * mule.c (vars_of_mule): Provide `utf-2000' in UTF2000.
6030
6031         * mule-charset.h (BUFBYTE_FIRST_BYTE_P): Modify for UTF-8 in
6032         UTF2000.
6033         (REP_BYTES_BY_FIRST_BYTE): Likewise.
6034
6035         * buffer.h (non_ascii_valid_char_p): Don't define in UTF2000.
6036
6037         * mule-charset.c (non_ascii_set_charptr_emchar): Don't define
6038         local variables `lb', `c1', `c2' and `charset' in UTF2000; encode
6039         as UTF-8 in UTF2000.
6040         (non_ascii_charptr_emchar): Decode as UTF-8 in UTF2000.
6041         (non_ascii_valid_char_p): Don't define in UTF2000.
6042         (non_ascii_charptr_copy_char): Add case 5 and 6 in UTF2000.
6043         (Lstream_get_emchar_1): Likewise.
6044         (utf-2000-version): New variable in UTF2000.
6045
6046         * lread.c (read_escape): Add new reader `u'.
6047
6048         * insdel.c (three_to_one_table): Don't define in UTF2000.
6049         (bufpos_to_bytind_func): Use `buf->text->mule_size' instead of
6050         `buf->text->mule_shifter' and `buf->text->mule_three_p' in
6051         UTF2000.
6052         (bytind_to_bufpos_func): Likewise.
6053         (buffer_mule_signal_inserted_region): Likewise.
6054         (vars_of_insdel): Don't initialize `three_to_one_table'.
6055         (init_buffer_text): Use `buf->text->mule_size' instead of
6056         `buf->text->mule_shifter' and `buf->text->mule_three_p' in
6057         UTF2000.
6058
6059         * file-coding.c (DECODE_ADD_BINARY_CHAR): New implementation for
6060         UTF-8 representation in UTF2000.
6061         (DECODE_ADD_UCS_CHAR): New macro in UTF2000.
6062         (decode_ucs4): Use `DECODE_ADD_UCS_CHAR' in UTF2000.
6063         (decode_coding_iso2022): Don't define local variable `lb' in
6064         UTF2000; don't use LEADING_BYTE in UTF2000; use
6065         `DECODE_ADD_UCS_CHAR' in UTF2000.
6066         (convert_to_external_format): Decode as UTF-8 in UTF2000.
6067
6068         * config.h.in (UTF2000): New macro.
6069
6070         * buffer.h (struct buffer_text): Add new member `mule_size' and
6071         don't add `mule_shifter' and `mule_three_p' in UTF2000.
6072         (valid_char_p): Return always 1 in UTF2000.
6073         (MAX_EMCHAR_LEN): 6 in UTF2000.
6074         (three_to_one_table): Don't define in UTF2000.
6075         (real_bufpos_to_bytind): Modify for UTF-8 representation in
6076         UTF2000.
6077         (real_bytind_to_bufpos): Likewise.
6078
6079         * alloc.c (Fmake_string): Add case 5 and 6 for UTF2000.
6080
6081 1999-06-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
6082
6083         * mule-charset.c (rep_bytes_by_first_byte): Modified for character
6084         representation change.
6085         (Vutf_2000_version): New variable.
6086         (leading_code_private_11): New variable.
6087         (syms_of_mule_charset): Add new variables `utf-2000-version' and
6088         `leading-code-private-11'.
6089
6090         * mule-charset.h (LEADING_BYTE_CHINESE_CCITT_GB): New macro.
6091         (LEADING_BYTE_CHINESE_BIG5_1): Changed to 0x96 temporally.
6092         (LEADING_BYTE_CHINESE_CNS11643_1): Changed to 0x97.
6093         (LEADING_BYTE_CHINESE_CNS11643_2): Changed to 0x98.
6094         (LEADING_BYTE_CHINESE_CNS11643_3): New macro.
6095         (LEADING_BYTE_CHINESE_CNS11643_4): Likewise.
6096         (LEADING_BYTE_CHINESE_CNS11643_5): Likewise.
6097         (LEADING_BYTE_CHINESE_CNS11643_6): Likewise.
6098         (LEADING_BYTE_CHINESE_CNS11643_7): Likewise [but not used].
6099         (LEADING_BYTE_CHINESE_BIG5_2): Changed to 0x9D temporally.
6100         (LEADING_BYTE_KOREAN_KPS9566): New macro [but not used].
6101         (CHAR_FIELD1_MASK): Changed to (0x7F << 14).
6102         (MIN_CHAR_GREEK): New macro.
6103         (MAX_CHAR_GREEK): New macro.
6104         (MIN_CHAR_CYRILLIC): New macro.
6105         (MAX_CHAR_CYRILLIC): New macro.
6106         (MIN_CHAR_HEBREW): New macro.
6107         (MAX_CHAR_HEBREW): New macro.
6108         (MIN_CHAR_THAI): New macro.
6109         (MAX_CHAR_THAI): New macro.
6110         (MIN_CHAR_HALFWIDTH_KATAKANA): New macro.
6111         (MAX_CHAR_HALFWIDTH_KATAKANA): New macro.
6112         (CHAR_FIELD2_INTERNAL): New macro [renamed from `CHAR_FIELD2'.
6113         (CHAR_FIELD3_INTERNAL): New macro [renamed from `CHAR_FIELD3'.
6114         (FIELD1_TO_PRIVATE_LEADING_BYTE): Changed to 0xc0.
6115         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Changed to 0x50.
6116         (CHAR_FIELD2): New inline function.
6117         (CHAR_FIELD3): New inline function.
6118         (MULE_CHAR_PRIVATE_OFFSET): New macro.
6119         (MIN_CHAR_OFFICIAL_TYPE9N): Shifted to `MULE_CHAR_PRIVATE_OFFSET'.
6120         (MIN_CHAR_PRIVATE_TYPE9N): Likewise.
6121         (MIN_CHAR_PRIVATE_TYPE9NX9N): Likewise.
6122         (MIN_CHAR_OFFICIAL_TYPE9NX9N): Likewise.
6123         (MIN_CHAR_COMPOSITION): Likewise.
6124         (CHAR_LEADING_BYTE): Modified for character representation change.
6125         (MAKE_CHAR): Likewise.
6126
6127         * lisp.h (Vcharset_latin_iso8859_1): New variable.
6128         (Vcharset_greek_iso8859_7): Likewise.
6129         (Vcharset_cyrillic_iso8859_5): Likewise.
6130         (Vcharset_hebrew_iso8859_8): Likewise.
6131         (Vcharset_thai_tis620): Likewise.
6132         (Vcharset_katakana_jisx0201): Likewise.
6133
6134 2008-12-28  Vin Shelton  <acs@xemacs.org>
6135
6136         * XEmacs 21.4.22 is released
6137
6138 2008-12-27  Vin Shelton  <acs@xemacs.org>
6139
6140         * syswindows.h: Don't define wide character interfaces for Cygwin
6141         1.7 and up.
6142
6143 2008-03-05  Dominique Quatravaux  <domq@cpan.org>
6144
6145         * glyphs-gtk.c: Fixed compilation under gcc 4.x.
6146
6147 2008-11-01  Stephen J. Turnbull  <stephen@xemacs.org>
6148
6149         * regex.c (re_search_2): Fix at_dot by changing charpos to bytepos.
6150         From Julian Bradfield <18654.1143.304851.782755@krk.inf.ed.ac.uk>.
6151
6152 2008-12-25  Vin Shelton  <acs@xemacs.org>
6153
6154         * mule-ccl.c (ccl_driver): Fix off-by-one error.
6155         By Julian Bradfield in
6156         <18691.16568.526264.972026@krk.inf.ed.ac.uk>.
6157
6158         * mule-ccl.c (ccl_driver): 
6159
6160 2007-10-07  Vin Shelton  <acs@xemacs.org>
6161
6162         * XEmacs 21.4.21 is released
6163
6164 2007-08-14  Marcus Crestani  <crestani@xemacs.org>
6165
6166         * s/sol2.h: Fix for GCC lossage not needed with SunOS 5.10.
6167
6168 2007-02-17  Stephen J. Turnbull  <stephen@xemacs.org>
6169
6170         * glyphs-eimage.c (png_instantiate_unwind): Avoid recursion.
6171         (png_instantiate): Initialize setjmp_buffer early, and avoid
6172         recursive entry to error handler.
6173
6174 2007-06-23  Stephen J. Turnbull  <stephen@xemacs.org>
6175
6176         * linuxplay.c (linux_play_data_or_file): More 64-bit tweaking, and
6177         a typo fix.
6178
6179 2007-05-12  Aidan Kehoe  <kehoea@parhasard.net>
6180
6181         * event-Xt.c (x_reset_modifier_mapping):
6182         * event-gtk.c (gtk_reset_modifier_mapping):
6183         Zero out the device's modifier map once we've freed it, to prevent
6184         a double free on a re-entrant call. 
6185
6186 2007-05-17  Vin Shelton  <acs@xemacs.org>
6187
6188         * linuxplay.c (linux_play_data_or_file): Fix playing sound on
6189         64-bit linux.  Patch from Hans de Graaff.
6190
6191 2007-05-02  Vin Shelton  <acs@xemacs.org>
6192
6193         * dumper.c (pdump): Don't close pdump_fd (already closed by
6194         fclose() call.  Patch from Steve Higham.
6195         * callproc.c (Fold_call_process_internal): Don't close fd1 if it's
6196         already closed.  Patch inspired by Steve Higham.
6197
6198 2007-05-01  Vin Shelton  <acs@xemacs.org>
6199
6200         * nt.c (mswindows_stat): Tie _S_IEXEC permission to read access.
6201         (mswindows_fstat): Ditto.
6202         * sysfile.h: Under Windows, define X_OK to be the same as R_OK.
6203
6204 2007-02-08  Adrian Aichner  <adrian@xemacs.org>
6205
6206         * postgresql.c: Update Steve Baur's email address by his request.
6207         * postgresql.h: Ditto.
6208
6209 2007-01-04  Vin Shelton  <acs@xemacs.org>
6210
6211         * fileio.c (check_writable): Check old-style readonly bit only for
6212         non-directories.
6213
6214 2006-12-25  Benson I. Margulies  <benson@dchbk.us>
6215
6216         * src/fileio.c (check_writable): 
6217         Cope with the fact that the read-only attribute trumps Windows NTFS
6218         ACLS.
6219
6220
6221 2006-12-09  Vin Shelton  <acs@xemacs.org>
6222
6223         * XEmacs 21.4.20 is released
6224
6225 2006-12-08  Nelson Ferreira  <njsf@sxemacs.org>
6226
6227         * src/fns.c (XMALLOC_OR_ALLOCA,free_malloced_ptr,XMALLOC_UNBIND):
6228         relocated the definitions to be used sooner in file.
6229         (concat,plists_differ,mapcar1,Fmapconcat,Fmapcar): Use
6230         XMALLOC_OR_ALLOCA macro instead of alloca to prevent stack
6231         overflow.
6232
6233 2006-11-29  Aidan Kehoe  <kehoea@parhasard.net>
6234
6235         * sound.c (init_native_sound):
6236         Only X11 and GTK devices can possibly not be on the console of the
6237         associated machine. Fixes a crash when init_native_sound is called
6238         on a msprinter device. 
6239
6240 2006-11-14  Stephen J. Turnbull  <stephen@xemacs.org>
6241
6242         * buffer.c (buffer-file-name): Document invariant.
6243         (buffer-file-truename): Sync wording to buffer-file-name.
6244         Thanks to Nelson Ferreira <nelson.ferreira@ieee.org> for report
6245         and discussion.
6246
6247 2006-11-19  Benson Margulies  <benson@dchbk.us>
6248
6249         * fileio.c: Add code to use full Win32 API to check for write
6250         access.  Win32 has the general design policy that you aren't
6251         supposed to ask this question, since security checks change
6252         depending on asynchronous processes.  Nonetheless, there is a way,
6253         by acting as if we are a server doing interpretive access
6254         control.
6255
6256 2006-07-31  Aidan Kehoe <kehoea@parhasard.net>
6257
6258         * bytecode.c: Use xnew_array instead of alloca.
6259
6260 2006-07-04  Vin Shelton  <acs@xemacs.org>
6261
6262         * redisplay-msw.c: Fix tiny, but crucial typo.
6263
6264 2006-06-22  Jerry James  <james@xemacs.org>
6265
6266         * EmacsShell-sub.c (ChangeManaged):
6267         * device-x.c (x_IO_error_handler): Do not dereference d if it is
6268         NULL.
6269         * dgif_lib.c (DGifCloseFile): Do not dereference GifFile before
6270         checking if it is NULL.  Also fix a memory leak.
6271         * dialog-x.c (dbox_selection_callback): Ensure f is non-NULL, then
6272         dereference it, not the other way around.
6273         * dumper.c (pdump_register_object): Fix off-by-one array bounds
6274         overflow check.
6275         * dumper.c (pdump_register_struct): Ditto.
6276         * editfns.c (Ftemp_directory): Don't let a copy from (long) path
6277         to (short) warnpath overflow warnpath.
6278         * extents.c (detach_all_extents): Call extent_list_delete_all with
6279         a non-NULL parameter only.
6280         * glyphs-widget.c (widget_query_geometry): Guard against possibly
6281         NULL width and height.
6282         * input-method-xlib.c (XIM_SetGeometry): Do not dereference f or
6283         xic before checking if they are NULL.
6284         * keymap.c (where_is_recursive_mapper): Don't throw away the newly
6285         allocated array.
6286         * md5.c (Fmd5): Check whether Lstream_read encountered an error.
6287         * nas.c (Err): Fix a memory leak.
6288         * redisplay-gtk.c (gtk_output_display_block): Fix a Dynarr leak.
6289         Don't create the buffer if there is nothing to do.
6290         * redisplay-msw.c (mswindows_output_display_block): Ditto.
6291         * redisplay-output.c (redisplay_output_layout): Ditto.
6292         * redisplay-tty.c (tty_output_display_block): Ditto.
6293         * redisplay-x.c (x_output_display_block): Ditto.
6294         * scrollbar-gtk.c (gtk_free_scrollbar_instance): Do not
6295         dereference instance->scrollbar_data if it is NULL.
6296         * scrollbar-x.c (x_free_scrollbar_instance): Ditto.
6297         * scrollbar-msw.c (mswindows_free_scrollbar_instance): Ditto, but
6298         for sb->scrollbar_data.
6299         * sound.c (init_native_sound): Avoid a buffer overflow by
6300         allocating a buffer with the appropriate size.
6301
6302 2006-05-08  Stephen J. Turnbull  <stephen@xemacs.org>
6303
6304         * EmacsShell-sub.c (RootGeometryManager):
6305         Change garbage to useful messages under DEBUG_GEOMETRY_MANAGEMENT.
6306         Based on a suggestion by Francois L'Archeveque.
6307
6308 2006-03-21  Malcolm Purvis  <malcolmp@xemacs.org>
6309
6310         * regex.c: Bump INIT_FAILURE_ALLOC and re_max_failures to the
6311         current values found in GNU Emacs.
6312
6313 2006-03-17  Vin Shelton  <acs@xemacs.org>
6314
6315         * dialog-msw.c (handle_directory_dialog_box): Don't declare
6316         Q_title here.  LOCAL_FILE_FORMAT_TO_TSTR requires an lvalue.
6317
6318         * glyphs-msw.c (read_bitmap_data): change 'initialized' to
6319         'hex_initialized' because it conflicts with 'initialized' in
6320         lisp.h.
6321
6322 2006-01-28  Vin Shelton  <acs@xemacs.org>
6323
6324         * XEmacs 21.4.19 is released
6325
6326 2006-01-20  Rick Rankin <rrankin1424-xemacs@yahoo.com>
6327
6328         * sysdir.h: Workaround missing d_ino field from 'struct dirent'.
6329
6330 2005-12-24  Aidan Kehoe  <kehoea@parhasard.net>
6331
6332         * objects-gtk.c (MAX_FONT_COUNT): Increase MAX_FONT_COUNT from
6333         5000 to INT_MAX.
6334
6335 2005-12-05  Dr. Volker Zell  <Dr.Volker.Zell@oracle.com>
6336
6337         * database.c: Suppress compiler warning under Cygwin.
6338         * database.c: Removed __FreeBSD__ check, should be handled by
6339         HAVE_U_xxx_T defines.
6340
6341 2005-12-18  Malcolm Purvis  <malcolmp@xemacs.org>
6342
6343         * console.c (stuff_buffered_input): Compile body only if
6344         HAVE_TTY.
6345
6346 2005-05-10  Aidan Kehoe  <kehoea@parhasard.net>
6347
6348         * callproc.c: #include sysdir.h, so that any appropriate Mule
6349         magic happens with the chdir() call when calling a subprocess. 
6350
6351 2005-12-06  Aidan Kehoe  <kehoea@parhasard.net>
6352
6353         * mule-ccl.c (POSSIBLE_LEADING_BYTE_P): Add.
6354         * mule-ccl.c: Check that a character set exists before using it
6355         to create a character. 
6356
6357 2005-12-06  Vin Shelton  <acs@xemacs.org>
6358
6359         * objects-x.c (MAX_FONT_COUNT): Increase MAX_FONT_COUNT from 5000
6360         to INT_MAX.
6361
6362 2005-12-03  Vin Shelton <acs@xemacs.org>
6363
6364         * XEmacs 21.4.18 is released
6365
6366 2005-11-27  Kean Johnston <kean@armory.com>
6367
6368         * redisplay-tty.c (set_tty_modes):
6369         (reset_tty_modes): disable auto-margins if the terminal supports
6370         them.
6371         (init_tty_for_redisplay): fix cursor shape.
6372
6373 2005-04-05  Aidan Kehoe  <kehoea@parhasard.net>
6374
6375         * mule-ccl.c (ccl_driver): Calculate the charset and position code
6376         for control-1 characters properly, both when reading multibyte
6377         characters and writing them. 
6378
6379 2005-03-12  Aidan Kehoe  <kehoea@parhasard.net>
6380
6381         * config.h.in: Make HAVE_XTREGISTERDRAWABLE available. 
6382         * select-x.c (x_reply_selection_request): Use it; fix the bug we
6383         were seeing with incremental selection transfer failing. 
6384
6385 2005-11-26  Vin Shelton  <acs@xemacs.org>
6386
6387         * callproc.c (Fold_call_process_internal): Create the buffer if it
6388         does not already exist.  The original patch came from Ben Wing in
6389         http://list-archive.xemacs.org/xemacs-patches/200205/msg00117.html
6390
6391 2002-05-13  Adrian Aichner  <adrian@xemacs.org>
6392
6393         * callproc.c: Process-related docstring improvements spurred by
6394         Norbert Koch.
6395
6396 2005-11-25  Vin Shelton  <acs@xemacs.org>
6397
6398         * depend: Regenerated.
6399
6400 2005-07-11  Malcolm Purvis  <malcolmp@xemacs.org>
6401
6402         * glyphs-gtk.c:  Rename a local static variable because gcc 4.0
6403         says it clashes with a global with the same name.
6404
6405 2005-07-11  Atanu Ghosh <atanu@icsi.berkeley.edu>
6406
6407         * sysdll.c (dll_open): Under MacOS X return NULL under the
6408         filename is NULL.  Fixes problems finding local symbols under 10.4
6409         (Tiger)
6410
6411 2005-11-15  Dr. Volker Zell  <Dr.Volker.Zell@oracle.com>
6412         
6413         * config.h.in: New HAVE_U_INT*_T defines.
6414         
6415         * database.c: Only use u_int*_t typedefs if not already
6416         defined.
6417
6418 2005-04-07 15:08  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
6419
6420         * src/process-unix.c (unix_open_network_stream): moved
6421           'portbuf' buffer out of an inner block as it is used in the
6422           entire function. With gcc4, the stack may get corrupted
6423           after leaving this block. This patches adjusts the size of
6424           the used buffer also; static '128' bytes are far too much
6425           currently and might not suffice for future architectures
6426           (e.g. for 512 bit ones ;)). Instead of, use only the really
6427           required space (max octets * ln(256)/ln(10) chars + space
6428           for '\0' and the sign)
6429
6430 2005-04-08  Aidan Kehoe  <kehoea@parhasard.net>
6431
6432         * callproc.c: Include sysdir.h, so any necessary Mule processing
6433         is done on the current directory name before starting a new
6434         process.
6435
6436 2005-04-06  Stephen J. Turnbull  <stephen@xemacs.org>
6437
6438         * chartab.c (Fchar_table_p):
6439         (Fget_range_char_table):
6440         (Fput_char_table):
6441         (Fmap_char_table):
6442         Describe range representation and fix typo.
6443
6444 2005-02-12  Vin Shelton  <acs@xemacs.org>
6445
6446         * emacs.c (shut_down_emacs): Advise users to send email to the
6447         xemacs-beta list instead of crashes@xemacs.org.
6448
6449 2005-02-03  David Evers  <extsw@appliedgenerics.com>
6450
6451         * process-unix.c (unix_send_process): Flush the last chunk, even
6452         when the pipe is blocked.
6453
6454 2005-02-06  Vin Shelton <acs@xemacs.org>
6455
6456         * XEmacs 21.4.17 is released
6457
6458 2005-01-31  Ben Wing  <ben@xemacs.org>
6459
6460         * emacs.c:
6461         Define assert_failed() always.
6462         * lisp.h:
6463         Always define ABORT().
6464
6465 2005-01-25  Ben Wing  <ben@xemacs.org>
6466
6467         * Makefile.in.in:
6468         * Makefile.in.in (%.o):
6469         Don't compile executable as Windows (-mwindows) under Cygwin.
6470         Semi-recent changes to Cygwin's executable-startup handling make
6471         it impossible to access the TTY this way.
6472
6473         Don't use special linker file under Cygwin (cygwin.sc) except
6474         when non-PDUMP (even in this case it is highly questionable); you
6475         get errors like
6476
6477       1 [main] temacs 1364 fhandler_console::fixup_after_exec: error opening input console handle after exec, errno 13, Win32 error 5
6478    5820 [main] temacs 1364 fhandler_console::fixup_after_exec: error opening output console handle after exec, errno 13, Win32 error 5
6479
6480 2005-01-29  Ben Wing  <ben@xemacs.org>
6481
6482         Port this: 2003-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
6483
6484         * mule-charset.c (get_unallocated_leading_byte): Compiler quietus.
6485
6486 2005-01-29  Ben Wing  <ben@xemacs.org>
6487
6488         * bytecode.c (optimize_compiled_function):
6489         * print.c (FROB):
6490         * print.c (long_to_string):
6491         Add casts to avoid warning.
6492         
6493         * glyphs-eimage.c:
6494         Some really nasty hacks to allow TIFF and JPEG to both be compiled.
6495         #### The better solution is to move the TIFF and JPEG code to
6496         different files.
6497         
6498         * glyphs-msw.c (mswindows_xbm_instantiate):
6499         Define __STDC__ to avoid problems with compface.h.
6500         
6501         * EmacsFrame.c (EmacsFrameRecomputeCellSize):
6502         * EmacsShell-sub.c:
6503         * EmacsShell-sub.c (ABORT):
6504         * EmacsShell-sub.c (SuperClassRootGeometryManager):
6505         * EmacsShell-sub.c (RootGeometryManager):
6506         * EmacsShell.c:
6507         * EmacsShell.c (ABORT):
6508         * EmacsShell.c (EmacsShellUpdateSizeHints):
6509         * alloc.c (free_lcrecord):
6510         * alloca.c (i00afunc):
6511         * buffer.c (delete_from_buffer_alist):
6512         * buffer.c (MARKED_SLOT):
6513         * bytecode.c (execute_rare_opcode):
6514         * bytecode.c (optimize_byte_code):
6515         * bytecode.c (Ffetch_bytecode):
6516         * chartab.c (char_table_type_to_symbol):
6517         * chartab.c (Freset_char_table):
6518         * chartab.c (decode_char_table_range):
6519         * chartab.c (Fget_range_char_table):
6520         * chartab.c (check_valid_char_table_value):
6521         * chartab.c (map_char_table):
6522         * chartab.c (slow_map_char_table_fun):
6523         * chartab.c (chartab_instantiate):
6524         * cm.c (cmcheckmagic):
6525         * console-msw.c (DHEADER):
6526         * console.c (MARKED_SLOT):
6527         * data.c (finish_marking_weak_lists):
6528         * data.c (encode_weak_list_type):
6529         * debug.h (DASSERT):
6530         * device-gtk.c (gtk_init_device):
6531         * device-msw.c (mswindows_get_default_margin):
6532         * device-tty.c (tty_init_device):
6533         * device-x.c (get_device_from_display):
6534         * device-x.c (x_get_visual_depth):
6535         * doprnt.c (parse_doprnt_spec):
6536         * doprnt.c (get_doprnt_args):
6537         * dumper.c (pdump_get_indirect_count):
6538         * dumper.c (pdump_register_sub):
6539         * dumper.c (pdump_register_object):
6540         * dumper.c (pdump_register_struct):
6541         * dumper.c (pdump_dump_data):
6542         * dumper.c (pdump_reloc_one):
6543         * elhash.c (print_hash_table):
6544         * elhash.c (make_standard_lisp_hash_table):
6545         * elhash.c (hash_table_instantiate):
6546         * emacs.c:
6547         * emacs.c (Fforce_debugging_signal):
6548         * emacs.c (sort_args):
6549         * emacs.c (main):
6550         * emacs.c (assert_failed):
6551         * eval.c (throw_or_bomb_out):
6552         * eval.c (signal_1):
6553         * eval.c (Fsignal):
6554         * event-Xt.c:
6555         * event-Xt.c (emacs_Xt_mapping_action):
6556         * event-Xt.c (Xt_process_to_emacs_event):
6557         * event-msw.c:
6558         * event-stream.c (check_event_stream_ok):
6559         * event-stream.c (Fadd_timeout):
6560         * event-stream.c (Fadd_async_timeout):
6561         * event-stream.c (Fdiscard_input):
6562         * event-stream.c (execute_internal_event):
6563         * event-stream.c (Frecent_keys):
6564         * event-stream.c (extract_this_command_keys_nth_mouse_event):
6565         * event-stream.c (lookup_command_event):
6566         * event-unixoid.c (poll_fds_for_input):
6567         * events.c:
6568         * events.c (mark_event):
6569         * events.c (event_equal):
6570         * events.c (event_hash):
6571         * events.c (Fmake_event):
6572         * events.c (Fdeallocate_event):
6573         * events.c (event_chain_find_previous):
6574         * events.c (event_to_character):
6575         * events.c (format_event_object):
6576         * events.c (Fevent_type):
6577         * events.c (event_pixel_translation):
6578         * events.c (Fevent_properties):
6579         * extents.c (extent_in_region_p):
6580         * extents.c (print_extent):
6581         * extents.c (process_extents_for_insertion_mapper):
6582         * extents.c (report_extent_modification_mapper):
6583         * extents.c (glyph_layout_to_symbol):
6584         * faces.c (face_validate):
6585         * file-coding.c (eol_type_to_symbol):
6586         * file-coding.c (subsidiary_coding_system):
6587         * file-coding.c (Fcoding_system_type):
6588         * file-coding.c (Fcoding_system_property):
6589         * file-coding.c (mule_decode):
6590         * file-coding.c (mule_encode):
6591         * file-coding.c (encode_coding_ucs4):
6592         * file-coding.c (encode_coding_utf8):
6593         * file-coding.c (parse_iso2022_esc):
6594         * file-coding.c (encode_coding_iso2022):
6595         * fileio.c:
6596         * fns.c (concat):
6597         * fns.c (Fsubseq):
6598         * fns.c (mapcar1):
6599         * fns.c (Fbase64_encode_region):
6600         * fns.c (Fbase64_encode_string):
6601         * fns.c (Fbase64_decode_region):
6602         * fns.c (Fbase64_decode_string):
6603         * font-lock.c (find_context):
6604         * font-lock.c (context_to_symbol):
6605         * frame-gtk.c (gtk_set_frame_pointer):
6606         * frame-gtk.c (gtk_update_frame_external_traits):
6607         * frame-x.c (x_wm_mark_shell_size_user_specified):
6608         * frame-x.c (x_wm_mark_shell_position_user_specified):
6609         * frame-x.c (x_wm_set_shell_iconic_p):
6610         * frame-x.c (x_wm_set_cell_size):
6611         * frame-x.c (x_wm_set_variable_size):
6612         * frame-x.c (x_wm_store_class_hints):
6613         * frame-x.c (x_wm_maybe_store_wm_command):
6614         * frame-x.c (x_initialize_frame_size):
6615         * frame-x.c (x_update_frame_external_traits):
6616         * frame.c:
6617         * frame.c (delete_frame_internal):
6618         * frame.c (mouse_pixel_position_1):
6619         * frame.c (change_frame_size_1):
6620         * free-hook.c (check_free):
6621         * free-hook.c (check_realloc):
6622         * free-hook.c (note_block_input):
6623         * free-hook.c (log_gcpro):
6624         * gccache-gtk.c (gc_cache_lookup):
6625         * glyphs-eimage.c (tiff_memory_write):
6626         * glyphs-gtk.c (gtk_finalize_image_instance):
6627         * glyphs-gtk.c (init_image_instance_from_gdk_pixmap):
6628         * glyphs-gtk.c (init_image_instance_from_xbm_inline):
6629         * glyphs-gtk.c (gtk_xpm_instantiate):
6630         * glyphs-gtk.c (gtk_unmap_subwindow):
6631         * glyphs-gtk.c (gtk_map_subwindow):
6632         * glyphs-gtk.c (gtk_button_redisplay):
6633         * glyphs-msw.c:
6634         * glyphs-msw.c (init_image_instance_from_xbm_inline):
6635         * glyphs-x.c (init_image_instance_from_xbm_inline):
6636         * glyphs-x.c (extract_xpm_color_names):
6637         * glyphs-x.c (x_xpm_instantiate):
6638         * glyphs.c (get_image_instantiator_governing_domain):
6639         * glyphs.c (print_image_instance):
6640         * glyphs.c (image_instance_equal):
6641         * glyphs.c (image_instance_hash):
6642         * glyphs.c (encode_image_instance_type):
6643         * glyphs.c (make_image_instance_1):
6644         * glyphs.c (inherit_instantiate):
6645         * glyphs.c (image_instantiate):
6646         * glyphs.c (allocate_glyph):
6647         * glyphs.c (Fglyph_type):
6648         * glyphs.c (redisplay_subwindow):
6649         * glyphs.c (display_table_entry):
6650         * gtk-glue.c (xemacs_list_to_gtklist):
6651         * gtk-glue.c (xemacs_gtklist_to_list):
6652         * gtk-glue.c (xemacs_list_to_array):
6653         * gutter.c (SET_GUTTER_WAS_VISIBLE_FLAG):
6654         * gutter.c (gutter_was_visible):
6655         * gutter.c (get_gutter_coords):
6656         * input-method-xlib.c (get_XIM_input):
6657         * insdel.c (bufpos_to_bytind_func):
6658         * insdel.c (bytind_to_bufpos_func):
6659         * insdel.c (move_gap):
6660         * intl.c (x_get_composed_input):
6661         * keymap.c (keymap_lookup_directly):
6662         * keymap.c (keymap_delete_inverse_internal):
6663         * keymap.c (ensure_meta_prefix_char_keymapp):
6664         * keymap.c (accessible_keymaps_mapper_1):
6665         * keymap.c (where_is_recursive_mapper):
6666         * lisp.h:
6667         * lisp.h (ABORT):
6668         * lread.c (read_atom):
6669         * lstream.c (Lstream_delete):
6670         * lstream.c (make_lisp_buffer_stream_1):
6671         * macros.c (pop_kbd_macro_event):
6672         * malloc.c (malloc):
6673         * malloc.c (free):
6674         * marker.c (bi_marker_position):
6675         * marker.c (set_bi_marker_position):
6676         * menubar-gtk.c (menu_descriptor_to_widget_1):
6677         * menubar-msw.c (prune_menubar):
6678         * menubar-x.c (set_frame_menubar):
6679         * mule-charset.c (get_unallocated_leading_byte):
6680         * mule-charset.h (CHAR_LEADING_BYTE):
6681         * native-gtk-toolbar.c (SET_TOOLBAR_WAS_VISIBLE_FLAG):
6682         * nt.c (init_environment):
6683         * nt.c (generate_inode_val):
6684         * ntproc.c (delete_child):
6685         * ntproc.c (_sys_read_ahead):
6686         * ntproc.c (create_child):
6687         * objects.c (color_instantiate):
6688         * objects.c (font_instantiate):
6689         * objects.c (face_boolean_instantiate):
6690         * print.c (printing_major_badness):
6691         * process-nt.c (nt_send_process):
6692         * process-unix.c (unix_send_process):
6693         * process.c (get_process):
6694         * ralloc.c (obtain):
6695         * ralloc.c (relinquish):
6696         * ralloc.c (relocate_blocs):
6697         * ralloc.c (resize_bloc):
6698         * ralloc.c (r_alloc_free):
6699         * ralloc.c (r_re_alloc):
6700         * ralloc.c (r_alloc_thaw):
6701         * ralloc.c (init_ralloc):
6702         * ralloc.c (Free_Addr_Block):
6703         * ralloc.c (r_alloc):
6704         * redisplay-gtk.c (gtk_output_display_block):
6705         * redisplay-msw.c (mswindows_output_display_block):
6706         * redisplay-output.c (get_next_display_block):
6707         * redisplay-output.c (get_cursor_size_and_location):
6708         * redisplay-output.c (redisplay_output_layout):
6709         * redisplay-output.c (redisplay_clear_region):
6710         * redisplay-tty.c (tty_output_display_block):
6711         * redisplay-x.c (x_output_display_block):
6712         * redisplay.c (add_propagation_runes):
6713         * redisplay.c (add_glyph_rune):
6714         * redisplay.c (create_text_block):
6715         * redisplay.c (add_margin_runes):
6716         * redisplay.c (create_left_glyph_block):
6717         * redisplay.c (create_right_glyph_block):
6718         * redisplay.c (create_string_text_block):
6719         * redisplay.c (regenerate_window):
6720         * redisplay.c (REGEN_INC_FIND_START_END):
6721         * redisplay.c (redisplay_frame):
6722         * redisplay.c (point_in_line_start_cache):
6723         * regex.c:
6724         * regex.c (ABORT):
6725         * regex.c (re_compile_fastmap):
6726         * regex.c (re_match_2_internal):
6727         * regex.c (regerror):
6728         * scrollbar-gtk.c (gtk_scrollbar_loop):
6729         * scrollbar-gtk.c (scrollbar_cb):
6730         * scrollbar-gtk.c (gtk_update_frame_scrollbars):
6731         * scrollbar-msw.c (mswindows_handle_scrollbar_event):
6732         * scrollbar-x.c (x_update_scrollbar_instance_status):
6733         * scrollbar-x.c (x_scrollbar_loop):
6734         * scrollbar-x.c (x_update_frame_scrollbars):
6735         * search.c (search_command):
6736         * search.c (Fmatch_data):
6737         * select-x.c (motif_clipboard_cb):
6738         * signal.c (interrupt_signal):
6739         * specifier.c (specifier_add_spec):
6740         * specifier.c (specifier_instance_from_inst_list):
6741         * specifier.c (specifier_instance):
6742         * specifier.h:
6743         * specifier.h (struct specifier_methods):
6744         * strftime.c (add_num_time_t):
6745         * sunplay.c (init_device):
6746         * symbols.c (Fsetplist):
6747         * symbols.c (do_symval_forwarding):
6748         * symbols.c (store_symval_forwarding):
6749         * symbols.c (Fset):
6750         * symbols.c (Fbuilt_in_variable_type):
6751         * symbols.c (decode_magic_handler_type):
6752         * symbols.c (handler_type_from_function_symbol):
6753         * syntax.c (update_syntax_cache):
6754         * sysdep.c (init_baud_rate):
6755         * toolbar-gtk.c (SET_TOOLBAR_WAS_VISIBLE_FLAG):
6756         * toolbar-msw.c (SET_TOOLBAR_WAS_VISIBLE_FLAG):
6757         * toolbar-x.c (SET_TOOLBAR_WAS_VISIBLE_FLAG):
6758         * toolbar.c (get_toolbar_coords):
6759         * ui-gtk.c (build_gtk_boxed):
6760         * ui-gtk.c (describe_gtk_arg):
6761         * ui-gtk.c (gtk_type_to_lisp):
6762         * ui-gtk.c (lisp_to_gtk_type):
6763         * ui-gtk.c (lisp_to_gtk_ret_type):
6764         * ui-gtk.c (lisp_to_flag):
6765         * unexnt.c (read_in_bss):
6766         * unexnt.c (map_in_heap):
6767         * window.c (real_window):
6768         * window.c (window_display_lines):
6769         * window.c (window_display_buffer):
6770         * window.c (set_window_display_buffer):
6771         * window.c (window_modeline_height):
6772         * window.c (unshow_buffer):
6773         * window.c (window_loop):
6774         * window.c (Fget_lru_window):
6775         * window.c (Fsplit_window):
6776         * window.c (Fset_window_configuration):
6777         * window.c (saved_window_index):
6778         * xgccache.c (gc_cache_lookup):
6779         abort() -> ABORT().  Eliminate preprocessor games with abort()
6780         since it creates huge problems in VC7, solvable only by including
6781         massive amounts of files in every compile (and not worth it).
6782
6783         * sysdep.c:
6784         * sysproc.h:
6785         Inclusion of process.h does not need to be before lisp.h any more.
6786         Move later and remove comment about abort().
6787
6788 2005-01-26  Arnaud Giersch  <arnaud.giersch@free.fr>
6789
6790         * regex.c (re_match_2_internal):
6791         Correctly initialize loop which clears uninitialized registers.
6792
6793 2005-01-28  Vin Shelton  <acs@xemacs.org>
6794
6795         * sheap.c (more_static_core): Applied Ben's version of the long
6796         string patch.
6797
6798 2005-01-24  Vin Shelton  <acs@xemacs.org>
6799
6800         * sheap.c (more_static_core): Reformatted printf string so
6801         gcc-3.3.3 will compile this on Cygwin.
6802
6803 2004-02-22  Stephen J. Turnbull  <stephen@xemacs.org>
6804
6805         * console.c (function_key_map): Reference `key-binding'.
6806
6807         * keymap.c (Vkey_translation_map): Improve docstring.
6808
6809 2004-03-30  Zajcev Evgeny  <zevlg@yandex.ru>
6810
6811         * window.c: Declare `allow_deletion_of_last_visible_frame' extern.
6812         * window.c (window_loop): [fix] Take into account
6813         `allow-deletion-of-last-visible-frame' variable.
6814         * window.c (replace-buffer-in-windows): Ditto.
6815
6816 2004-12-15  Stephen J. Turnbull  <stephen@xemacs.org>
6817
6818         * EmacsManager.c (EmacsManagerChangeSize): Respect XtGeometryNo.
6819
6820 2005-01-20  Malcolm Purvis  <malcolmp@xemacs.org>
6821
6822         * event-gtk.c: Recognise AltGr as a valid modifier.
6823
6824 2005-01-12  Ville Skyttä  <scop@xemacs.org>
6825
6826         * console-x.h: #include X11/keysym.h before xintrinsic.h.
6827
6828 2005-01-13  Stephen J. Turnbull  <stephen@xemacs.org>
6829
6830         Fix backreference bug caught by test suite.
6831
6832         * regex.c (regex_compile):
6833         Make backref duplicate internal register.
6834
6835 2005-01-13  Stephen J. Turnbull  <stephen@xemacs.org>
6836
6837         Documentation, code clarification, and warning suppression.
6838         
6839         * regex.c (regex_compile):
6840         Improve comments.
6841         (re_match_2_internal):
6842         Improve comments and avoid redundant braces.  [Most of the big hunk
6843         at l. 4710 is indentation; use diff -w to see the real changes.]
6844         (alt_match_null_string_p):
6845         (common_op_match_null_string_p):
6846         Avoid shadowing global on Mac OS X 10.4, at least.
6847
6848 2004-09-08  Stephen J. Turnbull  <stephen@xemacs.org>
6849
6850         * regex.c (regcomp): Fix "unsigned comparison" warning (maybe
6851         introduced with shy groups fix).  [Already applied, probably
6852         with the second "fix shy groups" patch of 2004-10-07.] 
6853
6854 2005-01-10  Steve Youngs  <steve@sxemacs.org>
6855
6856         From Andrey Slusar <anrays@gmail.com>:
6857
6858         * unexelf.c: define `Elfw(type)' for FreeBSD alpha and amd64.
6859
6860 2004-11-21  Malcolm Purvis  <malcolmp@xemacs.org>
6861
6862         * Makefile (RECURSIVE_MAKE): Removed.
6863         * Makefile (RECURSIVE_MAKE_ARGS): New.  The new method for
6864         handling parallel builds.
6865
6866 2004-09-08  Malcolm Purvis  <malcolmp@xemacs.org>
6867
6868         * Makefile.in.in: Enable support for parallel builds.
6869
6870 2005-01-09  Steve Youngs  <steve@sxemacs.org>
6871
6872         From Andrey Slusar <anrays@gmail.com>:
6873
6874         * s/freebsd.h (LIBS_SYSTEM): Only set to "-lutil -lxpg4" if
6875         FreeBSD version is >= 199701 _and_ < 600006.
6876
6877 2005-01-06  Zajcev Evgeny <zevlg@yandex.ru>
6878
6879         * scrollbar.c (compute_scrollbar_instance_usage):
6880         Only call device method compute_scrollbar_instance_usage() if it
6881         is defined.
6882
6883 2004-12-05  Vin Shelton <acs@xemacs.org>
6884
6885         * XEmacs 21.4.16 is released
6886
6887 2004-12-04  Vin Shelton  <acs@xemacs.org>
6888
6889         * depend: Regenerated.
6890
6891 2004-10-07  Stephen J. Turnbull  <stephen@xemacs.org>
6892
6893         * regex.c (re_match_2_internal): Map internal to external
6894         registers.  Fixes bug identified by Steve Youngs 2004-09-30
6895         <microsoft-free.87ekkjhj7t.fsf@youngs.au.com>.
6896
6897 2004-09-02  Yoshiki Hayashi  <yoshiki@xemacs.org>
6898
6899         * buffer.c (Frecord_buffer): Make sure the argument is buffer
6900         to fix a crash.  Also, check the buffer is live and it
6901         really exists in buffer_list.  If the buffer is not in the list,
6902         prepend it.
6903
6904 2004-09-08  Stephen J. Turnbull  <stephen@xemacs.org>
6905
6906         Fix shy groups by implementing recording of all groups for
6907         repetition and backtracking.  Backport from 21.5.
6908         
6909         * regex.h (struct re_pattern_buffer): Add members re_ngroups,
6910         external_to_internal_register, external_to_internal_register_size,
6911         and update comments for re_nsub.
6912
6913         * regex.c (re_opcode_t): Update comments.
6914         (print_compiled_pattern): Ouput external_to_internal_register,
6915         external_to_internal_register_size, and re_ngroups for debugging.
6916         (INIT_REG_TRANSLATE_SIZE): New manifest constant.
6917         (regex_compile): Update header comment.
6918         Ensure that all groups are recorded so that repeat matches and
6919         backtracking work correctly.  Comment related warning for groups >
6920         255.
6921         (re_search_2): Construct map of API indexes (which count only
6922         nonshy groups) to internal register numbers, and keep it updated.
6923
6924 2004-07-27  Malcolm Purvis  <malcolmp@xemacs.org>
6925
6926         * frame-gtk.c (gtk_make_frame_visible):
6927         * frame-gtk.c (gtk_make_frame_invisible): Use map/unmap instead of
6928         show/hide.  This is what X uses and is prevents previously hidden
6929         widgets from suddenly reappearing.
6930         * gtk-xemacs.c (gtk_xemacs_paint):
6931         * gtk-xemacs.c (gtk_xemacs_draw):
6932         * gtk-xemacs.c (gtk_xemacs_expose): Only operate if the widget is
6933         drawable.
6934         * scrollbar-gtk.c (gtk_update_scrollbar_instance_status): Force
6935         size and location changes so that they can be seen before the next
6936         idle event.  Without this rapid changes to scrollbar properties
6937         are not seen.
6938
6939 2004-07-02  Malcolm Purvis  <malcolmp@xemacs.org>
6940
6941         * console-gtk.h:
6942         * console-gtk.h (struct gtk_frame):
6943         * console-gtk.h (FRAME_GTK_WIDGET_INSTANCE_HASH_TABLE):
6944           Add hash tables track tab_control callback data.
6945           Added #defines for GTK object data names.
6946           Declaration of gtk_widget_to_frame().
6947         * event-gtk.c (enqueue_gtk_dispatch_event) No longer static:
6948         * frame-gtk.c (gtk_widget_to_frame): New.
6949         * frame-gtk.c (gtk_create_widgets):
6950         * frame-gtk.c (allocate_gtk_frame_struct):
6951         * frame-gtk.c (gtk_mark_frame):
6952         Manage frame callbakc hash tables.
6953         * glyphs-gtk.c (gtk_map_subwindow): Fix size and moving bugs.
6954         * glyphs-gtk.c (gtk_redisplay_widget): Use correct size for widgets.
6955         * glyphs-gtk.c (gtk_widget_instantiate_1): Force reconsideration
6956         of widget size.
6957         * glyphs-gtk.c (gtk_widget_query_geometry): New
6958         * glyphs-gtk.c (gtk_register_gui_item): New
6959         * glyphs-gtk.c (gtk_add_tab_item): New
6960         * glyphs-gtk.c (gtk_tab_control_callback): New
6961         * glyphs-gtk.c (gtk_tab_control_instantiate): New
6962         * glyphs-gtk.c (gtk_tab_control_redisplay): Set notebook page.
6963         Use correct list when loading item.
6964         * glyphs-gtk.c (image_instantiator_format_create_glyphs_gtk):
6965         Register new methods.
6966         * gtk-xemacs.c (gtk_xemacs_size_allocate): Use XEmacs size, not
6967         default size, for widgets.
6968         * gui-x.c:  Improved comment.
6969         * menubar-gtk.c (__generic_button_callback): Use
6970         gtk_widget_to_frame instead of __get_channel.
6971         * scrollbar-gtk.c:
6972         * ui-gtk.c: Use symbolic names for GTK object data.
6973
6974 2004-06-23  Ilya N. Golubev <gin@mo.msk.ru>
6975
6976         * s/usg5-4.h (NSIG): Define only inside emacs binary.
6977
6978 2002-03-04  Stephen J. Turnbull  <stephen@xemacs.org>
6979
6980         * fileio.c (Fwrite_region_internal): Document use of start == Qnil.
6981
6982 2004-06-16  Malcolm Purvis  <malcolmp@xemacs.org>
6983
6984         * malloc.c (morecore): siz is a long because in some architectures
6985         (eg ia-64) an int cannot hold the address range.  Additional patch
6986         from the SuSe distribution.
6987
6988 2004-06-13  Malcolm Purvis  <malcolmp@xemacs.org>
6989
6990         * emacs.c:
6991         * malloc.c: lim_data is a long because in some architectures
6992         (eg ia-64) an int cannot hold the address range.
6993         * mem-limits.h: lim-data is a long.  Linux uses getrlimit()
6994         instead of ulimit() because ulimit() always returns -1.
6995
6996 2004-06-09  Stephen J. Turnbull  <stephen@xemacs.org>
6997
6998         * search.c: Reenable an ansync semaphore.  Remove bogus comments.
6999
7000 2004-06-11  David Kastrup  <dak@gnu.org>
7001
7002         * search.c (match_limit): Don't flag an error if match-data
7003         exceeding the allocated search_regs.num_regs gets requested, just
7004         return Qnil.
7005
7006 2003-07-21  Malcolm Purvis  <malcolmpurvis@optushome.com.au>
7007
7008         * glyphs-gtk.c (gtk_xpm_instantiate): Rewrite the XPM data to
7009         replace symbolic color entries with the real colors specified in
7010         xpm-color-symbols, before passing the XPM to gtk.
7011         * glyphs-gtk.h: Use the generic pixmap_image_instance.mask for masks,
7012         instead of a GTK specific field, so that it is used in by generic
7013         code.
7014
7015 2004-05-05  Chuck Hines <chuck.hines@baesystems.com>
7016
7017        * dgif_lib.c (DGifSlurp): Changed do-while to while to stop
7018         coredump from deref of NULL ptr (ExtData)
7019
7020 2004-04-19  Jerry James  <james@xemacs.org>
7021
7022         * data.c (sign_extend_lisp_int): Use INT_VALBITS instead of
7023         VALBITS to compute the location of the sign bit.
7024         * event-stream.c (Fcurrent_event_timestamp): Replace incorrect use
7025         of VALBITS with EMACS_INT_MAX.
7026         * events.c (Fevent_timestamp): Ditto.
7027         * events.c (TIMESTAMP_HALFSPACE): Change VALBITS to INT_VALBITS to
7028         compute the halfway point to timestamp wraparound.
7029         * floatfns.c (float_to_int): Compare against EMACS_INT_MAX and
7030         EMACS_INT_MIN instead of using VALBITS.
7031         * floatfns.c (Flogb): Use EMACS_INT_MIN instead of building an
7032         incorrect number with VALBITS.
7033         * fns.c (Frandom): Correct number of integer bits in docstring.
7034         Use INT_VALBITS instead of VALBITS to compute the denominator.
7035         * sysdep.c (get_random): Use INT_VALBITS instead of VALBITS to
7036         build random numbers.
7037
7038 2004-03-23  Malcolm Purvis  <malcolmpurvis@optushome.com.au>
7039         * event-gtk.c:
7040         * event-gtk.c (gtk_event_to_emacs_event):
7041         * menubar-gtk.c:
7042         * menubar-gtk.c (gtk_xemacs_menubar_class_init):
7043         * menubar-gtk.c (gtk_xemacs_menubar_size_request):
7044         * menubar-gtk.c (gtk_xemacs_accel_label_get_type):
7045         * menubar-gtk.c (gtk_xemacs_set_accel_keys):
7046         * menubar-gtk.c (__activate_menu):
7047         * menubar-gtk.c (convert_underscores):
7048         * menubar-gtk.c (remove_underscores):
7049         * menubar-gtk.c (menu_convert):
7050         * menubar-gtk.c (menu_descriptor_to_widget_1):
7051         * menubar-gtk.c (menu_descriptor_to_widget):
7052         * menubar-gtk.c (menu_can_reuse_widget):
7053         * menubar-gtk.c (menu_create_menubar):
7054         * menubar-gtk.c (gtk_popup_menu):
7055         * menubar-gtk.c (Fgtk_build_xemacs_menu):
7056         Added support for Gtk menu bar and menu item mnemonics.
7057
7058 2004-03-23  Malcolm Purvis  <malcolmpurvis@optushome.com.au>
7059
7060         * sysdll.c: (dll_function): Added support for finding symbols in
7061         Darwin shared libraries as well in Darwin bundles.
7062         * sysdll.c (image_for_address): New
7063         * sysdll.c (my_find_image): New
7064         * sysdll.c (search_linked_libs): New
7065
7066 2004-03-23  Malcolm Purvis  <malcolmpurvis@optushome.com.au>
7067
7068         * ui-gtk.c (__internal_callback_marshal): Marshalling data to
7069         return to GTK requires a different API to marshalling data to use
7070         as GTK parameters.
7071         * ui-gtk.c (lisp_to_gtk_ret_type): New.
7072
7073 2004-03-08  Lutz Euler  <lutz.euler@freenet.de>
7074
7075         * lstream.c (Lstream_pseudo_close): Fix test for LSTREAM_FL_IS_OPEN.
7076
7077 2004-02-19  Stephen J. Turnbull  <stephen@xemacs.org>
7078
7079         * glyphs.c (process_image_string_instantiator):
7080         (Fset_console_type_image_conversion_list):
7081         Stop GCC from warning about shadowing of `exp'.
7082
7083         * redisplay-x.c (x_output_string): Fix unsigned lossage.
7084
7085 2004-02-19  Stephen J. Turnbull  <stephen@xemacs.org>
7086
7087         * regex.c (re_match_2_internal): Shut up GCC about syn1, syn2.
7088
7089 2004-02-03  Vin Shelton  <acs@xemacs.org>
7090
7091         * glyphs.c (image_instance_layout): Remove pointless assertion.
7092         * regex.c (regex_grow_registers): Return type is void.
7093
7094 2004-02-02  Vin Shelton <acs@xemacs.org>
7095
7096         * XEmacs 21.4.15 is released
7097
7098 2004-01-30  Glynn Clements  <glynn.clements@virgin.net>
7099
7100         * device-x.c (x_error_handler): Don't call stderr_out
7101
7102 2003-11-07  Katsumi Yamaoka <yamaoka@jpl.org>
7103
7104         * buffer.c (other-buffer): Clarify documentation of order of
7105         arguments for FSF Emacs.
7106
7107 2003-10-11  Olivier Galibert  <galibert@pobox.com>
7108
7109         * window.c (Fdelete_window): Dirty the mirror structure _before_
7110         marking the window deleted.
7111
7112 2003-09-15  Jerry James  <james@xemacs.org>
7113
7114         * event-msw.c (debug_mswin_messages): Conditionally compile
7115         messages missing from the Cygwin headers.
7116
7117 2003-06-16  Stephen J. Turnbull  <stephen@xemacs.org>
7118
7119         * data.c (eq_with_ebola_notice): Fix typo in comment.
7120         (Ftrue_list_p): Improve docstring.
7121
7122 2003-10-13  Stephen J. Turnbull  <stephen@xemacs.org>
7123
7124         * frame-x.c (x_update_frame_external_traits): Fix XtSetArg idiom.
7125
7126 2003-09-27  Stephen J. Turnbull  <stephen@xemacs.org>
7127
7128         * search.c (trivial_regexp_p): Regexps containing "\{" are
7129         nontrivial.  Thanks to Manfred Bartz for reporting the bug and
7130         Stefan Monnier for suggesting a diagnosis.
7131
7132 2003-09-25  Stephen J. Turnbull  <stephen@xemacs.org>
7133
7134         * elhash.c (make-hash-table): Clarify use of :test #'equal.
7135
7136 2003-09-12  Stephen J. Turnbull  <stephen@xemacs.org>
7137
7138         * search.c (Fsearch_forward):
7139         (Fsearch_backward):
7140         Document negative count.
7141
7142 2003-09-13  Stephen J. Turnbull  <stephen@xemacs.org>
7143
7144         * regex.c (re_max_failures): Bump to 20000 for REGEX_MALLOC, too.
7145
7146 2003-09-13  Martin Buchholz  <martin@xemacs.org>
7147
7148         * s/sol2.h: Use OS_RELEASE=os_release_major*100+os_release_minor
7149
7150 2003-09-15  Vin Shelton  <acs@xemacs.org>
7151
7152         * .gdbinit (pobj): Remove Ilya's fix that was only intended for
7153         21.5.
7154
7155 2003-09-12  Yoshiki Hayashi  <yoshiki@xemacs.org>
7156
7157         * regex.c (TRANSLATE_EXTENDED_UNSAFE): Remove.
7158         (re_search_2): Match the first byte of Bufbyte, not Emchar.
7159         (re_match_2_internal): Use TRANSLATE instead of
7160         TRANSLATE_EXTENDED_UNSAFE.  The latter was a hack to bypass
7161         non-ASCII char case conversion.
7162
7163 2003-09-08  Mike Sperber  <mike@xemacs.org>
7164
7165         * symbols.c (Fvariable_binding_locus): Add, as per suggestion from
7166         RMS at: http://article.gmane.org/gmane.emacs.pretest.bugs/1010
7167
7168 2003-06-14  Ilya N. Golubev  <gin@mo.msk.ru>
7169
7170        * .gdbinit (pobj): fix printing of symbol name.
7171
7172 2003-08-01  Ilya N. Golubev  <gin@mo.msk.ru>
7173
7174         * frame-x.c (x_layout_widgets): When resizing is about to cause
7175         frame size slip, mark it for redisplay.
7176
7177 2003-08-18  Jerry James  <james@xemacs.org>
7178
7179         * opaque.h: Remove unused (X)OPAQUE_MARKFUN definitions.
7180
7181 2003-09-03  Vin Shelton <acs@xemacs.org>
7182
7183         * XEmacs 21.4.14 is released
7184
7185 2003-08-15  Stephen J. Turnbull  <stephen@xemacs.org>
7186
7187         * config.h.in (REGEX_MALLOC): Make it configure'able.
7188
7189 2003-08-14  Andrew Begel  <abegel@CS.Berkeley.EDU>
7190
7191         * config.h.in: Add HAVE_DYLD to indicate Darwin/MacOSX dynamic
7192         linking.
7193         * sysdll.c (dll_init):
7194         * sysdll.c (dll_open):
7195         * sysdll.c (dll_close):
7196         * sysdll.c (dll_function):
7197         * sysdll.c (dll_variable):
7198         * sysdll.c (dll_error):
7199         Add support for loading bundles using Darwin/MacOSX
7200         native API.
7201
7202 2003-08-12  Stephen J. Turnbull  <stephen@xemacs.org>
7203
7204         * process.c (start-process-internal): Document coding systems.
7205
7206 2003-07-30  Jerry James  <james@xemacs.org>
7207
7208         * sysdll.c: configure sets HAVE_DLD_INIT, not HAVE_INIT_DLD.
7209
7210 2003-07-31  René Kyllingstad  <listmailxemacs@kyllingstad.com>
7211
7212         * event-msw.c (mswindows_enqueue_mouse_button_event):
7213         * event-msw.c (mswindows_wnd_proc):
7214           enqueue button event when scrollwheel event isn't handled by 
7215           mswindows_handle_mousewheel_event, such as when the scrollbars
7216           are not showing.
7217
7218 2003-07-29  Stephen J. Turnbull  <stephen@xemacs.org>
7219
7220         * EmacsFrame.c (emacsFrameClassRec): Motif groks not XtCompress*.
7221
7222 2003-03-24  Stephen J. Turnbull  <stephen@xemacs.org>
7223
7224         * database.c (Fopen_database): Don't use DB_AUTO_COMMIT.
7225
7226 2003-03-21  Stephen J. Turnbull  <stephen@xemacs.org>
7227
7228         * regex.c (re_match_2_internal): Fix matching degenerate word
7229         boundaries.
7230
7231 2003-05-25  XEmacs Build Bot <builds@cvs.xemacs.org>
7232
7233         * XEmacs 21.4.13 is released
7234
7235 2003-03-20  Stephen J. Turnbull  <stephen@xemacs.org>
7236
7237         * config.h.in (INTPTR_T_IN_CYGWIN_TYPES_H): 
7238         * lisp.h (<inttypes.h>):
7239         Cygwin defines these types in <cygwin/types.h>.  Don't duplicate
7240         the definition.
7241
7242 2003-03-15  Martin Buchholz  <martin@xemacs.org>
7243
7244         * dumper.c (pdump_load): Pdump'ed XEmacs can't find its .dmp file.
7245         Scenario: Prepend ~/bin to PATH; then `mkdir ~/bin/xemacs'
7246         Result: "temacs can only be run in -batch mode."
7247         Fix: Check xemacs executable candidate for directory-ness.
7248
7249 2003-03-03  Robert Pluim  <rpluim@bigfoot.com>
7250
7251         * database.c: Don't use the u_int8_t etc typedefs on FreeBSD,
7252           they conflict with <sys/types.h>.
7253
7254 2003-02-14  Martin Buchholz  <martin@xemacs.org>
7255
7256         * database.c: Berkeley DB wants __STDC__ to be defined.
7257
7258 2003-02-13  Martin Buchholz  <martin@xemacs.org>
7259
7260         * EmacsFrame.c: Use symbolic name `NotUseful' in lieu of `0'.
7261
7262 2003-02-01  Martin Buchholz  <martin@xemacs.org>
7263
7264         * process-unix.c (unix_send_process): Fix C++ compile error.
7265
7266 2003-02-25  Andrew Begel  <abegel@cs.berkeley.edu>
7267
7268         * Added .dylib as an acceptable shared library file extension
7269         * to support MacOSX.
7270
7271 2003-02-01  Martin Buchholz  <martin@xemacs.org>
7272
7273         * EmacsFrameP.h (EmacsFramePart):
7274         Kludge to allow compiling with Motif1, but linking with Motif2.
7275
7276 2003-01-28  Martin Buchholz  <martin@xemacs.org>
7277
7278         * config.h.in (_ALL_SOURCE): Guard against multiple definition.
7279
7280
7281 2003-02-23  Stephen J. Turnbull  <stephen@xemacs.org>
7282
7283         * config.h.in (DLSYM_NEEDS_UNDERSCORE): Define on darwin.
7284
7285 2003-02-06  Andrew Begel  <abegel@CS.Berkeley.EDU>
7286
7287         * sysdll.c: Included lisp.h to define needed alloca_array.
7288
7289 2003-02-13  Martin Buchholz  <martin@xemacs.org>
7290
7291         Make XEmacs redisplay 10 times faster.
7292         If, that is, you're using a slow X connection and MoveOpaque.
7293         Use compress_exposure = XtExposeCompressMaximal | XtExposeNoRegion.
7294         Use compress_motion = TRUE.
7295         * EmacsFrame.c (emacsFrameClassRec): 
7296         * EmacsShell-sub.c (EMACS_SHELL_CLASS_REC):
7297         * EmacsManager.c (emacsManagerClassRec):
7298         * xintrinsicp.h: Make sure XtExposeNoRegion is defined.
7299
7300 2003-01-30  Vin Shelton  <acs@xemacs.org>
7301
7302         * s/linux.h (ORDINARY_LINK): define ORDINARY_LINK for linux.
7303
7304 2003-01-17  Stephen J. Turnbull  <stephen@xemacs.org>
7305
7306         * glyphs-eimage.c (tiff_memory_seek): Lobotomize unsigned typedef.
7307         Patch by Martin Buchholz.
7308
7309 2003-01-16  Stephen J. Turnbull  <stephen@xemacs.org>
7310
7311         * glyphs-eimage.c (tiff_instantiate): Fix unsigned comparison.
7312         Thanks to icc for warning and Martin Buchholz for reporting.
7313
7314 2003-01-29  Vin Shelton <acs@xemacs.org>
7315
7316         Patch courtesy of Andrew Begel <abegel@cs.berkeley.edu>
7317
7318         * dynarr.c (Dynarr_realloc): memcpy copies number of bytes, so
7319         remember to multiply by the element size.
7320
7321 2003-01-15  Stephen J. Turnbull  <stephen@xemacs.org>
7322
7323         * XEmacs 21.4.12 "Portable Code" is released.
7324
7325 2003-01-14  Sergey Okhapkin <sos@prospect.com.ru>
7326
7327         * Makefile.in.in (ldflags): re-order sections for gcc 3.2.
7328         * s/cygwin.sc: new linker file.
7329
7330 2003-01-14  Stephen J. Turnbull  <stephen@xemacs.org>
7331
7332         Build fixes courtesy Martin Buchholz <martin@xemacs.org>:
7333
7334         * redisplay-x.c (x_output_string): Use X11-specified types.
7335         * syntax.c, syntax.h (SYNTAX_CODE): Use enum syntaxcode, not int.
7336         * emacs.c (__free_hook): Use typeof with Intel compiler.
7337         * config.h.in (alloca.h): Quick safe hack to please Intel compiler.
7338
7339 2003-01-08  Andy Piper  <andy@xemacs.org>
7340
7341         * unexcw.c (copy_executable_and_dump_data_section): Set the stack
7342         reserve size during unexec().
7343
7344 2003-01-07  Daiki Ueno  <daiki@xemacs.org>
7345
7346         * process-unix.c (unix_create_process): Don't let outchannel block.
7347
7348 2003-01-05  Rick Rankin  <rick_rankin@yahoo.com>
7349
7350         * emacs.c: Include "syswindows.h" when compiling under Cygwin.
7351         Needed for IsBadReadPtr().
7352
7353 2003-01-03  Stephen J. Turnbull  <stephen@xemacs.org>
7354
7355         * XEmacs 21.4.11 "Native Windows TTY Support" is released.
7356
7357 2002-12-14  Ben Wing  <ben@xemacs.org>
7358
7359         * callint.c: Declaration error.
7360         * dumper.c (pdump):
7361         * dumper.c (pdump_load): Warning fix.
7362         * process.c: GCPRO error.
7363         * glyphs.c (unmap_subwindow):
7364         * glyphs.c (map_subwindow): Parenthesizing errors with ! and &&.
7365         * event-stream.c (maybe_kbd_translate): Wrong argument to
7366         character_to_event().
7367
7368         * alloc.c (garbage_collect_1):
7369         * emacs.c:
7370         * emacs.c (debug_can_access_memory):
7371         * emacs.c (fatal_error_signal):
7372         * emacs.c (mswindows_handle_hardware_exceptions):
7373         * emacs.c (main_1):
7374         * emacs.c (main):
7375         * emacs.c (assert_failed):
7376         * emacs.c (syms_of_emacs):
7377         * lisp.h:
7378         * print.c:
7379         * print.c (std_handle_out_va):
7380         * print.c (write_string_to_stdio_stream):
7381         * print.c (write_fmt_string):
7382         * print.c (printing_badness):
7383         * print.c (printing_major_badness):
7384         * print.c (print_internal):
7385         * print.c (debug_print_no_newline):
7386         * print.c (debug_backtrace):
7387         Be more defensive in handling bad values when printing.  Add code
7388         from trunk involving inhibit_non_essential_printing_operations.
7389         When going down or in debug_print(), don't do external conversion
7390         and such and try really, really hard when printing to avoid core
7391         dumping.  Add force-debugging-signal, debug_break().
7392
7393 2002-12-12  Stephen J. Turnbull  <stephen@xemacs.org>
7394
7395         * dumper.c (pdump_load): Include sysdep.h; retry with truename.
7396         Analysis and original patch by Vin Shelton <acs@xemacs.org>.
7397
7398 2002-12-02  Greg Allen  <greg_allen@westlb-systems.co.uk>
7399
7400         * database.c: Fix open_database. Berkeley DB API has changed in
7401         4.1. see: http://www.sleepycat.com/docs/ref/upgrade.4.1/fop.html
7402
7403 2002-11-26  Stephen J. Turnbull  <stephen@xemacs.org>
7404
7405         * specifier.c (Fvalid_specifier_type_p): Typo in comment.
7406
7407 2002-11-13  Stephen J. Turnbull  <stephen@xemacs.org>
7408
7409         * event-Xt.c (Xt_timeout):
7410         (Xt_timeout_callback):
7411         (emacs_Xt_add_timeout):
7412         (emacs_Xt_remove_timeout):
7413         (Xt_timeout_to_emacs_event):
7414         Turn completed_timeouts from a stack into a queue.  Fixes
7415         deadlocks <15829.21626.171573.994716@sinisa.nasamreza.org>.
7416
7417 2002-11-07  Wolfram Gloger  <wg@malloc.de>
7418
7419         * alloc.c (reinit_alloc_once_early): Disable mmap in Doug Lea malloc.
7420         * emacs.c (main): Assert that mmap'd allocation is disabled.
7421
7422 2002-10-14  Andy Piper  <andy@xemacs.org>
7423
7424         * glyphs-widget.c (layout_query_geometry): add in fiddle
7425         factor. Include border text in width layout calculation.
7426         (layout_layout): use BORDER_FIDDLE_FACTOR instead of 10.
7427
7428 2002-11-02  Stephen J. Turnbull  <stephen@xemacs.org>
7429
7430         * XEmacs 21.4.10 "Military Intelligence" is released.
7431
7432 2002-10-17  Raymond Toy  <toy@rtp.ericsson.se>
7433
7434         * nas.c: Update for NAS 1.6 and later, from Jon Trulson.  Was
7435         using the NAS private array SoundFileInfo that no longer exists in
7436         NAS 1.6 and later.  Preserve backward compatibility with NAS 1.5a
7437         and earlier.  This is broken for some versions between 1.5a and
7438         1.5f.
7439
7440 2002-10-10  Stephen J. Turnbull  <stephen@xemacs.org>
7441
7442         * realpath.c (win32_readlink): Try to fix truename of wildcard bug.
7443
7444         * emacs.c (shut_down_emacs): Improve crash message.
7445
7446 2002-10-09  Stephen J. Turnbull  <stephen@xemacs.org>
7447
7448         * file-coding.c (determine_real_coding_system): Check for coding
7449         cookie in first LINES_TO_CHECK lines (currently 2).  Cater to
7450         shebangs and Python PEP 263.
7451
7452 2002-10-08  Andy Piper  <andy@xemacs.org>
7453
7454         * glyphs-widget.c (layout_query_geometry): only resize dynamically
7455         if static sizes haven't been set.
7456
7457 2002-08-30  Mike Alexander  <mta@arbortext.com>
7458
7459         * event-msw.c (winsock_closer): Use closesocket, not CloseHandle
7460         to close a socket.
7461
7462 2002-10-03  Stephen J. Turnbull  <stephen@xemacs.org>
7463
7464         * callproc.c (child_setup): 21.4 doesn't have retry_close.
7465
7466 2002-09-20  Mike Sperber <mike@xemacs.org>
7467
7468         (This partially gets back my patch from 2002-07-20 without the
7469         bug.)
7470         * callproc.c (child_setup): Remove Ben's comment noting confusion
7471         over the file descriptors >= 3: close_process_descs() doesn't
7472         close those.  Fix fd range to go up to MAXDESC-1 instead of 64.
7473         * process-unix.c (unix_create_process): Call
7474         begin_dont_check_for_quit to inhibit unwanted interaction (and
7475         thus breaking of X event synchronicity) in the child.
7476
7477 2002-09-26  Golubev I. N.  <gin@mo.msk.ru>
7478
7479         * frame-x.c (x_delete_frame): do not call XtDisplay on a destroyed
7480         widget.
7481
7482 2002-08-20  Ben Sigelman  <bhsigelm@cs.brown.edu>
7483
7484         * event-Xt.c (drain_X_queue): loop over while(XEventsQueued())
7485         instead of while(XtAppPending()&XtIMXEvent).  Upon a gdm logout,
7486         the xemacs process did not exit, but looped infinitely here.  This
7487         fixes that problem.
7488
7489 2002-09-28  Stephen J. Turnbull  <stephen@xemacs.org>
7490
7491         * font-lock.c (SYNTAX_START_STYLE, SYNTAX_END_STYLE): Quiet GCC.
7492         (find_context): Improve comments.
7493
7494         * regex.c (re_compile_fastmap):  Gratuitous #ifdef comment fixes.
7495         (re_match_2): An XCHAR_TABLE operation was missing.
7496
7497         Many of the following changes were inspired by Andy Piper's (now
7498         obsolete) patch to make syntax-table text property lookup optional.
7499
7500         [Documentation]
7501
7502         * syntax.h (top level): Document semantics of syntax flags.
7503         * syntax.c (comstr_start, Fforward_comment): Improve comments.
7504         * syntax.c, syntax.h (top level): Document syntax cache better in
7505         comments.
7506
7507         [Instrument syntax caching (temporary change)]
7508
7509         * syntax.h (enum syntax_cache_statistics_functions, struct
7510         syntax_cache_statistics, SCS_STATISTICS_SET_FUNCTION,
7511         SYNTAX_CACHE_STATISTICS_COUNT_INIT): New types and macros.
7512         * syntax.c (scan_words, Fforward_comment, scan_lists,
7513         Fbackward_prefix_characters):
7514         * font-lock.c (find_context):
7515         Use them to instrument syntax caching. 
7516         * syntax.c (struct syntax_cache_statistics, scs_statistics,
7517         syntax_cache_statistics_function_names): New type and variables.
7518         * syntax.c (update_syntax_cache): Update and report statistics.
7519
7520         [Major syntax cache optimizations]
7521
7522         syntax.c (lookup_syntax_properties): Default off.
7523
7524         * syntax.h (UPDATE_SYNTAX_INTERNAL): New, implements UPDATE_SYNTAX*.
7525         * syntax.c (update_syntax_cache):
7526         Move init test from update_syntax_cache to UPDATE_SYNTAX_INTERNAL.
7527
7528         [Minor syntax cache optimizations and code clarifications]
7529
7530         * syntax.h (SYNTAX_COMMENT_BITS, SYNTAX_START_P, SYNTAX_END_P,
7531         SYNTAX_STYLES_MATCH_START_P, SYNTAX_STYLES_MATCH_1CHAR_P,
7532         SYNTAX_STYLES_MATCH_END_P, STYLE_FOUND_1CHAR_P, STYLE_FOUND_P,
7533         SYNTAX_COMMENT_MASK_END, SYNTAX_COMMENT_MASK_START,
7534         SYNTAX_COMMENT_1CHAR_MASK): Remove redundant argument `table'.
7535         (Code clarification.)
7536
7537         * syntax.c (scan_words, find_end_of_comment, scan_sexps_forward,
7538         scan_lists): Compute code from syncode, use Boolean macros instead
7539         of redundant masking operations.  (Code clarification; any decent
7540         compiler can do this optimization.)
7541
7542         * syntax.c (scan_lists): Rearrange switches (case Sstring_fence)
7543         for clarity.
7544
7545         * syntax.h, syntax.c (NEXT_SINGLE_PROPERTY_CHANGE,
7546         PREVIOUS_SINGLE_PROPERTY_CHANGE, update_syntax_cache): Conditionally
7547         use F*_single_property_change instead of F*_extent_change.
7548         Currently F*_single_property_change is _much_ less efficient.
7549
7550         * dired.c (Fdirectory_files): Qt not valid in syntax_cache.object.
7551         * syntax.h (SETUP_SYNTAX_CACHE_FOR_OBJECT):  Initialize
7552         syntax_cache.object properly, don't leave Qt or Qnil.
7553         (SYNTAX_CACHE_BYTE_TO_CHAR): Use SETUP_SYNTAX_CACHE_FOR_OBJECT.
7554         * syntax.c (update_syntax_cache): Use BUFFERP and STRINGP, not
7555         tests for Qt or Qnil.
7556
7557 2002-09-21  Stephen J. Turnbull  <stephen@xemacs.org>
7558
7559         * redisplay.c (point_in_line_start_cache): 
7560         * extents.c (print_extent_1):
7561         Fix warnings.
7562
7563         * extents.c (Fset_extent_property): Document `syntax-table' property.
7564
7565         * extents.h (Fnext_single_property_change): EXFUN it.
7566
7567 2002-09-09  Stephen J. Turnbull  <stephen@xemacs.org>
7568
7569         * search.c (clear_unused_search_regs): New static function.
7570         (search_buffer): 
7571         (simple_search): 
7572         (boyer_moore):
7573         Use it.  Fixes "stale match data" bug reported by Martin Stjernholm.
7574         Minor clarifications in comments.
7575
7576         * regex.c (re_match_2_internal): Ensure no stale submatches.
7577
7578 2002-09-09  Stephen J. Turnbull  <stephen@xemacs.org>
7579
7580         * event-Xt.c (enqueue_focus_event): Add missing prototype.
7581
7582 2002-08-29  Jerry James  <james@xemacs.org>
7583
7584         * lisp.h: structrures -> structures.
7585
7586 2002-06-03  Andy Piper  <andy@xemacs.org>
7587
7588         * frame.c (frame_conversion_internal): add conversion appropriate
7589         for setting frame dimensions in pixels.
7590
7591         * console.h (struct console_methods): add device-specific widget
7592         layout functions.
7593
7594         * emacs.c (main_1): initialize glyph vars.
7595
7596         * event-Xt.c (handle_focus_event_1): call handle_focus_event_2
7597         (handle_focus_event_2): new function. Allow focus to
7598         be set to a particular window and widget.
7599         (enqueue_focus_event): new function. Create a
7600         synthetic focus event.
7601         (emacs_Xt_handle_magic_event): call
7602         handle_focus_event_2.
7603
7604         * frame.c (Fset_frame_pixel_height): new function. Allow
7605         pixel-based sizing. Does the right thing on character-oriented
7606         displays.
7607         (Fset_frame_pixel_width): ditto.
7608         (Fset_frame_pixel_size): ditto.
7609         (syms_of_frame): declare.
7610
7611         * general-slots.h: add :vertically-justify and
7612         :horizontally-justify.
7613
7614         * glyphs-msw.c (xbm_create_bitmap_from_data): warning fix.
7615         (mswindows_widget_border_width): new function.
7616         (mswindows_combo_box_instantiate): set border widths.
7617         (console_type_create_glyphs_mswindows): declare.
7618
7619         * glyphs-widget.c:
7620         (check_valid_justification): allow vertical and horizontal
7621         justification.
7622         (widget_border_width): new function. Call device methods.
7623         (widget_instance_border_width): ditto.
7624         (logical_unit_height): new function. Determine the height of a
7625         logical-unit. Logical units are intended to provide grid-like
7626         layout for subcontrols in a layout. If the layout is
7627         :vertically-justify top then subcontrols will be positioned on
7628         logical-unit boundaries, thus allowing adjacent subcontrols to
7629         line up.
7630         (widget_logical_unit_height): ditto for widgets.
7631         (redisplay_widget): misc cleanup.
7632         (widget_spacing): new function. Call device specific
7633         methods. Intended to be the default gap between adjacent widgets.
7634         (widget_query_geometry): use new spacing functions to determine
7635         appropriate geometry.
7636         (initialize_widget_image_instance): initialize horizontal and
7637         vertical justification.
7638         (widget_instantiate): use logica-units where appropriate for
7639         sizing large widgets.
7640         (button_query_geometry): use widget_instance_border_width.
7641         (tree_view_query_geometry): ditto.
7642         (tab_control_query_geometry): ditto.
7643         (edit_field_query_geometry): new function.
7644         (layout_update): pick up :justify, :horizontally-justify and
7645         :vertically-justify none of which worked previously. :justify is
7646         used as a fallback for both horizontal and vertical justification.
7647         (layout_query_geometry): use logical units to size appropriately.
7648         (layout_layout): ditto.
7649         (Fwidget_logical_to_character_width): new function. Allow users to
7650         convert from logical units to characters so that frame sizes can
7651         be set appropriately.
7652         (Fwidget_logical_to_character_height): ditto.
7653         (syms_of_glyphs_widget): declare.
7654         (image_instantiator_edit_fields): add edit_field_query_geometry.
7655         (VALID_LAYOUT_KEYWORDS): declare :vertically-justify and
7656         :horizontally-justify.
7657         (specifier_vars_of_glyphs_widget): new function. Declare
7658         Vwidget_border_width which is not yet used.
7659
7660         * glyphs-x.c (x_map_subwindow): enqueue appropriate focus events.
7661         (x_widget_border_width): new function.
7662         (x_widget_instantiate): create a sensible name for widgets.
7663         (console_type_create_glyphs_x): declare x_widget_border_width.
7664
7665         * glyphs.h (DEFAULT_WIDGET_BORDER_WIDTH): new macro.
7666         (struct Lisp_Image_Instance): add :vertically-justify and
7667         :horizontally-justify.
7668         (LAYOUT_JUSTIFY_TOP): new.
7669         (IMAGE_INSTANCE_SUBWINDOW_H_JUSTIFY): new.
7670         (ROUND_UP): new macro. Round argument up to next integral
7671         interval.
7672
7673         * redisplay-output.c (redisplay_output_layout): misc formatting.
7674
7675         * symsinit.h: declare specifier_vars_of_glyphs_widget.
7676
7677 2002-08-23  Stephen J. Turnbull  <stephen@xemacs.org>
7678
7679         * XEmacs 21.4.9 "Informed Management" is released.
7680
7681 2002-08-19  Andy Piper  <andy@xemacs.org>
7682
7683         * fileio.c (Ffile_truename): on cygwin using win32 normalize to
7684         win32 format.
7685
7686         * realpath.c (xrealpath): normalize drive spec also so that dir
7687         sep chars are not mixed on cygwin.
7688
7689 2002-08-06  Jerry James  <james@xemacs.org>
7690
7691         * window.c (Fsplit_window): Count only half of the divider width
7692         against the left window when splitting horizontally. 
7693
7694 2002-06-24  Andy Piper  <andy@xemacs.org>
7695
7696         * toolbar-gtk.c (GTK_OUTPUT_BUTTONS_LOOP): output button if whole
7697         toolbar was cleared.
7698
7699         * toolbar-msw.c (mswindows_clear_frame_toolbars): new
7700         function. Split out from mswindows_output_frame_toolbars.
7701         (mswindows_output_frame_toolbars): move clear pieces to
7702         mswindows_output_frame_toolbars.
7703
7704         * toolbar-gtk.c (gtk_clear_frame_toolbars): new function. Split
7705         out from gtk_output_frame_toolbars.
7706         (gtk_output_frame_toolbars): move clear pieces to
7707         gtk_clear_frame_toolbars.
7708
7709         * toolbar-x.c (X_OUTPUT_BUTTONS_LOOP): always output buttons when
7710         the frame is cleared. How this ever worked before is a mystery.
7711         (x_output_frame_toolbars): Only output toolbars.
7712         (x_clear_frame_toolbars): new. Clear previous toolbar locations.
7713
7714         * gutter.c (update_gutter_geometry):
7715         Mark frame layout changed.
7716         (update_frame_gutter_geometry, update_frame_gutters):
7717         Respect frame_layout_changed.
7718
7719         * console.h (struct console_methods): add
7720         clear_frame_toolbars_method.
7721
7722         * redisplay.c (redisplay_frame): call
7723         update_frame_toolbars_geometry and re-order update_frame_toolbars.
7724
7725         * toolbar.h: declare update_frame_toolbars_geometry.
7726
7727         * toolbar.c (update_frame_toolbars_geometry): new function. Split
7728         out from update_frame_toolbars.  Call clear_frame_toolbars.
7729         (update_frame_toolbars): only output, do not change geometry.
7730
7731         * redisplay.c: add frame_layout_changed.
7732
7733         * redisplay.h: add frame_layout_changed.
7734         (CLASS_RESET_CHANGED_FLAGS): set it.
7735         (GLOBAL_RESET_CHANGED_FLAGS): ditto.
7736         (CLASS_REDISPLAY_FLAGS_CHANGEDP): test it.
7737         (GLOBAL_REDISPLAY_FLAGS_CHANGEDP): ditto.
7738
7739         * device.h (struct device): add frame_layout_changed.
7740         (MARK_DEVICE_FRAME_LAYOUT_CHANGED): new.
7741
7742         * frame.h (struct frame): add frame_layout_changed.
7743         (MARK_FRAME_LAYOUT_CHANGED): new.
7744
7745 2002-06-30  Mike Alexander  <mta@arbortext.com>
7746
7747         * event-msw.c (mswindows_need_event): Don't wait for a new message
7748         if the queue is not empty.  Suggested by Paul Moore.
7749
7750 2002-06-12  Andy Piper  <andy@xemacs.org>
7751
7752         * frame-msw.c (msprinter_init_frame_3): calculate the frame size
7753         for printing on accurately.
7754
7755 2002-06-09  Rick Rankin <rick_rankin@yahoo.com>
7756
7757         * event-msw.c (mswindows_wnd_proc): Add a handler for the
7758         WM_ACTIVATE message. Make sure that the frame is visible if the
7759         window is visible. This seemss to fix the problem where XEmacs
7760         appears to freeze after switching desktops with certain virtual
7761         window managers.
7762         (debug_output_mswin_message): Added code to output message
7763         parameters for WM_WINDOWPOSCHANGED, 
7764         WM_WINDOWPOSCHANGING, WM_MOVE, and WM_SIZE messages.
7765
7766 2002-05-25  Andy Piper  <andy@xemacs.org>
7767
7768         * select-x.c (vars_of_select_x): Fix docstring of
7769         x-selection-strict-motif-ownership
7770
7771 2002-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
7772
7773         * keymap.c (get_keymap):
7774         Add comment about do_autoload GCPROs own args.
7775
7776 2002-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
7777
7778         * bytecode.c (execute_optimized_program): check_opcode ifdef
7779         ERROR_CHECK_BYTE_CODE.
7780
7781 2002-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
7782
7783         Thanks to Ben Wing and Michael Sperber.
7784
7785         * eval.c (Fcommand_execute):
7786         (Feval):
7787         (Ffuncall):
7788         (Fmacroexpand_internal):
7789         (function_argcount):
7790         callint.c (Fcall_interactively):
7791         Add comment about do_autoload GCPROs own args.
7792
7793         * (do_autoload): GCPRO both args as well as local Lisp_Object.
7794
7795         * eval.c (Ffuncall): Extra braces to placate GCC.
7796
7797 2002-08-10  Stephen J. Turnbull  <stephen@xemacs.org>
7798
7799         * backtrace.h (grow_specpdl):
7800         (SPECPDL_RESERVE):
7801         * EmacsFrame.c (EmacsFrameSetValues):
7802         * eval.c (grow_specpdl):
7803         * ExternalShell.c (hack_event_masks_1):
7804         * glyphs-x.c (convert_EImage_to_XImage): 
7805         (x_finalize_image_instance):
7806         * ralloc.c (page_size):
7807         (r_alloc_sbrk):
7808         * xgccache.c (gc_cache_hash):
7809         Fix unsigned comparison warnings.
7810
7811 2002-07-29  Jerry James  <james@xemacs.org>
7812
7813         * lread.c (locate_file): Any nonnegative return value indicates
7814         success if MODE is nonnegative.
7815
7816 2002-08-03  Brian A Palmer  <bpalmer@rescomp.Stanford.EDU>
7817
7818         * emacs.c (Fsplit_string_by_char): Make 2nd arg SEPCHAR a required
7819         argument. 
7820
7821 2002-07-17  Stephen J. Turnbull  <stephen@xemacs.org>
7822
7823         * process-unix.c (unix_send_process): #ifdef the coding_stream member.
7824
7825         * dumper.c (pdump_get_indirect_count):
7826         (pdump_scan_by_alignment):
7827         (pdump_dump_root_struct_ptrs):
7828         (pdump_dump_rtables):
7829         (pdump_dump_root_objects):
7830         (pdump):
7831         * nas.c (WaveOpenDataForReading):
7832         * fns.c (print_bit_vector):
7833         * font-lock.c (SINGLE_SYNTAX_STYLE):
7834         * glyphs.c (check_for_ignored_expose):
7835         (find_matching_subwindow):
7836         * glyphs-eimage.c:
7837         * imgproc.c (get_histogram):
7838         * redisplay.c (point_in_line_start_cache):
7839         * redisplay-output.c (redisplay_unmap_subwindows):
7840         * symbols.c (defsymbol_massage_name_1):
7841         (defkeyword_massage_name):
7842         (deferror_massage_name_and_message):
7843         * redisplay-x.c (x_output_string): 
7844         * emacs.c (run_temacs_argv_size, run_temacs_args_size):
7845         * frame.h (struct frame):
7846         * filelock.c (current_lock_owner):
7847         * doprnt.c (emacs_doprnt_1):
7848         * lisp.h (struct Lisp_Bit_Vector):
7849         (DO_REALLOC):
7850         Fix warnings.
7851
7852 2002-02-13  Ben Wing  <ben@xemacs.org>
7853
7854         * event-stream.c (reset_key_echo):
7855         * event-stream.c (reset_this_command_keys):
7856         * event-stream.c (execute_command_event):
7857         If console is dead as a result of C-x 5 0, then post-command stuff
7858         needs to be careful and do only non-console-specific stuff.
7859
7860 2002-07-01  Mike Sperber <mike@xemacs.org>
7861
7862         * process-unix.c (unix_send_process): Mark coding_outstream as
7863         non-open upon SIGPIPE.
7864
7865         * event-stream.c (Fnext_event): Reorder switch cases to something
7866         that makes sense.
7867
7868 2001-08-13  Dmitry Astapov  <adept@umc.com.ua>
7869
7870         * event-Xt.c (maybe_define_x_key_as_self_inserting_character):
7871         Don't bogusly reinitialize ascii_character property.
7872
7873 2002-07-08  Mike Sperber <mike@xemacs.org>
7874
7875         * process.c (Fstart_process_internal): Do error checking before we
7876         fork off the child, so the child can't muck with the state of the
7877         parent.
7878
7879 2002-07-08  Mike Sperber <mike@xemacs.org>
7880
7881         * ralloc.c (init_ralloc): Allocate properly for pdump.
7882
7883 2002-06-12  Andy Piper  <andy@xemacs.org>
7884
7885         * glyphs.c (query_string_geometry): check the string.
7886
7887         * glyphs-widget.c (widget_logical_unit_height): cope with nil
7888         widget names.
7889
7890 2002-06-17  Jerry James  <james@xemacs.org>
7891
7892         * sysdll.c: Remove RTLD_GLOBAL initialization.
7893         * sysdll.c (dll_open): Do not use RTLD_GLOBAL.
7894
7895 2002-06-25  Stephen J. Turnbull  <stephen@xemacs.org>
7896
7897         * search.c (skip_chars): Port Ben's crash fix and efficiency patch.
7898
7899 2002-05-16  Mathias Grimmberger  <mgri@zaphod.sax.de>
7900
7901         * sysdep.c (sys_rename): Make sys_rename work for the case where
7902         Windows rename sets errno to EACCES if target file exists.
7903
7904 2002-05-21  Jonathan Harris  <jonathan@xemacs.org>
7905
7906         * device-msw.c (mswindows_handle_page_setup_dialog_box):
7907         Fix detection of metric units to work on Win95
7908
7909 2002-05-21  Stephen J. Turnbull  <stephen@xemacs.org>
7910
7911         * syswindows.h: #define LOCALE_RETURN_NUMBER.  Why, I don't know.
7912
7913 2002-04-25  Andy Piper  <andy@xemacs.org>
7914
7915         * redisplay.c (create_text_block): Remove extra comment trailer.
7916
7917 2002-04-24  Andy Piper  <andy@xemacs.org>
7918
7919         * redisplay.c (create_text_block): Don't actually add propagation
7920         data if the line ends after we have added a glyph.
7921
7922 2002-04-22  Andy Piper  <andy@xemacs.org>
7923
7924         * extents.c (extent_fragment_update): check for glyphs we have
7925         previously displayed.
7926         * extents.c (print_extent_1): warning removal.
7927         * extents.h: change prototype.
7928         * redisplay-output.c (redisplay_normalize_glyph_area): calculate
7929         widths correctly for wide glyphs.
7930         * redisplay.c (position_redisplay_data_type): add end_glyph_width.
7931         * redisplay.c (prop_type): add PROP_GLYPH.
7932         * redisplay.c (struct prop_block): add glyph type
7933         * redisplay.c (add_glyph_rune): when adding part of a glyph add it
7934         to the propagation data.
7935         * redisplay.c (create_text_block): if there is a glyph in the
7936         propagation data use it to salt extent_fragment_update.
7937         * redisplay.c (create_string_text_block): ditto.
7938
7939 2002-04-13  Nix  <nix@esperi.demon.co.uk>
7940
7941         * redisplay.h (struct rune): Add ascent, descent, and yoffset fields.
7942         * redisplay-output.c (compare_runes): Compare them.
7943         * redisplay.c: Update copyright date.
7944         * redisplay.c (pos_data): Add need_baseline_computation field.
7945         * redisplay.c (add_glyph_rune): Update ascent, descent, and
7946         need_baseline_computation; zero yoffset. Set max_pixmap_height
7947         for all pixmaps, not just automatically positioned ones.
7948         * redisplay.c (calculate_yoffset): New, compute yoffset values.
7949         * redisplay.c (calculate_baseline): New, compute textual baseline.
7950         * redisplay.c (add_glyph_rune): Call them.
7951         * redisplay.c (create_text_block): Likewise.
7952         * redisplay.c (create_overlay_glyph_block): Likewise.
7953         * redisplay.c (add_margin_runes): Likewise.
7954         * redisplay.c (create_string_text_block): Likewise. Fix tabdamage.
7955
7956         * redisplay.h: (redisplay_calculate_display_boxes): Change prototype.
7957         * redisplay-output.c (redisplay_calculate_display_boxes): Use yoffset.
7958         * redisplay-msw.c (mswindows_output_blank): Pass 0 as yoffset.
7959         * redisplay-msw.c (mswindows_output_string): Likewise.
7960         * redisplay-msw.c (mswindows_output_display_block): Pass yoffset.
7961         * redisplay-gtk.c (gtk_output_display_block): Likewise.
7962         * redisplay-x.c (x_output_display_block): Likewise.
7963
7964 2002-03-28  Ben Wing  <ben@xemacs.org>
7965
7966         * redisplay.c: Fixed bug in redisplay
7967         w.r.t. hscroll/truncation/continuation glyphs causing jumping up
7968         and down of the lines, since they're bigger than the line
7969         size. (It was seen most obviously when there's a horizontal scroll
7970         bar, e.g. do C-h a glyph or something like that.) The problem was
7971         that the glyph-contrib-p setting on glyphs was ignored even if it
7972         was set properly, which it wasn't until now.
7973
7974 2002-04-24  Andy Piper  <andy@xemacs.org>
7975
7976         * lisp.h (Dynarr_end): Fix definition.
7977
7978 2002-02-06  Adrian Aichner  <adrian@xemacs.org>
7979
7980         * redisplay.c (mark_redisplay): Remove call to
7981         update_frame_window_mirror.
7982
7983 2001-11-15  Andy Piper  <andy@xemacs.org>
7984
7985         * win32.c (Fmswindows_shell_execute): fix handling of URL's under
7986         cygwin (again).
7987
7988 2002-02-13  Andy Piper  <andy@xemacs.org>
7989
7990         * event-msw.c (mswindows_wnd_proc): only mark the frame visible if
7991         we did in fact enqueue the XM_MAPFRAME event.
7992
7993 2002-01-15  Adrian Aichner  <adrian@xemacs.org>
7994
7995         * event-msw.c (mswindows_wnd_proc): Add handling of WM_SHOWWINDOW
7996         to fix problem switching between virtual desktops under virtuawin
7997         virtual window manager.
7998
7999 2001-07-30  Adrian Aichner  <adrian@xemacs.org>
8000
8001         * event-msw.c: Typo fix.
8002         * event-msw.c (mswindows_wnd_proc): Set FRAME_VISIBLE_P after
8003         magic XM_MAPFRAME event has been sent.
8004
8005 2001-11-23  Andy Piper  <andy@xemacs.org>
8006
8007         * event-msw.c (mswindows_wnd_proc): Don't pump mousewheel events.
8008
8009 2001-11-21  Andy Piper  <andy@xemacs.org>
8010
8011         * scrollbar-msw.c (mswindows_handle_mousewheel_event): cope with
8012         mouse events outside the frame.
8013
8014 2002-03-20  Andy Piper  <andy@xemacs.org>
8015
8016         * menubar-msw.c (mswindows_popup_menu): warning removal.
8017         * dialog-msw.c (dialog_popped_down): ditto.
8018
8019 2001-12-11  Andy Piper  <andy@xemacs.org>
8020
8021         * dialog-msw.c (dialog_popped_down): new function. unset popup_up_p.
8022         * dialog-msw.c (mswindows_make_dialog_box_internal): set
8023         popup_up_p.
8024         * menubar-msw.c (unsafe_handle_wm_initmenupopup_1): ditto.
8025         * menubar-msw.c (mswindows_handle_wm_command): ditto.
8026         * menubar-msw.c (mswindows_popup_menu): ditto.
8027
8028 2001-10-29  Andy Piper  <andy@xemacs.org>
8029
8030         * dialog-msw.c (handle_directory_dialog_box): quit if the user
8031         cancels.
8032
8033 2002-01-03  Andy Piper  <andy@xemacs.org>
8034
8035         * realpath.c (ABS_LENGTH): dtrt for cygwin systems using drive
8036         letters.
8037         (xrealpath): ditto.
8038
8039 2002-03-29  Jonathan Harris  <jonathan@xemacs.org>
8040
8041         * device-msw.c (plist_get_margin): Add arg specifying mm or inches
8042         * device-msw.c (plist_set_margin): Fix multiplicand used for mm
8043         * device-msw.c (mswindows_handle_page_setup_dialog_box):
8044         Detect and handle case where machine is set up for metric units
8045
8046 2002-04-02  Andy Piper  <andy@xemacs.org>
8047
8048         * dired-msw.c (mswindows_get_files): 
8049         * nt.c (mswindows_stat): SetErrorMode() so that file errors are
8050         completely handled by XEmacs. Suggested by Thomas Vogler
8051         <mail@thomas-vogler.de>.
8052
8053 2001-11-14  Andy Piper  <andy@xemacs.org>
8054
8055         * nt.c (REG_ROOT): change registry key to XEmacs.
8056
8057 2002-04-27  Andy Piper  <andy@xemacs.org>
8058
8059         * glyphs-msw.c (mswindows_widget_instantiate): remove dead-code.
8060
8061 2002-04-26  Andy Piper  <andy@xemacs.org>
8062
8063         * glyphs-msw.c (mswindows_map_subwindow): observe :initial-focus
8064         behavior.
8065
8066 2002-03-14  Mike Alexander  <mta@arbortext.com>
8067
8068         * event-msw.c (mswindows_unwait_process): New, remove process from
8069         wait list
8070         * process-nt.c (nt_finalize_process_data): Call
8071         mswindows_unwait_process
8072         * console-msw.h: Declare mswindows_unwait_process
8073
8074 2002-05-14  Stephen J. Turnbull  <stephen@xemacs.org>
8075
8076         * editfns.c (Fdecode_time):
8077         (Fformat_time_string):
8078         Check for invalid time.  Thanks to Nick Pakoulin <npak@ispras.ru>.
8079         (make_time): Warning elimination (change arg name).
8080
8081 2001-11-24  Andy Piper  <andy@xemacs.org>
8082
8083         * window.c (Fsplit_window): Doc return type.
8084
8085 2002-04-01  Andy Piper  <andy@xemacs.org>
8086
8087         * emacs.c (Fkill_emacs): Only output message box in interactive
8088         mode.
8089
8090 2002-04-26  Andy Piper  <andy@xemacs.org>
8091  
8092         * config.h.in: pull in 21.5.x change to stop alloca warnings under
8093         cygwin.
8094
8095 2002-03-18  Gregory Steuck  <greg-xemacs-patch@nest.cx>
8096
8097         * unexelf.c:  Use ELFSIZE or define from _LP64 to indicate a 64
8098         bit platform.
8099
8100 2002-05-09  Stephen J. Turnbull  <stephen@xemacs.org>
8101
8102         * XEmacs 21.4.8 "Honest Recruiter" is released.
8103
8104 2002-05-07  Nix  <nix@esperi.demon.co.uk>
8105
8106         Supersedes 2002-04-17 patch.
8107
8108         * process.h (PROCESS_LIVE_P): Use the process status as
8109         evidence of health, not the state of the input stream.
8110         (PROCESS_READABLE_P): Say if the process is readable
8111         from. (It may be dead nonetheless.)
8112         (CHECK_READABLE_PROCESS): Test for that condition.
8113
8114         * process.c (create_process): Use PROCESS_READABLE_P.
8115         (read_process_output, set_process_filter): Likewise.
8116
8117         * process.c (Fprocess_input_coding_system): Use CHECK_READABLE_PROCESS.
8118         (Fset_process_input_coding_system, Fprocess_coding_system): Likewise.
8119
8120         This code is #if 0'd, this is not the time to add new functions:
8121
8122         * process.c (Fprocess_readable_p): Report readability status.
8123         * process.c (Qprocess_readable_p): New, associated symbol...
8124         * process.c (syms_of_process): ... initialize it.
8125
8126 2002-05-04  Stephen J. Turnbull  <stephen@xemacs.org>
8127
8128         * XEmacs 21.4.7 "Economic Science" is released.
8129
8130 2002-04-17  Nix  <nix@esperi.demon.co.uk>
8131
8132         * process.h (PROCESS_LIVE_P): Use the process status as
8133         evidence of health, not the state of the input stream.
8134
8135 2002-04-30  Charles G. Waldman <cgw@xemacs.org>
8136
8137         * sysdep.c (sys_siglist): change "signum" to "signal"
8138
8139 2001-04-21  Martin Buchholz  <martin@xemacs.org>
8140
8141         * s/darwin.h: New file.
8142         Thanks to Greg Parker <gparker@cs.stanford.edu>.
8143         
8144 2002-04-23  Andreas Jaeger  <aj@suse.de>
8145
8146         * s/linux.h (LIB_STANDARD): Define correctly for x86-64 and s390x
8147         which use lib64 for 64-bit libs.
8148         (START_FILES): Likewise.
8149
8150 2002-02-11  Mike Sperber  <mike@xemacs.org>
8151
8152         * device-x.c: 
8153         (x_IO_error_handler):
8154         (x_init_device): Temporarily keep device in static variable
8155         `device_being_initialized' so we can recover gracefully from
8156         internal XOpenDevice failure.  (XOpenDevice is documented to
8157         return NULL on failure, but sometimes calls the IO error handler
8158         instead.)
8159
8160 2002-01-31  John H. Palmieri  <palmieri@math.washington.edu>
8161
8162         * dired.c (Ffile_name_all_completions): Change documentation --
8163         remove reference to completion-ignored-extensions.
8164         * dired.c (vars_of_dired): Change documentation for
8165         completion-ignored-extensions -- remove reference to
8166         file-name-all-completions.
8167
8168 2002-03-06  Jerry James  <james@xemacs.org>
8169
8170         * emodules.c (emodules_load): Fix multiple loading of same module.
8171
8172 2002-01-25  Andrew Begel <abegel@cs.berkeley.edu>
8173         * sysdll.c (dll_open): Changed to use RTLD_NOW instead of
8174         RTLD_LAZY to avoid incorrect symbol binding when using nested
8175         shared libraries on Solaris.
8176
8177 2002-02-12  Stephen J. Turnbull  <stephen@xemacs.org>
8178
8179         * fileio.c (Ffind_file_name_handler): Improve docstring.
8180
8181 2002-01-20  Stephen J. Turnbull  <stephen@xemacs.org>
8182
8183         * fns.c (Fmapconcat): Improve docstring.
8184
8185 2002-01-03  Eric Gillespie, Jr.  <epg@pretzelnet.org>
8186
8187         * device-gtk.c: Add prototype for
8188         emacs_gtk_selection_clear_event_handle.
8189         (gtk_init_device): Call gtk_selection_add_target for CLIPBOARD
8190         selection.  Setup signal handler for "selection_clear_event"
8191         (emacs_gtk_selection_clear_event_handle).
8192
8193         * select-gtk.c (emacs_gtk_selection_clear_event_handle): Handle
8194         other applications owning the clipboard (based on
8195         x_handle_selection_clear).
8196
8197 2001-12-23  William M. Perry  <wmperry@gnu.org>
8198
8199         * menubar-gtk.c (gtk_popup_menu)  Add sanity checks, fix crash.
8200         
8201 2002-01-04  Martin Buchholz  <martin@xemacs.org>
8202
8203         * keymap.c (define_key_alternate_name): Parenthesize EQ.
8204
8205 2001-12-17  Stephen J. Turnbull  <stephen@xemacs.org>
8206
8207         * XEmacs 21.4.6 "Common Lisp" is released.
8208
8209 2001-12-16  Torsten Duwe  <duwe@caldera.de>
8210
8211         * search.c (Freplace_match): Add missing sub-expression functionality.
8212
8213         * buffer.c (decode_buffer): Add a check for pointer type to
8214         decode_buffer, before gcc's CSE optimization reorders a
8215         dereference in front of the allow_string test.
8216
8217 2001-11-16  Darryl Okahata  <darrylo@xemacs.org>
8218
8219         * window.c (window_loop): Fix bug that sometimes prevented
8220         window_loop() from iterating across multiple devices.  Also, at
8221         Ben's request, changed infloop-detecting code to abort() instead
8222         of silently terminating window_loop().
8223
8224 2001-11-21  Stephen J. Turnbull  <stephen@xemacs.org>
8225
8226         Based on analysis and patch by Simon Josefson <jas@extundo.com>.
8227         * editfns.c (make_time): New function.
8228         (Fencode_time): Use it instead of wasteful_word_to_lisp.
8229         * lisp.h (make_time): Prototype and comment it.
8230         * dired.c (wasteful_word_to_lisp): Deprecate.
8231         (Ffile_attributes): Use make_time() instead of wasteful_word_to_lisp().
8232
8233 2001-10-31  Kyle Jones  <kyle_jones@wonderworks.com>
8234
8235         * fileio.c (auto_save_1): Use current coding system, not
8236         escape-quoted.
8237
8238 2001-11-13  Ben Wing  <ben@xemacs.org>
8239
8240         * window.c:
8241         * window.c (window_truncation_on):
8242         * window.c (syms_of_window):
8243         truncate-partial-width-windows should respect the buffer being
8244         displayed, like other redisplay vars.
8245
8246 2001-11-13  Hirokazu FUKUI  <hfukui@sannet.ne.jp>
8247
8248         * event-stream.c (Fread_key_sequence): save current buffer.
8249
8250 2001-10-29  Andrew Begel  <abegel@eecs.berkeley.edu>
8251
8252         * ntheap.c (_heap_init): Don't redefine in VS.NET (MSC >= 1300).
8253
8254 2001-10-29  Andrew Begel  <abegel@eecs.berkeley.edu>
8255
8256         * alloc.c (lcrecord_stats): Add space for types defined in modules.
8257
8258 2001-10-26  Mike Alexander  <mta@arbortext.com>
8259
8260         * event-msw.c (slurper_free_shared_data_maybe): Free the pipe handle.
8261
8262 2001-10-25  Andy Piper  <andy@xemacs.org>
8263
8264         * ChangeLog:
8265         * dialog-msw.c (handle_directory_proc): new function.
8266          (handle_directory_dialog_box): new fucntion.
8267          (handle_file_dialog_box): use new directory dialog support.
8268          (mswindows_make_dialog_box_internal): ditto.
8269         * event-msw.c (mswindows_wnd_proc): minor fix to scrollbar event
8270         handling.
8271         (mswindows_find_frame): make global.
8272         * fileio.c (Fexpand_file_name): build fix.
8273         * general-slots.h: add Qdirectory.
8274         * scrollbar-msw.c (mswindows_handle_scrollbar_event): fix focus
8275         handling.
8276         * syswindows.h (LOCAL_TO_WIN32_FILE_FORMAT): fix problem with
8277         cygwin not leaving win32 paths unchanged.
8278         * win32.c (Fmswindows_cygwin_to_win32_path): new function. Use the
8279         cygwin runtime to do path conversion.
8280         (Fmswindows_shell_execute): fix cygwin handling of URLs.
8281         (syms_of_win32): add new function.
8282         * window.c (window_loop): build fix.
8283
8284 2001-10-15  Andy Piper  <andy@xemacs.org>
8285
8286         (Fmswindows_shell_execute): fix handling of URL's under cygwin.
8287
8288 2001-10-23  Stephen J. Turnbull  <stephen@xemacs.org>
8289
8290         * XEmacs 21.4.5 "Civil Service" is released.
8291
8292 2001-04-08  Danny Colascione  <qtmstr@optonline.net>
8293
8294         * glyphs-x.c: Force buffer-tab highlight update when moving the
8295         buffer, avoiding an ugly black border, used for keyboard focus
8296         indication, on a widget that can never have keyboard focus, the
8297         buffer tab.
8298
8299 2001-08-30  Daiki Ueno  <ueno@unixuser.org>
8300
8301         * process-unix.c (unix_open_multicast_group): Remove too much
8302         conversion between host and network byte order.
8303
8304 2001-09-10  Nix  <nix@esperi.demon.co.uk>
8305
8306         * src/buffer.c (kill_buffer): Undedicate windows showing BUF
8307         before replacing them.
8308
8309         * src/window.c (window_loop): Implement new UNDEDICATE_BUFFER
8310         operation.
8311
8312         * src/window.c (undedicate_windows): Use it.
8313         * src/window.h: Add prototype.
8314
8315 2001-09-17  Ben Wing  <ben@xemacs.org>
8316
8317         * fileio.c (normalize_filename):
8318         * fileio.c (Fexpand_file_name):
8319         Fix various C++ compile errors in Andy's recent code.
8320         
8321         * callint.c (Fcall_interactively):
8322         * editfns.c (Ftemp_directory):
8323         * editfns.c (Fuser_full_name):
8324         * emacs.c (argmatch):
8325         * lread.c (locate_file_map_suffixes):
8326         * redisplay-x.c (x_ring_bell):
8327         Fix sign-compare warnings.
8328         
8329 2001-09-08  Andy Piper  <andy@xemacs.org>
8330
8331         * fileio.c (normalize_filename): copied from nt.c
8332         * (Ffile_name_directory): enable win32 paths under cygwin.
8333         * (Ffile_name_nondirectory): ditto.
8334         * (directory_file_name): ditto.
8335         * (Fexpand_file_name): ditto.
8336         * (Ffile_truename): ditto.
8337         * (Fsubstitute_in_file_name): ditto.
8338         * (Ffile_name_absolute_p): ditto.
8339         * (Ffile_readable_p): ditto.
8340
8341 2001-09-08  Andy Piper  <andy@xemacs.org>
8342
8343         * device-msw.c (mswindows_finish_init_device): remove dde
8344         initialization.
8345         * device-msw.c (mswindows_init_dde): factor out from
8346         mswindows_finish_init_device()
8347         * device-msw.c (init_mswindows_very_early): new function
8348         initialize but don't enable dde.
8349         * emacs.c (main_1): call init_mswindows_very_early.
8350         * event-msw.c:
8351         * event-msw.c (mswindows_dde_callback): only execute when we are
8352         ready.
8353         * symsinit.h: declare init_mswindows_very_early.
8354
8355 2001-05-02  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
8356
8357         [sjt: This has been in 21.5 for months with no complaints.]
8358
8359         * console.h (struct console_methods): Added flags member.
8360         (CONSOLE_IMPLEMENTATION_FLAGS): Defined.
8361         (CONMETH_IMPL_FLAG):
8362         (CONSOLE_IMPL_FLAG): Macro to check implememntation flags.
8363         Defined XDEVIMPF_DONT_PREEMPT_REDISPLAY.
8364
8365         * device.c (window_system_pixelated_geometry): Use the above macros.
8366
8367         * device.h (DEVICE_IMPL_FLAG): Macro to check a device
8368         implememntation flag.
8369         * device.h (DEVICE_DISPLAY_P): Use it.
8370
8371         * frame.c (delete_frame_internal): Use the above macro.
8372
8373         * redisplay.c (redisplay_device): Use it.
8374         (redisplay_device): Obey XDEVIMPF_DONT_PREEMPT_REDISPLAY.
8375         (redisplay_frame): Ditto.
8376
8377         * device-msw.c (mswindows_device_implementation_flags): Removed.
8378         (msprinter_device_implementation_flags): Removed.
8379         (console_type_create_device_mswindows): Removed references to
8380         implementation_flags methods, set implementation flags here.
8381         (console_type_create_device_mswindows): Added XDEVIMPF_DONT_PREEMPT.
8382
8383         * device-gtk.c (gtk_device_implementation_flags): Removed method.
8384         (console_type_create_device_gtk): Removed method declaration.
8385         Added commented out statement which semantically matches the
8386         commented out statement in the above removed method.
8387
8388 2001-04-14  Gordon Sadler  <gbsadler1@lcisp.com>
8389
8390         The attached patch fixes a few warnings. 
8391
8392         * src/emacs.c: prototype console_type_create_select_gtk for GTK only
8393         * src/frame-gtk.c: guard against GNOME calls in GTK only
8394         * src/redisplay-gtk.c: include <sys/poll.h> #ifdef HAVE_POLL
8395         * src/select-gtk.c: prototype lisp_to_time
8396
8397 2001-06-08  Ben Wing  <ben@xemacs.org>
8398
8399         ------ gc-in-window-procedure fixes ------
8400         
8401         * alloc.c:
8402         * alloc.c (struct post_gc_action):
8403         * alloc.c (register_post_gc_action):
8404         * alloc.c (run_post_gc_actions):
8405         * alloc.c (garbage_collect_1):
8406         Create "post-gc actions", to avoid those dreaded "GC during window
8407         procedure" problems.
8408
8409         * event-msw.c:
8410         Abort, clean and simple, when GC in window procedure.  We want
8411         to flush these puppies out.
8412
8413         * glyphs-msw.c:
8414         * glyphs-msw.c (finalize_destroy_window):
8415         * glyphs-msw.c (mswindows_finalize_image_instance):
8416         Use a post-gc action when destroying subwindows.
8417
8418         * lisp.h:
8419         Declare register_post_gc_action().
8420
8421         * scrollbar-msw.c:
8422         * scrollbar-msw.c (unshow_that_mofo):
8423         Use a post-gc action when unshowing scrollbar windows, if in gc.
8424
8425         * redisplay.c (mark_redisplay):
8426         Add comment about the utter evilness of what's going down here.
8427
8428         ------ cygwin setitimer fixes ------
8429         
8430         * Makefile.in.in (sheap_objs):
8431         * Makefile.in.in (profile_objs):
8432         * Makefile.in.in (objs):
8433         Compile profile.c only when HAVE_SETITIMER.
8434         
8435         * nt.c (mswindows_sigset):
8436         * nt.c (mswindows_sighold):
8437         * nt.c (mswindows_sigrelse):
8438         * nt.c (mswindows_sigpause):
8439         * nt.c (mswindows_raise):
8440         * nt.c (close_file_data):
8441         Style fixes.
8442         
8443         * nt.c:
8444         Move setitimer() emulation to win32.c, because Cygwin needs it too.
8445         
8446         * profile.c:
8447         * profile.c (Fstart_profiling):
8448         * profile.c (Fstop_profiling):
8449         Make sure we don't compile if no setitimer().  Use qxe_setitimer()
8450         instead of just plain setitimer().
8451         
8452         * signal.c:
8453         * signal.c (set_one_shot_timer):
8454         * signal.c (alarm):
8455         Define qxe_setitimer() as an encapsulation around setitimer() --
8456         call setitimer() directly unless Cygwin or MS Win, in which case
8457         we use our simulated version in win32.c.
8458         
8459         * systime.h:
8460         * systime.h (struct itimerval):
8461         * systime.h (ITIMER_REAL):
8462         Prototype mswindows_setitimer() and qxe_setitimer().  Long
8463         comment about "qxe" and the policy regarding encapsulation.
8464
8465         * win32.c:
8466         * win32.c (setitimer_helper_proc):
8467         * win32.c (setitimer_helper_period):
8468         * win32.c (setitimer_helper):
8469         * win32.c (mswindows_setitimer):
8470         Move setitimer() emulation here, so Cygwin can use it.
8471         Rename a couple of functions and variables to be longer and more
8472         descriptive.  In setitimer_helper_proc(), send the signal
8473         using either mswindows_raise() or (on Cygwin) kill().  If for
8474         some reason we are still getting lockups, we'll change the kill()
8475         to directly invoke the signal handlers.
8476
8477         ------ windows shell fixes ------
8478         
8479         * callproc.c:
8480         * ntproc.c:
8481         Comments about how these two files must die.
8482
8483         * callproc.c (init_callproc):
8484         On MS Windows, init shell-file-name from SHELL, then COMSPEC,
8485         not just COMSPEC. (more correct and closer to FSF.) Don't
8486         force a value for SHELL into the environment. (Comments added
8487         to explain why not.)
8488         
8489         * nt.c (init_user_info):
8490         Don't shove a fabricated SHELL into the environment.  See above.
8491
8492 2001-06-01  Ben Wing  <ben@xemacs.org>
8493
8494         * Makefile.in.in (ldflags):
8495         eliminate that pesky "defaulting to 00401000" warning.
8496         * nt.h:
8497         eliminate warnings.
8498
8499 2001-06-15  Golubev I. N.  <gin@mo.msk.ru>
8500
8501         * s/sco5.h (FORCE_ALLOCATE_PTY_THE_OLD_FASHIONED_WAY): #define.
8502         * process-unix.c (allocate_pty): #ifndef "modern" pty allocation.
8503
8504 2001-04-24  Jerry James <james@xemacs.org>
8505
8506         * faces.h: pass parameters to Fadd_spec_to_specifier in the
8507         correct order.
8508
8509 2001-06-01  Ben Wing  <ben@xemacs.org>
8510
8511         * event-msw.c (debug_mswin_messages):
8512         conditionalize the messages that were causing compile errors.
8513         (if only macros could generate #ifdef statements ...)
8514
8515 2001-07-28  Stephen J. Turnbull  <stephen@xemacs.org>
8516
8517         * XEmacs 21.4.4 "Artificial Intelligence" is released.
8518
8519 2001-07-22  Stephen J. Turnbull  <stephen@xemacs.org>
8520
8521         * event-msw.c (mswindows_wnd_proc): Add GC debugging assert.
8522
8523 2001-07-22  Stephen J. Turnbull  <stephen@xemacs.org>
8524
8525         * config.h.in (IPV6_CANONICALIZE): New #define for --with-ipv6-lookup.
8526         * process-unix.c (unix_canonicalize_host_name):
8527         sysdep.c (init_system_name):
8528         Use it to conditionally support IPv6 canonicalization.
8529
8530 2001-05-31  Paul Stodghill  <stodghil@cs.cornell.edu>
8531
8532         * event-msw.c:
8533         Cygwin does not define WM_IME_xxx. Modify the #if's accordingly.
8534
8535 2001-05-19  Paul Krause  <paulkrause1@mediaone.net>
8536
8537         * scrollbar-msw.c: Fixes a crash that occurs on Windows when an
8538         attempt is made to scroll when no scroll bar is available.
8539
8540 2001-04-19  Glynn Clements  <glynn.clements@virgin.net>
8541
8542         * input-method-motif.c (XIM_delete_frame): New callback.
8543         (XIM_init_frame): Register it.  (Reapplied by SJT, it somehow
8544         got deleted from 21.4.3.)
8545
8546 2001-06-01  Ben Wing  <ben@xemacs.org>
8547
8548         * nt.c (mswindows_utime):
8549         * nt.c (close_file_data):
8550         fix off-by-one-indirection error.
8551
8552 2001-05-29  Adrian Aichner  <adrian@xemacs.org>
8553
8554         * fileio.c: Include nt.h.  Remove lisp_string_set_file_times()
8555         because set_file_times() now takes Lisp_Object path, instead of
8556         char*.
8557         * nt.c: Include buffer.h.
8558         * nt.c (convert_from_time_t): New.
8559         * nt.c (mswindows_utime): New.  Use utime, since SetFileTime does
8560         not set mtime correctly.
8561         * nt.h: Declare mswindows_utime().
8562         * sysdep.c (set_file_times): set_file_times() now takes Lisp_Object
8563         path, instead of char*.
8564         * systime.h: Include <sys/utime.h> on WIN32_NATIVE.
8565
8566 2001-05-30  Ben Wing  <ben@xemacs.org>
8567
8568         For 21.4:
8569
8570         (Stephen, just take all event-msw.c patches.  This includes
8571         the "iconify" fix below.)
8572
8573         * event-msw.c:
8574         * event-msw.c (mswindows_dequeue_dispatch_event):
8575         * event-msw.c (assert):
8576         * event-msw.c (emacs_mswindows_quit_p):
8577         * event-msw.c (debug_mswin_messages):
8578         * event-msw.c (debug_output_mswin_message):
8579         * event-msw.c (vars_of_event_mswindows):
8580         Fix yet more problems with C-g handling.
8581         Implement debug-mswindows-events.
8582         
8583 2001-05-24  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
8584
8585         * event-msw.c (WM_DROPFILES): Use correct type for OLE characters.
8586         
8587 2001-05-23  Ben Wing  <ben@xemacs.org>
8588
8589         * event-msw.c (winsock_writer):
8590         * event-msw.c (winsock_closer):
8591         prior kludgy code was clobbering the buffer, thinking it was
8592         "unused" space to store an unneeded return value; instead, use
8593         the variable we've already got staring us in the face.
8594
8595 2001-05-17  Andy Piper  <andy@xemacs.org>
8596
8597         * sysfile.h: don't assume that file attributes are boolean
8598
8599 2001-05-23  Ben Wing  <ben@xemacs.org>
8600
8601         * device-msw.c (msprinter_init_device):
8602         signal an error rather than crash with an unavailable network
8603         printer (from Mike Alexander).
8604         
8605         * event-msw.c:
8606         * event-msw.c (struct winsock_stream):
8607         * event-msw.c (winsock_writer):
8608         * event-msw.c (winsock_closer):
8609         * event-msw.c (make_winsock_stream_1):
8610         cleanup headers.  fix (hopefully) an error with data corruption
8611         when sending to a network connection.
8612
8613         * fileio.c (Fexpand_file_name): Fix evil code that attempts
8614         to handle the ~user prefix by (a) always assuming we're referencing
8615         ourselves and not even verifying the user -- hence any file with
8616         a tilde as its first char is invalid! (b) if there wasn't a slash
8617         following the filename, the pointer was set *past* the end of
8618         file and we started reading from uninitialized memory.  Now we
8619         simply treat these as files, always.
8620
8621         * buffer.c (common_init_complex_vars_of_buffer): comment change.
8622         
8623 2001-05-19  Ben Wing  <ben@xemacs.org>
8624
8625         * eval.c: doc comment about gcpro'ing in record_unwind_protect.
8626
8627         * process-nt.c:
8628         * process-nt.c (vars_of_process_nt):
8629         remove unused mswindows-quote-process-args.  rec for 21.4.
8630         
8631 2001-05-12  Ben Wing  <ben@xemacs.org>
8632
8633         * event-msw.c (mswindows_dde_callback):
8634         * event-msw.c (mswindows_wnd_proc):
8635         eliminate cygwin warnings.
8636
8637 2001-05-06  Ben Wing  <ben@xemacs.org>
8638
8639         * console-msw.h:
8640         * device-msw.c:
8641         * device-msw.c (print_dialog_worker):
8642         * device-msw.c (mswindows_handle_print_dialog_box):
8643         * device-msw.c (syms_of_device_mswindows):
8644         * dialog-msw.c (mswindows_make_dialog_box_internal):
8645         * general-slots.h:
8646         implement printing the selection when it's selected.
8647
8648 2001-05-20  Drazen Kacar  <dave@arsdigita.com>
8649
8650         * glyphs-gtk.c (gtk_resource_instantiate): C++ comment -> #if 0
8651
8652 2001-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
8653
8654         * lisp.h (EMACS_INT_MAX): This should be one bit less since
8655         EMACS_INT is signed.
8656
8657 2001-04-15  Michael Lausch  <mla@1012surf.net>
8658
8659         * scrollbar-gtk.c (gtk_create_scrollbar_instance): Call
8660         gtk_widget_request_size() to give scrollbar >0 width for
8661         GTK >1.2.8.
8662
8663 2001-05-30  William M. Perry  <wmperry@gnu.org>
8664
8665         * event-gtk.c: Check for buttons as modifier keys.
8666
8667 2001-05-25  Craig Lanning  <CraigL@Knology.net>
8668
8669         * s\mingw32.h:
8670         Properly find MinGW's <process.h> inside Cygwin's restructured
8671         include directories.  Don't try to include <cygwin/version.h>
8672         since we are dropping support for MinGW in versions of Cygwin
8673         earlier than b21.
8674         * nt.c:
8675         Drop support for MinGW in versions of Cygwin before b21.
8676         * sysdep.c:
8677         Properly find MinGW's <process.h> inside Cygwin's restructured
8678         include directories.
8679         * syswindows.h:
8680         Drop support for MinGW in versions of Cygwin before b21.
8681         * unexcw.c:
8682         Even though a.out.h is no longer detected by configure, allow
8683         MinGW to use it until we figure out how to do the job with Win32.
8684
8685 2001-07-11  Matt Tucker  <tuck@whistlingfish.net>
8686
8687         * syntax.c (find_start_of_comment):
8688         Fix `unbalanced parentheses' bug when dealing with mixed comment
8689         styles in c++/java/etc. mode
8690
8691 2001-05-29  Mike Alexander  <mta@arbortext.com>
8692
8693         * console-msw.h (FRAME_MSPRINTER_CHARHEIGHT): Unswap
8694         FRAME_MSPRINTER_CHARWIDTH and FRAME_MSPRINTER_CHARHEIGHT
8695
8696 2001-05-17  Andrew Begel  <abegel@eecs.berkeley.edu>
8697
8698         * lrecord.h (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): Add needed cast.
8699
8700 2001-03-31  Mike Sperber <mike@xemacs.org>
8701
8702         * search.c (Freplace_match): Support FSF-style specification of
8703         match subexpression when applied to a buffer.
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-22  Isaac Hollander  <ysh@mindspring.com>
8710
8711         * Makefile.in.in: Use TAR macro instead of hardcoding
8712           tar.  Allows use of GNU tar instead of system tar
8713
8714 2001-05-27  Karl M. Hegbloom  <karlheg@hegbloom.net>
8715
8716         * event-stream.c (is_scrollbar_event): add missing semicolon
8717
8718 2001-05-17  Stephen J. Turnbull  <stephen@xemacs.org>
8719
8720         * XEmacs 21.4.3 "Academic Rigor" is released.
8721
8722 2001-05-17  Stephen J. Turnbull  <stephen@xemacs.org>
8723
8724         * regex.c: Define DECLARE_NOTHING when "lisp.h" is not included.
8725
8726 2001-05-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
8727
8728         * buffer.c (Vcase_fold_search): Remove obsolete
8729           comment about non ASCII case-fold-search.  This
8730           bug has been fixed by case-table changes.
8731
8732 2001-05-11  Stephen J. Turnbull  <stephen@xemacs.org>
8733
8734         * event-msw.c: Restore include of events-mod.h.
8735
8736 2001-04-22   zhaoway  <zw@debian.org>
8737
8738         * event-stream.c (is_scrollbar_event): Noop returning 0 if
8739         !HAVE_SCROLLBARS.
8740
8741 2001-05-10  Stephen J. Turnbull  <stephen@xemacs.org>
8742
8743         * XEmacs 21.4.2 "Developer-Friendly Unix APIs" is released.
8744
8745 2001-05-08  Yoshiaki Kasahara  <kasahara@nc.kyushu-u.ac.jp>
8746
8747         * mule-charset.c (Fmake_charset): Add missing else.
8748
8749 2001-04-23  Ben Wing  <ben@xemacs.org>
8750
8751         * event-msw.c (FAKE_MOD_QUIT):
8752         * event-msw.c (mswindows_dequeue_dispatch_event):
8753         * event-msw.c (mswindows_wnd_proc):
8754         * event-msw.c (emacs_mswindows_quit_p):
8755         Get critical quit working.
8756
8757 2001-05-05  Ben Wing  <ben@xemacs.org>
8758
8759         * console-msw.h:
8760         * device-msw.c:
8761         * device-msw.c (mswindows_get_default_margin):
8762         * frame-msw.c (mswindows_size_frame_internal):
8763         * frame-msw.c (msprinter_init_frame_1):
8764         * frame-msw.c (vars_of_frame_mswindows):
8765         Change top/bottom margin defaults to 0.5 inches.
8766
8767 2001-05-01  Martin Buchholz  <martin@xemacs.org>
8768
8769         Fix link error with gcc 3.0 on Linux.
8770         * terminfo.c (UP): Remove.
8771         * terminfo.c (BC): Remove.
8772         * terminfo.c (PC): Remove.
8773         They weren't used, and in any case, these symbols should be
8774         defined in the *library*.
8775
8776 2001-05-03  Martin Buchholz  <martin@xemacs.org>
8777
8778         * s/aix4.h: Fix crash with xlc -O3.
8779         Improve comment explaining how -O3 works.
8780
8781 2001-04-15  Ben Wing  <ben@xemacs.org>
8782
8783         * event-stream.c:
8784         * event-stream.c (Fnext_event):
8785         * event-stream.c (is_scrollbar_event):
8786         * event-stream.c (execute_command_event):
8787         Better fix for Yoshiki's `C-x @ h <scrollbar-drag> x causes a
8788         crash' problem.  His fix introduces other problems.  We filter
8789         out scrollbar events specifically, making them somewhat invisible
8790         to command-building, and not appearing in `this-command-keys'.
8791         More work is still needed (see comments in event-stream.c), but
8792         this fixes all the major problems.
8793
8794 2001-04-20  Ben Wing  <ben@xemacs.org>
8795
8796         * .cvsignore: Added stuff for Windows.
8797
8798 2001-04-28  Ben Wing  <ben@xemacs.org>
8799
8800         * buffer.c (Ferase_buffer):
8801         * editfns.c (buffer_insert1):
8802         * editfns.c (Finsert_before_markers):
8803         * editfns.c (Finsert_string):
8804         * editfns.c (Finsert_char):
8805         * editfns.c (Fdelete_region):
8806         * editfns.c (Fwiden):
8807         * editfns.c (Fnarrow_to_region):
8808         remove bogus lines setting zmacs_region_stays to 0.
8809         
8810 2001-04-15  Gunnar Evermann  <ge204@eng.cam.ac.uk>
8811
8812         * process-unix.c (unix_open_network_stream): If connect() fails
8813         invalidate file descriptor after closing it.
8814
8815 2001-03-08  Mike Alexander  <mta@arbortext.com>
8816
8817         * event-msw.c (mswindows_need_event_in_modal_loop):
8818         Don't dispatch a message if we didn't get one.
8819         (mswindows_need_event):
8820         Terminate the correct process when one exits instead of the first
8821         one on Vprocess_list and look for process termination when in
8822         mswindows_protect_modal_loop.
8823
8824 2001-04-19  Stephen J. Turnbull  <stephen@xemacs.org>
8825
8826         * XEmacs 21.4.1 "Copyleft" is released.
8827
8828 2001-04-19  Glynn Clements  <glynn.clements@virgin.net>
8829
8830         * input-method-motif.c (XIM_delete_frame): New callback.
8831         (XIM_init_frame): Register it.
8832
8833 2001-04-16  Stephen J. Turnbull  <stephen@xemacs.org>
8834
8835         * XEmacs 21.4.0 "Solid Vapor" is released.
8836
8837 2001-04-15  Ben Wing  <ben@xemacs.org>
8838
8839         * cmdloop.c (call_command_loop):
8840         Fix braino in bit-rotting code.
8841         
8842 2001-04-07  Hrvoje Niksic  <hniksic@arsdigita.com>
8843
8844         * extents.c (Fset_extent_endpoints): Force creation of extent info
8845         in buffer_or_string.
8846
8847         * extents.c (process_extents_for_insertion_mapper): Correctly
8848         check for open-open zero-length extents.
8849
8850 2001-04-16  Stephen J. Turnbull  <stephen@xemacs.org>
8851
8852         * lisp.h: New typedefs Memory_count, Element_count.
8853         * regex.c:
8854         * regex.h:
8855         Sign-compare warning elimination: several unsigned -> signed.
8856         Based on work by Ben Wing <ben@xemacs.org>.
8857
8858 2001-04-14  Stephen J. Turnbull  <stephen@xemacs.org>
8859
8860         * XEmacs 21.2.47 "Zephir" is released.
8861
8862 2001-04-02  Jan Vroonhof  <jan@xemacs.org>
8863
8864         * redisplay.c (add_bufbyte_string_runes): Update data->bytepos
8865
8866 2001-04-03  Mike Sperber <mike@xemacs.org>
8867
8868         * search.c: Revert previous patch due because of release.
8869
8870 2001-03-30  Ben Wing  <ben@xemacs.org>
8871
8872         * s\cygwin32.h:
8873         Add missing killpg prototype.
8874
8875         * elhash.c:
8876         Add a comment about fixing problems when a new entry is added
8877         while mapping.
8878
8879         * frame-msw.c (mswindows_init_frame_1):
8880         Fix compile warnings.
8881
8882         * menubar.c (vars_of_menubar):
8883         Provide `menu-accelerator-support' to indicate that we properly
8884         support %_ in menu specifications, so that package code can
8885         conditionalize on this (and remove %_ from menu specifications
8886         on older versions).
8887
8888         * event-msw.c:
8889         * scrollbar-msw.c:
8890         * scrollbar-msw.c (can_scroll):
8891         * scrollbar-msw.h:
8892         Fix handling of mouse wheel under Windows to follow standards --
8893         now scrolls window under pointer, not selected window.
8894
8895 2001-03-31  Mike Sperber <mike@xemacs.org>
8896
8897         * search.c (Freplace_match): Support FSF-style specification of
8898         match subexpression when applied to a buffer.
8899
8900 2001-03-15  Martin Buchholz  <martin@xemacs.org>
8901
8902         * keymap.c (Fmap_keymap): map-keymap explicitly allows a mapping
8903         function to modify KEYMAP, so map over a copy of the hash table.
8904
8905 2001-03-21  Martin Buchholz <martin@xemacs.org>
8906
8907         * XEmacs 21.2.46 "Urania" is released.
8908
8909 2001-03-20  Dan Holmsand  <dan@eyebee.com>
8910
8911         * realpath.c (xrealpath): Make file-truename work with symlinks to
8912         /cygdrive paths on cygwin. Always lowercase drive-letters on
8913         native windows.
8914         (cygwin_readlink): Don't try to find canonical filename unless
8915         file exists.
8916
8917 2001-03-15  Stephen J. Turnbull  <stephen@xemacs.org>
8918
8919         * ChangeLog: Log GTK merge.
8920
8921         * dumper.c:
8922         * select-x.c:
8923         * specifier.c:
8924         * symeval.h:
8925         Revert gratuitous whitespace changes from GTK merge.
8926
8927         * emacs.c: Document end of complex #ifdef @ l. 1495.
8928
8929
8930 2001-03-12  Andy Piper  <andy@xemacs.org>
8931
8932         * mingw32.h: unfortunately cygnus changed mingw32 -> mingw so we
8933         have to do likewise.
8934
8935 2001-03-12  Andy Piper  <andy@xemacs.org>
8936
8937         * sysdep.c: we only support mingw now.
8938
8939 2001-03-09  Andy Piper  <andy@xemacs.org>
8940
8941         * unexcw.c (copy_executable_and_dump_data_section): making approx
8942         overrun a warning only.
8943
8944 2001-03-10  William M. Perry  <wmperry@aventail.com>
8945
8946         * faces.c (complex_vars_of_faces): Rewrote the font mucking to
8947         satisfy Stephen's identical-after-cpp plea.
8948
8949 2001-03-02  Ben Wing  <ben@xemacs.org>
8950
8951         * cmds.c:
8952         * cmds.c (Fforward_char):
8953         * syntax.c:
8954         * window.c:
8955
8956         Augment documentation of the most common motion commands to make
8957         note of the shifted-motion support.
8958         
8959 2001-03-02  Ben Wing  <ben@xemacs.org>
8960
8961         * nt.c (mswindows_fstat):
8962         * nt.c (mswindows_stat):
8963         * search.c (boyer_moore):
8964         Fix compile warnings under Windows.
8965         
8966         * sysdep.c (sys_readdir):
8967         Fix buggy filename-conversion code under Mule.
8968
8969 2001-03-09  William M. Perry  <wmperry@aventail.com>
8970
8971         * Makefile.in.in:
8972         * config.h.in:
8973         * console.c:
8974         * console.h:
8975         * device.c:
8976         * device.h:
8977         * dragdrop.c:
8978         * emacs.c:
8979         * event-stream.c:
8980         * events.c:
8981         * events.h:
8982         * faces.c:
8983         * frame.h:
8984         * general-slots.h:
8985         * glyphs.c:
8986         * gutter.c:
8987         * inline.c:
8988         * lisp.h:
8989         * lrecord.h:
8990         * make-src-depend:
8991         * redisplay-output.c:
8992         * redisplay.c:
8993         * symsinit.h:
8994         * sysfile.h:
8995         * toolbar.c:
8996         * window.c:
8997         The Great GTK Merge.
8998
8999         * ChangeLog.GTK:
9000         * console-gtk.c:
9001         * console-gtk.h:
9002         * device-gtk.c:
9003         * emacs-marshals.c:
9004         * emacs-widget-accessors.c:
9005         * event-gtk.c:
9006         * frame-gtk.c:
9007         * gccache-gtk.c:
9008         * gccache-gtk.h:
9009         * glade.c:
9010         * glyphs-gtk.c:
9011         * glyphs-gtk.h:
9012         * gtk-glue.c:
9013         * gtk-xemacs.c:
9014         * gtk-xemacs.h:
9015         * gui-gtk.c:
9016         * gui-gtk.h:
9017         * menubar-gtk.c:
9018         * native-gtk-toolbar.c:
9019         * objects-gtk.c:
9020         * objects-gtk.h:
9021         * redisplay-gtk.c:
9022         * scrollbar-gtk.c:
9023         * scrollbar-gtk.h:
9024         * select-gtk.c:
9025         * toolbar-gtk.c:
9026         * ui-byhand.c:
9027         * ui-gtk.c:
9028         * ui-gtk.h:
9029         The Great GTK Merge: new files.
9030
9031 2001-02-26  Ben Wing  <ben@xemacs.org>
9032
9033         Reapplied Lstream change.
9034
9035 2001-02-26  Ben Wing  <ben@xemacs.org>
9036
9037         Undid the last change, since it is more controversial than I
9038         thought.  It should be back in at some point soon.
9039         
9040 2001-02-25  Ben Wing  <ben@xemacs.org>
9041
9042         * buffer.c:
9043         * callproc.c (Fold_call_process_internal):
9044         * event-msw.c (ntpipe_slurp_reader):
9045         * event-msw.c (ntpipe_shove_writer):
9046         * event-msw.c (winsock_reader):
9047         * event-msw.c (winsock_writer):
9048         * file-coding.c:
9049         * file-coding.c (detect_eol_type):
9050         * file-coding.c (detect_coding_type):
9051         * file-coding.c (determine_real_coding_system):
9052         * file-coding.c (Fdetect_coding_region):
9053         * file-coding.c (decoding_reader):
9054         * file-coding.c (decoding_writer):
9055         * file-coding.c (mule_decode):
9056         * file-coding.c (Fdecode_coding_region):
9057         * file-coding.c (encoding_reader):
9058         * file-coding.c (encoding_writer):
9059         * file-coding.c (mule_encode):
9060         * file-coding.c (Fencode_coding_region):
9061         * file-coding.c (detect_coding_sjis):
9062         * file-coding.c (decode_coding_sjis):
9063         * file-coding.c (encode_coding_sjis):
9064         * file-coding.c (detect_coding_big5):
9065         * file-coding.c (decode_coding_big5):
9066         * file-coding.c (encode_coding_big5):
9067         * file-coding.c (detect_coding_ucs4):
9068         * file-coding.c (decode_coding_ucs4):
9069         * file-coding.c (encode_coding_ucs4):
9070         * file-coding.c (detect_coding_utf8):
9071         * file-coding.c (decode_coding_utf8):
9072         * file-coding.c (encode_coding_utf8):
9073         * file-coding.c (detect_coding_iso2022):
9074         * file-coding.c (decode_coding_iso2022):
9075         * file-coding.c (encode_coding_iso2022):
9076         * file-coding.c (decode_coding_no_conversion):
9077         * file-coding.c (encode_coding_no_conversion):
9078         * glyphs-x.c (write_lisp_string_to_temp_file):
9079         * gpmevent.c (tty_get_foreign_selection):
9080         * lisp.h:
9081         * lstream.c:
9082         * lstream.c (Lstream_flush_out):
9083         * lstream.c (Lstream_adding):
9084         * lstream.c (Lstream_write_1):
9085         * lstream.c (Lstream_write):
9086         * lstream.c (Lstream_raw_read):
9087         * lstream.c (Lstream_read_more):
9088         * lstream.c (Lstream_read):
9089         * lstream.c (Lstream_unread):
9090         * lstream.c (Lstream_fputc):
9091         * lstream.c (stdio_reader):
9092         * lstream.c (stdio_writer):
9093         * lstream.c (filedesc_reader):
9094         * lstream.c (filedesc_writer):
9095         * lstream.c (lisp_string_reader):
9096         * lstream.c (struct fixed_buffer_stream):
9097         * lstream.c (make_fixed_buffer_input_stream):
9098         * lstream.c (make_fixed_buffer_output_stream):
9099         * lstream.c (fixed_buffer_reader):
9100         * lstream.c (fixed_buffer_writer):
9101         * lstream.c (struct resizing_buffer_stream):
9102         * lstream.c (resizing_buffer_writer):
9103         * lstream.c (dynarr_writer):
9104         * lstream.c (lisp_buffer_reader):
9105         * lstream.c (lisp_buffer_writer):
9106         * lstream.h:
9107         * lstream.h (lstream_implementation):
9108         * lstream.h (struct lstream):
9109         * md5.c (Fmd5):
9110         * process-nt.c (nt_send_process):
9111         * process-unix.c (unix_send_process):
9112         
9113         Correct Lstream lossage due to mixing of signed and unsigned
9114         quantities.  All Lstream uses of size_t and ssize_t are now a
9115         single signed data type Lstream_data_count.  This fixes problems
9116         under Windows with sending large quantities of data to a process,
9117         and may well fix other subtle bugs.
9118
9119 2001-02-23  Martin Buchholz <martin@xemacs.org>
9120
9121         * XEmacs 21.2.45 "Thelxepeia" is released.
9122
9123 2001-02-21  Martin Buchholz  <martin@xemacs.org>
9124
9125         * lisp-union.h (XSETINT): 
9126         (XSETCHAR):
9127         (XSETOBJ): 
9128         Reverse previous change of 2001-02-06.
9129
9130 2001-02-20  Matt Tucker  <tuck@whistlingfish.net>
9131
9132         Fix `VALID_BYTIND_P' crashes in regex.c when using narrowed
9133         buffers.
9134         * syntax.h (SYNTAX_CACHE_BYTE_TO_CHAR):
9135         * syntax.h (SYNTAX_CACHE_OBJECT_BYTE_TO_CHAR):
9136         Add `BI_BUF_BEGV' to bytepos before calculating bufpos.
9137         * regex.c (POS_AS_IN_BUFFER): removed
9138         * regex.c (re_search_2):
9139         * regex.c (re_match_2):
9140         Don't use an offset of 1 when calculating buffer positions, since
9141         `BI_BUF_BEGV' does it already.
9142
9143 2001-02-18  Wim Dumon  <wim@easics.be>
9144
9145         * insdel.c (prepare_to_modify_buffer): Also check for
9146         supersession when clash-detection is enabled. 
9147
9148 2001-02-17  Matt Tucker  <tuck@whistlingfish.net>
9149
9150         * regex.c (re_match_2_internal):
9151         Convert temp characters from 'const unsigned char' to 're_char'.
9152         Fix crashing bug with extended characters under mule.
9153         * syntax.c (Qsyntax_table): Moved from vars_of_syntax to
9154         syms_of_syntax. Use defsymbol to define. Fixes hanging bug with
9155         font-lock, pdump, and new syntax-table code.
9156         * syntax.c (find_start_of_comment):
9157         (find_end_of_comment):
9158         (forward-comment):
9159         Fix crashing bugs involving moving beyond end of buffer.
9160         * syntax.c (find_start_of_comment):
9161         Fixed logic to allow proper detection of cases where the same
9162         character is used to end both a two-char comment start and a
9163         two-char comment end sequence. Fixes `(forward-comment -1)'.
9164         * syntax.c (find_start_of_comment):
9165         Return position just past last comment-end character for all cases
9166         (previously was only done for two-char comment-end sequences).
9167         * syntax.c (forward-comment):
9168         Take value returned from `find_end_of_comment', rather than
9169         incrementing it.
9170         * syntax.h (SYNTAX_CACHE_BYTE_TO_CHAR):
9171         Properly deal with BUFFERP (syntax_cache.object)
9172
9173 2001-02-17  Martin Buchholz  <martin@xemacs.org>
9174
9175         * alloc.c (Fgarbage_collect): 
9176         * alloc.c (make_bit_vector_from_byte_vector):
9177         -Wsign-compare-correctness.
9178
9179 2001-02-16  Martin Buchholz  <martin@xemacs.org>
9180
9181         * lisp-union.h (XSETINT): Eliminate unnecessary temp var.
9182         (XSETCHAR): Likewise.
9183         (XSETOBJ): Likewise.
9184
9185 2001-02-15  Martin Buchholz  <martin@xemacs.org>
9186
9187         * mule-canna.c (canna-func-delete_previous): 
9188         Rename to canna-func-delete-previous.
9189
9190 2001-02-14  Martin Buchholz  <martin@xemacs.org>
9191
9192         * mule-ccl.c (ccl_driver): Warning suppression.  Use countof.
9193
9194 2001-02-13  Matt Tucker  <tuck@whistlingfish.net>
9195
9196         * font-lock.c (find_context): Fix C++ compile errors introduced by
9197         recent patch
9198
9199 2001-02-13  Martin Buchholz  <martin@xemacs.org>
9200
9201         * s/aix4.h: Later versions of IBM C compiler need a bug workaround
9202         pragma, but earlier ones barf on the same pragma.
9203
9204 2001-02-06  Mike Sperber <mike@xemacs.org>
9205
9206         * emacs.c (complex_vars_of_emacs): Add `mule-lisp-directory' and
9207         `configure-mule-lisp-directory'.
9208
9209 2001-02-12  Martin Buchholz  <martin@xemacs.org>
9210
9211         Make sure dump-id.c is compiled in the same way as other .c's.
9212         Fixes pdump compilation failure with HP's cc, which defaults to K&R.
9213         * dump-id.h: Remove.
9214         * emacs.c: Move dump-id.h into dumper.h.
9215         * dumper.h: Move dump-id.h into dumper.h.
9216         * Makefile.in.in:
9217         Use standard .c.o rule for building dump-id.o.
9218         Remove preprocessor flags from link command.
9219         Add dump-id.o to ${otherobjs} if PDUMP.
9220
9221 2001-02-07  Matt Tucker  <tuck@whistlingfish.net>
9222
9223         Port FSF 20.7 syntax table improvements.
9224         * syntax.c.
9225         * syntax.h.
9226
9227         Fixups for new syntax table stuff.
9228         * dired.c: Include syntax.c.
9229         (Fdirectory_files): Initialize regex_match_object and
9230         regex_emacs_buffer.
9231         * extents.h: EXFUN Fnext_extent_change, Fprevious_extent_change,
9232         and Fget_char_property.
9233
9234         Use ported FSF 20.7 syntax table improvements.
9235         * font-lock.c.
9236         * regex.c.
9237         * search.c.
9238         
9239 2001-02-09  Martin Buchholz  <martin@xemacs.org>
9240
9241         * regex.c (Boolean): Renamed to `re_bool', to avoid conflict with
9242         Unixware's enum boolean from sys/types.h.
9243
9244 2001-02-10  Martin Buchholz  <martin@xemacs.org>
9245
9246         Fix support for building with latest Purify.
9247         * Makefile.in.in (PURIFY_LIBS): Remove thread flags.
9248         (PURIFY_FLAGS): Likewise.
9249
9250 2001-02-09  Martin Buchholz  <martin@xemacs.org>
9251
9252         * fileio.c (lisp_string_set_file_times): New.
9253         * fileio.c (Fcopy_file): Use it.
9254         Fixes bug:
9255         (copy-file filename non-ascii-filename t t)
9256         ==> No such file or directory, non-ascii-filename
9257
9258 2001-02-10  Martin Buchholz  <martin@xemacs.org>
9259
9260         * glyphs-x.c (generate_cursor_fg_bg): Avoid a warning.
9261         USHRT_MAX seems clearer than ~0 anyways.
9262
9263 2001-02-09  Martin Buchholz  <martin@xemacs.org>
9264
9265         dumper improvements.  Inspired by Olivier.
9266         * dumper.c (pdump_max_align): New.
9267         * dumper.c (pdump_add_entry): Use pdump_max_align.
9268         * dumper.c (pdump_get_entry_list): Likewise.
9269         * dumper.c (pdump_scan_by_alignment): Likewise.
9270         Don't iterate through unnecessary alignments.
9271         * dumper.c (pdump_file_get): No need to align result of malloc().
9272         * dumper.c (pdump_mallocadr): Remove.  
9273         The result of malloc() is guaranteed to be maximally aligned.
9274         * dumper.c: s/elmt/elt/g;
9275         * dumper.c (pdump_object_table): Allocate dynamically, not statically.
9276         * dumper.c (pdump_alert_undump_object): Likewise.
9277         * dumper.c (pdump_align_table): 
9278         Don't support alignments > 64.
9279         Store ALIGNOF's, not shift counts, in table.
9280
9281 2001-02-09  Martin Buchholz  <martin@xemacs.org>
9282
9283         * s/mingw32.h (HAVE_STRUCT_UTIMBUF): Remove.
9284         * s/windowsnt.h (HAVE_STRUCT_UTIMBUF): Remove.
9285         * systime.h: Use HAVE_UTIME.
9286         * sysdep.c (struct utimbuf): Remove.
9287         * sysdep.c (set_file_times): Prefer utime() to utimes().
9288         * config.h.in (HAVE_UTIME): New.
9289         * config.h.in (HAVE_UTIME_H): Remove.
9290         * config.h.in (HAVE_STRUCT_UTIMBUF): Remove.
9291
9292 2001-02-09  Martin Buchholz  <martin@xemacs.org>
9293
9294         * s/aix4.h: Hide #pragmas inside #ifndef NOT_C_CODE.
9295
9296 2001-02-08  Martin Buchholz  <martin@xemacs.org>
9297
9298         * s/irix6-0.h: Use the standard system memmove, not bcopy.
9299
9300 2001-02-08  Martin Buchholz <martin@xemacs.org>
9301
9302         * XEmacs 21.2.44 "Thalia" is released.
9303
9304 2001-02-06  Martin Buchholz  <martin@xemacs.org>
9305
9306         Fixes crashes in kill-emacs on some systems.
9307         * process-unix.c (unix_kill_child_process):
9308         It's OK for kill() to fail with ESRCH.
9309
9310 2001-02-07  Martin Buchholz  <martin@xemacs.org>
9311
9312         Contortions to make .gdbinit tricks work on most systems.
9313         * alloc.c (dbg_inhibit_dbg_symbol_deletion): Keep debugger info.
9314         * alloc.c (dbg_valmask): Make non-const.
9315         * alloc.c (dbg_typemask): Make non-const.
9316         * alloc.c (dbg_USE_UNION_TYPE): Make non-const.
9317         * alloc.c (dbg_valbits): Make non-const.
9318         * alloc.c (dbg_gctypebits): Make non-const.
9319         * .gdbinit (decode_object): Make it work with AIX cc.
9320
9321 2001-02-06  Martin Buchholz  <martin@xemacs.org>
9322
9323         * elhash.c (make_general_lisp_hash_table):
9324         Use simpler and more efficient calloc to clear entries.
9325
9326 2001-02-07  Martin Buchholz  <martin@xemacs.org>
9327
9328         * window.c (window_scroll): Work around an AIX C compiler bug.
9329         Fixes 'scroll-up' does nothing problem with xlC.
9330
9331 2001-02-05  Martin Buchholz  <martin@xemacs.org>
9332
9333         * .gdbinit: Remove obsolete comment.
9334
9335 2001-01-31  Mike Alexander  <mta@arbortext.com>
9336
9337         * select.c (Fown_selection_internal): Set owned_p for device
9338         method correctly.
9339
9340 2001-02-01  Martin Buchholz  <martin@xemacs.org>
9341
9342         Port to g++ 2.97.
9343         "not" cannot be used as a macro name as it is an operator in C++
9344         * config.h.in: Stop #defining `not'.
9345         * chartab.c (check_category_char): not ==> not_p
9346         * chartab.h: Likewise.
9347         * regex.c (re_match_2_internal): Likewise.
9348
9349 2001-02-02  Martin Buchholz  <martin@xemacs.org>
9350
9351         * lisp-disunion.h: Fix up comments.
9352
9353 2001-01-31  Martin Buchholz  <martin@xemacs.org>
9354
9355         * keymap.c (define_key_check_and_coerce_keysym):
9356         (syms_of_keymap):
9357         Support mouse-6 and mouse-7 bindings in the obvious way.
9358
9359 2001-02-01  Martin Buchholz  <martin@xemacs.org>
9360
9361         * m/hp9000s300.h (UNEXEC): Check for HPUX, not !BSD.
9362
9363 2001-01-30  Martin Buchholz  <martin@xemacs.org>
9364
9365         Previous patch changing DEFVAR_INT to use EMACS_INT was incomplete.
9366         Previous patch missed DEFVAR_INT_MAGIC.
9367         Make sure future DEFVAR_foo use correct types.
9368         * symeval.h (DEFVAR_SYMVAL_FWD_FIXNUM): New.
9369         * (DEFVAR_SYMVAL_FWD_INT): Add type checking.
9370         * (DEFVAR_SYMVAL_FWD_OBJECT): Add type checking.
9371         * (DEFVAR_INT_MAGIC): Use DEFVAR_SYMVAL_FWD_FIXNUM.
9372         * (DEFVAR_INT): Likewise.
9373         * redisplay.c (vertical_clip): Should be of type Fixnum.
9374         * redisplay.c (horizontal_clip): Likewise.
9375         * lisp.h (dump_add_opaque_int): New.
9376         (dump_add_opaque_fixnum): New.
9377
9378 2001-01-29  Andy Piper  <andy@xemacs.org>
9379
9380         * glyphs-widget.c (check_valid_int_or_function): allow symbols
9381         since they can be eval'ed
9382
9383 2001-01-29  Martin Buchholz  <martin@xemacs.org>
9384
9385         * lisp.h (ALIGNOF): Make it work on non-gcc C++ compilers.
9386         Oops, XEmacs redefines `class'.  Use `typename' instead.
9387
9388 2001-01-28  Martin Buchholz  <martin@xemacs.org>
9389
9390         * dumper.c: Fix C++ compile errors.
9391
9392 2001-01-29  Martin Buchholz  <martin@xemacs.org>
9393
9394         * tparam.c: Use correct prototypes.
9395
9396 2001-01-28  Martin Buchholz  <martin@xemacs.org>
9397
9398         * sysproc.h: #include util.h for NetBSD's openpty.
9399
9400 2001-01-27  Martin Buchholz  <martin@xemacs.org>
9401
9402         More 64-bit correctness.
9403         The C value of a DEFVAR_INT should be of type EMACS_INT, not int.
9404         Use a typedef `fixnum' for the type used for DEFVAR_INT.
9405         Fix up comments.
9406         This finally finishes the 64-bit SGI port.
9407         Fixes things like (let ((gc-cons-threshold most-positive-fixnum)) ...).
9408         * symbols.c: Fix up comments and type casts.
9409         * symbols.c (do_symval_forwarding): s/int/Fixnum/g
9410         * symbols.c (store_symval_forwarding): s/int/Fixnum/g
9411         * symeval.h (Fixnum): New type.
9412         * symeval.h (symbol_value_type): Fix up comment.
9413
9414         * commands.h:
9415         * nt.c:
9416         * emacs.c:
9417         * data.c:
9418         * redisplay.c:
9419         * abbrev.c:
9420         * dired-msw.c:
9421         * event-Xt.c:
9422         * eldap.c:
9423         * window.c:
9424         * sound.c:
9425         * event-stream.c:
9426         * eval.c:
9427         * buffer.c:
9428         * mule-canna.c: A million DEFVAR_INTs here...
9429         * mule-canna.c (count_char): s/int */Fixnum */g in arglist.
9430         * extents.c:
9431         * cmdloop.c:
9432         * lisp.h:
9433         * select-x.c:
9434         * console-x.h:
9435         * event-msw.c:
9436         * mule-wnnfns.c:
9437         * hpplay.c:
9438         * ralloc.c:
9439         * alloc.c:
9440         * keymap.c:
9441         * profile.c:
9442         s/int/Fixnum/g in DEFVAR_INT declarations.
9443
9444 2001-01-26  Martin Buchholz  <martin@xemacs.org>
9445
9446         Port pdump to SGI alignment-sensitive environment.
9447         Lisp Object sizeof methods now return aligned sizes.  Rely on that.
9448         Eliminate is_lrecord since Lisp_Objects sizeof methods are now all
9449         properly aligned.
9450         Define and use aligned reading and writing macros.
9451         Use buffered stdio instead of posix i/o for faster dumping.
9452         Eliminate kludgy 256 byte space for header.
9453         Read and write from dump file using structs for alignment safety.
9454         * dumper.c (pdump_align_stream): New.
9455         * dumper.c (PDUMP_ALIGN_OUTPUT): New.
9456         * dumper.c (PDUMP_READ_ALIGNED): New.
9457         * dumper.c (PDUMP_WRITE_ALIGNED): New.
9458         * dumper.c (pdump_static_Lisp_Object): New struct.
9459         * dumper.c (pdump_static_pointer): New struct.
9460         * dumper.c (pdump_entry_list_element): Remove is_lrecord member.
9461         * dumper.c (pdump_add_entry): Remove is_lrecord parameter.
9462         * dumper.c (pdump_dump_data): Rely on sizeof method alignment.
9463         * dumper.c (pdump_allocate_offset): Rely on sizeof method alignment.
9464
9465         * dumper.c (pdump_backtrace):
9466         * dumper.c (pdump_get_indirect_count):
9467         * dumper.c (pdump_register_object):
9468         * dumper.c (pdump_register_struct):
9469         * dumper.c (pdump_reloc_one):
9470         * dumper.c (pdump_scan_by_alignment):
9471         * dumper.c (pdump_dump_from_root_struct_ptrs):
9472         * dumper.c (pdump_dump_opaques):
9473         * dumper.c (pdump_dump_rtables):
9474         * dumper.c (pdump_dump_from_root_objects):
9475         * dumper.c (pdump):
9476         * dumper.c (pdump_load_finish):
9477         Use aligned reading and writing.
9478
9479         * dumper.c (pdump_free): Make static.
9480         * dumper.c (pdump_hFile): Likewise.
9481         * dumper.c (pdump_hMap): Likewise.
9482
9483 2001-01-26  Martin Buchholz <martin@xemacs.org>
9484
9485         * XEmacs 21.2.43 "Terspichore" is released.
9486
9487 2001-01-25  Martin Buchholz  <martin@xemacs.org>
9488
9489         Type fiddling for window_config.saved_windows_count
9490         * window.c (struct window_config): 
9491         Make saved_windows_count member unsigned.
9492         * window.c (sizeof_window_config_for_n_windows): 
9493         Make parameter unsigned.
9494         * window.c (mark_window_config):
9495         * window.c (window_config_equal):
9496         * window.c (free_window_configuration):
9497         * window.c (Fset_window_configuration):
9498         * window.c (count_windows):
9499         * window.c (Fcurrent_window_configuration):
9500         * window.c (reinit_vars_of_window):
9501         Update all callers and users.
9502
9503 2001-01-25  Martin Buchholz  <martin@xemacs.org>
9504
9505         Alignment correctness for flexible arrays.
9506         * lisp.h (FLEXIBLE_ARRAY_STRUCT_SIZEOF):
9507         Make alignment-correct. Add interesting comments.
9508         * alloc.c (size_vector):
9509         * alloc.c (make_vector_internal):
9510         * alloc.c (make_bit_vector_internal):
9511         * alloc.c (sweep_bit_vectors_1):
9512         * fns.c (size_bit_vector):
9513         Update all callers of FLEXIBLE_ARRAY_STRUCT_SIZEOF to add new arg.
9514         * window.c (sizeof_window_config_for_n_windows): 
9515         Use FLEXIBLE_ARRAY_STRUCT_SIZEOF.
9516
9517 2001-01-24  Martin Buchholz  <martin@xemacs.org>
9518
9519         * lread.c (read1): Rename `fexp', which is #defined in SGI's math.h
9520
9521 2001-01-23  Andy Piper  <andy@xemacs.org>
9522
9523         * select.c (Fown_selection_internal): pass owned_p
9524
9525         * select-msw.c (mswindows_own_selection): New Signature.
9526
9527         * console.h (struct console_methods): add owned_p to
9528         _own_selection.
9529
9530         * select-x.c (x_own_selection): pass owned_p
9531         (hack_motif_clipboard_selection): use owned_p
9532         (vars_of_select_x): new variable -
9533         x_selection_strict_motif_ownership.
9534
9535 2001-01-23  Martin Buchholz  <martin@xemacs.org>
9536
9537         * specifier.h (specifier_data_offset): Remove pointless parens.
9538         * glyphs.h (IMAGE_SPECIFIER_DATA): Likewise.
9539
9540 2001-01-24  Martin Buchholz  <martin@xemacs.org>
9541
9542         Make Lisp_Object sizeof methods be alignment-correct.
9543         pdump must restore objects to the same alignment as the C compiler
9544         assumes.  It really matters on SGIs.
9545         * lstream.c (aligned_sizeof_lstream): New.
9546         (sizeof_lstream): Use aligned_sizeof_lstream.
9547         (Lstream_new): Likewise.
9548         * opaque.c (aligned_sizeof_opaque): New.
9549         (sizeof_opaque): Use aligned_sizeof_opaque.
9550         (make_opaque): Likewise.
9551         * specifier.c (aligned_sizeof_specifier): New.
9552         (sizeof_specifier): Use aligned_sizeof_specifier.
9553         (make_specifier_internal): Likewise.
9554
9555 2001-01-23  Martin Buchholz  <martin@xemacs.org>
9556
9557         * lstream.h (struct lstream): Use max_align_t for trailing data.
9558         * specifier.h (struct Lisp_Specifier): Likewise.
9559
9560 2001-01-22  Martin Buchholz  <martin@xemacs.org>
9561
9562         * mule-ccl.c (CCL_Extension): Renamed from CCL_Extention.
9563         (CCL_SUCCESS): Kludge to prevent Sun cc compiler warnings.
9564         (CCL_SUSPEND): Likewise.
9565         (CCL_INVALID_CMD): Likewise.
9566         (CCL_CALL_FOR_MAP_INSTRUCTION): Likewise.
9567         (ccl_driver): Likewise.
9568         (CCL_WRITE_CHAR): Macro hygiene.
9569         (CCL_WRITE_STRING): Macro hygiene.
9570
9571 2001-01-22  Martin Buchholz  <martin@xemacs.org>
9572
9573         Port "portable" dumper to SunOS 4 and HP-UX.
9574         * s/aix4.h (AIX4): Move MAP_FAILED definition elsewhere.
9575         * emacs.c (main): PDUMP implies no RUN_TIME_REMAP.
9576         * dumper.c (pdump_file_get): Define MAP_FAILED if not already defined.
9577
9578 2001-01-22  Martin Buchholz  <martin@xemacs.org>
9579
9580         * lisp.h (ALIGNOF): A better definition for C++.
9581
9582 2001-01-20  Martin Buchholz  <martin@xemacs.org>
9583
9584         Macro hygiene.
9585         Fix printf warnings: int format, long int arg.
9586         * regex.c (DECLARE_DESTINATION): Use DECLARE_NOTHING.
9587         (PUSH_FAILURE_POINT): Use correct printf formats.
9588         (POP_FAILURE_POINT): Use correct printf formats.  
9589         Use do {...} while (0)
9590
9591 2001-01-20  Martin Buchholz <martin@xemacs.org>
9592
9593         * XEmacs 21.2.42 "Poseidon" is released.
9594
9595 2001-01-20  Martin Buchholz  <martin@xemacs.org>
9596
9597         * console-x.h: typo fix du jour.  Remove #if 0'ed code.
9598
9599 2001-01-19  Martin Buchholz  <martin@xemacs.org>
9600
9601         De-kludgify FIXED_TYPE free list frobbing.
9602         Fix crashes on 64-bit platforms introduced by my patch of 2001-01-13.
9603         * alloc.c (DECLARE_FIXED_TYPE_ALLOC): Use Lisp_Free.
9604         * alloc.c (ALLOCATE_FIXED_TYPE_1): Use new definitions.
9605         * alloc.c (Lisp_Free): New pseudo lisp object definition.
9606         * alloc.c (LRECORD_FREE_P): New.
9607         * alloc.c (MARK_LRECORD_AS_FREE): New.
9608         * alloc.c (MARK_LRECORD_AS_NOT_FREE): New.
9609         * alloc.c (STRUCT_FREE_P): Deleted.
9610         * alloc.c (MARK_STRUCT_AS_FREE): Deleted.
9611         * alloc.c (MARK_STRUCT_AS_NOT_FREE): Deleted.
9612         * alloc.c (STRING_CHARS_FREE_P): New.
9613         * alloc.c (MARK_STRING_CHARS_AS_FREE): New.
9614         * alloc.c (PUT_FIXED_TYPE_ON_FREE_LIST): Use new definitions.
9615         * alloc.c (FREE_FIXED_TYPE): Use new definitions.
9616         * alloc.c (STRING_CHARS_FREE_P): Use new definitions.
9617         * alloc.c (resize_string): Use new definitions.
9618         * alloc.c (SWEEP_FIXED_TYPE_BLOCK): Use new definitions.
9619         * alloc.c (verify_string_chars_integrity): Use new definitions.
9620         * alloc.c (compact_string_chars): Use new definitions.
9621         * alloc.c: Update monster comments.
9622         * lrecord.h (lrecord_type): Add some new lrecord types for
9623         alloc.c's use.
9624
9625 2001-01-18  Martin Buchholz  <martin@xemacs.org>
9626
9627         Improve alignment hackery.
9628         * lisp.h (ALIGNOF): Better definition for the non-gcc case.
9629         (max_align_t): Moved from opaque.h - general purpose.
9630         (ALIGN_PTR): Use size_t, not long.
9631         * opaque.h (max_align_t): Move to lisp.h.
9632
9633 2001-01-18  Norbert Koch  <nk@LF.net>
9634
9635         * gui.h: Fix and add prototypes to fix build problems.
9636
9637 2001-01-18  Martin Buchholz  <martin@xemacs.org>
9638
9639         temacs is going away, so `dump-temacs' is now a bad name.
9640         * .dbxrc (dump-temacs): Rename to `dmp'.
9641         * .gdbinit (dump-temacs): Rename to `dmp'.
9642
9643 2001-01-17  Andy Piper  <andy@xemacs.org>
9644
9645         * glyphs.c (print_image_instance): comment to make martin happy.
9646
9647         * glyphs-x.c (x_redisplay_widget): update faces after a frame
9648         change.
9649
9650         * glyphs-msw.c (mswindows_redisplay_widget): add code to cope with
9651         activation.
9652         (mswindows_tab_control_redisplay): warning suppression.
9653
9654         * glyphs-widget.c (widget_update): re-write to cope with updated
9655         items.
9656         (widget_instantiate): use new gui_item functions.
9657         (tab_control_update): deleted.
9658         (progress_gauge_update): deleted.
9659         (image_instantiator_progress_guage): take out update reference.
9660         (image_instantiator_tree_view): ditto.
9661         (image_instantiator_tab_control): ditto.
9662
9663         * gui.c (widget_gui_parse_item_keywords): new function. Do things
9664         Right the new way.
9665         (gui_item_add_keyval_pair): re-write to cope with descriptors and
9666         return whether anything was changed.
9667         (update_gui_item_keywords): as it sounds.
9668
9669         * gui.h: declare widget_gui_parse_item_keywords.
9670
9671         * fns.c (safe_copy_tree): new function taken from Fcopy_tree.
9672         (Fcopy_tree): use it. Stops infloop death in bogus instantiators.
9673
9674 2001-01-17  Martin Buchholz <martin@xemacs.org>
9675
9676         * XEmacs 21.2.41 "Polyhymnia" is released.
9677
9678 2001-01-16  Didier Verna  <didier@xemacs.org>
9679
9680         * glyphs.c (image_instantiate): don't use fallbacks when
9681         instantiating a face's background pixmap by inheritance.
9682
9683 2001-01-14  Mike Sperber <mike@xemacs.org>
9684
9685         * sysdep.c (start_of_data): PDUMP implies ORDINARY_LINK.
9686         Conditionalize accordingly.
9687
9688 2001-01-16  Martin Buchholz  <martin@xemacs.org>
9689
9690         * dumper.c (pdump_file_get): Fix a compiler warning.
9691
9692 2001-01-15  Martin Buchholz  <martin@xemacs.org>
9693
9694         Make Purify happy when pdumping.
9695         * symbols.c (Fmake_variable_buffer_local): Make Purify happy, by
9696         iniitalizing all bits of new lisp object memory.
9697         * symbols.c (Fmake_local_variable): Likewise.
9698         * symbols.c (Fdontusethis_set_symbol_value_handler): Likewise.
9699         * symbols.c (Fdefvaralias): Likewise.
9700         * mule-charset.c (vars_of_mule_charset): Likewise.
9701
9702 2001-01-15  Martin Buchholz  <martin@xemacs.org>
9703         Add the `-nd' flag when running pre-dump operations under the debugger.
9704         * .dbxrc (run-temacs): Add `-nd'.
9705         * .dbxrc (update-elc): Likewise.
9706         * .dbxrc (dump-temacs): Likewise.
9707         * .gdbinit (run-temacs): Likewise.
9708         * .gdbinit (check-temacs): Likewise.
9709         * .gdbinit (update-elc): Likewise.
9710         * .gdbinit (dump-temacs): Likewise.
9711
9712 2001-01-14  Martin Buchholz  <martin@xemacs.org>
9713
9714         Allow building 64-bit executables on AIX with GNU malloc, e.g.
9715         export OBJECT_MODE=64
9716         configure --pdump --use-union-type=no
9717         * m/ibmrs6000.h (DATA_START): Define for 64-bit world.
9718         * gmalloc.c (__default_morecore): Remove pre-ANSI cruft.
9719
9720         * miscplay.c (sndcnv8U_2mono):
9721         Avoid two uses of `++' in the same expression.
9722         Suppresses a GCC warning.
9723
9724 2001-01-13  Martin Buchholz  <martin@xemacs.org>
9725
9726         Make sure future compilers don't miscompile alloc.c.
9727         * alloc.c:
9728         (MARK_STRUCT_AS_FREE): Make aliasing-optimization-resistant.
9729         (MARK_STRUCT_AS_NOT_FREE): Make aliasing-optimization-resistant.
9730
9731 2001-01-12  Martin Buchholz  <martin@xemacs.org>
9732
9733         * dumper.c: A little post-pdump-rename comment fixup.
9734
9735 2001-01-09  Jerry James  <james@eecs.ku.edu>
9736
9737         * lisp-disunion.h: Change LISP_TO_CVOID arg to match its use.
9738
9739 2001-01-13  Martin Buchholz  <martin@xemacs.org>
9740
9741         * *.[ch]: Globally rename symbols using the following `pdump-rename'
9742         script:
9743         #!/bin/sh
9744         replace_symbol () {
9745           (findn texi$; findn [ch]$) | xargs g -lw "$1" | xargs global-replace 's/(?<!_)\b'$1'\b(?!_)/'$2'/g'
9746         }
9747
9748         replace_symbol pdump_wire_lists pdump_weak_object_chains
9749         replace_symbol pdump_wire_list dump_add_weak_object_chain
9750
9751         replace_symbol pdump_wires pdump_root_objects
9752         replace_symbol pdump_wire dump_add_root_object
9753
9754         replace_symbol pdump_dump_wired pdump_dump_from_root_objects
9755         replace_symbol pdump_dump_structs pdump_dump_from_root_struct_ptrs
9756
9757         replace_symbol dumpstructinfos pdump_root_struct_ptrs
9758         replace_symbol dumpstructinfo_dynarr pdump_root_struct_ptr_dynarr
9759         replace_symbol dumpstructinfo pdump_root_struct_ptr
9760         replace_symbol dumpstruct dump_add_root_struct_ptr
9761
9762         replace_symbol dumpopaque dump_add_opaque
9763         replace_symbol dumpopaqueinfo_dynarr pdump_opaque_dynarr
9764         replace_symbol dumpopaqueinfos pdump_opaques
9765         replace_symbol dumpopaqueinfo pdump_opaque
9766
9767         replace_symbol nb_structdump nb_root_struct_ptrs
9768         replace_symbol nb_opaquedump nb_opaques
9769
9770         replace_symbol align_table pdump_align_table
9771         replace_symbol dump_header pdump_header
9772
9773         replace_symbol DUMP_SIGNATURE_LEN PDUMP_SIGNATURE_LEN
9774         replace_symbol DUMP_SIGNATURE PDUMP_SIGNATURE
9775
9776
9777 2001-01-12  Martin Buchholz  <martin@xemacs.org>
9778
9779         * s/aix4.h: Keep the C for AIX compiler from overaggressively
9780         optimizing bytecount_to_charcount().
9781
9782 2001-01-06  Golubev I. N.  <gin@mo.msk.ru>
9783
9784         * config.h.in:
9785         (HAVE_DLFCN_H): Removed.
9786         * sysdll.c: Remove HAVE__DLOPEN, HAVE_DLFCN_H.
9787
9788 2001-01-06  Martin Buchholz  <martin@xemacs.org>
9789
9790         Portable dumper maintainability improvements.
9791         * alloc.c (staticpro):
9792         * alloc.c (staticpro_nodump):
9793         * alloc.c (garbage_collect_1):
9794         * alloc.c (reinit_alloc_once_early):
9795         * alloc.c (init_alloc_once_early):
9796         * alloc.c: Move dumper functions to alloc.c.
9797         * dumper.c (pdump_backtrace):
9798         * dumper.c (pdump_dump_structs):
9799         * dumper.c (pdump_dump_opaques):
9800         * dumper.c (pdump_dump_rtables):
9801         * dumper.c (pdump_dump_wired):
9802         * dumper.c (pdump):
9803         * dumper.c (pdump_load_check):
9804         * dumper.c (pdump_load_finish):
9805         * dumper.c (pdump_file_unmap):
9806         * dumper.c (pdump_file_get):
9807         * dumper.c (pdump_resource_free):
9808         * dumper.c (pdump_resource_get):
9809         * dumper.c (pdump_file_free):
9810         * dumper.c (pdump_file_try):
9811         * dumper.c (pdump_load):
9812         Remove fixed size limits on staticpro(), staticpro_nodump(),
9813         dumpopaque(), dumpstruct() by using Dynarrs instead of static C arrays.
9814         Remove custom code for dumping lrecord_implementations_table - use
9815         dumpopaque instead.
9816         Remove (most of the) custom code for dumping staticpros - dump it
9817         like any other dynarr.
9818
9819         * alloc.h: Removed.  No longer useful, since dumper now more self-contained.
9820         * dumper.c: Moved functions from alloc.c.
9821         * alloc.c (dumpstruct): Moved to dumper.c.
9822         * alloc.c (dumpopaque): Likewise.
9823         * alloc.c (pdump_wire): Likewise.
9824         * alloc.c (pdump_wire_list): Likewise.
9825
9826         * lisp.h (Dynarr_sizeof): New.
9827         * lisp.h (Dynarr_begin): New.  Very slightly C++oid.
9828         * lisp.h (Dynarr_end): New.  Very slightly C++oid.
9829         * lisp.h (Lisp_Object_ptr_dynarr): New.  For staticpros.
9830
9831         * lisp.h (dumpstruct): Define to nothing if not PDUMPing.
9832         * lisp.h (dumpopaque): ditto.
9833         * lisp.h (pdump_wire): ditto.
9834         * lisp.h (pdump_wire_list): ditto.
9835
9836 2001-01-09  Martin Buchholz  <martin@xemacs.org>
9837
9838         * make-src-depend (PrintPatternDeps):
9839         Use `sort' to make output independent of perl version.
9840
9841 2001-01-08  Martin Buchholz  <martin@xemacs.org>
9842
9843         Port to Netbsd 1.5.
9844         * unexelf.c: Remove (never used) bogus Netbsd-specific cruft.
9845         * s/netbsd.c: Use unexelf.o if __ELF__ is defined.
9846
9847 2001-01-03  Didier Verna  <didier@xemacs.org>
9848
9849         * event-stream.c (emacs_handle_focus_change_preliminary): ensure
9850         that `focus_frame' is alive before thinking of calling
9851         `redisplay_redraw_cursor' on it.
9852
9853 2001-01-08  Martin Buchholz <martin@xemacs.org>
9854
9855         * XEmacs 21.2.40 is released.
9856
9857 2001-01-06  Golubev I. N.  <gin@mo.msk.ru>
9858
9859         * regex.c: Replace PREFETCH with REGEX_PREFETCH.
9860
9861 2001-01-06  Martin Buchholz  <martin@xemacs.org>
9862
9863         * alloc.c (dbg_valmask): Make const.
9864         * alloc.c (dbg_typemask): Make const.
9865         * alloc.c (dbg_USE_UNION_TYPE): Make const.
9866         * alloc.c (dbg_valbits): Make const.
9867         * alloc.c (dbg_gctypebits): Make const.
9868
9869 2001-01-06  Stephen J. Turnbull  <stephen@xemacs.org>
9870
9871         * redisplay-x.c (x_bevel_area):
9872         redisplay.h (struct rune):
9873         Typo fixes in comments.
9874
9875 2001-01-05  Andy Piper  <andy@xemacs.org>
9876
9877         * glyphs-x.c (x_redisplay_widget): use size changed for offset
9878         adjustment.
9879
9880         * menubar.c (menubar_visible_p_changed): don't mark frame changed.
9881
9882 2001-01-05  Martin Buchholz  <martin@xemacs.org>
9883
9884         * alloc.c (pure-bytes-used): Remove unused mendacious variable.
9885
9886         * mule-ccl.c (stack_idx_of_map_multiple):
9887         Non const global data must not be initialized!
9888         Found by MIYASHITA Hisashi.
9889
9890 2001-01-02  Andy Piper  <andy@xemacs.org>
9891
9892         * frame.c (change_frame_size): make sure frame size is always
9893         marked as changed.
9894
9895         * glyphs.c (image_instance_layout): minor code reuse.
9896
9897         * window.c (Fcurrent_window_configuration): revert previous
9898         change.
9899
9900 2001-01-02  Martin Buchholz  <martin@xemacs.org>
9901
9902         * glyphs.h:
9903         * glyphs.c (make_image_instance_cache_hash_table): Use ANSI prototypes.
9904
9905 2000-12-31  Andy Piper  <andy@xemacs.org>
9906
9907         * glyphs-x.c (x_unmap_subwindow): return focus to enclosing frame
9908         when widget gets unmapped.
9909
9910         * event-Xt.c (emacs_Xt_handle_widget_losing_focus): new
9911         function. Make sure widgets losing focus don't just drop it.
9912         (handle_focus_event_1): record the widget with focus.
9913
9914 2000-12-31  Andy Piper  <andy@xemacs.org>
9915
9916         * window.c (allocate_window): use
9917         make_image_instance_cache_hash_table.
9918         (make_dummy_parent): ditto.
9919         (Fset_window_configuration): ditto.
9920
9921         * glyphs.h (INSTANTIATOR_TYPE): new macro.  declare new functions.
9922
9923         * glyphs.c (process_image_string_instantiator): use
9924         INSTANTIATOR_TYPE.
9925         (get_image_instantiator_governing_domain): ditto.
9926         (normalize_image_instantiator): ditto.
9927         (instantiate_image_instantiator): ditto.
9928         (make_image_instance_1): ditto.
9929         (image_instantiate): ditto. Key on glyph *and* instantiator type.
9930         (instantiator_eq_equal): new function for use with instance hash
9931         tables.
9932         (instantiator_eq_hash): ditto.
9933         (make_image_instance_cache_hash_table): create a suitable hash
9934         table for storing image instances.
9935
9936         * elhash.h (hash_table_weakness): new internal weakness type
9937         HASH_TABLE_KEY_CAR_VALUE_WEAK.
9938         declare new functions.
9939
9940         * elhash.c (finish_marking_weak_hash_tables): introduce yet
9941         another weakness type for glyphs.
9942         (make_standard_lisp_hash_table): new function split out from
9943         make_general_lisp_hash_table.
9944         (make_lisp_hash_table): call make_standard_lisp_hash_table.
9945         (hash_table_instantiate): ditto.
9946         (Fmake_hash_table): ditto.
9947
9948 2000-12-31  Martin Buchholz <martin@xemacs.org>
9949
9950         * XEmacs 21.2.39 is released.
9951
9952 2000-12-29  Andy Piper  <andy@xemacs.org>
9953
9954         * menubar.c (menubar_visible_p_changed): signal the frame changed.
9955
9956         * glyphs-x.c (x_redisplay_widget): Re-calculate widget offsets if
9957         the frame has changed so that we pick up geometry changes such as
9958         menubar visibility.
9959
9960 2000-12-28  Andy Piper  <andy@xemacs.org>
9961
9962         * lastfile.c (my_ebss): make a char array so we can pad the
9963         bss. Fixes cygwin unexec.
9964
9965         * unexcw.c: invert BROKEN_GDB to NO_DEBUG.
9966
9967 2000-12-26  Andy Piper  <andy@xemacs.org>
9968
9969         * event-Xt.c (emacs_Xt_force_event_pending): add some verbose
9970         comments and try and be more precise about a non-/SIGIO world.
9971         (emacs_Xt_event_pending_p): use XtAppPending under cygwin and non
9972         SIGIO.
9973
9974         * redisplay-output.c (redisplay_normalize_glyph_area): make sure
9975         we don't normalize to zero width or height.
9976
9977 2000-12-24  Andy Piper  <andy@xemacs.org>
9978
9979         * Makefile.in.in (ldflags): add -mwindows when appropriate.
9980
9981 2000-08-18  Golubev I. N.  <gin@mo.msk.ru>
9982
9983         * s/sco5.h: SCO 5 has pty support.
9984
9985 2000-07-20  Kazuyuki IENAGA <ienaga@xemacs.org>
9986
9987         * input-method-xlib.c: supports both XIM_XLIB and USE_XFONTSET.
9988         input-method-xlib.c contains whole contents of input-method-xfs.c,
9989         so we can use input-method-xlib.c's code for USE_XFONTSET
9990         using #ifdefs.
9991         * input-method-xfs.c: removed.
9992
9993 2000-12-20  Stephen Turnbull  <stephen@xemacs.org>
9994
9995         * file-coding.h (enum coding_category_type): reorder enumerators to
9996         make autodetection safer.  Make CODING_CATEGORY_LAST an enumerator
9997         (now one greater than largest real coding_category_type enumerator).
9998         * file-coding.c (coding_category_symbol, coding_category_by_priority,
9999         coding_category_system, fcd_descriptihon_1, decode_coding_category,
10000         Fcoding_category_list, Fset_coding_priority_list,
10001         Fcoding_priority_list, coding_system_from_mask, Fdetect_coding_region,
10002         vars_of_file_coding): adjust for change in CODING_CATEGORY_LAST.
10003
10004 2000-12-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
10005
10006         * redisplay-output.c (redisplay_clear_top_of_window): Remove static.
10007         * redisplay-output.c (redisplay_output_window): Clear top of window
10008         when face is changed.
10009         * redisplay-x.c (x_redraw_exposed_window): Call
10010         redisplay_clear_top_of_window.
10011         * redisplay.h: Publish redisplay_clear_top_of_window.
10012
10013 2000-12-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
10014
10015         * buffer.c (Fkill_buffer): Map over all devices.
10016         * window.c (window_loop): Remove UNSHOW_BUFFER code.
10017         (list_windows): New function.
10018         (list_all_windows): Ditto.
10019         (Freplace_buffer_in_windows): Use them.
10020
10021 2000-02-02   Daiki Ueno <ueno@ueda.info.waseda.ac.jp>
10022
10023         * database.c (berkdb_subtype): Recognize new subtype `queue'.
10024         (Fopen_database): Use `db_create' instead of `db_open'.
10025         (syms_of_database): Initialize Qqueue.
10026
10027 2000-12-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
10028
10029         * buffer.c (common_init_complex_vars_of_buffer): Initialize
10030         buffer_local_face_property.
10031         * buffer.h (struct buffer): New member buffer_local_face_property.
10032         * window.c (Fset_window_buffer):  Mark window's face as changed
10033         when buffer has buffer local face.
10034         * window.h (MARK_WINDOW_FACES_CHANGED): New macro.
10035         * objects.c (color_after_change): Set buffer_local_face_property
10036         when locale of face specifier is buffer.
10037         * objects.c (font_after_change): Ditto.
10038         * objects.c (face_boolean_after_change): Ditto.
10039         * glyphs.c (image_after_change): Ditto.
10040
10041 2000-12-09  Dan Holmsand  <dan@eyebee.com>
10042
10043         * nt.c (mswindows_fstat): Report file permissions, volume serial
10044         number, etc. Code adapted from FSF Emacs 20.7.
10045
10046 2000-12-09  Dan Holmsand  <dan@eyebee.com>
10047
10048         * sysfile.h (lstat): Make lstat an alias for xemacs_stat instead
10049         of stat when we don't have symbolic links, to make sure
10050         mswindows_stat is called on mswindows.
10051
10052 2000-12-12  Yoshiki Hayashi  <yoshiki@xemacs.org>
10053
10054         * alloca.c: Define malloc to xmalloc only when built with XEmacs.
10055
10056 2000-12-12  Martin Buchholz  <martin@xemacs.org>
10057
10058         * doprnt.c (emacs_doprnt_1): More printing fixes.
10059         Make printing of numbers compatible with libc and FSF Emacs.
10060         BUG was: (format "%6.3f" 1.2) ==>"1.200000"
10061         Use the system printf to do most of the hard work of formatting,
10062         instead of doprnt_1().
10063         Calculate memory to allocate for format string.
10064         Remove arbitrary limit on precision, e.g. (format "%.1000f" 3.14)
10065         (doprnt_1): Cleaner code and documentation.
10066
10067 2000-12-01  Jerry James  <james@eecs.ukans.edu>
10068
10069         * Makefile.in.in: Use the loop variable to install headers.
10070
10071 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
10072
10073         * window.c (Fsplit_window): Don't invalidate face cache.
10074
10075 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
10076
10077         * minibuf.c (Fall_completions): Undo the previous change
10078         which removed checking elements start with space.
10079
10080 2000-12-06  Stephen Turnbull  <stephen@xemacs.org>
10081
10082         * mule-canna.c: Didier suppression.
10083
10084 2000-12-06  Stephen Turnbull  <stephen@xemacs.org>
10085
10086         * mule-canna.c: rename static unsigned char buf[] to key_buffer
10087         (warning suppression).  Add English comment translations.
10088
10089 2000-12-05  Martin Buchholz  <martin@xemacs.org>
10090
10091         * unexelfsgi.c (unexec): Better test for mmap failure.
10092
10093 2000-12-05  Martin Buchholz <martin@xemacs.org>
10094
10095         * XEmacs 21.2.38 is released.
10096
10097 2000-12-05  Martin Buchholz  <martin@xemacs.org>
10098
10099         * redisplay.c (bar-cursor): Make a user variable.
10100
10101         * symsinit.h: Add init_postgresql_from_environment.
10102
10103 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
10104
10105         * regex.c: Convert to clean C.
10106
10107 2000-12-05  Dan Holmsand  <dan@eyebee.com>
10108
10109         * realpath.c:
10110         Don't #include sysfile.h. Revert to duplicating PATH_MAX
10111         initialization.
10112         (sys_readlink): renamed to system_readlink to avoid conflict with
10113         the other sys_readlink.
10114
10115 2000-12-04  Hiroaki Abe  <h-abe@pc.highway.ne.jp>
10116
10117         * dumper.c (pdump_file_get): Correct uses of pdump_fd.
10118
10119 2000-12-04  Stephen J. Turnbull  <stephen@xemacs.org>
10120
10121         * postgresql.c (init_postgresql_from_environment): new function.
10122         (vars_of_postgresql): Move code initializing Lisp variables out and
10123         into init_postgresql_from_environment.
10124         emacs.c (main_1): Call init_postgresql_from_environment if and only
10125         if running a dumped XEmacs.
10126
10127 2000-08-31  Dan Holmsand  <dan@eyebee.com>
10128
10129         * buffer.c: Make find-file-compare-truenames default to true on
10130         windows.
10131
10132         * realpath.c (win32_abs_start):
10133         (cygwin_readlink):
10134         (win32_readlink): New functions.
10135         (xrealpath): Return really real filenames on windows.
10136
10137         * fileio.c (Ffile_truename): Make file-truename work on windows.
10138
10139 2000-11-29  Didier Verna  <didier@xemacs.org>
10140
10141         * faces.c (MAYBE_UNFROB_BACKGROUND_PIXMAP): new macro.
10142         * faces.c (update_face_cachel_data): use it.
10143         * faces.c (add_face_cachel): use it. Complete background pixmap
10144         frobbing in face cache if `update_face_cachel_data' has not done so.
10145
10146 2000-11-29  Yoshiki Hayashi  <yoshiki@xemacs.org>
10147
10148         * search.c (string_match_1): Don't set last_thing_searched
10149         when search failed.
10150
10151 2000-11-27  Yoshiki Hayashi  <yoshiki@xemacs.org>
10152
10153         * buffer.c: Include casetab.h
10154         (common_init_complex_vars_of_buffer): Use new case-table object.
10155         * buffer.h: Include casetab.h
10156         * buffer.h (MAKE_TRT_TABLE): Use generic char-table.
10157         (DOWNCASE_TABLE_OF): Ditto.
10158         * bufslots.h: Remove char-tables and add case-table.
10159         * casetab.c: Include casetab.h
10160         (CASE_TABLE_P): Removed.
10161         (mark_case_table): New function.
10162         (allocate_case_table): New function.
10163         (Fcase_table_p): Use new case-table.
10164         (case_table_char): New function.
10165         (Fget_case_table): Ditto.
10166         (Fput_case_table): Ditto.
10167         (Fput_case_table_pair): Ditto.
10168         (Fcopy_case_table): Ditto.
10169         (Fcurrent_case_table): Return case-table.
10170         (Fstandard_case_table): Return case-table.
10171         (Fset_case_table): Fix doc-string.
10172         (set_case_table): Use case-table
10173         (syms_of_casetab): DEFSUBR new functions.
10174         (complex_vars_of_casetab): Set up standard case-table.
10175         * casetab.h: New file.
10176         * editfns.c: Include casetab.h
10177         (Fcompare_buffer_substrings): Use case-table.
10178         * inline.c: Include casetab.h
10179         * lisp.h: Remove bogus extern.
10180         * lrecord.h (lrecord_type): Add lrecord_type_case_table.
10181         * search.c: Include casetab.h
10182         (TRANSLATE_ASCII): Removed.
10183         (TRANSLATE): Unconditionally translate character.
10184         (looking_at_1): Use case-table.
10185         (string_match_1): Ditto.
10186         (fast_string_match): Ditto.
10187         (search_command): Ditto.
10188         (search_buffer): Separate boyer_moore.  Check whether
10189         boyer_moore is possible.
10190         (simple_search): New function.
10191         (boyer_moore): Separated from search_buffer. Translate char.
10192
10193 2000-11-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
10194
10195         * regex.c (RE_TR_ASCII): Removed.
10196         (RE_TRANSLATE): Unconditionally use TRT_TABLE.
10197         (PATFETCH): Call PATFETCH_RAW.
10198         (PATFETCH_RAW): Fetch Emchar.
10199         (PATUNFETCH): Decrement charptr.
10200         (GET_BUFFER_SPACE): Rename b to buf_end.
10201         (BUF_PUSH): Ditto.
10202         (BUF_PUSH_2): Ditto.
10203         (BUF_PUSH_3): Ditto.
10204         (EXTEND_BUFFER): Ditto.
10205         (SET_LIST_BIT): Ditto.
10206         (regex_compile): Ditto.  Translate non ASCII char.
10207         (compile_range): Ditto.
10208         (re_search_2): Ditto.
10209         (re_match_2_internal): Compare Emchar.
10210         (bcmp_translate): Ditto.
10211
10212 2000-11-29  Stephen J. Turnbull  <turnbull@xemacs.org>
10213
10214         * lisp.h (basic char/int typedefs):  comment improvement.
10215
10216 2000-11-24  Stephen J. Turnbull  <turnbull@xemacs.org>
10217
10218         * emacs.c (main_1):  unconditional pdump unstomping; don't save and
10219         unstomp inhibit_site_lisp.  Improve comments.
10220
10221 2000-11-22  Stephen J. Turnbull  <turnbull@xemacs.org>
10222
10223         * mule-charset.c (Fcharset_property):  improve type checking, comments.
10224
10225 2000-11-28  Andy Piper  <andy@xemacs.org>
10226
10227         * redisplay-output.c (redisplay_output_subwindow): make sure we do
10228         clipped display for windows in the gutter also.
10229         (redisplay_display_boxes_in_window_p): change semantics of return
10230         codes to be more intuitive.
10231
10232         * gutter.h: declare display_boxes_in_gutter_p.
10233
10234         * gutter.c (display_boxes_in_gutter_p): new function for
10235         redisplay.
10236
10237 2000-11-22  Andy Piper  <andy@xemacs.org>
10238
10239         * glyphs-x.c (image_instantiator_format_create_glyphs_x): change
10240         autodetect domain.
10241
10242 2000-11-21  Yoshiki Hayashi  <yoshiki@xemacs.org>
10243
10244         * callproc.c (Fold_call_process_internal):
10245         * gpm.c (Freceive_gpm_event):
10246         (tty_get_foreign_selection): Might be just warning supression.
10247         * fileio.c (Fwrite_region_internal):
10248         (Fset_visited_file_modtime):
10249         * keymap.c (event_matches_key_specifier_p):
10250         Initialize GCPROed variable.
10251
10252         * menubar-x.c (command_builder_find_menu_accelerator):
10253         Initialize before use.
10254
10255 2000-11-23  Andy Piper  <andy@xemacs.org>
10256
10257         * unexcw.c (unexec): make the resulting executable executable.
10258
10259 2000-11-21  Martin Buchholz  <martin@xemacs.org>
10260
10261         * doc.c (get_doc_string):
10262         Use size_t, not int, for result of XSTRING_LENGTH.
10263
10264         * cmds.c (Fdelete_char):
10265         * cmds.c (Fpoint_at_eol):
10266         * cmds.c (Fself_insert_command):
10267         Use EMACS_INT, not int, for result of XINT.
10268         Someday, someone will want to insert more than 2**31 identical characters.
10269
10270         * cmds.c (Fdelete_char):
10271         * cmds.c (Fdelete_backward_char):
10272         * syntax.c (Fforward_word):
10273         * syntax.c (Fforward_comment):
10274         Make COUNT argument optional, for consistency with forward-char et al.
10275
10276 2000-11-22  Martin Buchholz  <martin@xemacs.org>
10277
10278         * lisp.h:
10279         * print.c (long_to_string):
10280         Return a useful value: the pointer at end of data written.
10281
10282         * doprnt.c:
10283         Use `static const char * const' for constant strings.
10284         (union printf_arg): Delete `i', `ui' members.
10285         (get_doprnt_args):
10286         (emacs_doprnt_1):
10287         Fix LP64 platform bug: (format "%d" most-positive-fixnum) ==> "-1"
10288         Do all printf-ing via the `l' specifier.
10289         Use EMACS_INT instead of int.
10290         Optimize.
10291
10292 2000-11-20  Didier Verna  <didier@xemacs.org>
10293
10294         * faces.c (update_face_cachel_data): don't frob the background
10295         pixmap when the window is being created. The face is needed but
10296         does not exist yet.
10297
10298 2000-11-20  Andy Piper  <andy@xemacs.org>
10299
10300         * unexcw.c (copy_executable_and_dump_data_section): Only do bss
10301         messing with a debug environment.
10302
10303 2000-11-20  Martin Buchholz  <martin@xemacs.org>
10304
10305         * emacs.c (__sti__iflPNGFile_c___): Pedantically correct prototype.
10306
10307 2000-11-20  Martin Buchholz  <martin@xemacs.org>
10308
10309         * casetab.c (Fcase_table_p): Fix compile error and crash.
10310
10311 2000-11-18  Philip Aston  <philipa@mail.com>
10312
10313         * s/cygwin32.h: Cygwin has SVR4-like pty support.
10314
10315 2000-11-18  Martin Buchholz  <martin@xemacs.org>
10316
10317         * fileio.c (Fexpand_file_name): GCPRO bug!  Protect `handler'.
10318         * filelock.c (lock_file): GCPRO bug! Initialize all GCPROed vars!
10319
10320 2000-11-17  Martin Buchholz  <martin@xemacs.org>
10321
10322         * config.h.in: Define HAVE_ELF_H if elf.h exists.
10323         * unexelf.c: Use HAVE_ELF_H.
10324         * unexelfsgi.c: Fix bug with dumped xemacs stdout/stderr not working.
10325         I copied FSF Emacs 20.7 unexelf.c to unexelfsgi.c and ANSIfied it.
10326         Max Matveev <makc@sgi.com> removed non-SGI-relevant parts and tested.
10327         Greg Harrington <greg_harrington@hotmail.com> provided a machine
10328         for testing.
10329         So this is an unexelfsgi.c from a different line of development.
10330
10331 2000-11-16  Yoshiki Hayashi  <yoshiki@xemacs.org>
10332
10333         * regex.c (RE_TR_ASCII): New function.
10334         (RE_TRANSLATE): Call it.
10335
10336 2000-11-16  Yoshiki Hayashi  <yoshiki@xemacs.org>
10337
10338         * buffer.h (TRT_TABLE_OF): Remove assert.
10339         (IN_TRT_TABLE_DOMAIN): Removed.
10340
10341 2000-11-16  Gunnar Evermann  <ge204@eng.cam.ac.uk>
10342
10343         * free-hook.c (log_gcpro):
10344         (show_gcprohist): Add support for GCPRO5.
10345
10346 2000-11-08  Stephen J. Turnbull  <stephen@xemacs.org>
10347
10348         * emacs.c (main_1): Improve -sd error message when --pdump=no.
10349
10350 2000-11-16  Olivier Galibert  <galibert@xemacs.org>
10351
10352         * symeval.h: Declare flush_all_buffer_local_cache.
10353
10354         * symbols.c: Change XD_LO_RESET_NIL into XD_LISP_OBJECTs.
10355         (flush_buffer_local_cache): Added.
10356         (flush_all_buffer_local_cache): Added.
10357
10358         * lrecord.h: Remove unused XD_LO_RESET_NIL.
10359
10360         * dumper.c (pdump_register_sub): Remove unused XD_LO_RESET_NIL.
10361         (pdump_dump_data): Ditto.
10362         (pdump_reloc_one): Ditto.
10363         (pdump): Remove unused pdump_qnil.  Flush buffer local caches
10364         before dumping.
10365
10366
10367 2000-11-14  Yoshiki Hayashi  <yoshiki@xemacs.org>
10368
10369         * buffer.c: Remove if 0'ed entry.
10370         * buffer.h: Rewrite TRT to use char-table.
10371         * bufslots.h: Remove mirror tables.
10372         * casetab.c: Remove mirror tables.
10373         (CASE_TABLE_P): New macro.
10374         (Fcase_table_p): Element of a case table is string or char-table.
10375         (make_mirror_trt_table): Removed.
10376         (set_case_table): Setup char-table from strings for backward
10377         compatibility.
10378         * dired.c (Fdirectory_files):
10379         * dired-msw.c: (mswindows_get_files):
10380         * lisp.h: Change prototype of re_pattern_buffer.
10381         * regex.c: (RE_TRANSLATE): New macro.
10382         (TRANSLATE_P): Ditto.
10383         Change translate to type RE_TRANSLATE_TYPE.
10384         * regex.h: Define RE_TRANSLATE_TYPE
10385         * search.c (TRANSLATE): New macro.
10386         (TRANSLATE_ASCII): New macro.
10387         Translate table is changed to Lisp_Object.
10388         (signal_failure): Inhibit return.
10389
10390 2000-11-14  Yoshiki Hayashi  <yoshiki@xemacs.org>
10391
10392         * device-msw.c:
10393         * eldap.c:
10394         * event-Xt.c:
10395         * event-stream.c:
10396         * print.c:
10397         Do UNGCPRO before return.
10398
10399 2000-11-14  Martin Buchholz <martin@xemacs.org>
10400
10401         * XEmacs 21.2.37 is released.
10402
10403 2000-11-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
10404
10405         * fileio.c (Finsert_file_contents_internal): UNGCPRO before return.
10406         Add comments about discarded return value.
10407
10408 2000-11-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
10409
10410         * callint.c:
10411         * event-stream.c: Fix comments.  Remove some #if 0'ed part.
10412
10413 2000-10-27  Andy Piper  <andy@xemacs.org>
10414
10415         * gutter.c (Fset_default_gutter_position): default left and right
10416         gutters to visible.
10417         (calculate_gutter_size): calculate resonable heuristic for left
10418         and right gutter sizes.
10419         (specifier_vars_of_gutter): change left and right gutter sizes to
10420         autodetect.
10421         (calculate_gutter_size_from_display_lines): new function.
10422         (output_gutter): check for resizing on left and right gutters.
10423         (clear_gutter): don't special case top and left gutters.
10424         (specifier_vars_of_gutter): use new signature for
10425         set_specifier_caching.
10426
10427         * glyphs-x.c (x_redisplay_widget): spelling fix.
10428         * glyphs.c (specifier_vars_of_glyphs):
10429         * menubar.c (specifier_vars_of_menubar):
10430         * redisplay.c (specifier_vars_of_redisplay):
10431         * toolbar.c (specifier_vars_of_toolbar):
10432         * window.c (specifier_vars_of_window):
10433         * scrollbar.c (specifier_vars_of_scrollbar):
10434         (complex_vars_of_scrollbar): use new signature for
10435         set_specifier_caching.
10436
10437         * specifier.c (set_specifier_caching): include recompute flag.
10438         (recompute_one_cached_specifier_in_window): always recompute if
10439         flag set.
10440         (recompute_one_cached_specifier_in_frame): ditto.
10441
10442         * specifier.h (struct specifier_caching): add recompute flag.
10443
10444 2000-10-24  Andy Piper  <andy@xemacs.org>
10445
10446         * unexcw.c (copy_executable_and_dump_data_section): add new
10447         BSS_PAD_SIZE so that we can re-instate a mini-bss. This keeps gdb
10448         5.0 happy.
10449
10450 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
10451
10452         * console-x.h (x_device): New member modifier_release_time.
10453         * event-Xt.c (x_handle_sticky_modifiers):
10454         Bound interval modifier keys are sticky.
10455         * event-stream.c (Vmodifier_keys_sticky_time): New variable.
10456         * events.h: extern it.
10457
10458 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
10459
10460         * cmdloop.c (Fcommand_loop_1): Just add C-g to event queue.
10461
10462 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
10463
10464         * event-stream.c (execute_command_event): Preserve current_events
10465         and the like when event is misc-user-event.
10466         Inhibit quit during the call to maybe_echo_keys.
10467
10468 2000-10-31  Yoshiki Hayashi  <yoshiki@xemacs.org>
10469
10470         * filelock.c (lock_buffer): Cope with kill-buffer. Don't create a
10471         symlink when buffer is killed.
10472         (inhibit_clash_detection): New variable.
10473
10474 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
10475
10476         * console.c (Fset_input_method): Trigger redisplay on tty.
10477
10478 2000-11-07  Martin Buchholz  <martin@xemacs.org>
10479
10480         * process.c (Fprocess_status): Revert to previous behavior:
10481         (process-status "nosuchprocess") ==> nil
10482
10483 2000-11-06  Martin Buchholz  <martin@xemacs.org>
10484
10485         * mule-charset.h (CHARSET_BY_LEADING_BYTE):
10486         Work around another GCC 2.95.2 optimizer bug.
10487
10488 2000-11-02  Martin Buchholz  <martin@xemacs.org>
10489
10490         * process.c (Fget_process): Use LIST_LOOP_2.
10491         (kill_buffer_processes): Use LIST_LOOP_2.
10492
10493         * minibuf.c (Fall_completions):
10494         Delete old non-functional code for FSF fourth argument.
10495
10496         * frame.c (frame_matches_frame_spec):
10497         Renamed from `frame_matches_frametype'.  Update all callers.
10498         (device_matches_device_spec):
10499         Renamed from 'device_matches_console_spec'.  Update all callers.
10500
10501         * doc.c (Fsubstitute_command_keys):
10502         Remove buffer overflow crash.  Small code cleanups.
10503
10504         * casetab.c (check_case_table): Simpler code.
10505
10506         * window.c (Freplace_buffer_in_windows):
10507         Give this the same WHICH-FRAMES and WHICH-DEVICES parameters
10508         (and similar implementation) as Fdelete_windows_on.
10509         Update all callers.
10510
10511         * alloc.c (Fmake_list):
10512         * alloc.c (make_vector):
10513         * alloc.c (Fmake_vector):
10514         * alloc.c (make_bit_vector):
10515         * alloc.c (Fmake_bit_vector):
10516         * alloc.c (Fbit_vector):
10517         * alloc.c (Fmake_string):
10518         * alloc.c (Fpurecopy):
10519         * alloc.c (Fmemory_limit):
10520         * buffer.c:
10521         * buffer.c (Fget_buffer):
10522         * buffer.c (Fkill_buffer):
10523         * buffer.c (complex_vars_of_buffer):
10524         * bytecode.c (Fcompiled_function_stack_depth):
10525         * callint.c (Fprefix_numeric_value):
10526         * event-stream.c:
10527         * event-stream.c (Fread_key_sequence):
10528         * casetab.c:
10529         * casetab.c (Fcase_table_p):
10530         * casetab.c (check_case_table):
10531         * casetab.c (Fset_case_table):
10532         * casetab.c (Fset_standard_case_table):
10533         * chartab.c:
10534         * chartab.c (Fchar_table_type):
10535         * chartab.c (Freset_char_table):
10536         * chartab.c (Fget_char_table):
10537         * chartab.c (Fget_range_char_table):
10538         * chartab.c (Fput_char_table):
10539         * chartab.c (Fmap_char_table):
10540         * chartab.c (Fcategory_table_p):
10541         * chartab.c (Fcheck_category_at):
10542         * chartab.c (Fchar_in_category_p):
10543         * chartab.c (Fcategory_table):
10544         * chartab.c (Fcopy_category_table):
10545         * chartab.c (Fset_category_table):
10546         * chartab.c (Fcategory_designator_p):
10547         * chartab.c (Fcategory_table_value_p):
10548         * cmds.c (Fdelete_char):
10549         * cmds.c (Fdelete_backward_char):
10550         * cmds.c (Fself_insert_command):
10551         * cmds.c (Fself_insert_internal):
10552         * console.c (Fvalid_console_type_p):
10553         * console.c (Fcdfw_console):
10554         * console.c (Fconsole_type):
10555         * console.c (Fconsole_name):
10556         * console.c (Fconsole_device_list):
10557         * console.c (Fconsole_on_window_system_p):
10558         * data.c:
10559         * data.c (Feq):
10560         * data.c (Fold_eq):
10561         * data.c (Fsubr_interactive):
10562         * data.c (Fchar_to_int):
10563         * data.c (Fint_to_char):
10564         * data.c (Fsetcar):
10565         * data.c (Fsetcdr):
10566         * data.c (Fnumber_to_string):
10567         * data.c (Fstring_to_number):
10568         * data.c (Frem):
10569         * database.c (mark_database):
10570         * database.c (finalize_database):
10571         * database.c (Fdatabase_live_p):
10572         * database.c (Fdatabasep):
10573         * device-x.c (Fx_get_resource):
10574         * device.c (Fdfw_device):
10575         * dired.c:
10576         * dired.c (Ffile_name_completion):
10577         * dired.c (Ffile_name_all_completions):
10578         * dired.c (Fuser_name_completion):
10579         * dired.c (Fuser_name_completion_1):
10580         * dired.c (Fuser_name_all_completions):
10581         * doc.c (Fdocumentation):
10582         * doc.c (Fdocumentation_property):
10583         * doc.c (Fsubstitute_command_keys):
10584         * editfns.c:
10585         * editfns.c (Fchar_to_string):
10586         * editfns.c (Fstring_to_char):
10587         * editfns.c (Ftemp_directory):
10588         * editfns.c (Finsert_char):
10589         * editfns.c (Fbuffer_substring_no_properties):
10590         * editfns.c (Fnarrow_to_region):
10591         * editfns.c (Fchar_equal):
10592         * editfns.c (Fchar_Equal):
10593         * editfns.c (Ftranspose_regions):
10594         * emacs.c (Fdump_emacs):
10595         * eval.c (Fthrow):
10596         * eval.c (Fcommand_execute):
10597         * eval.c (Fautoload):
10598         * eval.c (Fbacktrace):
10599         * eval.c (Fbacktrace_frame):
10600         * events.c:
10601         * events.c (Fcopy_event):
10602         * events.c (Fcharacter_to_event):
10603         * events.c (Fevent_button):
10604         * events.c (Fevent_process):
10605         * extents.c:
10606         * extents.c (Fnext_extent_change):
10607         * extents.c (Fextent_property):
10608         * faces.c (Ffacep):
10609         * faces.c (Fmake_face):
10610         * file-coding.c:
10611         * file-coding.c (Fencode_shift_jis_char):
10612         * file-coding.c (Fencode_big5_char):
10613         * fileio.c (Ffile_name_directory):
10614         * fileio.c (Ffile_name_nondirectory):
10615         * fileio.c (Ffile_name_as_directory):
10616         * fileio.c (Fdirectory_file_name):
10617         * fileio.c (Ffile_truename):
10618         * fileio.c (Fsubstitute_in_file_name):
10619         * fileio.c (Ffile_modes):
10620         * fileio.c (Fset_file_modes):
10621         * fileio.c (Fset_default_file_modes):
10622         * fileio.c (Fverify_visited_file_modtime):
10623         * floatfns.c (Facos):
10624         * floatfns.c (Fasin):
10625         * floatfns.c (Fatan):
10626         * floatfns.c (Fcos):
10627         * floatfns.c (Fsin):
10628         * floatfns.c (Ftan):
10629         * floatfns.c (Fbessel_j0):
10630         * floatfns.c (Fbessel_j1):
10631         * floatfns.c (Fbessel_jn):
10632         * floatfns.c (Fbessel_y0):
10633         * floatfns.c (Fbessel_y1):
10634         * floatfns.c (Fbessel_yn):
10635         * floatfns.c (Ferf):
10636         * floatfns.c (Ferfc):
10637         * floatfns.c (Flog_gamma):
10638         * floatfns.c (Fexp):
10639         * floatfns.c (Fexpt):
10640         * floatfns.c (Flog):
10641         * floatfns.c (Flog10):
10642         * floatfns.c (Fsqrt):
10643         * floatfns.c (Fcube_root):
10644         * floatfns.c (Facosh):
10645         * floatfns.c (Fasinh):
10646         * floatfns.c (Fatanh):
10647         * floatfns.c (Fcosh):
10648         * floatfns.c (Fsinh):
10649         * floatfns.c (Ftanh):
10650         * floatfns.c (Fabs):
10651         * floatfns.c (Ffloat):
10652         * floatfns.c (Flogb):
10653         * floatfns.c (Fceiling):
10654         * floatfns.c (Ffloor):
10655         * floatfns.c (Fround):
10656         * floatfns.c (Ftruncate):
10657         * floatfns.c (Ffceiling):
10658         * floatfns.c (Fffloor):
10659         * floatfns.c (Ffround):
10660         * floatfns.c (Fftruncate):
10661         * fns.c (Fstring_equal):
10662         * fns.c (Fstring_lessp):
10663         * fns.c (concat2):
10664         * fns.c (concat3):
10665         * fns.c (vconcat2):
10666         * fns.c (vconcat3):
10667         * fns.c (Fsubstring):
10668         * fns.c (Fassoc):
10669         * fns.c (Fold_assoc):
10670         * fns.c (assoc_no_quit):
10671         * fns.c (Fassq):
10672         * fns.c (Fold_assq):
10673         * fns.c (assq_no_quit):
10674         * fns.c (Frassoc):
10675         * fns.c (Fold_rassoc):
10676         * fns.c (Frassq):
10677         * fns.c (Fold_rassq):
10678         * fns.c (rassq_no_quit):
10679         * fns.c (Fremassoc):
10680         * fns.c (remassoc_no_quit):
10681         * fns.c (Fremassq):
10682         * fns.c (remassq_no_quit):
10683         * fns.c (Fremrassoc):
10684         * fns.c (Fremrassq):
10685         * fns.c (remrassq_no_quit):
10686         * fns.c (Fsort):
10687         * fns.c (Fplist_get):
10688         * fns.c (Fplist_put):
10689         * fns.c (Fplist_remprop):
10690         * fns.c (Fplist_member):
10691         * fns.c (Flax_plist_get):
10692         * fns.c (Flax_plist_put):
10693         * fns.c (Flax_plist_remprop):
10694         * fns.c (Flax_plist_member):
10695         * fns.c (Fequal):
10696         * fns.c (Fold_equal):
10697         * fns.c (Frequire):
10698         * fns.c (Fbase64_encode_region):
10699         * fns.c (Fbase64_encode_string):
10700         * fns.c (Fbase64_decode_region):
10701         * frame.c:
10702         * frame.c (frame_matches_frame_spec):
10703         * frame.c (device_matches_device_spec):
10704         * frame.c (next_frame):
10705         * frame.c (previous_frame):
10706         * frame.c (Fnext_frame):
10707         * frame.c (Fprevious_frame):
10708         * frame.c (Fframe_property):
10709         * frame.c (Fset_frame_height):
10710         * frame.c (Fset_frame_size):
10711         * frame.h:
10712         * glyphs.c:
10713         * glyphs.c (if):
10714         * glyphs.c (decode_error_behavior_flag):
10715         * glyphs.c (Fmake_image_instance):
10716         * indent.c (Findent_to):
10717         * intl.c (Fignore_defer_gettext):
10718         * keymap.c (Fkeymapp):
10719         * keymap.c (Flookup_key):
10720         * lread.c:
10721         * lread.c (Fload_internal):
10722         * lread.c (Feval_buffer):
10723         * lread.c (Feval_region):
10724         * macros.c (Fexecute_kbd_macro):
10725         * marker.c (set_marker_internal):
10726         * marker.c (Fset_marker):
10727         * marker.c (set_marker_restricted):
10728         * marker.c (Fcopy_marker):
10729         * marker.c (noseeum_copy_marker):
10730         * menubar.c:
10731         * menubar.c (Fpopup_menu):
10732         * minibuf.c:
10733         * mule-charset.c (Fcharset_name):
10734         * mule-charset.c (Fchar_charset):
10735         * mule-charset.c (Fchar_octet):
10736         * mule-charset.c (Fsplit_char):
10737         * mule-wnnfns.c (Fwnn_open):
10738         * mule-wnnfns.c (Fwnn_dict_comment):
10739         * mule-wnnfns.c (Fwnn_quit_henkan):
10740         * mule-wnnfns.c (Fwnn_word_toroku):
10741         * mule-wnnfns.c (Fwnn_word_sakujo):
10742         * mule-wnnfns.c (Fwnn_word_use):
10743         * mule-wnnfns.c (Fwnn_hindo_set):
10744         * objects.c:
10745         * objects.c (Fmake_color_instance):
10746         * objects.c (Fmake_font_instance):
10747         * print.c (Fwrite_char):
10748         * process.c:
10749         * process.c (mark_process):
10750         * process.c (print_process):
10751         * process.c (get_process_from_usid):
10752         * process.c (Fprocessp):
10753         * process.c (Fprocess_live_p):
10754         * process.c (Fget_process):
10755         * process.c (Fget_buffer_process):
10756         * process.c (get_process):
10757         * process.c (Fprocess_id):
10758         * process.c (Fprocess_name):
10759         * process.c (Fprocess_command):
10760         * process.c (init_process_io_handles):
10761         * process.c (start_process_unwind):
10762         * process.c (Fstart_process_internal):
10763         * process.c (Fopen_multicast_group_internal):
10764         * process.c (Fset_process_window_size):
10765         * process.c (read_process_output):
10766         * process.c (send_process):
10767         * process.c (Fprocess_tty_name):
10768         * process.c (Fset_process_buffer):
10769         * process.c (Fprocess_buffer):
10770         * process.c (Fprocess_mark):
10771         * process.c (set_process_filter):
10772         * process.c (Fset_process_filter):
10773         * process.c (Fprocess_filter):
10774         * process.c (Fprocess_send_region):
10775         * process.c (Fprocess_send_string):
10776         * process.c (exec_sentinel):
10777         * process.c (Fset_process_sentinel):
10778         * process.c (Fprocess_sentinel):
10779         * process.c (status_notify):
10780         * process.c (Fprocess_status):
10781         * process.c (Fprocess_exit_status):
10782         * process.c (process_send_signal):
10783         * process.c (Fprocess_send_eof):
10784         * process.c (deactivate_process):
10785         * process.c (remove_process):
10786         * process.c (Fdelete_process):
10787         * process.c (kill_buffer_processes):
10788         * process.c (Fprocess_kill_without_query):
10789         * process.c (Fprocess_kill_without_query_p):
10790         * rangetab.c:
10791         * rangetab.c (Fget_range_table):
10792         * rangetab.c (Fput_range_table):
10793         * rangetab.c (Fremove_range_table):
10794         * rangetab.c (Fclear_range_table):
10795         * search.c:
10796         * search.c (Fskip_chars_forward):
10797         * search.c (Fskip_chars_backward):
10798         * search.c (Fskip_syntax_forward):
10799         * search.c (Fskip_syntax_backward):
10800         * search.c (search_command):
10801         * search.c (Freplace_match):
10802         * search.c (Fregexp_quote):
10803         * select.c (Fown_selection_internal):
10804         * select.c (Fselection_owner_p):
10805         * select.c (Fselection_exists_p):
10806         * select.c (Fget_selection_internal):
10807         * specifier.c:
10808         * symbols.c:
10809         * symbols.c (Fintern):
10810         * symbols.c (Fintern_soft):
10811         * symbols.c (Funintern):
10812         * symbols.c (Fapropos_internal):
10813         * symbols.c (Fset_default):
10814         * syntax.c:
10815         * syntax.c (Fsyntax_table_p):
10816         * syntax.c (Fcopy_syntax_table):
10817         * syntax.c (Fset_syntax_table):
10818         * syntax.c (Fchar_syntax):
10819         * syntax.c (syntax_match):
10820         * syntax.c (Fmatching_paren):
10821         * syntax.c (Fforward_word):
10822         * syntax.c (scan_lists):
10823         * syntax.c (Fscan_lists):
10824         * syntax.c (Fscan_sexps):
10825         * syntax.c (Fparse_partial_sexp):
10826         * toolbar.c (Fcheck_toolbar_button_syntax):
10827         * tooltalk.doc:
10828         * window.c:
10829         * window.c (Fwindowp):
10830         * window.c (Fwindow_live_p):
10831         * window.c (Fwindow_point):
10832         * window.c (Fdelete_window):
10833         * window.c (Fnext_window):
10834         * window.c (Fprevious_window):
10835         * window.c (Fother_window):
10836         * window.c (window_loop):
10837         * window.c (Fget_lru_window):
10838         * window.c (Fsplit_window):
10839         * window.c (Fenlarge_window):
10840         * window.c (Fenlarge_window_pixels):
10841         * window.c (Fshrink_window):
10842         * window.c (Fshrink_window_pixels):
10843         * window.c (change_window_height):
10844         * window.c (Fwindow_configuration_p):
10845         * window.c (Fcurrent_window_configuration):
10846         * window.h:
10847         * casefiddle.c (casify_object):
10848         * casefiddle.c (Fupcase):
10849         * casefiddle.c (Fdowncase):
10850         * casefiddle.c (Fcapitalize):
10851         * casefiddle.c (Fupcase_initials):
10852         * casefiddle.c (casify_region_internal):
10853         * casefiddle.c (casify_region):
10854         * casefiddle.c (Fupcase_region):
10855         * casefiddle.c (Fdowncase_region):
10856         * casefiddle.c (Fcapitalize_region):
10857         * casefiddle.c (Fupcase_initials_region):
10858         * casefiddle.c (Fupcase_word):
10859         * casefiddle.c (Fdowncase_word):
10860         * casefiddle.c (Fcapitalize_word):
10861         Docstring arglist/Texinfo fixes.  See man/ChangeLog for details.
10862         Replace 0 with '\0' when working with bytes.
10863         Replace initial "(" with "\(" in docstrings.
10864
10865 2000-11-01  Martin Buchholz  <martin@xemacs.org>
10866
10867         * config.h.in: Handle alloca with Compaq C on Alpha Linux.
10868
10869         * m/alpha.h: Let configure handle SYSTEM_MALLOC on Linux.
10870
10871 2000-10-31  Martin Buchholz  <martin@xemacs.org>
10872
10873         * eldap.c (print_ldap): 64-bit cleaner.  Fixes warning.
10874
10875 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
10876
10877         * doprnt.c (emacs_do_prnt_1): Format (format "%01.2d" 10)
10878         correctly.
10879
10880 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
10881
10882         * fileio.c (Vauto_save_list_file_prefix): Moved from startup.el.
10883         (inhibit_auto_save_session): New variable.
10884         (vars_of_fileio): Declare and initialize them.
10885         * fileio.c (Fdo_auto_save): Don't create session file if
10886         Vinhibit_auto_save_session or Vauto_save_list_file_prefix is non-nil.
10887
10888 2000-10-31  Martin Buchholz  <martin@xemacs.org>
10889
10890         * sgiplay.c (play_internal): C++ compilability.
10891         * alloc.c (SWEEP_FIXED_TYPE_BLOCK): Remove unused var `SFTB_prev'.
10892         * callproc.c (Fold_call_process_internal):
10893         Remove unused vars `env', `first'.
10894         * scrollbar.c (update_scrollbar_instance):
10895         #### unused var `current_window'.
10896         * redisplay-tty.c: Put currently unused vars insert_mode_on,
10897         etc. within #ifdef NOT_YET.
10898         * emacs.c: #### unused vars `initial_argc', `initial_argv'.
10899         * dialog-x.c (dbox_descriptor_to_widget_value): ### unused var `title'.
10900         * specifier.c (specifier_instance):
10901         #### unused var `tag'.
10902         Use WINDOW_BUFFER, FRAME_DEVICE instead of their expansion.
10903
10904 2000-10-27  Martin Buchholz  <martin@xemacs.org>
10905
10906         * fns.c (Fbutlast):
10907         * fns.c (list_sort):
10908         * fns.c (Ffillarray):
10909         * fns.c (bytecode_nconc2):
10910         * fns.c (Fnconc):
10911         * fns.c (mapcar1):
10912         * fns.c (Fmapconcat):
10913         Be pedantically 64-bit correct.  For the time when someone will
10914         want to have a list with length > 2**32.
10915
10916         * lisp.h (PRIVATE_EXTERNAL_LIST_LOOP_6):
10917         Work around MIPSpro compiler bug.
10918
10919         * process-unix.c (unix_kill_child_process): Add snarky comment.
10920         * process-unix.c (try_to_initialize_subtty):  Oops, `=' ==> `=='
10921
10922         * config.h.in: Oops, _getpt ==> _getpty
10923
10924 2000-10-26  Martin Buchholz  <martin@xemacs.org>
10925
10926         * config.h.in:
10927         * regex.c:
10928         Use void*, not char*, as return type of alloca().
10929
10930         * alloc.c (free_marker): Side effect inside assert expression!
10931
10932 2000-10-16  MIYASHITA Hisashi  <himi@m17n.org>
10933
10934         * mule-charset.c (Fset_charset_ccl_program): To check
10935         if the given ccl program is valid, use setup_ccl_program()
10936         instead of CHECK_VECTOR().
10937         (Fmake_charset): Likewise.
10938
10939 2000-10-20  Golubev I. N.  <gin@mo.msk.ru>
10940
10941         * faces.c (get_extent_fragment_face_cache_index):
10942         Fix cachel.merged_faces memory leak.
10943
10944 2000-10-14  MIYASHITA Hisashi  <himi@m17n.org>
10945
10946         * mule-ccl.c (ccl_driver)<CCL_DECODE_SJIS>:
10947         Reset MSB of octets obtained by DECODE_SJIS
10948         because of the incompatibility with Emacs.
10949         (ccl_driver)<CCL_ENCODE_SJIS>:
10950         Set MSB of octets before passing them to
10951         ENCODE_SJIS because of the incompatibility
10952         with Emacs.
10953
10954 2000-10-18   Daiki Ueno  <ueno@unixuser.org>
10955
10956         * lrecord.h (DECLARE_TYPECHECK_LRECORD): Abolish.
10957         (DECLARE_LRECORD): Undo the last change.
10958         (DECLARE_EXTERNAL_LRECORD): Expand typechecking stuff.
10959
10960 2000-10-17   Daiki Ueno  <ueno@unixuser.org>
10961
10962         * lrecord.h (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): Connect
10963         the implementation to lrecord_implementations_table.
10964
10965 2000-10-14   Daiki Ueno  <ueno@unixuser.org>
10966
10967         * lrecord.h (MAKE_EXTERNAL_LRECORD_IMPLEMENTATION): Don't set the
10968         initial value of `lrecord_type_##c_name' and
10969         `lrecord_##c_name.lrecord_type_index'; discard "const" qualifier.
10970         (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): New macro.
10971         [ERROR_CHECK_TYPECHECK] (DECLARE_TYPECHECK_LRECORD): New macro.
10972         [ERROR_CHECK_TYPECHECK] (DECLARE_LRECORD): Use it.
10973         [ERROR_CHECK_TYPECHECK] (DECLARE_EXTERNAL_LRECORD): Use it.
10974
10975 2000-10-17  Martin Buchholz  <martin@xemacs.org>
10976
10977         * miscplay.c (sndcnv8S_2mono):
10978         (sndcnv2monounsigned):
10979         (sndcnvULaw_2linear):
10980         (sndcnv16swap):
10981         Remove implementation-defined behavior.
10982
10983 2000-10-12  Martin Buchholz  <martin@xemacs.org>
10984
10985         * input-method-xlib.c: Warning suppression.
10986
10987 2000-10-05  MIYASHITA Hisashi  <himi@m17n.org>
10988
10989         * mule-ccl.c: Sync up with Emacs 21.0.90.
10990         (ccl_driver)<CCL_TranslateCharacter>: Disabled.
10991         Do nothing.
10992         (ccl_driver)<CCL_TranslateCharacterConstTbl>:
10993         Likewise.
10994         (ccl_driver[WriteMultibyteChar2]): Bug fix.
10995         Use MAX_LEADING_BYTE_OFFICIAL_2 instead of
10996         MIN_LEADING_BYTE_OFFICIAL_2 to check whether the
10997         leading char belongs to official 2-dimensional charset.
10998         (CCL_WRITE_CHAR): When CCL_MODE_ENCODING,
10999         write the given character as is.  Otherwise,
11000         if it is a multibyte char, convert it by
11001         non_ascii_set_charptr_emchar, then write it.
11002         (CCL_WRITE_STRING): Likewise.
11003         (ccl_get_compiled_code): New function.
11004         (setup_ccl_program): When ccl_prog is invalid,
11005         return -1.
11006         (Fregister_code_conversion_map): New function.
11007         (syms_of_mule_ccl): defsubr Fregister_code_conversion_map.
11008
11009         * mule-ccl.h: Sync up with Emacs 21.0.90.
11010         (Fregister_ccl_program): export it.
11011
11012         * redisplay-msw.c (separate_textual_runs):
11013         If ccl program is not valid, don't do ccl conversion.
11014
11015         * redisplay-x.c (separate_textual_runs): Ditto.
11016
11017         * file-coding.c (Fmake_coding_system):
11018         When type is ccl and value is vector, register it
11019         with a proper symbol.  And checks whether the
11020         given ccl program is valid.
11021         (mule_decode): When calling ccl_driver, if src indicates
11022         NULL pointer, set an empty string instead.
11023         (mule_encode): Likewise.
11024
11025 2000-10-11  Martin Buchholz  <martin@xemacs.org>
11026
11027         The following large batch of changes gets us back to a state of
11028         C++ compilability.  Extbyte is now a char, which means that
11029         Extbyte * and Bufbyte * cannot be freely interchanged - a win!
11030
11031         * tooltalk.c (Fset_tooltalk_message_attribute): Type correctness.
11032
11033         * sound.c (Fplay_sound): Type correctness.
11034
11035         * select-x.c (hack_motif_clipboard_selection): Type correctness.
11036         (x_get_window_property): Type correctness.
11037         (receive_incremental_selection): unsigned char ==> Extbyte
11038         (selection_data_to_lisp_data): unsigned char ==> Extbyte
11039         (Fx_get_cutbuffer_internal): unsigned char ==> Extbyte
11040         (Fx_store_cutbuffer_internal): Type correctness.
11041
11042         * process-unix.c (try_to_initialize_subtty): Type correctness.
11043
11044         * objects-x.c (x_print_color_instance): Type correctness.
11045         (x_print_font_instance): Type correctness.
11046         (x_list_fonts): SExtbyte ==> Extbyte.
11047         (valid_x_font_name_p): SExtbyte ==> Extbyte.
11048         (x_find_charset_font): SExtbyte ==> Extbyte.
11049         Use TO_INTERNAL_FORMAT.  build_string ==> make_string.
11050         (truename_via_XListFonts): SExtbyte ==> Extbyte.
11051         (x_font_instance_properties): Use TO_INTERNAL_FORMAT.
11052         Use bufbyte_strcmp.
11053
11054         * mule-charset.h (LEADING_BYTE_PREFIX_P): unsigned char ==> Bufbyte
11055         (PRIVATE_LEADING_BYTE_PREFIX): Add paranoia cast.
11056         (BYTE_ASCII_P): Use bit ops for char-signedness safety.
11057         (BYTE_C0_P): Use bit ops for char-signedness safety.
11058         (BYTE_C1_P): Use bit ops for char-signedness safety.
11059         (CHARSET_BY_LEADING_BYTE):
11060         (CHARSET_BY_ATTRIBUTES):
11061         Always use inline function.
11062         Use type_checking_assert.
11063         Hide chlook.
11064
11065         * mule-charset.c (non_ascii_charptr_copy_char):
11066         Modify to work with both ASCII and non-ASCII characters.
11067         Improve docs and variable names.
11068         Replace over-clever fall-through switch with a simple loop.
11069         (Lstream_get_emchar_1):
11070         Replace over-clever fall-through switch with a simple loop.
11071
11072         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
11073         Warning suppression.
11074
11075         * lstream.h (Lstream_get_emchar): BYTE_ASCII_P cannot be used on
11076         the return value of Lstream_getc, which could be EOF as well.
11077
11078         * lstream.c (Lstream_raw_read): Now returns ssize_t, not int.
11079
11080         * lisp.h: Make Extbyte a char, not unsigned char, so that external
11081         APIs can be used on Extbytes without casts.  Risky!
11082         (SExtbyte): Remove.
11083         (UExtbyte): Remove.
11084
11085         * input-method-xlib.c (XIM_init_device):
11086         Use Xlib.h instead of IntrinsicP.h.
11087         Use HAVE_XREGISTERIMINSTANTIATECALLBACK instead of THIS_IS_X11R6,
11088         which will break in X11R7.
11089         Use XREGISTERIMINSTANTIATECALLBACK_NONSTANDARD_PROTOTYPE,
11090         to call XRegisterIMInstantiateCallback with correct types.
11091
11092         * gui-x.c (button_item_to_widget_value): Type correctness.
11093
11094         * glyphs.c (bitmap_to_lisp_data):  Type correctness.
11095
11096         * glyphs-x.c (pixmap_from_xbm_inline): Type correctness.
11097         (xbm_instantiate_1): Type correctness.
11098         (BUILD_GLYPH_INST):  Type correctness.
11099
11100         * fileio.c (Fsubstitute_in_file_name): Type correctness.
11101
11102         * file-coding.c:
11103         (decode_coding_sjis):
11104         (decode_coding_big5):
11105         (decode_coding_ucs4):
11106         (decode_coding_utf8):
11107         (decode_coding_iso2022):
11108         (decode_coding_no_conversion):
11109         Make all decoding functions take an Extbyte * arg.
11110         (encode_coding_sjis):
11111         (encode_coding_big5):
11112         (encode_coding_ucs4):
11113         (encode_coding_utf8):
11114         (encode_coding_iso2022):
11115         (encode_coding_no_conversion):
11116         Make all encoding functions take a Bufbyte * arg.
11117         Use size_t instead of unsigned int for memory sizes.
11118         Only cast to unsigned char whenever dereferencing Extbyte *.
11119
11120         * doc.c (unparesseuxify_doc_string): Type correctness.
11121
11122         * console-x.c (split_up_display_spec):
11123         Rewrite without using details of internal string representation.
11124         (x_semi_canonicalize_device_connection): Type correctness.
11125
11126         * config.h.in:
11127         (HAVE_XREGISTERIMINSTANTIATECALLBACK): New.
11128         (XREGISTERIMINSTANTIATECALLBACK_NONSTANDARD_PROTOTYPE): New.
11129         (HAVE_XFREE386): Removed.
11130
11131         * buffer.h (DEC_CHARPTR): `const' correctness.
11132         (bufbyte_strcmp): New.
11133         (bufbyte_memcmp): New.
11134
11135         * buffer.c (dfc_convert_to_internal_format): Extbyte ==> Bufbyte
11136
11137         * buffer.h (XCHAR_OR_CHAR_INT):
11138         Always use inline function.
11139         Remove redundant type checking assert() - XINT will abort quite nicely.
11140
11141 2000-10-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
11142
11143         * search.c (Freplace_match): Set newtext to an empty string.
11144
11145 2000-10-10  Martin Buchholz  <martin@xemacs.org>
11146
11147         * s/decosf1-3.h: Remove #include of stropts.h
11148         * s/ptx.h: Remove #include of stropts.h
11149         * s/usg5-4.h: Remove #include of stropts.h
11150         * sysproc.h:
11151         * config.h.in:
11152         Use stropts.h, not sys/stropts.h.
11153         Use strtio.h, not sys/strtio.h.
11154
11155 2000-10-04  Martin Buchholz <martin@xemacs.org>
11156
11157         * XEmacs 21.2.36 is released.
11158
11159 2000-09-21  Andy Piper  <andy@xemacs.org>
11160
11161         * glyphs-x.c (x_redisplay_widget): make sure non-structural
11162         changes still involve copying the widget tree.
11163         (update_widget_face): make sure a change is register in the widget
11164         tree. Call update_tab_widget_face appropriately.
11165         (update_tab_widget_face): ditto.
11166         (x_tab_control_redisplay): make sure non-structural changes still
11167         involve copying the widget tree.
11168
11169 2000-08-31   Daiki Ueno  <ueno@unixuser.org>
11170
11171         * lread.c (locate_file): Check the path element is non-nil.
11172
11173 2000-10-02  Martin Buchholz  <martin@xemacs.org>
11174
11175         * lisp.h: Warning suppression for SCO compilers.
11176
11177         * redisplay-tty.c (reset_tty_modes): Fix crash.
11178         E.g. from xemacs running on X: (delete-device (make-device 'tty nil))
11179
11180 2000-09-27  Martin Buchholz  <martin@xemacs.org>
11181
11182         Big signal/process handling overhaul.  Bugs fixed:
11183         M-x shell, type `sleep 10000', M-x comint-interrupt-subjob and
11184         M-x comint-kill-subjob should work for both values nil and t of
11185         process-connection-type. It was broken on most platforms.
11186         Testing on Irix and Cygwin still needed.  Other plaforms tested.
11187         * sysdep.c: Move #include of stropts.h into sysproc.h.  Use pid_t.
11188         * process-unix.c: Signal/Process handling overhaul.
11189         (pty_name): make 64 bytes, as `expect' does, for paranoia.
11190         (allocate_pty): Use all available modern methods of allocating
11191         ptys, falling back to old style BSD allocation as a last resort.
11192         Use allegedly more secure Unix98 pty allocation by default.
11193         (allocate_pty_the_old_fashioned_way): New. the last resort.
11194         (unix_create_process): Push ptem, ldterm, ttcompat where
11195         available.  Autoconfiscate.
11196         (try_to_initialize_subtty): New.
11197         (unix_kill_child_process): Proper signal handling for ptys on most
11198         platforms, using special knowledge of AIX, BSD, etc...
11199         (unix_create_process): Always disconnect_controlling_terminal() for
11200         subprocesses, whether using ptys or not.
11201         * process.h: Remove old getpt-dependent PTY code.
11202         * process.c (Fprocess_send_signal): New, obvious generic function.
11203         (decode_signal): New.
11204         (Finterrupt_process):
11205         (Fkill_process):
11206         (Fquit_process):
11207         (Fstop_process):
11208         (Fcontinue_process):
11209         (Fsignal_process): Use decode_signal.
11210         (process_send_signal):
11211         Many docstring corrections.
11212         Allow any signal to be sent to a process object.
11213         * config.h.in: Add symbols for big signal/process overhaul.
11214         * syssignal.h (EMACS_KILLPG): Use HAVE_KILLPG. Use `pid', not `gid'.
11215         * sysproc.h: Include process-related headers, where available:
11216         sys/stropts.h sys/strtio.h pty.h libutil.h
11217         * s/irix4-0.h:
11218         * s/irix5-0.h:
11219         * s/cygwin32.h:
11220         * s/gnu.h:
11221         * s/linux.h:
11222         * s/hpux.h:
11223         * s/aix3-1.h:
11224         Remove old S&M pty stuff.
11225         * console-tty.c (tty_init_console): Use pid_t, not int, for pids.
11226         * systty.h: Simplify cpp hackery, improve comments.
11227         Favor BSD ioctl(TIOCGPGRP) over Posix tcgetpgrp().
11228
11229         * editfns.c (Fformat_time_string):
11230         Be a little more paranoid with the return value of ctime.
11231
11232         * fileio.c (check_executable):
11233         (check_writable):
11234         Use symbolic constants X_OK, W_OK.
11235
11236         * console-x.c (split_up_display_spec): Fix a warning.
11237
11238 2000-10-02  Martin Buchholz  <martin@xemacs.org>
11239
11240         * gui-x.c (add_accel_and_to_external): strlen ==> XSTRING_LENGTH
11241         * ntproc.c (sys_spawnve): make_string ==> build_string
11242         Small clarity improvements.
11243
11244 2000-09-30  Martin Buchholz  <martin@xemacs.org>
11245
11246         * events.c (WRONG_EVENT_TYPE_FOR_PROPERTY): Warning removal.
11247
11248         * s/windowsnt.h (HAVE_STRCASECMP): Remove.
11249
11250         * config.h.in (HAVE_STRCASECMP): Remove.
11251
11252 2000-09-29  Martin Buchholz  <martin@xemacs.org>
11253
11254         * redisplay-output.c (redisplay_output_pixmap):
11255         Cleaner and possibly more 64-bit correct code.
11256
11257 2000-09-28  Stephen J. Turnbull  <stephen@xemacs.org>
11258
11259         * dumper.c (pdump_load_finish): move restoration of
11260         `noninteractive1' to emacs.c (main_1).
11261         * emacs.c (main_1): protect LISP-visible command-line flags
11262         from pdump_load().
11263
11264 2000-09-26  Stephen J. Turnbull  <stephen@xemacs.org>
11265
11266         * Makefile.in.in (versionclean):  Use EXE_TARGET and
11267         DUMP_TARGET instead of literal program names.
11268
11269 2000-09-20  Martin Buchholz  <martin@xemacs.org>
11270
11271         * Makefile.in.in: Recent purify's require absolute paths for cache-dir.
11272
11273 2000-09-19  Martin Buchholz  <martin@xemacs.org>
11274
11275         * *: Spelling mega-patch
11276
11277 2000-09-19  Martin Buchholz  <martin@xemacs.org>
11278
11279         * fns.c (bad_bad_turtle):
11280         Delete "Eek!" comment, since we fixed the bug to which it refers.
11281
11282 2000-09-16  Martin Buchholz  <martin@xemacs.org>
11283
11284         * alloca.c: Replace REGISTER with register.
11285
11286 2000-09-16   Daiki Ueno  <ueno@unixuser.org>
11287
11288         * file-coding.c (ucs_to_char): Use countof.
11289
11290 2000-09-16  Martin Buchholz  <martin@xemacs.org>
11291
11292         * file-coding.c: (ucs_to_char):
11293         (complex_vars_of_file_coding):
11294         Use countof instead of sizeof.
11295         Use CHECK_NATNUM instead of CHECK_INT.
11296
11297         * sysdep.c (strcasecmp): Remove.
11298         * device-x.c (ascii_strcasecmp): New.
11299         * device-x.c (Fx_get_resource): Use ascii_strcasecmp.
11300         Avoid using non-standard non-portable strcasecmp.
11301
11302 2000-09-16  Martin Buchholz  <martin@xemacs.org>
11303
11304         * Makefile.in.in (mostlyclean): remove reference to prefix-args.
11305         * font-lock.c: remove reference to emacsfns.h.
11306         * search.c: small doc improvement.
11307         * event-Xt.c: correct file names in comments.
11308         * console-x.h Correct file names in comments.
11309         * frame.c: Correct file names in comments.
11310         * event-stream.c: remove Energize from comments.
11311
11312 2000-09-15  Martin Buchholz  <martin@xemacs.org>
11313
11314         * symeval.h (DEFERROR_STANDARD):
11315         (DEFERROR):
11316         (DEFSYMBOL):
11317         (DEFSYMBOL_NO_DUMP):
11318         (DEFSYMBOL_MULTIWORD_PREDICATE):
11319         (DEFSYMBOL_MULTIWORD_PREDICATE_NO_DUMP):
11320         (DEFKEYWORD):
11321         The construct &##name is not sensible C.
11322         Fixes compilation errors with Unixware native compiler.
11323
11324 2000-09-14  Martin Buchholz  <martin@xemacs.org>
11325
11326         * frame.c (device_matches_console_spec): no longer takes a `frame' arg
11327         (next_frame_internal): Removed.  We now just have next_frame.
11328         (next_frame):
11329         Write a simpler and cleaner one-pass algorithm.
11330         Remove called_from_delete_device arg and #ifdefed-out code.
11331         (previous_frame):
11332         Renamed from prev_frame.  Update callers.
11333         Cleaned up to have an analogous implementation to next_frame.
11334         (other_visible_frames_internal): Remove the
11335         called_from_delete_device bogus arg, and hence, remove this
11336         function.  Just use other_visible_frames().
11337
11338         * window.c (Fnext_window):
11339         Prettify docstring.
11340         Since next_frame() is guaranteed to return a frame, remove check
11341         for nil inserted in previous patch.
11342         (Fprevious_window):
11343         Prettify docstring.
11344         Make code look more like Fnext_window.
11345         (window_loop):
11346         Respect the `console' arg when iterating through windows.
11347         Fixes bug: (get-buffer-window buffer t device) not respecting
11348         the `device' arg.
11349         This function needs more work, as others have pointed out.
11350
11351         * frame.h: Rename prev_frame to previous_frame.
11352         device_matches_console_spec no longer takes a `frame' arg.
11353
11354         * s/gnu.h:
11355         * s/linux.h:
11356         * s/hpux.h:
11357         Use EMACS_BLOCK_SIGNAL instead of sigblock.
11358         From "Golubev I. N." <gin@mo.msk.ru>.
11359
11360         * make-src-depend: Fix typo.
11361
11362 2000-09-13  Martin Buchholz  <martin@xemacs.org>
11363
11364         * window.c (Fnext_window):
11365         next_frame() might return nil, not a frame.
11366         Fixes this crash:
11367         (gdb) run -eval '(progn  (make-device (quote x) "polgar:0") (next-window (minibuffer-window) t (quote visible) (second (device-list))))'
11368
11369         * frame.c (next_frame_internal):
11370         We've passed a frame if we've passed its device.
11371         Fixes this crash:
11372         (gdb) run -eval '(progn (make-frame nil (make-device (quote x) "polgar:0")) (next-window (minibuffer-window) t (quote visible) (second (device-list))))'
11373 Fatal error: assertion failed, file /project/xemacs/ws/dev/src/frame.h, line 245, RECORD_TYPEP (obj, lrecord_type_frame)
11374
11375 2000-09-11  Jonathan Harris  <jhar@tardis.ed.ac.uk>
11376
11377         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
11378         Allow option to suppress accelerators in menu/dialog items.
11379         (populate_or_checksum_helper): Pass dialog title through above.
11380
11381 2000-09-10  Jonathan Harris  <jhar@tardis.ed.ac.uk>
11382
11383         * event-msw.c (mswindows_key_to_emacs_keysym):
11384         Add "pause" key, fix "menu" key.
11385
11386 2000-09-09  Martin Buchholz  <martin@xemacs.org>
11387
11388         * eval.c (reinit_vars_of_eval):
11389         Increase max_lisp_eval_depth to 1000,
11390         required for thai-xtis.el to byte-compile under some circumstances.
11391
11392 2000-09-04  Martin Buchholz  <martin@xemacs.org>
11393
11394         * event-Xt.c (x_to_emacs_keysym): Increase size of `buffer' to 513.
11395         From Kenichi Handa.
11396
11397 2000-09-01  Martin Buchholz  <martin@xemacs.org>
11398
11399         * make-src-depend: Make the generated Makefiles smaller.
11400
11401         * s/hpux.h (SETUP_SLAVE_PTY):
11402         Provide a %d in the format string for the errno argument.
11403
11404         * editfns.c (Ftemp_directory):
11405         Warning fix.
11406         Avoid buffer overrun on very long file name.
11407
11408         * input-method-xlib.c (XIM_init_device):
11409         6th parameter of XRegisterIMInstantiateCallback has different
11410         pointer types on different OSes, so simply cast to (void *).
11411
11412         * unexhp9k800.c: Warning fixes.  Fiddly changes.
11413
11414         * sysdll.c (dll_open):
11415         shl_load will hang hard if passed a NULL filename.
11416         Simply return NULL for compatibility with dlopen.
11417         * sysdll.c: Conform to XEmacs coding standards.
11418
11419         * sysdep.c (get_pty_max_bytes):
11420         Support pty input lines longer than 512 bytes on HP-UX 10.20.
11421
11422 2000-08-31  Martin Buchholz  <martin@xemacs.org>
11423
11424         * tooltalk.c: Add #include <syssignal.h>
11425
11426 2000-08-12  Alexandre Oliva  <aoliva@redhat.com>
11427
11428         * s/hpux.h: Don't use undefined function sigunblock().
11429
11430 2000-08-31  Martin Buchholz  <martin@xemacs.org>
11431
11432         * config.h.in: Add HAVE_BALLOON_HELP.
11433         * emacs.c: Use HAVE_BALLOON_HELP.
11434         * Makefile.in.in (x_objs):
11435         Make Balloon Help conditional on finding shape.h.
11436
11437 2000-08-23  Yoshiki Hayashi  <yoshiki@xemacs.org>
11438
11439         * syntax.c (regex_emacs_buffer_p): New variable.
11440         * syntax.h (regex_emacs_buffer_p): extern.
11441         * search.c (looking_at_1):
11442         (string_match_1):
11443         (fast_string_match):
11444         (search_buffer): Set regex_emacs_buffer_p.
11445         * regex.c (re_match_2_internal): Reference regex_emacs_buffer_p
11446         when before_dot, at_dot, after_dot.
11447
11448 2000-08-23  Andy Piper  <andy@xemacs.org>
11449
11450         * gui-x.c (popup_selection_callback): Only set action_occurred
11451         when we really have an image instance.
11452         * gui-msw.c (mswindows_handle_gui_wm_command): ditto.
11453
11454 2000-08-23  Andy Piper  <andy@xemacs.org>
11455
11456         * gui-msw.c (mswindows_handle_gui_wm_command): set
11457         action_occurred.
11458         * gui-x.c (popup_selection_callback): ditto.
11459
11460         * glyphs.h (IMAGE_INSTANCE_WIDGET_ACTION_OCCURRED): new accessor.
11461         (XIMAGE_INSTANCE_WIDGET_ACTION_OCCURRED): ditto.
11462         (struct Lisp_Image_Instance): add action_occurred flag.
11463
11464         * glyphs.c (redisplay_subwindow): use action_occurred flag.
11465         (image_instance_changed): ditto.
11466         (reset_frame_subwindow_instance_cache): only unmap windows - do
11467         not remove them from the cache also.
11468
11469         * glyphs-widget.c (tab_control_update): better debug.
11470         (progress_gauge_update): ditto.
11471         (layout_update): ditto.
11472         (layout_instantiate): ditto.
11473         (tab_control_order_only_changed): cope with null pending items.
11474
11475         * glyphs-msw.c (mswindows_tab_control_redisplay): add better
11476         debug. Force selection of an item when an action occurred. Cope
11477         with null pending_items.
11478         (mswindows_progress_gauge_redisplay): better debug.
11479         * glyphs-x.c (x_tab_control_redisplay): ditto.
11480
11481         * redisplay.c (redisplay_frame): reset the frame cache if the
11482         frame is garbaged.
11483
11484         * window.c (Fset_window_configuration): potentially re-enable
11485         frame cache reset.
11486         (window_unmap_subwindows): need to finalize instances here since
11487         it is only used in mark_window_as_deleted.
11488
11489 2000-08-22  Stephen J. Turnbull  <stephen@xemacs.org>
11490
11491         * nas.c (SndOpenDataForReading):
11492         nas.c (WaveOpenDataForReading):
11493         nas.c (readChunk): {BIG,LITTLE}_ENDIAN -> NAS_{BIG,LITTLE}_ENDIAN.
11494         Somehow escaped from the 2000-08-14 patch.
11495
11496 2000-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
11497
11498         * nas.c:  Preprocessor trickery to use NAS_LITTLE_ENDIAN instead
11499         of LITTLE_ENDIAN (conflicts with glibc, at least) in NAS <= 1.2p5.
11500
11501 2000-08-21  Andy Piper  <andy@xemacs.org>
11502
11503         * glyphs-x.c (x_map_subwindow): Minor optimization - only map the
11504         window if it is not already displayed.
11505
11506         * glyphs-msw.c (mswindows_map_subwindow): only map the window if
11507         it is not already displayed.
11508
11509         * window.c (Fset_window_configuration): don't reset the frame
11510         cache.
11511
11512         * glyphs.c (unmap_subwindow_instance_cache_mapper): only remove
11513         instances from the frame cache if we are actually finalizing them.
11514         (reset_frame_subwindow_instance_cache): reset frame cache only
11515         after unmapping everything.
11516         (map_subwindow): set displayed flag after mapping.
11517
11518 2000-08-21  Martin Buchholz  <martin@xemacs.org>
11519
11520         * data.c (indirect_function):
11521         Rename ERRORP to non-misleading VOID_FUNCTION_ERRORP.
11522
11523         * eval.c (function_argcount):
11524         Use original function when signaling errors.
11525
11526 2000-08-18  Andy Piper  <andy@xemacs.org>
11527
11528         * frame.c (delete_frame_internal): use new
11529         free_frame_subwindow_instances name.
11530
11531         * glyphs-msw.c (mswindows_tab_control_instantiate): verify index.
11532         (add_tab_item): make return type correct.
11533         (mswindows_tab_control_instantiate): assert index of tab.
11534         (mswindows_tab_control_redisplay): Re-code to use
11535         gui_item_equal_sans_selected and gui_item_list_find_selected.
11536
11537         * glyphs-widget.c (tab_control_update): Correct comment.
11538
11539         * window.c (window_unmap_subwindows): use new
11540         unmap_subwindow_instance_cache_mapper.
11541         (window_unmap_subwindows_cache_mapper): deleted.
11542         (Fset_window_configuration): comparisons should now be with
11543         EQ. Preserve the subwindow instance cache across configuration
11544         changes.
11545         (allocate_window): ditto.
11546         (make_dummy_parent): ditto.
11547
11548         * glyphs.c (free_frame_subwindow_instances): rename from
11549         free_frame_subwindow_instance_cache. finalize all instances rather
11550         than just those in the display cache.
11551         (finalize_all_subwindow_instances): walk windows unmapping and
11552         finalizing subwindows.
11553         (unmap_subwindow_instance_cache_mapper): moved from
11554         window.c. Allow finalization as well as unmapping.
11555
11556         * gui.c (gui_item_list_find_selected): new function.
11557
11558         * gui.h (gui_item_list_find_selected): declare.
11559
11560         * glyphs-x.c (x_tab_control_redisplay): pick tab
11561         explicitly. Re-code to use gui_item_equal_sans_selected and
11562         gui_item_list_find_selected.
11563
11564         * glyphs-x.h: add lwlib-utils.h
11565
11566         * buffer.c (Frecord_buffer): undo previous change.
11567
11568 2000-08-09  Vin Shelton  <acs@xemacs.org>
11569
11570         * config.h.in, s/gnu.h, s/hpux.h, s/linux.h: Use UNIX98 PTYs if
11571         possible.  Create temporary files more securely.  The patch was
11572         generated by Torsten Duwe <duwe@caldera.de>, Florian Weimer
11573         <Florian.Weimer@RUS.Uni-Stuttgart.DE> and Olaf Kirch.  See
11574         http://www.xemacs.org/list-archives/xemacs-patches/200007/msg00123.html
11575         for details.
11576
11577 2000-08-07  Ben Wing  <ben@xemacs.org>
11578
11579         * getloadavg.c: remove duplicate (and windows-breaking)
11580         includes of fcntl.h and sys/file.h.
11581
11582         * nt.c: remove duplicate getloadavg() definition.
11583
11584         * sysdll.h (Qdll_filename_encoding): add missing stand-in
11585         encodings.
11586
11587 2000-08-07  Gunnar Evermann  <ge204@eng.cam.ac.uk>
11588
11589         * eval.c (function_argcount): If function needs to be autoloaded
11590         actually use the loaded definition.
11591         GCPRO function.
11592
11593 2000-08-05  Ben Wing  <ben@xemacs.org>
11594
11595         * getloadavg.c: add prototype for getloadavg().  remove
11596         duplicate WIN32_NATIVE/CYGWIN code (already in the middle
11597         of the code).  remove duplicate header includes.
11598
11599         * s\cygwin32.h, s\mingw32.h: remove stray NO_ARG_ARRAY.
11600
11601         * s\cygwin32.h, s\mingw32.h, m\windowsnt.h:
11602         don't define LOAD_AVE_TYPE/LOAD_AVE_CVT because we have no
11603         useful load average.
11604
11605         * alloc.c (reinit_alloc_once_early): removed references to
11606         VIRT_ADDR_VARIES, malloc_sbrk_used/free, and data-bytes-used/free.
11607         the lisp vars are the only things referencing the malloc_sbrk_*
11608         vars, and they were already if 0'd out.  these vars only exist
11609         in the older malloc.c, which is basically unused, and they're
11610         only for informational purposes.
11611
11612         * m\*.h: removed useless VIRT_ADDR_VARIES.
11613
11614         * m\powerpc.h: removed stray NO_ARG_ARRAY.
11615
11616 2000-04-26  IKEYAMA Tomonori  <tomonori@suiyokai.org>
11617
11618         * redisplay-msw.c (mswindows_output_dibitmap): Set foreground
11619         color if the image is a mono pixmap.
11620
11621 2000-07-30  Ben Wing  <ben@xemacs.org>
11622
11623         * Makefile.in.in (release):
11624         Remove stray @.
11625
11626         * buffer.c (directory_is_current_directory):
11627         * dired-msw.c (mswindows_get_files):
11628         * dired.c:
11629         * dired.c (Fdirectory_files):
11630         * dired.c (file_name_completion_stat):
11631         * dired.c (Ffile_attributes):
11632         [[[[1]]]]: Rename stat() -> xemacs_stat() and eliminate nasty
11633         preprocessor tricks, to avoid problems on some machines
11634         (e.g. SCO).
11635
11636         * callproc.c (egetenv): GC docs.
11637
11638         * console-msw.h:
11639         * console-msw.h (struct mswindows_dialog_id):
11640         * lrecord.h (lrecord_type):
11641         New object for use with MSW dialogs.
11642
11643         * console.h (struct console_methods):
11644         New enable/disable frame methods, for proper modal dialogs.
11645
11646         * device-msw.c (msprinter_default_printer): Fix to follow
11647         proper Mule conventions.
11648
11649         * device-msw.c:
11650         * device-msw.c (signal_open_printer_error):
11651         * device-msw.c (msprinter_init_device):
11652         * device-msw.c (ensure_not_printing):
11653         * device-msw.c (plist_get_margin):
11654         * device-msw.c (Fmsprinter_select_settings):
11655         * device-msw.c (finalize_devmode):
11656         * device-msw.c (Fmsprinter_settings_despecialize):
11657         * device-msw.c (signal_enum_priner_error):
11658         * extents.c (decode_extent):
11659         * extents.c (decode_map_extents_flags):
11660         * extents.c (decode_extent_at_flag):
11661         * extents.c (Fextent_at):
11662         * extents.c (Fextents_at):
11663         * extents.c (symbol_to_glyph_layout):
11664         [[[[2]]]] Use structured errors.
11665
11666         * dialog-msw.c:
11667         * dialog-msw.c (mswindows_is_dialog_msg):
11668         * dialog-msw.c (mark_mswindows_dialog_id):
11669         * dialog-msw.c (dialog_proc):
11670         * dialog-msw.c (handle_question_dialog_box):
11671         * dialog-msw.c (syms_of_dialog_mswindows):
11672         Define new object to clean up marking; use it as a dialog identifier.
11673         Call new delete-dialog-box-hook.
11674
11675         * dialog-x.c (dbox_selection_callback):
11676         * dialog-x.c (dbox_descriptor_to_widget_value):
11677         * dialog-x.c (x_make_dialog_box_internal):
11678         Call new delete-dialog-box-hook.
11679         Return an id.
11680
11681         * dialog.c:
11682         * dialog.c (syms_of_dialog):
11683         * dialog.c (vars_of_dialog):
11684         Define new delete-dialog-box-hook, for use w/modal dialog boxes.
11685
11686         * eval.c:
11687         * eval.c (signal_call_debugger):
11688         when noninteractive, output stack traces on the console instead
11689         of in a (never-seen) buffer.
11690
11691         * eval.c (signal_type_error):
11692         * eval.c (invalid_argument_2):
11693         * lisp.h:
11694         new funs for use w/structured errors.
11695
11696         * event-Xt.c:
11697         * event-Xt.c (x_to_emacs_keysym):
11698         * event-Xt.c (describe_event):
11699         * event-Xt.c (emacs_Xt_event_handler):
11700         * event-Xt.c (vars_of_event_Xt):
11701         * event-msw.c:
11702         * event-msw.c (mswindows_wnd_proc):
11703         * event-msw.c (vars_of_event_mswindows):
11704         rename {x,mswindows}-debug-events to debug-{}-events for
11705         consistency with other debug-foo variables.
11706
11707         * event-stream.c:
11708         document next-event more clearly.
11709
11710         * fileio.c (Ffile_name_directory):
11711         * fileio.c (Ffile_name_nondirectory):
11712         * fileio.c (Funhandled_file_name_directory):
11713         * fileio.c (file_name_as_directory):
11714         * fileio.c (Ffile_name_as_directory):
11715         * fileio.c (directory_file_name):
11716         * fileio.c (Fdirectory_file_name):
11717         * fileio.c (Fmake_temp_name):
11718         * fileio.c (Ffile_truename):
11719         * fileio.c (Fsubstitute_in_file_name):
11720         * fileio.c (expand_and_dir_to_file):
11721         * fileio.c (barf_or_query_if_file_exists):
11722         * fileio.c (check_executable):
11723         * fileio.c (Ffile_exists_p):
11724         * fileio.c (Ffile_writable_p):
11725         * fileio.c (Ffile_directory_p):
11726         * fileio.c (Ffile_regular_p):
11727         * fileio.c (Ffile_modes):
11728         * fileio.c (Ffile_newer_than_file_p):
11729         * fileio.c (Fverify_visited_file_modtime):
11730         * fileio.c (Fset_visited_file_modtime):
11731         * fileio.c (auto_save_1):
11732         (1). (2).
11733         fix up gcpro's.
11734
11735         * frame-msw.c:
11736         * frame-msw.c (mswindows_init_frame_1):
11737         * frame-msw.c (mswindows_enable_frame):
11738         * frame-msw.c (error_frame_unsizable):
11739         * frame-msw.c (msprinter_init_frame_1):
11740         * frame-msw.c (msprinter_init_frame_3):
11741         * frame-msw.c (console_type_create_frame_mswindows):
11742         (2).
11743         implement new enable/disable frame methods.
11744
11745         * frame-x.c:
11746         * frame-x.c (x_enable_frame):
11747         * frame-x.c (console_type_create_frame_x):
11748         implement new enable/disable frame methods.
11749
11750         * frame.c:
11751         * frame.c (Fdisable_frame):
11752         * frame.c (syms_of_frame):
11753         * frame.h (struct frame):
11754         implement new enable/disable frame methods/functions.
11755
11756         * general-slots.h:
11757         add initial-focus.
11758
11759         * glyphs-msw.c (mswindows_widget_instantiate):
11760         comment that initial-focus should be implemented.
11761
11762         * glyphs-widget.c:
11763         * glyphs-widget.c (check_valid_instantiator):
11764         * glyphs-widget.c (check_valid_orientation):
11765         * glyphs-widget.c (check_valid_tab_orientation):
11766         * glyphs-widget.c (check_valid_justification):
11767         * glyphs-widget.c (check_valid_border):
11768         * glyphs-widget.c (check_valid_callback):
11769         * glyphs-widget.c (check_valid_int_or_function):
11770         * glyphs-widget.c (check_valid_string_or_vector):
11771         * glyphs-widget.c (check_valid_item_list_1):
11772         * glyphs-widget.c (widget_validate):
11773         * glyphs-widget.c (combo_box_validate):
11774         * glyphs-widget.c (widget_instantiate):
11775         * glyphs-widget.c (syms_of_glyphs_widget):
11776         * glyphs-widget.c (VALID_WIDGET_KEYWORDS):
11777         * glyphs-widget.c (image_instantiator_combo_box):
11778         * glyphs-widget.c (image_instantiator_scrollbar):
11779         * glyphs-widget.c (image_instantiator_tab_control):
11780         * glyphs-widget.c (VALID_LAYOUT_KEYWORDS):
11781         (2).
11782         support (unimplemented) keyword initial-focus.
11783         reindent long macros.
11784
11785         * glyphs-x.c (x_redisplay_widget):
11786         * glyphs-x.c (x_button_instantiate):
11787         * glyphs-x.c (x_button_redisplay):
11788         * glyphs-x.c (x_progress_gauge_instantiate):
11789         * glyphs-x.c (x_edit_field_instantiate):
11790         * glyphs-x.c (x_combo_box_instantiate):
11791         * glyphs-x.c (x_tab_control_instantiate):
11792         * glyphs-x.c (x_label_instantiate):
11793         * gui-x.c:
11794         * gui-x.c (button_item_to_widget_value):
11795         * gui-x.c (gui_items_to_widget_values_1):
11796         * gui-x.c (gui_item_children_to_widget_values):
11797         * gui-x.c (gui_items_to_widget_values):
11798         * gui-x.h:
11799         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
11800         add new flag to gui-parsing routines to indicate whether
11801         accelerator specs should be supported.
11802
11803         * glyphs.c (syms_of_glyphs): use DEFSYMBOL.
11804
11805         * glyphs.h (struct Lisp_Image_Instance):
11806         * glyphs.h (IMAGE_INSTANCE_WANTS_INITIAL_FOCUS):
11807         add initial-focus flag.
11808
11809         * gui.c:
11810         * gui.c (syms_of_gui):
11811         * gui.c (vars_of_gui):
11812         clean up menu-no-selection-hook.
11813
11814         * gui.h:
11815         support delete-dialog-box-hook.
11816
11817         * lread.c (Fload_internal):
11818         * lread.c (locate_file_in_directory_mapper):
11819         (1).
11820
11821         * lrecord.h:
11822         * lrecord.h (struct toolbar_button):
11823         * lrecord.h (syms_of_toolbar):
11824         document how to create a new object.
11825
11826         * menubar-msw.c (mswindows_char_is_accelerator):
11827         may be called on frames w/o menus.
11828
11829         * menubar.c (vars_of_menubar):
11830         clean up :filter docs.
11831
11832         * nt.c (readdir):
11833         * ntproc.c:
11834         (1).
11835
11836         * process-nt.c:
11837         * process-nt.c (validate_signal_number):
11838         * process-nt.c (signal_cannot_launch):
11839         * process-nt.c (nt_create_process):
11840         * process-nt.c (nt_send_process):
11841         * process-nt.c (nt_kill_child_process):
11842         * process-nt.c (nt_open_network_stream):
11843         * process-nt.c (syms_of_process_nt):
11844         (2).
11845         delete quote-handling.  call new lisp code that does it better.
11846
11847         * process-unix.c (connect_to_file_descriptor):
11848         * process-unix.c (allocate_pty):
11849         * process-unix.c (unix_send_process):
11850         * process-unix.c (unix_kill_child_process):
11851         * process-unix.c (unix_open_network_stream):
11852         * process-unix.c (unix_open_multicast_group):
11853         (1). (2).
11854
11855         * process.c:
11856         * process.c (Fstart_process_internal):
11857         (2).  need to canonicalize process path even if absolute.
11858
11859         * select-msw.c (symbol_to_ms_cf):
11860         * select-msw.c (ms_cf_to_symbol):
11861         * select-msw.c (cf_is_autofreed):
11862         * select-msw.c (mswindows_destroy_selection):
11863         * select.c:
11864         * select.c (syms_of_select):
11865         * select.h:
11866         support dibv5, fix bugs. (from Mike Alexander)
11867
11868         * select.c (Fget_selection_internal):
11869         * select.c (select_convert_out):
11870
11871         * sysdep.c:
11872         * sysdep.c (xemacs_stat):
11873         renamed.
11874
11875         * sysdep.c (mkdir):
11876         * sysdep.c (rmdir):
11877         but keep original stat() here because we provide encapsulation
11878         around these funs.
11879
11880         * sysfile.h:
11881         * sysfile.h (fstat):
11882         remove stat garbage.
11883
11884         * syswindows.h:
11885         fix X/MSW conflict.
11886         don't include tchar.h.  it's inappropriate because it makes
11887         compile-time distinctions when we want runtime distinctions.
11888         (we provide our own tchar replacements)
11889
11890         * toolbar.c:
11891         use default object printer for toolbar-button.
11892
11893         * unexcw.c:
11894         make sure we don't encapsulate.
11895
11896         * window.c (vars_of_window):
11897         emphasize that temp-buffer-show-hook is obsolete.
11898
11899 2000-08-05  Martin Buchholz  <martin@xemacs.org>
11900
11901         * glyphs.c (image_instance_hash): HASH2 wants EMACS_INT args.
11902         (Fimage_instance_subwindow_id): make_int wants EMACS_INT arg.
11903
11904         * events.c (Fevent_timestamp_lessp):
11905         Not 64-bit clean.  Use EMACS_INT, not int.
11906
11907 2000-06-05  Andrew Begel <abegel@cs.berkeley.edu>
11908
11909         * lrecord.h (lrecord_types): Changed lrecord_type_count to an
11910         unsigned int and changed the last enum to
11911         lrecord_type_last_built_in_type.
11912         (lrecord_implementations_table): changed prototype to know how
11913         long the array is supposed to be.
11914         (lrecord_type_count): new unsigned int to keep track of the
11915         current number of lisp lrecord types.
11916         (DEFINE_EXTERNAL_LRECORD):
11917         (DECLARE_EXTERNAL_LRECORD): Added these two for external
11918         dynamic-modules to declare new lisp types. They are the same
11919         as the non-EXTERNAL forms, but declare an lrecord_type unsigned
11920         int for each new type, and increment lrecord_type_count by 1.
11921
11922         * alloc.c (lrecord_implementations_table): Changed to reference
11923         lrecord_type_last_built_in_type for the size of the array.
11924         Moved MODULE_DEFINABLE_TYPE_COUNT to lrecord.h.
11925
11926 2000-08-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
11927
11928         * glyphs.h (check_valid_item_list): Renamed from
11929         check_valid_item_list_1.
11930
11931 2000-08-01 Alastair J. Houghton <ajhoughton@lineone.net>
11932
11933         * select.c (Qselect_coerce): New.
11934         * select.c (Vselection_coercion_alist): New.
11935         * select.c (syms_of_select): Declare.
11936         * select.c (get-selection-internal): Use it.
11937         Use the new select-coerce functionality.
11938
11939         * select.c (select_coerce): New.
11940         * select.h (select_coerce): Declare.
11941         New function to coerce one type of data into another.
11942
11943 2000-08-03  Martin Buchholz  <martin@xemacs.org>
11944
11945         * callproc.c (Fcall_process_internal):
11946         (Fcall_process_internal):
11947         * process-unix.c (unix_create_process):
11948         Save and restore the value of errno, so that error messages are accurate.
11949
11950 2000-08-01  Martin Buchholz  <martin@xemacs.org>
11951
11952         * elhash.c (print_hash_table):
11953         Fix printing of hash tables to also use `key-and-value' instead of `t'.
11954         Prettify docstrings and indentation.
11955
11956 2000-07-31  Yoshiki Hayashi  <yoshiki@xemacs.org>
11957
11958         * window.c (Fwindow_pixel_edges): Subtract frame border and
11959         gutter size.
11960
11961 2000-07-31  Andy Piper  <andy@xemacs.org>
11962
11963         * buffer.c (Frecord_buffer): make absolutely sure that redisplay
11964         will acknowledge the change.
11965
11966         * glyphs.h: declare tab_control_order_only_changed.
11967
11968         * glyphs-x.c (x_tab_control_redisplay): use
11969         tab_control_order_only_changed.
11970
11971         * glyphs-widget.c (tab_control_order_only_changed): new function.
11972
11973         * glyphs-msw.c (mswindows_tab_control_redisplay): use
11974         tab_control_order_only_changed.
11975
11976         * gui.c (gui_item_equal_sans_selected): new function.
11977         (gui_item_equal): use it.
11978
11979         * glyphs-msw.c (mswindows_combo_box_instantiate): deprecate
11980         :properties in favor of :items..
11981
11982         * glyphs-widget.c (check_valid_item_list): rename from
11983         check_valid_item_list_1.
11984         (check_valid_item_list_1): renamed.
11985         (combo_box_validate): deprecate :properties in favor of :items.
11986         (widget_instantiate): ditto.
11987         (tab_control_update): ditto.
11988         (image_instantiator_combo_box): ditto.
11989         (image_instantiator_tree_view): ditto.
11990         (image_instantiator_tab_control): ditto.
11991         (layout_post_instantiate): remove dead code.
11992
11993         * print.c (debug_print_no_newline): only write to debugger if in
11994         WIN32_NATIVE.
11995
11996         * elhash.c (Fmake_hash_table): update doc string.
11997
11998         * event-msw.c (mswindows_wnd_proc): don't allow processing of
11999         messages whilst in GC. This at least stops XEmacs crashing but has
12000         the potential for wierd behaviour.
12001
12002 2000-07-31  Martin Buchholz  <martin@xemacs.org>
12003
12004         * config.h.in:
12005         Make existence of s&m files optional.
12006
12007         * s/bsd386.h: Remove HAVE_GETLOADAVG.
12008         * s/freebsd.h: Remove HAVE_GETLOADAVG.
12009         * s/gnu.h: Remove HAVE_GETLOADAVG.
12010         * s/netbsd.h: Remove HAVE_GETLOADAVG.
12011         * s/sol2.h: Remove HAVE_GETLOADAVG.
12012         * lisp.h: Remove getloadavg() declaration.
12013         * fns.c:
12014         Include <sys/loadavg.h> if available.
12015         Don't declare our own getloadavg() if HAVE_GETLOADAVG.
12016         * config.h.in:  Group together getloadavg()-related macros.
12017         Use only configure-time tests to detect getloadavg().
12018
12019 2000-07-30  Martin Buchholz  <martin@xemacs.org>
12020
12021         * Makefile.in.in (TransientEmacsShell.o): Fix race condition.
12022
12023 2000-07-25  Andy Piper  <andy@xemacs.org>
12024
12025         * syswindows.h: add tchar.h for native builds.
12026
12027         * frame.c (syms_of_frame): remove set-glyph-image.
12028
12029         * general-slots.h: add Qset_glyph_image.
12030
12031         * glyphs-widget.c (layout_update): add domain arg to
12032         set-glyph-image.
12033         (syms_of_glyphs_widget): remove set-glyph-image.
12034
12035 2000-07-23  Ben Wing  <ben@xemacs.org>
12036
12037         * dialog-msw.c (vars_of_dialog_mswindows): need to staticpro
12038         Vpopup_frame_list.
12039
12040 2000-07-22  Andy Piper  <andy@xemacs.org>
12041
12042         * symsinit.h: add syms_of_win32().
12043
12044         * gui-msw.c (syms_of_gui_mswindows): remove
12045         Fmswindows_shell_execute.
12046         (Fmswindows_shell_execute): moved to win32.c.
12047
12048         * emacs.c (main_1): add syms_of_win32 ().
12049
12050         * win32.c (init_potentially_nonexistent_functions): rewrite in
12051         compiler-friendly terms.
12052         (Fmswindows_shell_execute): move here from gui-msw.c.
12053         (syms_of_win32): new.
12054
12055         * device-msw.c (Fmswindows_printer_list): clean up args to
12056         EnumPrinters.
12057         Don't include tchar under cygwin or mingw.
12058         (msprinter_default_printer): make cygwin-friendly.
12059
12060 2000-07-21  Andy Piper  <andy@xemacs.org>
12061
12062         * glyphs-widget.c (image_instantiator_tree_view): use tab
12063         control's update function.
12064         (layout_property): new function. Retrieve items.
12065
12066         * glyphs-msw.c (mswindows_tree_view_redisplay): new
12067         function. Re-populate the tree view from the pending items.
12068
12069         * glyphs.c (instantiate_image_instantiator): Make sure the domain
12070         is designated the parent if the domain is an image instance. This
12071         is needed so that dirtiness can be cascade up the hierarchy and
12072         thus for layout children to be redisplayed correctly.
12073         (allocate_image_instance): rename glyph -> parent.
12074
12075         * redisplay.h: change redisplay_output_layout signature.
12076
12077         * redisplay-msw.c (mswindows_output_display_block): use domain
12078         arg.
12079
12080         * redisplay-x.c (x_output_display_block): use domain arg.
12081
12082 2000-07-10  Andy Piper  <andy@xemacs.org>
12083
12084         * window.c (Fset_window_configuration): add comment.
12085
12086         * redisplay-output.c (compare_runes):
12087         (redisplay_output_subwindow): redisplay rather than update subwindow.
12088         (redisplay_output_layout): ditto.
12089
12090         * redisplay-msw.c (mswindows_frame_output_end):
12091         (mswindows_frame_output_end): make defer window pos optional.
12092
12093         * lisp.h: add Flast.
12094
12095         * glyphs.h (struct image_instantiator_methods): add dest_mask top
12096         normalize method. Change update method to be for changed
12097         instantiators. Add redisplay method. Change signature of layout
12098         method.
12099         (struct Lisp_Image_Instance): add instantiator.
12100         (IMAGE_INSTANCE_INSTANTIATOR): new.
12101         (IMAGE_INSTANCE_SUBWINDOW_FACE): new.
12102         (XIMAGE_INSTANCE_INSTANTIATOR): new.
12103         (XIMAGE_INSTANCE_SUBWINDOW_FACE): new.
12104
12105         * glyphs.c:
12106         (find_instantiator_differences): new function.
12107         (Fset_instantiator_property): new convenience function.
12108         (check_image_instance_structure): strictly check for vector
12109         instantiators.
12110         (normalize_image_instantiator): make non-static.
12111         (instantiate_image_instantiator): pass on dest_mask and use new
12112         signatures for image_instance_layout and friends.
12113         (mark_image_instance): mark the instantiator. Mark the subwindow
12114         face not the widget face.
12115         (image_instance_equal): add instantiator.
12116         (image_instance_hash): ditto.
12117         (allocate_image_instance): ditto.
12118         (Fset_image_instance_property): removed.
12119         (Fimage_instance_file_name): ditto.
12120         (Fcolorize_image_instance): ditto.
12121         (image_instance_layout): add offsets to be set.
12122         (update_image_instance): new function. update an image instance
12123         from its changed instantiator.
12124         (inherit_normalize): add dest_mask.
12125         (xbm_normalize): ditto.
12126         (xface_normalize): ditto.
12127         (xpm_normalize): ditto.
12128         (text_update): set_property -> update.
12129         (image_instantiate): use the glyph identity as a hash key, not the
12130         instantiator.
12131         (glyph_width): use new image_instance_layout signature.
12132         (glyph_ascent): ditto.
12133         (glyph_descent): ditto.
12134         (glyph_height): ditto.
12135         (glyph_query_geometry): ressurrect.
12136         (glyph_layout): ditto.
12137         (redisplay_subwindow): update -> redisplay.
12138         (syms_of_glyphs): add Fset_instantiator_property.
12139         (image_instantiator_format_create): set_property -> update.
12140
12141         * glyphs-x.c:
12142         (autodetect_normalize): add dest_maks to signature.
12143         (x_redisplay_subwindow): update -> redisplay.
12144         (x_redisplay_widget): ditto.
12145         (x_button_redisplay): ditto.
12146         (x_progress_gauge_redisplay): ditto.
12147         (x_tab_control_redisplay): ditto. Rewrite to cope with changed
12148         stacking order.
12149         (console_type_create_glyphs_x): update -> redisplay.
12150         (image_instantiator_format_create_glyphs_x): ditto.
12151
12152         * glyphs-widget.c:
12153         (check_valid_instantiator): disallow glyphs in the instantiator,
12154         they must now be vectors.
12155         (check_valid_instantiator_list): ditto.
12156         (glyph_instantiator_to_glyph): use internal symbol rather than
12157         intern.
12158         (widget_update): renamed from widget_set_property. Call cascaded
12159         update methods.
12160         (redisplay_widget): renamed from update_widget.
12161         (widget_layout): image_instance_layout now takes position as well
12162         as size.
12163         (widget_normalize): ditto.
12164         (widget_instantiate): ditto.
12165         (tab_control_query_geometry) ditto.:
12166         (tab_control_update): renamed from tab_control_set_property.
12167         (progress_gauge_update): set_property -> update.
12168         (layout_normalize): rewrite so that child instantiators are
12169         normalized also.
12170         (layout_update): new function. Create glyphs from the normalized
12171         children and cope with any other layout keywords. We do not
12172         instantiate children here that will be take care of by
12173         redisplay_output_layout.
12174         (layout_instantiate): call layout_update and not much else.
12175         (layout_post_instantiate): not sure whether this is needed
12176         anymore.
12177         (layout_query_geometry): query glyph geometry rather than
12178         image_instance geometry.
12179         (layout_layout): set offsets from pass in parameters. Use glyph
12180         geometry and layout functions rather than image instance ones.
12181         (native_layout_layout): ditto.
12182         (syms_of_glyphs_widget): add make-glyph and set-glyph-image.
12183         (image_instantiator_widget): set_property -> update.
12184         (image_instantiator_buttons): ditto.
12185         (image_instantiator_progress_guage): ditto.
12186         (image_instantiator_tab_control): ditto.
12187         (VALID_LAYOUT_KEYWORDS): instantiators must now be vectors.
12188         (image_instantiator_layout): add update method.
12189
12190         * glyphs-msw.c (bmp_normalize):
12191         (mswindows_resource_normalize): add dest_mask so that it can be
12192         proprogated by layout_normalize.
12193         (begin_defer_window_pos): make optional because it may not be the
12194         right thing to do and it introduces differences with X.
12195         (mswindows_unmap_subwindow): ditto.
12196         (mswindows_map_subwindow): ditto.
12197         (mswindows_redisplay_subwindow): renamed from
12198         mswindows_update_subwindow.
12199         (mswindows_redisplay_widget): ditto.
12200         (mswindows_button_redisplay): renamed from
12201         mswindows_button_update. Update is now what the instantiation
12202         function does for a changed instantiator.
12203         (mswindows_progress_gauge_instantiate): set the progress value
12204         here if appropriate.
12205         (mswindows_tab_control_redisplay): cope with re-ordering of the
12206         members of the tab widget by simply selecting the new top
12207         widget. This makes things appear ok if you click on a tab.
12208         (mswindows_combo_box_instantiate): image_instance_layout now takes
12209         position as well as size.
12210         (mswindows_progress_gauge_redisplay): renamed from
12211         mswindows_progress_gauge_update.
12212         (console_type_create_glyphs_mswindows): fix update -> redisplay.
12213         (image_instantiator_format_create_glyphs_mswindows): ditto.
12214
12215         * glyphs-eimage.c (jpeg_normalize):
12216         (gif_normalize):
12217         (png_normalize):
12218         (tiff_normalize): add dest_mask so that it can be proprogated by
12219         layout_normalize.
12220
12221         * elhash.c:
12222         (print_hash_table):
12223         (hash_table_weakness_validate):
12224         (decode_hash_table_weakness):
12225         (Fhash_table_weakness):
12226         (Fhash_table_type):
12227         (syms_of_elhash): use Ben's naming scheme for hashtable types..
12228
12229         * console.h (struct console_methods): move update_* to
12230         redisplay_*.
12231
12232 2000-07-20  Ben Wing  <ben@xemacs.org>
12233
12234         * *.[ch] (XSETOBJ): remove unused middle argument.
12235         lisp-disunion.h: correct wrap_object() to one argument.
12236
12237 2000-07-15  Ben Wing  <ben@xemacs.org>
12238
12239         * s/cygwin32.h:
12240         * s/cygwin32.h (CYGWIN_CONV_PATH):
12241         Add missing logb prototype for v1.1.
12242         Use post-b20 names and alias to pre-b20 names when pre-b20.
12243
12244         * s/windowsnt.h: [5].
12245
12246 2000-07-15  Ben Wing  <ben@xemacs.org>
12247
12248         * Makefile.in.in (x_objs):
12249         * Makefile.in.in (sheap_objs):
12250         * Makefile.in.in (objs):
12251         added win32.o, cosmetic cleanups.
12252
12253         * alloc.c (Fmake_byte_code):
12254         [[[1]]]: Changes for new LIST_LOOP, EXTERNAL_LIST_LOOP,
12255         etc. macros which declare their own args now.
12256
12257         * alloc.c (syms_of_alloc):
12258         [[[2]]]: Use DEFSYMBOL, DEFKEYWORD, DEFERROR and friends.
12259
12260         * buffer.c:
12261         Moved buffer-dedicated-frame, set-buffer-dedicated-frame into lisp.
12262
12263         * buffer.c (Fget_file_buffer):
12264         Fixed GCPRO problem.
12265
12266         * buffer.c (get_truename_buffer):
12267         Fixed comment about GC checking.
12268
12269         * buffer.c (syms_of_buffer):
12270         Undeclared those dedicated frame funs.
12271         [2].
12272
12273         * buffer.h:
12274         Define convenience macros for internal/external conversions.
12275         [[[3]]]: Define codesys aliases Qcommand_argument_encoding
12276         and Qenvironment_variable_encoding for cleaner code.
12277
12278         * bufslots.h:
12279         Remove dedicated-frame; in lisp.
12280
12281         * bytecode.c (funcall_compiled_function):
12282         [1].
12283
12284         * bytecode.c (syms_of_bytecode):
12285         [2].
12286
12287         * console-msw.c:
12288         * console-msw.c (mswindows_show_console): Rewrote.
12289
12290         * console-msw.c (Fmswindows_debugging_output): New.
12291         Sends to OutputDebugString (special MSWin debugger interface).
12292
12293         * console-msw.c (Fmswindows_message_box):
12294         Fixed stupid bugs so it works when called from kill-emacs.
12295
12296         * console-msw.c (syms_of_console_mswindows):
12297         Declare Fmswindows_debugging_output.
12298
12299         * console-msw.h:
12300         New MSWin prototypes.
12301
12302         * console-msw.h (struct mswindows_frame):
12303         New entry last-click-mods for improved button-modifier support.
12304
12305         * console-msw.h (FRAME_MSWINDOWS_POPUP):
12306         New struct entry `popup' with corresponding accessor.
12307
12308         * console-x.c:
12309         * console-x.c (split_up_display_spec):
12310         * console-x.c (get_display_arg_connection):
12311         * console-x.c (x_semi_canonicalize_console_connection):
12312         * console-x.c (x_canonicalize_device_connection):
12313         [[[6]]]: Change char to more specific type.
12314         [[[8]]]: Make use of abstracting codesys aliases defined in [3], [4];
12315
12316         * console-x.c (x_semi_canonicalize_console_connection):
12317         * console-x.c (x_canonicalize_device_connection):
12318         [[[9]]]: Fix up error signalling to use new structured error system.
12319
12320         * console-x.h:
12321         [[[4]]]: Define codesys aliases:
12322         Qlwlib_encoding, Qx_atom_name_encoding, Qx_font_name_encoding,
12323         Qx_color_name_encoding, Qx_display_name_encoding.
12324
12325         * console.h (struct console_methods):
12326         New method make_dialog_box_internal supersedes older
12327         popup_dialog_box method.
12328
12329         * data.c:
12330         Define many new errors, part of new structured errors.
12331
12332         * data.c (init_errors_once_early):
12333         * data.c (syms_of_data):
12334         [2].
12335
12336         * device-msw.c (mswindows_init_device):
12337         [[[5]]]: Cleanup to support NT 3.51.
12338
12339         * device-msw.c (decode_devmode): Cleanup.
12340
12341         * device-msw.c (mswindows_handle_print_setup_dialog_box):
12342         * device-msw.c (mswindows_handle_print_dialog_box):
12343         * device-msw.c (mswindows_handle_page_setup_dialog_box):
12344         * device-msw.c (syms_of_device_mswindows):
12345         Delete the dialog box primitives recently introduced by Kirill and
12346         instead interface to general dialog box interface.
12347
12348         * device-x.c:
12349         * device-x.c (compute_x_app_name):
12350         * device-x.c (x_init_device):
12351         * device-x.c (Fx_valid_keysym_name_p):
12352         * device-x.c (Fx_set_font_path):
12353         [6].
12354         [7].
12355
12356         * device.h (wrap_device): New.
12357         First of its kind; meant to replace XSETDEVICE.
12358
12359         * dialog-msw.c: Many file-dialog symbols.
12360
12361         * dialog-msw.c (mswindows_register_popup_frame): New.
12362         * dialog-msw.c (mswindows_is_dialog_msg): New.
12363         For supporting kbd traversal in dialog boxes.
12364
12365         * dialog-msw.c (dialog_proc):
12366         Support hitting ESC in dialogs.
12367
12368         * dialog-msw.c (struct):
12369         Common dialog box errors.
12370
12371         * dialog-msw.c (handle_file_dialog_box): New.
12372         Add file dialog code.
12373
12374         * dialog-msw.c (handle_question_dialog_box):
12375         Redo existing code to support new question dialog syntax.
12376
12377         * dialog-msw.c (console_type_create_dialog_mswindows):
12378         We support new dialog console method.
12379
12380         * dialog-msw.c (syms_of_dialog_mswindows):
12381         * dialog-msw.c (vars_of_dialog_mswindows):
12382         New file dialog symbols, vars.
12383
12384         * dialog-x.c:
12385         * dialog-x.c (maybe_run_dbox_text_callback):
12386         * dialog-x.c (dbox_descriptor_to_widget_value):
12387         * dialog-x.c (x_make_dialog_box_internal):
12388         * dialog-x.c (console_type_create_dialog_x):
12389         Mule-ize entire file.
12390         Redo to support question dialog syntax.
12391         [6].
12392
12393         * dialog.c:
12394         * dialog.c (Fmake_dialog_box_internal):
12395         * dialog.c (syms_of_dialog):
12396         Kill old popup-dialog-box, replace with new primitive.
12397         Just call device method or signal error.
12398
12399         * eldap.c (Fldap_open):
12400         * eldap.c (Fldap_search_basic):
12401         * eldap.c (Fldap_add):
12402         * eldap.c (Fldap_modify):
12403         [1].
12404         [7].
12405
12406         * emacs.c:
12407         * emacs.c (make_arg_list_1):
12408         * emacs.c (make_arg_list):
12409         Mule-ize call to dll_init().
12410         [6].
12411         [8].
12412
12413         * emacs.c (make_argc_argv):
12414         * emacs.c (free_argc_argv):
12415         * emacs.c (init_cmdargs):
12416         * emacs.c (main_1):
12417         * emacs.c (Fkill_emacs):
12418         * emacs.c (Fdump_emacs):
12419         Update comments about what can be used in syms_* etc.
12420         Call init_win32() when necessary.
12421         Fix up MS Win dialog box in kill-buffer to actually work right.
12422         [7].
12423
12424         * eval.c:
12425         * eval.c (For):
12426         * eval.c (Fand):
12427         * eval.c (Fprogn):
12428         * eval.c (Fprog1):
12429         * eval.c (Fprog2):
12430         * eval.c (FletX):
12431         * eval.c (Flet):
12432         * eval.c (condition_case_3):
12433         * eval.c (Feval):
12434         * eval.c (function_argcount):
12435         * eval.c (funcall_lambda):
12436         [1].
12437
12438         * eval.c (type_error): New.
12439         * eval.c (maybe_type_error): New.
12440         * eval.c (continuable_type_error): New.
12441         * eval.c (maybe_continuable_type_error): New.
12442         * eval.c (type_error_with_frob): New.
12443         * eval.c (maybe_type_error_with_frob): New.
12444         * eval.c (continuable_type_error_with_frob): New.
12445         * eval.c (maybe_continuable_type_error_with_frob): New.
12446         New functions for use with structured errors.
12447
12448         * event-Xt.c:
12449         * event-Xt.c (x_event_to_emacs_event):
12450         Buttons are now modifiers too.
12451
12452         * event-Xt.c (emacs_Xt_current_event_timestamp):
12453         Implement new event method.
12454         * event-Xt.c (reinit_vars_of_event_Xt): Set it.
12455
12456         * event-msw.c:
12457         * event-msw.c (ntpipe_shove_writer): [5].
12458         * event-msw.c (mswindows_enqueue_mouse_button_event):
12459         * event-msw.c (mswindows_drain_windows_queue):
12460         * event-msw.c (mswindows_wnd_proc): [7].
12461         * event-msw.c (mswindows_current_layout_has_AltGr): [5].
12462         * event-msw.c (mswindows_modifier_state):
12463         Throughout: support new button modifiers.
12464
12465         * event-msw.c (emacs_mswindows_current_event_timestamp):
12466         Implement new event method.
12467         * event-msw.c (reinit_vars_of_event_mswindows): Set it.
12468
12469         * event-stream.c:
12470         * event-stream.c (event_stream_current_event_timestamp): New.
12471         * event-stream.c (maybe_kbd_translate): New functionality.
12472         * event-stream.c (vars_of_event_stream):
12473         Document new kbd-translate-table functionality.
12474
12475         * event-stream.c (Fcurrent_event_timestamp): New.
12476         New primitive for use in fabricated events.
12477         * event-stream.c (syms_of_event_stream): [2]. Declare new primitive.
12478
12479         * events-mod.h (XEMACS_MOD_BUTTON1): new button modifiers.
12480
12481         * events.c:
12482         * events.c (Fmake_event):
12483         * events.c (WRONG_EVENT_TYPE_FOR_PROPERTY):
12484         [1].
12485         [9].
12486
12487         * events.c (format_event_object): fix gcc warnings.
12488
12489         * events.c (Fevent_timestamp): Document new primitives.
12490
12491         * events.c (TIMESTAMP_HALFSPACE): New.
12492
12493         * events.c (Fevent_timestamp_lessp): New.  New primitive for
12494         comparing timestamps correctly (half-space algorithm).
12495
12496         * events.c (Fevent_modifier_bits): Doc fix.
12497
12498         * events.c (Fevent_modifiers): Major doc addition.
12499         * events.c (event_x_y_pixel_internal): Typo fix.
12500         * events.c (syms_of_events): Declare new primitives.
12501
12502         * events.h:
12503         Update long comment for button modifiers, timestamps.
12504
12505         * events.h (struct event_stream):
12506         New current_event_timestamp method.
12507
12508         * extents.c:
12509         * extents.c (extent_in_region_p):
12510         * extents.c (decode_extent):
12511         * extents.c (Fset_extent_parent):
12512         * extents.c (decode_map_extents_flags):
12513         Fix gcc warnings.
12514         [9].
12515
12516         * extents.c (struct extent_at_arg):
12517         * extents.c (decode_extent_at_flag):
12518         * extents.c (extent_at_mapper):
12519         * extents.c (extent_at_bytind):
12520         * extents.c (Fextent_at): Adapt to new lower-level interface. [9].
12521         * extents.c (Fextents_at): New primitive. [9].
12522         * extents.c (symbol_to_glyph_layout): [9].
12523         Support new primitive `extents-at'.
12524
12525
12526         * extents.c (get_text_property_bytind):
12527         extent_at_bytind has another arg.
12528         [9].
12529
12530         * extents.c (syms_of_extents): New primitive.
12531
12532         * file-coding.c (Fmake_coding_system): [1].
12533         * file-coding.c (subsidiary_coding_system): fix gcc warning
12534         * file-coding.c (syms_of_file_coding): [2].
12535
12536         * fileio.c (Fexpand_file_name):
12537         * fileio.c (Fsysnetunam):
12538         * fileio.c (Ffile_exists_p):
12539         * fileio.c (Ffile_executable_p):
12540         * fileio.c (Fverify_visited_file_modtime):
12541         Clean up GCPROing.
12542
12543         * fileio.c (syms_of_fileio): [2].
12544
12545         * filelock.c (lock_file_1):
12546         * filelock.c (current_lock_owner):
12547         * filelock.c (lock_if_free):
12548         * filelock.c (lock_file):
12549         * filelock.c (unlock_file):
12550         Clean up GCPROing.
12551
12552         * fns.c (concat): Fix gcc warning.
12553
12554         * fns.c (Fmember):
12555         * fns.c (Fold_member):
12556         * fns.c (Fmemq):
12557         * fns.c (Fold_memq):
12558         * fns.c (memq_no_quit):
12559         * fns.c (Fassoc):
12560         * fns.c (Fold_assoc):
12561         * fns.c (Fassq):
12562         * fns.c (Fold_assq):
12563         * fns.c (assq_no_quit):
12564         * fns.c (Frassoc):
12565         * fns.c (Fold_rassoc):
12566         * fns.c (Frassq):
12567         * fns.c (Fold_rassq):
12568         * fns.c (rassq_no_quit):
12569         * fns.c (Fdelete):
12570         * fns.c (Fold_delete):
12571         * fns.c (Fdelq):
12572         * fns.c (Fold_delq):
12573         * fns.c (delq_no_quit):
12574         * fns.c (Fremassoc):
12575         * fns.c (Fremassq):
12576         * fns.c (remassq_no_quit):
12577         * fns.c (Fremrassoc):
12578         * fns.c (Fremrassq):
12579         * fns.c (remrassq_no_quit):
12580         * fns.c (Freverse):
12581         * fns.c (mapcar1):
12582         [1].
12583
12584         * frame-msw.c (mswindows_init_frame_1):
12585         * frame-msw.c (mswindows_delete_frame):
12586         Register popups with dialog code so keyboard traversing works.
12587
12588         * frame-tty.c (tty_raise_frame_no_select): [1].
12589
12590         * frame-x.c:
12591         * frame-x.c (x_set_frame_text_value):
12592         * frame-x.c (x_set_frame_properties):
12593         * frame-x.c (x_create_widgets):
12594         [7].
12595
12596         * frame.c:
12597         * frame.c (Fmouse_pixel_position): Minor doc fixes.
12598
12599         * frame.h (wrap_frame): New.
12600         Macro like wrap_device.
12601
12602         * general.c:
12603         * general.c (SYMBOL):
12604         * general.c (syms_of_general):
12605         Major reorg.  This is now just a wrapper and symbols themselves
12606         are listed in general-slots.h.
12607
12608         * glyphs-eimage.c (tiff_instantiate): Need cast to fix warning.
12609         * glyphs-msw.c (mswindows_resource_instantiate): [5].
12610
12611         * glyphs-msw.c (mswindows_native_layout_instantiate):
12612         Add DS_CONTROL so keyboard traversal will work.
12613
12614         * glyphs-widget.c:
12615         * glyphs-widget.c (syms_of_glyphs_widget):
12616         Move some symbols to general-slots.h.
12617
12618         * glyphs-x.c:
12619         * glyphs-x.c (xbm_instantiate_1):
12620         * glyphs-x.c (x_xbm_instantiate):
12621         * glyphs-x.c (x_xface_instantiate):
12622         * glyphs-x.c (autodetect_instantiate):
12623         * glyphs-x.c (cursor_font_instantiate):
12624         * glyphs-x.c (x_update_widget):
12625         * glyphs-x.c (x_widget_instantiate):
12626         * glyphs.c (bitmap_to_lisp_data):
12627         * glyphs.c (pixmap_to_lisp_data):
12628         [7].
12629
12630         * glyphs.c (syms_of_glyphs):
12631         [2].
12632
12633         * gui-x.c:
12634         * gui-x.c (print_widget_value):
12635         * gui-x.c (menu_separator_style_and_to_external):
12636         * gui-x.c (add_accel_and_to_external):
12637         * gui-x.c (button_item_to_widget_value):
12638         * gui-x.c (gui_items_to_widget_values_1):
12639         * gui-x.c (gui_items_to_widget_values):
12640         * gui-x.c (syms_of_gui_x):
12641         * gui-x.c (vars_of_gui_x):
12642         Mule-ize entire file.  Move menu-no-selection-hook to gui.c.
12643         [9].
12644
12645         * gui-x.h:
12646         Muleize, prototype changes matching gui-x.c.
12647
12648         * gui.c:
12649         * gui.c (separator_string_p):
12650         * gui.c (gui_item_add_keyval_pair):
12651         * gui.c (make_gui_item_from_keywords_internal):
12652         * gui.c (signal_too_long_error):
12653         * gui.c (parse_gui_item_tree_item):
12654         * gui.c (syms_of_gui):
12655         * gui.c (vars_of_gui):
12656         * gui.h:
12657         menu-no-selection-hook moved here (used by MSWin).
12658         Move some symbols to general-slots.h.
12659         [6].
12660         [9].
12661
12662         * insdel.c (get_buffer_pos_char):
12663         * insdel.c (get_buffer_range_char):
12664         Add GC comments.
12665
12666         * keymap.c (keymap_lookup_directly):
12667         * keymap.c (keymap_store):
12668         * keymap.c (ensure_meta_prefix_char_keymapp):
12669         * keymap.c (describe_map):
12670         * keymap.h:
12671         Support new button modifiers.
12672
12673         * lisp-disunion.h (wrap_object):
12674         * lisp-disunion.h (XSETOBJ):
12675         Rename make_obj to wrap_object.
12676
12677         * lisp-union.h:
12678         * lisp-union.h (make_int):
12679         * lisp-union.h (make_char):
12680         Support wrap_object.
12681
12682         * lisp.h:
12683         * lisp.h (LIST_LOOP):
12684         * lisp.h (EXTERNAL_LIST_LOOP):
12685         * lisp.h (LIST_LOOP_2):
12686         * lisp.h (EXTERNAL_LIST_LOOP_1):
12687         * lisp.h (EXTERNAL_LIST_LOOP_2):
12688         * lisp.h (EXTERNAL_LIST_LOOP_3):
12689         * lisp.h (EXTERNAL_LIST_LOOP_4_NO_DECLARE):
12690         * lisp.h (PRIVATE_EXTERNAL_LIST_LOOP_6):
12691         * lisp.h (GET_EXTERNAL_LIST_LENGTH):
12692         * lisp.h (EXTERNAL_ALIST_LOOP_5):
12693         * lisp.h (EXTERNAL_ALIST_LOOP_6):
12694         * lisp.h (EXTERNAL_ALIST_LOOP_6_NO_DECLARE):
12695         * lisp.h (EXTERNAL_PROPERTY_LIST_LOOP_5_NO_DECLARE):
12696         * lisp.h (EXTERNAL_PROPERTY_LIST_LOOP_7):
12697         * lisp.h (struct Lisp_Symbol):
12698         * lisp.h (maybe_continuable_error_with_frob):
12699         Fix up section comments.
12700         Add new types for char to indicate usage.
12701         Delete symbols auto-generated from general-slots.h.
12702         Add prototypes for structured error functions.
12703         Add long comments describing looping macros and change interface
12704         so that lvalues are automatically declared.
12705         Add NO_DECLARE macro in case callers want to declare lvalues
12706         themselves.
12707
12708         * lread.c (read_syntax_error):
12709         * lread.c (continuable_read_syntax_error):
12710         * lread.c (read_structure):
12711         * lread.c (sequence_reader):
12712         * lread.c (read_list_conser):
12713         * lread.c (read_compiled_function):
12714         Rename syntax_error and continuable_syntax_error to avoid clash
12715         with same-named structured error functions.
12716
12717         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
12718         * menubar-msw.c (populate_menu_add_item):
12719         * menubar-msw.c (populate_or_checksum_helper):
12720         [5].
12721         [9].
12722
12723         * menubar-x.c:
12724         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
12725         Mule-ize whole file.
12726
12727         * menubar.c (Fnormalize_menu_item_name): Add optimization.
12728
12729         * mule-charset.c (Fmake_charset):
12730         * mule-wnnfns.c (Fwnn_set_param):
12731         [1].
12732
12733         * ntproc.c (create_child):
12734         * ntproc.c (Fwin32_set_current_locale):
12735         Add comments portending doom.
12736
12737         * objects-msw.c:
12738         * objects-msw.c (old_font_enum_callback_2):
12739         * objects-msw.c (font_enum_callback_1):
12740         * objects-msw.c (mswindows_enumerate_fonts):
12741         [5].
12742
12743         * objects-x.c:
12744         * objects-x.c (allocate_nearest_color):
12745         * objects-x.c (x_parse_nearest_color):
12746         * objects-x.c (x_initialize_color_instance):
12747         * objects-x.c (x_print_color_instance):
12748         * objects-x.c (x_finalize_color_instance):
12749         * objects-x.c (x_valid_color_name_p):
12750         * objects-x.c (x_initialize_font_instance):
12751         * objects-x.c (x_print_font_instance):
12752         * objects-x.c (valid_x_font_name_p):
12753         * objects-x.c (truename_via_FONT_prop):
12754         * objects-x.c (truename_via_random_props):
12755         * objects-x.c (truename_via_XListFonts):
12756         * objects-x.c (x_font_truename):
12757         * objects-x.c (x_font_instance_truename):
12758         * objects-x.c (x_font_instance_properties):
12759         * objects-x.c (x_list_fonts):
12760         * objects-x.c (x_find_charset_font):
12761         Mule-ize entire file.
12762         [7].
12763
12764         * objects-x.h:
12765         Mule-verify.
12766
12767         * print.c:
12768         * print.c (std_handle_out_external):
12769         * print.c (debug_print_no_newline):
12770         * print.c (syms_of_print):
12771         Output to all debugger kinds in debug-print.
12772         Fix console-output code under MSWin to actually work.
12773
12774         * process-nt.c (send_signal):
12775         * process-nt.c (nt_create_process):
12776         Use newer Unicode macros.
12777
12778         * process-unix.c (unix_create_process):
12779         * process-unix.c (unix_canonicalize_host_name):
12780         * process-unix.c (unix_open_network_stream):
12781         [7].
12782
12783         * scrollbar-x.c:
12784         Mule-verify.
12785
12786         * search.c (syms_of_search):
12787         [2].
12788
12789         * select-msw.c (mswindows_destroy_selection):
12790         Use LIST_LOOP_2.
12791
12792         * select-x.c (symbol_to_x_atom):
12793         [7].
12794
12795         * select.c (syms_of_select):
12796         [2].
12797
12798         * sound.c (Fplay_sound_file):
12799         [7].
12800
12801         * specifier.c:
12802         * specifier.c (decode_specifier_type):
12803         * specifier.c (Fvalid_specifier_locale_type_p):
12804         * specifier.c (check_valid_locale_or_locale_type):
12805         * specifier.c (decode_locale):
12806         * specifier.c (decode_locale_type):
12807         * specifier.c (decode_locale_list):
12808         * specifier.c (check_valid_domain):
12809         * specifier.c (decode_specifier_tag_set):
12810         * specifier.c (Fcanonicalize_tag_set):
12811         * specifier.c (Fdefine_specifier_tag):
12812         * specifier.c (Fspecifier_tag_predicate):
12813         * specifier.c (check_valid_inst_list):
12814         * specifier.c (check_valid_spec_list):
12815         * specifier.c (decode_how_to_add_specification):
12816         * specifier.c (check_modifiable_specifier):
12817         * specifier.c (specifier_add_spec):
12818         * specifier.c (boolean_validate):
12819         * specifier.c (display_table_validate):
12820         [9].
12821
12822         * specifier.c (syms_of_specifier):
12823         Move some symbols to general-slots.h.
12824         [2].
12825
12826         * symbols.c:
12827         * symbols.c (Fmapatoms):
12828         * symbols.c (Fapropos_internal):
12829         Add GCPROs.
12830
12831         * symbols.c (set_default_buffer_slot_variable):
12832         * symbols.c (set_default_console_slot_variable):
12833         [1].
12834
12835         * symbols.c (defsymbol_massage_name_1):
12836         * symbols.c (defkeyword_massage_name):
12837         * symbols.c (deferror_1):
12838         * symbols.c (deferror):
12839         * symbols.c (deferror_massage_name_and_message):
12840         * symeval.h:
12841         * symeval.h (DEFSYMBOL):
12842         Support DEFSYMBOL*, DEFKEYWORD, DEFERROR
12843
12844         * symbols.c (syms_of_symbols):
12845         [2].
12846
12847         * symsinit.h:
12848         * symsinit.h (init_win32): New.
12849         Also new is syms_of_dialog_mswindows.
12850
12851         * syswindows.h:
12852         Add new Unicode macros, missing Cygwin wide-char functions,
12853         convenience conversion macros for Qmswindows_tstr, macros for
12854         encapsulating required MSWin <-> Cygwin filename conversions,
12855         prototype for dynamically-extracted (not in NT 3.51) functions.
12856
12857         * toolbar-x.c:
12858         Mule-verify.
12859
12860         * tooltalk.c (Fadd_tooltalk_message_arg):
12861         * tooltalk.c (Fadd_tooltalk_pattern_attribute):
12862         * tooltalk.c (Fadd_tooltalk_pattern_arg):
12863         [7].
12864
12865         * tooltalk.c (syms_of_tooltalk):
12866         [2].
12867
12868         * unexnt.c:
12869         * unexnt.c (unexec):
12870         Fix up headers, declaration of unexec() to be more standard.
12871
12872 2000-07-20  Martin Buchholz  <martin@xemacs.org>
12873
12874         * offix.h: Revert change to guard macros - they're used in offix.c!
12875
12876 2000-07-18  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12877
12878         * lisp.h: Defsubred Fdelete.
12879
12880         * console-msw.h:  (msprinter_default_printer): Added.
12881
12882         * console-msw.c (msprinter_canonicalize_console_connection):
12883         (msprinter_canonicalize_device_connection): Added.
12884
12885         * device-msw.c (msprinter_default_printer):
12886         (Fmswingows_get_default_printer):
12887         (signal_enum_priner_error):
12888         (Fmswingows_printer_list): Added.
12889
12890 2000-07-19  Martin Buchholz <martin@xemacs.org>
12891
12892         * XEmacs 21.2.35 is released.
12893
12894 2000-07-19  Martin Buchholz  <martin@xemacs.org>
12895
12896         * select-x.c (x_handle_selection_request):
12897         Text selected in xemacs and pasted into xterm failed to appear.
12898         Spelling fixes and cosmetic changes.
12899
12900 2000-07-18  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12901
12902         * event-msw.c (mswindows_drain_windows_queue): Correctly check for
12903         XEmacs frame (fix for doubling chars in dialog boxes).
12904
12905 2000-07-17 Alastair J. Houghton <ajhoughton@lineone.net>
12906
12907         * select.c (select_convert_in, select_convert_out):
12908         Don't call intern() every time.
12909
12910         * select.c (Qselect_convert_in, Qselect_convert_out): New.
12911         * select.c (vars_of_select): Initialise them.
12912
12913 2000-07-18 Alastair J. Houghton <ajhoughton@lineone.net>
12914
12915         * select.c (selection-coercible-types): New.
12916
12917         * select.c (own-selection-internal):
12918         * select.c (get-selection-internal):
12919         MULE bug fix - these should default to COMPOUND_TEXT and not
12920         STRING for MULE. I think.
12921
12922         * select.c (select_convert_out): Use selection-coercible-types
12923         to find types that we can attempt to perform coercions on.
12924
12925 2000-07-18  Martin Buchholz  <martin@xemacs.org>
12926
12927         * mule-wnnfns.c:
12928         * mule-canna.c:
12929         Add coding: cookie to identify encoding.
12930
12931         * mule-canna.c (CANNA_mode_keys): make static.
12932         Use proper prototypes, even for functions of no arguments.
12933         Remove external prototype for Fding().
12934
12935         * symsinit.h: Add missing prototype for reinit_vars_of_mule_wnn.
12936
12937         * select.c (syms_of_select): Add missing DEFSUBR.
12938
12939 2000-07-18 Alastair J. Houghton <ajhoughton@lineone.net>
12940
12941         * select.c (get_selection_internal, own_selection_internal):
12942         Make the type default to STRING, rather than placing a nil type
12943         into Vselection_alist.
12944
12945 2000-07-17 Alastair J. Houghton <ajhoughton@lineone.net>
12946
12947         * gpmevent.c (tty_selection_exists_p):
12948         * gpmevent.c (tty_own_selection):
12949         Updated parameter lists.
12950
12951 2000-07-15 Alastair J. Houghton <ajhoughton@lineone.net>
12952
12953         * select.h (selection-alist): Removed declaration.
12954
12955         * select.h (get_local_selection):
12956         * select.c (get_local_selection):
12957         Made static.
12958
12959         * select.h (convert_selection): Removed declaration.
12960         * select.c (convert_selection): Removed.
12961         This function belongs in Lisp.
12962
12963         * select.h (select_convert_in): Declare.
12964         * select.h (select_convert_out): Declare.
12965         * select.c (select_convert_in): New.
12966         * select.c (select_convert_out): New.
12967         New conversion functions for other files to call.
12968
12969         * select.h (select_notify_buffer_kill): Declare.
12970         * select.c (select_notify_buffer_kill): New.
12971         New functions that get called from kill-buffer.
12972
12973         * buffer.c (kill-buffer): Call select_notify_buffer_kill, rather than
12974         X-specific lisp code.
12975
12976         * select.h: Declare some of the lisp-visible functions for
12977         external use.
12978
12979         * select.c (clean_local_selection_data): Removed. This was
12980         a disgusting function, and previously should have been in
12981         select-x.c in any case. The functionality is now provided
12982         in select-convert-from-integer (select.el).
12983
12984         * select.c (available-selection-types): Fixed stupidity where
12985         INTEGER and ATOM got added twice. Also add STRING when we see an
12986         extent.
12987
12988         * select.c (get-selection-internal): Removed symbol stripping. No
12989         longer causes conversion when data comes from the internal cache.
12990
12991         * select.c (syms_of_select): Added new functions.
12992
12993         * select-x.c (motif_clipboard_cb): Use select_convert_out. Rewrote
12994         error checking - previously this called abort!
12995
12996         * select-x.c (x_own_selection): Changed comment.
12997
12998         * select-x.c (x_handle_selection_request): Use select_convert_out.
12999         Don't mess with selection-alist; it's an internal variable of select.c.
13000
13001         * select-x.c (x_get_foreign_selection): Use select_convert_in.
13002
13003         * select-x.c (x_handle_selection_clear): Use get-selection-timestamp,
13004         rather than messing with selection-alist.
13005
13006         * select-msw.c (mswindows_get_foreign_selection):
13007         Use TO_INTERNAL_FORMAT rather than hacking.
13008
13009 2000-07-14  Martin Buchholz  <martin@xemacs.org>
13010
13011         * process-unix.c (unix_open_multicast_group):
13012         (unix_open_multicast_group): Remove useless casts.
13013
13014 2000-07-13  Martin Buchholz  <martin@xemacs.org>
13015
13016         * sound.c (Fplay_sound): Fix `unused variable' warning.
13017
13018         * emacs.c (main): Use correct type for _environ on SCO5.
13019
13020 2000-07-12 Alastair J. Houghton <ajhoughton@lineone.net>
13021
13022         * console.h (own_selection_method):
13023         * console.h (selection_exists_p_method):
13024         * console.h (available_selection_types_method): New.
13025         * console.h (register_selection_data_type_method): New.
13026         * console.h (selection_data_type_name): New.
13027
13028         * console-msw.h (mswindows_destroy_selection): Declare it.  New
13029         function & alist to track GlobalAlloc()'d handles that need
13030         releasing when the clipboard data gets replaced or emptied.
13031
13032         * event-msw.c (mswindows_wnd_proc): Call it.
13033
13034         * lisp.h, general.c (Qappend): New symbol representing a
13035         `how-to-add' mode.
13036
13037         * select.c (own-selection-internal):
13038         * select.c (selection-exists-p):
13039         * select.c (available-selection-types): New.
13040         * select.c (register-selection-data-type): New.
13041         * select.c (selection-data-type-name): New.  New functions to deal
13042         with device-specific selection data formats.
13043         * select.c (selection-converter-out-alist): Renamed.
13044         * select.c (selection-converter-in-alist): New.
13045         * select.c (selection-appender-alist): New.  Added new alists.
13046         * select.c (syms_of_select, vars_of_select): Added new symbols &
13047         variables.
13048         * select.c (get_local_selection): Split.
13049         * select.c: Removed spurious type checking - selections may now be
13050         of any type, not just strings.
13051         * select.c (own-selection-internal):
13052
13053         * select.h, select.c (convert_selection): New. Created
13054         convert_selection() function based on get_local_selection().
13055         * select.h, select.c (QCF_*): New symbols representing mswindows
13056         clipboard formats.
13057         * select.h, select.c (Qreplace_all, Qreplace_existing): New
13058         symbols representing `how-to-add' modes.
13059
13060         * select-msw.c (x_sym_p): New.
13061         * select-msw.c (symbol_to_ms_cf): New.
13062         * select-msw.c (ms_cf_to_symbol): New. New functions to deal with
13063         symbols & clipboard formats. Can also handle string names.
13064         * select-msw.c (mswindows_own_selection):
13065         * select-msw.c (mswindows_selection_exists_p):
13066         Added `data-type' parameter. Use it.
13067         * select-msw.c (mswindows_available_selection_types): New.
13068         * select-msw.c (mswindows_register_selection_data_type): New.
13069         * select-msw.c (mswindows_selection_data_type_name): New.
13070         * select-msw.c (mswindows_own_selection):
13071         * select-msw.c (mswindows_get_foreign_selection):
13072         * select-msw.c (mswindows_selection_exists_p):  Rewrote.
13073         * select-msw.c (console_create_select_mswindows): Added new methods.
13074         * select-msw.c (mswindows_destroy_selection): New.
13075         * select-msw.c (Vhandle_alist): New list.
13076         * select-msw.c (mswindows_own_selection):
13077
13078         * select-x.c (x_own_selection):
13079         * select-x.c (x_selection_exists_p):
13080         * select-x.c: Added some comments about maybe using new
13081         functionality.
13082         * select-x.c (x_own_selection):
13083
13084         * specifier.c: Remove definition of Qappend (now in general.c)
13085         * specifier.c (syms_of_specifier): Remove Qappend.
13086
13087 2000-07-12  Martin Buchholz  <martin@xemacs.org>
13088
13089         * config.h.in: Add socklen_t.
13090
13091         * s/decosf4-0.h: No special compiler flags needed or desired.
13092         In particular, undefine _BSD for DEC OSF 4.0.
13093
13094 2000-07-07  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
13095
13096         * redisplay-msw.c (msprinter_frame_output_end): Added.
13097         (console_type_create_redisplay_mswindows): Referred the above.
13098
13099         * frame.c (setup_frame_without_minibuffer): Do not create a
13100         default minibuffer frame on a printer device.
13101
13102         * frame-msw.c (apply_dc_geometry): Added.
13103         (msprinter_start_page):
13104         (msprinter_init_frame_3):
13105         (msprinter_eject_page): Use it.
13106
13107         * console-msw.h (struct msprinter_frame): Added pix_left and top,
13108         and removed residual duplex and orientation properties.
13109
13110 2000-07-11  Martin Buchholz  <martin@xemacs.org>
13111
13112         * eval.c (function_argcount): Work around a DEC CC compiler bug.
13113
13114         * unexalpha.c: Remove system prototypes from C sources!
13115
13116 2000-07-09  Adrian Aichner  <aichner@ecf.teradyne.com>
13117
13118         * eval.c: Remove references to M-x edit-options in DEFUNs for
13119         `defvar' and `defconst'.
13120
13121 2000-07-09  Martin Buchholz  <martin@xemacs.org>
13122
13123         * config.h.in: Remove SMART_INCLUDE hackery.
13124
13125         PostgreSQL hacking:
13126         * config.h.in: Don't use SMART_INCLUDE.
13127
13128         * postgresql.h: Include libpq-fe.h here.  Fix typo.
13129         * inline.c: Simply #include "postgresql.h"
13130         * postgresql.c:
13131         - Don't use SMART_INCLUDE
13132         - Use simply "const".
13133         - Use standard doc string conventions.
13134         - Use correct type for result of PQstatus.
13135
13136 2000-07-09  Martin Buchholz  <martin@xemacs.org>
13137
13138         * glyphs-x.c (x_xface_instantiate): Fix C++ compilation warnings.
13139
13140         C++ compilation changes.
13141         * config.h.in (EXTERN_C): Define.
13142         * config.h.in (not): This is also a C++ keyword.
13143         * unexalpha.c (DEFAULT_ENTRY_ADDRESS): Enable C++ compilation.
13144         * cm.c: Use EXTERN_C.
13145         * redisplay-tty.c: Use EXTERN_C.
13146         * sysdep.c: Use EXTERN_C.  Remove Gould support.
13147
13148 2000-07-09  Martin Buchholz  <martin@xemacs.org>
13149
13150         * general.c: Remove duplicate definition for Qfunction.
13151
13152 2000-07-08  Ben Wing  <ben@xemacs.org>
13153
13154         * device-msw.c (msprinter_init_device):
13155         * device-msw.c (sync_printer_with_devmode):
13156         * device-msw.c (handle_devmode_changes):
13157         * device-msw.c (print_dialog_worker):
13158         * device-msw.c (Fmsprinter_apply_settings):
13159         * device-msw.c (hash_devmode):
13160         * device-msw.c (Fmsprinter_settings_despecialize):
13161         use Qmswindows_tstr, not Qctext.
13162
13163         * vm-limit.c (check_memory_limits):
13164         avoid infinite loop printing warning messages.
13165
13166 2000-07-05  Craig Lanning  <lanning@scra.org>
13167
13168         * Makefile.in.in: Add support for including the Windows resources
13169         when building with the cygwin and mingw targets.
13170
13171         * buffer.c: from Dan Holmsand, on Windows $PWD is most likely either
13172         not set or not correct.
13173         (directory_is_current_directory): Don't compile for WIN32_NATIVE.
13174         (init_initial_directory): Don't try to use $PWD on the
13175         WIN32_NATIVE target.
13176
13177         * s\cygwin32.h:
13178         [[Add -mwindows to eliminate console window.]] not required --ben
13179         (HAVE_NATIVE_SOUND): removed; now handled by configure.
13180         (MAIL_USE_POP): removed; now handled by configure.
13181
13182         * s\mingw32.h: [[Add -mwindows to eliminate console window.]] not in
13183         C_SWITCH_SYSTEM or it will affect lib-src progs. --ben
13184         (HAVE_NATIVE_SOUND): removed; now handled by configure.
13185         (MAIL_USE_POP): removed; now handled by configure.
13186         (ENCAPSULATE_STAT): from Dan Holmsand, added.
13187         (ENCAPSULATE_FSTAT): from Dan Holmsand, added.
13188         (DIRECTORY_SEP): from Dan Holmsand, use lisp variable instead of
13189         constant string.
13190         (HAVE_TIMEVAL): from Dan Holmsand, added; struct timeval is picked
13191         up from <winsock.h> via systime.h.
13192         (HAVE_GETPAGESIZE): from Dan Holmsand, added.
13193         (getpagesize): from Dan Holmsand, added.
13194         Added #endif which was left dangling by Ben's mega patch; added
13195         comment to help prevent this in the future.
13196
13197         * sysdll.c: added #include <windows.h> for WIN32_NATIVE case.
13198
13199 2000-07-05  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
13200
13201         * console-msw.h (struct mswindows_device): Removed unnecessary
13202         cached device geometry values.
13203         Added update_tick and an accessor macro.
13204         (Lisp_Devmode): Added lrecord declaration.
13205         (struct msprinter_device): Contain devmode as a Lisp object.
13206         Added mswindows_get_selected_frame_hwnd();
13207
13208         * console.h (struct console_methods): Indentation nitpicking.
13209
13210         * device-msw.c (mswindows_init_device): Do not initialize geometry
13211         cache. Initialize update tick.
13212         (mswindows_device_system_metrics): Ask the device for its geometry.
13213         (global_free_2_maybe):
13214         (devmode_to_hglobal):
13215         (handle_printer_changes):
13216         (ensure_not_printing):
13217         (print_dialog_worker):
13218         (Fmsprinter_print_setup_dialog):
13219         (Fmsprinter_print_dialog):
13220         (plist_get_margin):
13221         (plist_set_margin):
13222         (Fmsprinter_page_setup_dialog): Added functions.
13223         (sync_printer_with_devmode):
13224         (handle_devmode_changes):
13225         (Fmsprinter_get_settings):
13226         (Fmsprinter_select_settings):
13227         (Fmsprinter_apply_settings):
13228         (allocate_devmode):
13229         (Fmsprinter_settings_copy):
13230         (Fmsprinter_settings_despecialize):
13231         (print_devmode):
13232         (finalize_devmode):
13233         (equal_devmode):
13234         (hash_devmode): Added functions
13235         (syms_of_device_mswindows): Init devmode lrecord class.
13236
13237         * device.h: Added an exfun for find-device.
13238
13239         * event-msw.c (mswindows_wnd_proc): Do not update the cached
13240         geometry; although, recreate the device compatible DC.
13241
13242         * frame-msw.c (mswindows_get_selected_frame_hwnd): Added.
13243         (msprinter_init_frame_3):
13244         (msprinter_frame_property):
13245         (msprinter_internal_frame_property_p):
13246         (msprinter_frame_properties):
13247         (msprinter_set_frame_properties): Removed 'orientation and 'duplex
13248         print job properties (will move to device settings).
13249
13250         * lisp.h: Added symbols.
13251
13252         * general.c (syms_of_general): Declared them.
13253
13254         * hash.c (string_hash): Added.
13255
13256         * lrecord.h (lrecord_type): Added devmode lrecord type.
13257
13258 2000-07-02  Mike Sperber <mike@xemacs.org>
13259
13260         * s/freebsd.h (INTERRUPTIBLE_OPEN): open *is* interruptible on
13261         FreeBSD 4.0.
13262
13263 2000-06-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
13264
13265         * doprnt.c (emacs_doprnt_1): Fix problem with %0XXd for a negative
13266         integer.
13267
13268 2000-06-07  MORIOKA Tomohiko  <tomo@urania.m17n.org>
13269
13270         * data.c (Fstring_to_number): Don't recognize floating point if
13271         base is not 10.
13272
13273 2000-06-22  Martin Buchholz  <martin@xemacs.org>
13274
13275         * glyphs-widget.c (tab_control_query_geometry):
13276         (widget_query_geometry):
13277         (button_query_geometry):
13278         * glyphs.c (text_query_geometry):
13279         Enforce type correctness.
13280
13281 2000-06-18  Martin Buchholz  <martin@xemacs.org>
13282
13283         * s/decosf4-0.h (_etext): Use portable _etext instead of etext.
13284         * s/decosf4-0.h (_edata): Use portable _edata instead of edata.
13285
13286 2000-06-17  Martin Buchholz  <martin@xemacs.org>
13287
13288         * s/decosf4-0.h: Never #include "/usr/include/FOO.h" because this
13289         conflicts with gcc's fixincluded version of FOO.h.
13290
13291         * glyphs.h (image_instance_geometry): Remove trailing `,'
13292
13293 2000-06-08  Mike Alexander  <mta@arbortext.com>
13294
13295         (MAX_SHOVE_BUFFER_SIZE): Change to 512 to match stream buffer size
13296         (shove_thread): Don't write the same output twice
13297         (make_ntpipe_output_stream): Increase priority of shove thread
13298         (ntpipe_shove_writer): Call SwitchToThread to give shove thread a
13299         chance to run
13300         (ntpipe_shove_closer): Don't delete the pipe until we're done with
13301         it.
13302
13303 2000-06-12  Ben Wing  <ben@xemacs.org>
13304
13305         * s\mingw32.h (sigset):
13306         * s\windowsnt.h (sigset):
13307         rename msw_ to mswindows_ for consistency with general convention.
13308
13309 2000-06-12  Ben Wing  <ben@xemacs.org>
13310
13311         * console-msw.c:
13312         * console-msw.c (mswindows_get_console_hwnd):
13313         * console-msw.c (mswindows_ensure_console_allocated):
13314         * console-msw.c (mswindows_hide_console):
13315         * console-msw.c (mswindows_show_console):
13316         * console-msw.c (mswindows_ensure_console_buffered):
13317         * console-msw.c (mswindows_output_console_string):
13318         * console-msw.c (mswindows_windows9x_p):
13319         * console-msw.h:
13320         * device-msw.c (mswindows_get_workspace_coords):
13321         * device-msw.c (mswindows_device_system_metrics):
13322         * dialog-msw.c (mswindows_popup_dialog_box):
13323         * event-msw.c (mswindows_wnd_proc):
13324         * frame-msw.c (mswindows_size_frame_internal):
13325         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
13326         * menubar-msw.c (displayable_menu_item):
13327         * menubar-msw.c (mswindows_char_is_accelerator):
13328         * nt.c:
13329         * nt.c (mswindows_sigset):
13330         * nt.c (mswindows_sigrelse):
13331         * nt.c (mswindows_sigpause):
13332         * nt.c (mswindows_raise):
13333         * nt.c (timer_proc):
13334         * ntproc.c:
13335         * ntproc.c (find_child_console):
13336         * ntproc.c (sys_kill):
13337         * print.c:
13338         * print.c (std_handle_out_external):
13339         * process-nt.c (find_child_console):
13340         * process-nt.c (send_signal_the_95_way):
13341         * process-nt.c (ensure_console_window_exists):
13342         * process-nt.c (nt_create_process):
13343         * syssignal.h:
13344         rename msw_ to mswindows_ for consistency with general convention.
13345
13346         * emacs.c:
13347         * dumper.c:
13348         include nt.h, not syswindows.h.
13349
13350         * nt.c (mswindows_fstat):
13351         * nt.c (mswindows_stat):
13352         prefix mswindows_ instead of attempting to directly override the
13353         library functions.  fix declarations.
13354
13355         * nt.h:
13356         include syswindows.h.  move some sysdep.h stuff here.
13357
13358         * ntheap.h:
13359         include syswindows.h, not <windows.h>.
13360
13361         * ntplay.c:
13362         clean up headers.
13363
13364         * sysdep.c:
13365         clean up headers.
13366
13367         * sysdep.c (sys_fstat):
13368         * sysdep.c (sys_stat):
13369         call mswindows versions when appropriate.
13370
13371         * sysdep.h:
13372         move mswin decls to nt.h.
13373
13374         * syswindows.h:
13375         add long comment describing appropriate use of the various windows
13376         headers.
13377
13378 2000-06-11  Ben Wing  <ben@xemacs.org>
13379
13380         * device-x.c: Correct doc string for sixth arg of x-get-resource.
13381
13382 2000-06-10  Ben Wing  <ben@xemacs.org>
13383
13384         * Makefile.in.in (release):
13385         Correction to make sure xemacs.exe always dumped when correct.
13386
13387         * alloca.c:
13388         * balloon_help.c:
13389         [[[[3]]]]: Conditionalize on actual problem, not WINDOWSNT.
13390
13391         * buffer.c (set_buffer_internal):
13392         [[[[2]]]]: Remove HAVE_FEP code.
13393
13394         * buffer.c (init_initial_directory):
13395         [3].
13396
13397         * bytecode.c:
13398         [[[[4]]]]: limits.h standardly included in lisp.h; remove from
13399         individual files.
13400
13401         * callproc.c:
13402         * callproc.c (call_process_cleanup):
13403         * callproc.c (Fold_call_process_internal):
13404         * callproc.c (child_setup):
13405         * callproc.c (getenv_internal):
13406         * callproc.c (init_callproc):
13407         * callproc.c (vars_of_callproc):
13408         [[[[1]]]]: WINDOWSNT -> WIN32_NATIVE.
13409         __CYGWIN32__ -> CYGWIN.
13410         DOS_NT -> WIN32_NATIVE.
13411         Remove MSDOS support/references, converting to WIN32_NATIVE
13412           where correct.
13413         __MINGW32__ -> MINGW.
13414         Fix windows.h includes.
13415         Remove bogus HAVE_NTGUI.
13416
13417         * config.h.in:
13418         [2].
13419
13420         * console-msw.c:
13421         mswindows_message_outputted added for use in allowing startup
13422         errors on the console to be seen.
13423
13424         * console-msw.c (msw_ensure_console_allocated):
13425         * console-msw.c (msw_output_console_string):
13426         * console-msw.c (DHEADER):
13427         * console-msw.c (DOPAQUE_DATA):
13428         * console-msw.c (DEVENT):
13429         * console-msw.c (DCONS):
13430         * console-msw.c (DCONSCDR):
13431         * console-msw.c (DSTRING):
13432         * console-msw.c (DVECTOR):
13433         * console-msw.c (DSYMBOL):
13434         * console-msw.c (DSYMNAME):
13435         Fix warnings.
13436
13437         * console-stream.c (stream_init_console):
13438         Fix text/binary problems.
13439
13440         * device-msw.c:
13441         * device-msw.c (mswindows_finish_init_device):
13442         * device-msw.c (mswindows_delete_device):
13443         [1].
13444
13445         * device.c (handle_asynch_device_change):
13446         [3].
13447
13448         * dgif_lib.c:
13449         * dgif_lib.c (DGifOpenFileName):
13450         * dgif_lib.c (DGifOpenFileHandle):
13451         * dgif_lib.c (DGifGetLine):
13452         * dgif_lib.c (DGifGetPixel):
13453         Added config.h/lisp.h, fix up includes.
13454         [1].
13455
13456         * dired-msw.c:
13457         [4].
13458
13459         * dired.c:
13460         * dired.c (file_name_completion):
13461         * dired.c (Ffile_attributes):
13462         * dired.c (syms_of_dired):
13463         [1].
13464
13465         * dumper.c:
13466         * dumper.c (pdump_file_unmap):
13467         * dumper.c (pdump_load):
13468         [1].
13469
13470         * editfns.c:
13471         * editfns.c (Ftemp_directory):
13472         * editfns.c (user_login_name):
13473         * editfns.c (Fuser_real_login_name):
13474         * editfns.c (get_home_directory):
13475         [1].
13476
13477         * elhash.c (finish_marking_weak_hash_tables):
13478         [[[[5]]]]: Fix GCC warnings.
13479
13480         * emacs.c:
13481         * emacs.c (mswindows_handle_hardware_exceptions):
13482         * emacs.c (make_arg_list_1):
13483         * emacs.c (main_1):
13484         * emacs.c (Fkill_emacs):
13485         * emacs.c (Fdump_emacs):
13486         [1].
13487         Fix problems with nested crashes, add long comment.
13488
13489         * event-Xt.c (init_event_Xt_late):
13490         [1].
13491
13492         * event-msw.c:
13493         * event-msw.c (mswindows_dde_callback):
13494         * event-msw.c (mswindows_handle_sticky_modifiers):
13495         * event-msw.c (mswindows_wnd_proc):
13496         [1].
13497         [5].
13498
13499         * events.c (character_to_event):
13500         [1].
13501
13502         * fileio.c:
13503         * fileio.c (Ffile_name_directory):
13504         * fileio.c (Ffile_name_nondirectory):
13505         * fileio.c (directory_file_name):
13506         * fileio.c (Fexpand_file_name):
13507         * fileio.c (Fsubstitute_in_file_name):
13508         * fileio.c (Ffile_name_absolute_p):
13509         * fileio.c (check_executable):
13510         * fileio.c (Ffile_readable_p):
13511         * fileio.c (Ffile_accessible_directory_p):
13512         * fileio.c (Ffile_modes):
13513         * fileio.c (Funix_sync):
13514         * fileio.c (vars_of_fileio):
13515         [1]. [4].
13516
13517         [[[[7]]]]: Move CORRECT_DIR_SEPS to s\windowsnt.h.
13518
13519         Expand getdefdir defn.
13520         Fix bogus rename() comment.
13521
13522         [[[[6]]]]: Fix Windows includes w.r.t. removed nt\inc.  Attempt
13523         to use standard XEmacs include files, e.g. sysfile.h, rather
13524         than system-specific includes.
13525
13526         * fns.c:
13527         * fns.c (Fsubseq):
13528         [5]. [6].
13529
13530         * frame.c (vars_of_frame):
13531         [1].
13532
13533         * getloadavg.c:
13534         * getloadavg.c (getloadavg):
13535         [1]. [6].
13536         #ifdef XEMACS not defined on Cygwin.  Remove this; no need for it.
13537         (We don't use it elsewhere in the code; just add a comment.)
13538
13539         * gif_io.c:
13540         [6].
13541         Add config.h.
13542
13543         * glyphs-msw.c:
13544         * glyphs-msw.c (mswindows_resource_instantiate):
13545         [1].
13546
13547         * glyphs-x.c (x_native_layout_instantiate):
13548         [5].
13549
13550         * gui-msw.c (Fmswindows_shell_execute):
13551         [1].
13552
13553         * insdel.c:
13554         [4].
13555
13556         * lisp.h:
13557         [4]. [5].
13558
13559         * lread.c (locate_file_in_directory_mapper):
13560         [1].
13561
13562         * lstream.c:
13563         [4].
13564
13565         * mem-limits.h:
13566         * mem-limits.h (get_lim_data):
13567         [1].
13568
13569         * menubar-msw.c:
13570         [4].
13571
13572         * ndir.h:
13573         [1].
13574
13575         * nt.c:
13576         * nt.c (getwd):
13577         * nt.c (closedir):
13578         * nt.c (rva_to_section):
13579         * nt.c (mswindows_executable_type):
13580         [1]. [6].
13581         Fix closedir() defn.
13582
13583         * nt.h:
13584         [[[[8]]]]: *_OK defs moved to sysfile.h.
13585
13586         * ntproc.c:
13587         [6]. [7].
13588
13589         * objects-x.c:
13590         [4].
13591
13592         * print.c:
13593         * print.c (std_handle_out_external):
13594         [1]. [4].
13595
13596         * process-nt.c:
13597         * process-nt.c (nt_create_process):
13598         [6].
13599         try to fix process quoting somewhat.
13600
13601         * process-unix.c (unix_create_process):
13602         [1].
13603
13604         * process.c:
13605         * process.c (vars_of_process):
13606         Add Vnull_device.
13607
13608         * process.h:
13609         [1].
13610
13611         * realpath.c:
13612         * realpath.c (xrealpath):
13613         [1].
13614
13615         * redisplay-tty.c (init_tty_for_redisplay):
13616         [3].
13617
13618         * redisplay.c:
13619         [4]. [6].
13620
13621         * scrollbar-msw.c:
13622         [4].
13623
13624         * sheap.c:
13625         * sheap.c (more_static_core):
13626         * sheap.c (report_sheap_usage):
13627         [5]. [6].
13628
13629         * signal.c:
13630         * signal.c (alarm_signal):
13631         [1]. [6].
13632
13633         * sound.c:
13634         [6].
13635
13636         * strftime.c:
13637         * strftime.c (zone_name):
13638         [1]. [5].
13639
13640         * symsinit.h (init_sunpro):
13641         [1].
13642
13643         * syscommctrl.h:
13644         commctrl.h not in Cygwin b20.1.
13645
13646         * sysdep.c:
13647         * sysdep.c (endif):
13648         * sysdep.c (sys_subshell):
13649         * sysdep.c (init_baud_rate):
13650         * sysdep.c (emacs_get_tty):
13651         * sysdep.c (emacs_set_tty):
13652         * sysdep.c (tty_init_sys_modes_on_device):
13653         * sysdep.c (init_system_name):
13654         * sysdep.c (sys_open):
13655         * sysdep.c (interruptible_open):
13656         * sysdep.c (sys_fopen):
13657         * sysdep.c (sys_mkdir):
13658         * sysdep.c (sys_rename):
13659         * sysdep.c (get_process_times_1):
13660         [1]. [6].
13661
13662         * sysdep.h:
13663         [1].
13664
13665         * sysdir.h:
13666         * sysdir.h (DIRENTRY_NONEMPTY):
13667         [1]. [6].
13668
13669         * sysdll.c (dll_init):
13670         * sysdll.h:
13671         [1].
13672
13673         * sysfile.h:
13674         [1]. [6]. [8].
13675         added text/binary defs.
13676
13677         * sysfloat.h:
13678         [1].
13679
13680         * sysproc.h:
13681         * sysproc.h (EDESTADDRREQ):
13682         * sysproc.h (poll_fds_for_input):
13683         [1]. [6].
13684
13685         * syspwd.h:
13686         [6].
13687
13688         * syssignal.h:
13689         [1].
13690
13691         * systime.h:
13692         [1]. [6].
13693
13694         * systty.h:
13695         [1].
13696
13697         * syswindows.h:
13698         [1].
13699         Always define WIN32_LEAN_AND_MEAN.
13700
13701         * unexcw.c (unexec):
13702         [5].
13703
13704         * unexec.c:
13705         * unexec.c (copy_text_and_data):
13706         * unexec.c (adjust_lnnoptrs):
13707         [1].
13708
13709         * unexnt.c:
13710         * unexnt.c (_start):
13711         [1].
13712
13713 2000-06-07  Ben Wing  <ben@xemacs.org>
13714
13715         * mule-mcpath.c, mule-mcpath.h: Removed.  Old, crufty code that
13716         was used only as a model.  We've long since extracted any useful
13717         logic or code out of this. (I just did an exhaustive search.)
13718
13719         * s\msdos.h: Removed.
13720
13721         * s\windows95.h: Removed.
13722
13723 2000-06-10  Ben Wing  <ben@xemacs.org>
13724
13725         * s\cygwin32.h:
13726         [1]. [5].
13727         Don't use extern with fun defs.
13728
13729         * s\mingw32.h:
13730         [1]. [7].
13731         Remove nt\inc include.
13732         Remove getdisk, getdefdir. (The former is unused, the latter
13733         expanded in fileio.h.)
13734
13735         * s\windowsnt.h:
13736         * s\windowsnt.h (WIN32_NATIVE):
13737         * s\windowsnt.h (HAVE_STRCASECMP):
13738         [1]. [7].
13739         Add long comment about preprocessor changes.
13740         Remove getdisk, getdefdir. (The former is unused, the latter
13741         expanded in fileio.h.)
13742
13743 2000-06-10  Ben Wing  <ben@xemacs.org>
13744
13745         * m\arm.h:
13746         * m\delta.h:
13747         * m\intel386.h:
13748         * m\sequent.h:
13749         * m\template.h:
13750         * m\windowsnt.h:
13751         [1].
13752         Remove bogus/unused NO_SOCK_SIGIO.
13753
13754 2000-06-08  Hrvoje Niksic  <hniksic@iskon.hr>
13755
13756         * lisp.h (set_string_char): Call set_string_byte with a Bufbyte,
13757         not an Emchar.
13758
13759 2000-06-04  Mike Sperber <mike@xemacs.org>
13760
13761         * casetab.c (set_case_table): For `set-standard-case-table',
13762         actually deposit the new case tables where the rest of XEmacs can
13763         see them.
13764
13765 2000-06-05  Yoshiki Hayashi <yoshiki@xemacs.org>
13766
13767         * data.c (Faset): Don't cast XCHAR() to unsigned char.
13768
13769 2000-06-05  Ben Wing  <ben@xemacs.org>
13770
13771         * callproc.c (child_setup): Don't do close_load_descs() under
13772         MS Windows.  Put in a comment explaining why.
13773
13774 2000-05-28  Adrian Aichner  <aichner@ecf.teradyne.com>
13775
13776         * process-nt.c: Reverting patch "Fixing nt_create_process for MKS
13777         Toolkit shell" which breaks `kill-compilation' on Windows NT
13778         native, retaining STDERR handling improvements.
13779
13780 2000-06-01  Andreas Jaeger  <aj@suse.de>
13781
13782         * s/s390.h: Support for S390, based on a patch by Martin
13783         Schwidefsky <schwidefsky@de.ibm.com>.
13784
13785 2000-05-30  Andy Piper  <andy@xemacs.org>
13786
13787         * window.c (allocate_window):
13788         (make_dummy_parent):
13789         (Fset_window_configuration): use new hashtable type.
13790
13791         * glyphs.h (IMAGE_UNSPECIFIED_GEOMETRY):
13792         (struct image_instantiator_methods):
13793         (struct Lisp_Image_Instance): make instance geometry signed.
13794
13795         * glyphs.c (instantiate_image_instantiator):
13796         (image_instance_query_geometry):
13797         (image_instance_layout):
13798         (image_instance_layout):
13799         (query_string_geometry):
13800         (text_query_geometry):
13801         (image_instantiate):
13802         (image_instantiate):
13803         (cache_subwindow_instance_in_frame_maybe):
13804         (subwindow_query_geometry): make instance geometry signed.
13805
13806         * glyphs-widget.c (widget_query_geometry):
13807         (widget_layout):
13808         (button_query_geometry):
13809         (tree_view_query_geometry):
13810         (tab_control_query_geometry):
13811         (layout_query_geometry):
13812         (layout_layout):
13813         (native_layout_layout): make instance geometry signed.
13814
13815 2000-05-29  Olivier Galibert  <galibert@pobox.com>
13816
13817         * lisp.h: Add Qfull_assoc symbol and WEAK_LIST_FULL_ASSOC
13818         constant.
13819
13820         * general.c (syms_of_general): Add Qfull_assoc symbol.
13821
13822         * data.c (finish_marking_weak_lists): Mark full-assoc lists
13823         correctly.
13824         (decode_weak_list_type): Decode full-assoc type.
13825         (encode_weak_list_type): Encode full-assoc type.
13826         (Fmake_weak_list): Update doc string.
13827
13828 2000-05-30  Andy Piper  <andy@xemacs.org>
13829
13830         * elhash.h (hash_table_weakness): new KEY_VALUE weak hashtable.
13831
13832         * elhash.c (print_hash_table): new KEY_VALUE weak hashtable.
13833         (decode_hash_table_weakness): ditto.
13834         (Fhash_table_weakness): ditto.
13835         (Fhash_table_type): ditto.
13836         (finish_marking_weak_hash_tables): ditto.
13837         (hash_table_weakness_validate): ditto.
13838         (syms_of_elhash): ditto.
13839
13840 2000-05-28  Martin Buchholz <martin@xemacs.org>
13841
13842         * XEmacs 21.2.34 is released.
13843
13844 2000-05-22  Jan Vroonhof  <vroonhof@math.ethz.ch>
13845
13846         * redisplay.c (VERTICAL_CLIP): No longer reset when updating line
13847         start cache.
13848         (updating_line_start_cache): Gone.
13849         (regenerate_window): Replace resetting of VERTICAL_CLIP by
13850         generic code to force a minimum of 1 line laid out in the
13851         CMOTION_DISP case.
13852
13853 2000-05-22  Jan Vroonhof  <vroonhof@math.ethz.ch>
13854
13855         * glyphs.c (instantiate_image_instantiator): Check for initialized
13856         height & width no longer special cases IMAGE_NOTHING.
13857         (nothing_instantiate): Set height and width of instance.
13858
13859 2000-05-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
13860
13861         * unexelf.c (unexec): Search for ".data" section.
13862         Initialize new_data2_offset from old_data_index.
13863         Remove redundant check for ElfW.
13864
13865 2000-05-23  Andy Piper  <andy@xemacs.org>
13866
13867         * glyphs.c (get_image_instantiator_governing_domain): allow more
13868         specific domains as the governing domain rather than expecting an
13869         exact match. This fixes problems with layouts.
13870
13871 2000-05-22  Andy Piper  <andy@xemacs.org>
13872
13873         * redisplay-output.c (compare_runes): check for non-images
13874
13875         * glyphs.c (set_glyph_dirty_p): ditto.
13876         (update_glyph_cachel_data): ditto.
13877
13878         * glyphs-widget.c (layout_post_instantiate): ditto.
13879         (layout_post_instantiate): ditto.
13880
13881         * event-msw.c (mswindows_wnd_proc): warning removal.
13882
13883 2000-05-12  Craig Lanning  <CraigL@DyCon.com>
13884
13885         * s\mingw32.h: Added #undef for CLASH_DETECTION.
13886
13887         * syswindows.h: Moved PBS_SMOOTH definition to syscommctrl.h.
13888
13889         * syscommctrl.h (PBS_SMOOTH): Moved from syswindows.h.
13890
13891         * nt.c (rva_to_section): mingw32 needs rva_to_section.
13892         (mswindows_executable_type): mingw32 now has enough headers for
13893         this to work.
13894
13895 2000-05-20  Andy Piper  <andy@xemacs.org>
13896
13897         * console-msw.c (mswindows_output_last_error): ; -> ,
13898
13899 2000-05-12  Andy Piper  <andy@xemacs.org>
13900
13901         * console-msw.c (FROB): compare ints with ints.
13902
13903 2000-05-11  Andy Piper  <andy@xemacs.org>
13904
13905         * glyphs-x.c (x_finalize_image_instance): make minimal build
13906         happy.
13907
13908 2000-05-20  Ben Wing  <ben@xemacs.org>
13909
13910         * event-Xt.c:
13911         * event-Xt.c (vars_of_event_Xt):
13912         move modifier-keys-are-sticky to event-stream.c.
13913
13914         * event-msw.c:
13915         * event-msw.c (mswindows_enqueue_mouse_button_event):
13916         * event-msw.c (key_needs_default_processing_p):
13917         * event-msw.c (XEMSW_LCONTROL):
13918         * event-msw.c (mswindows_handle_sticky_modifiers):
13919         * event-msw.c (FROB):
13920         * event-msw.c (clear_sticky_modifiers):
13921         * event-msw.c (output_modifier_keyboard_state):
13922         * event-msw.c (output_alt_keyboard_state):
13923         * event-msw.c (mswindows_wnd_proc):
13924         * event-msw.c (mswindows_modifier_state):
13925         * event-msw.c (emacs_mswindows_handle_magic_event):
13926         implement sticky modifiers.
13927
13928         * event-stream.c:
13929         * event-stream.c (vars_of_event_stream):
13930         move modifier-keys-are-sticky here.
13931
13932         * lisp.h:
13933         add CHECK_FUNCTION.
13934
13935         * rangetab.c:
13936         implement map-range-table.
13937
13938
13939 2000-05-17  Yoshiki Hayashi  <yoshiki@xemacs.org>
13940
13941         * redisplay-tty.c (reset_tty_modes):
13942         (tty_redisplay_shutdown): Adjust argument type to
13943         tty_frame_output_end.
13944
13945 2000-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
13946
13947         * eval.c (Fbacktrace): Don't output a line with only right
13948         parenthesis.
13949
13950 2000-05-17  Kenji Itoh  <keit@tpj.co.jp>
13951
13952         * postgresql.c (Fpq_connect_poll): Replace `PS' with `polling_status'.
13953         (Fpq_reset_poll): Ditto.
13954
13955 2000-05-16  Katsumi Yamaoka  <yamaoka@jpl.org>
13956
13957         * redisplay-tty.c: Replace tty_output_end with tty_frame_output_end.
13958
13959 2000-05-16  Ben Wing  <ben@xemacs.org>
13960
13961         * buffer.c:
13962         * buffer.c (dfc_convert_to/from_internal_format):
13963         * buffer.c (reinit_vars_of_buffer):
13964         Fix conversion functions to allow reentrancy.
13965
13966         * console-msw.c:
13967         * console-msw.c (mswindows_output_last_error):
13968         New fun, generally useful -- output a human-readable
13969         version of GetLastError() on the console.
13970
13971         * console-msw.h:
13972         * console-msw.h (struct mswindows_frame):
13973         Changes for DeferWindowPos.  Declare mswindows_output_last_error().
13974
13975         * console-stream.c (stream_output_begin):
13976         * console-stream.c (stream_output_end):
13977         * console-stream.c (stream_output_vertical_divider):
13978         * console-stream.c (stream_clear_region):
13979         * console-stream.c (stream_flash):
13980         * console-stream.c (console_type_create_stream):
13981         Delete blank stream methods, not needed.
13982
13983         * console.h (struct console_methods):
13984         Split begin/end methods into window and frame.
13985
13986         * event-msw.c:
13987         * event-msw.c (mswindows_handle_paint):
13988         * event-msw.c (output_alt_keyboard_state):
13989         * event-msw.c (mswindows_wnd_proc):
13990         * event-msw.c (vars_of_event_mswindows):
13991         Comment about problems with ignored-expose.
13992         Define mswindows-debug-events; not really implemented.
13993
13994         * frame-msw.c (mswindows_init_frame_1):
13995         random cleanups.
13996
13997         * glyphs-msw.c:
13998         * glyphs-msw.c (begin_defer_window_pos):
13999         * glyphs-msw.c (mswindows_unmap_subwindow):
14000         * glyphs-msw.c (mswindows_map_subwindow):
14001         * glyphs-msw.c (mswindows_resize_subwindow):
14002         Use DeferWindowPos to reduce flashing when mapping/unmapping.
14003
14004         * glyphs.c (make_image_instance_1):
14005         Fix crash.
14006
14007         * gutter.c (Fredisplay_gutter_area):
14008         Use new begin/end methods.
14009
14010         * lisp.h (Dynarr_new2):
14011         New creation fun.
14012
14013         * redisplay-msw.c:
14014         * redisplay-msw.c (mswindows_frame_output_begin):
14015         * redisplay-msw.c (mswindows_frame_output_end):
14016         * redisplay-msw.c (console_type_create_redisplay_mswindows):
14017         New begin/end methods -- handle DeferWindowPos.
14018
14019         * redisplay-output.c (redisplay_move_cursor):
14020         * redisplay-output.c (redraw_cursor_in_window):
14021         * redisplay-output.c (redisplay_update_line):
14022         * redisplay-output.c (redisplay_output_window):
14023         New begin/end methods.
14024
14025         * redisplay-tty.c:
14026         * redisplay-tty.c (tty_frame_output_begin):
14027         * redisplay-tty.c (tty_frame_output_end):
14028         * redisplay-tty.c (console_type_create_redisplay_tty):
14029         New begin/end methods.
14030
14031         * redisplay-x.c:
14032         * redisplay-x.c (x_window_output_begin):
14033         * redisplay-x.c (x_window_output_end):
14034         * redisplay-x.c (console_type_create_redisplay_x):
14035         New begin/end methods.
14036
14037         * redisplay.c (redisplay_frame):
14038         * redisplay.c (Fredisplay_echo_area):
14039         New begin/end methods.
14040         use MAYBE_DEVMETH for clear_frame; it may not exist.
14041
14042         * window.h (WINDOW_XFRAME):
14043         WINDOW_XFOO macros -- get locale and decode struct pointer.
14044
14045
14046 2000-05-12  Ben Wing  <ben@xemacs.org>
14047
14048         * emacs.c:
14049         * emacs.c (ensure_no_quitting_from_now_on):
14050         * emacs.c (fatal_error_signal):
14051         * emacs.c (mswindows_handle_hardware_exceptions):
14052         * emacs.c (main):
14053         * emacs.c (Fkill_emacs):
14054         * emacs.c (shut_down_emacs):
14055         * emacs.c (assert_failed):
14056         various improvements in fatal error handling.
14057
14058         * eval.c:
14059         move preparing_for_armageddon to emacs.c.
14060
14061         * lisp.h:
14062         declare fatal_error_in_progress.
14063
14064         * print.c:
14065         * print.c (std_handle_out_external):
14066         * print.c (std_handle_out_va):
14067         * print.c (stderr_out):
14068         * print.c (stdout_out):
14069         use console under mswin when no standard output.
14070         don't do code conversion during fatal error.
14071
14072         * scrollbar.c (Fscrollbar_page_up):
14073         * scrollbar.c (Fscrollbar_page_down):
14074         fix missing else.  reindent.
14075
14076 2000-05-11  Jan Vroonhof  <vroonhof@math.ethz.ch>
14077
14078         Emergency fix.
14079
14080         * glyphs.h (GLYPH_CACHEL_DESCENT):
14081         (GLYPH_CACHEL_DESCENT):
14082         (GLYPH_CACHEL_DESCENT):
14083         * glyphs.h (GLYPH_CACHEL_ASCENT): Match parameters to variables
14084         used in case these are inline functions.
14085         Use more absurd values to error check.
14086
14087         include window.h for error check functions.
14088
14089 2000-05-11  Ben Wing  <ben@xemacs.org>
14090
14091         * cmdloop.c (Freally_early_error_handler):
14092         Display message box under windows; otherwise, message will disappear
14093         before it can be viewed.
14094
14095         * console-msw.c:
14096         * console-msw.c (Fmswindows_message_box):
14097         * console-msw.c (FROB):
14098         * console-msw.c (syms_of_console_mswindows):
14099         Define new fun `mswindows-message-box'.
14100         #### I will merge this into `popup-dialog-box'; just give me
14101         a bit of time.
14102
14103         * general.c:
14104         * general.c (syms_of_general):
14105         Some new symbols used in `mswindows-message-box'.
14106
14107         * glyphs.c:
14108         * glyphs.c (Fset_image_instance_property):
14109         put warning in this fun.
14110
14111         * glyphs.h:
14112         * glyphs.h (GLYPH_CACHEL_WIDTH):
14113         * glyphs.h (GLYPH_CACHEL_ASCENT):
14114         * glyphs.h (GLYPH_CACHEL):
14115         * glyphs.h (GLYPH_CACHEL_GLYPH):
14116         define error-checking versions to try to catch a bug i've seen --
14117         redisplay gets in an infinite loop because the glyph width of the
14118         continuation glyph is 65535.
14119
14120         * lisp.h:
14121         Extern message-box stuff.
14122
14123         * window.c (allocate_window):
14124         * window.c (make_dummy_parent):
14125         * window.c (Fset_window_configuration):
14126         Use EQUAL not EQ for subwindow caches to make them work a bit
14127         better. (Something is still very broken.)
14128
14129
14130 2000-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
14131
14132         * glyphs.c (image_instantiate): Suppress gcc warnings.
14133         (Fmake_image_instance): Fix doc string.
14134         * specifier.c (Fmake_specifier): Ditto.
14135
14136 2000-05-02  Yoshiki Hayashi  <yoshiki@xemacs.org>
14137
14138         * paths.h.in (PATH_LOCK): Removed.
14139         * config.h.in (LOCKDIR_USER_DEFINED): Removed.
14140         * emacs.c (complex_vars_of_emacs): Remove configure-lock-directory.
14141
14142 2000-05-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
14143
14144         * fns.c (Ffeaturep): Update e-mail address in doc-string.
14145         Document (featurep '(and xemacs 21.02)).
14146
14147 2000-05-09  Ben Wing  <ben@xemacs.org>
14148
14149         * buffer.c (complex_vars_of_buffer):
14150         update modeline-format doc.
14151
14152         * device.h:
14153         comment about how DFW_DEVICE should be merged with DOMAIN_DEVICE.
14154
14155         * emacs.c:
14156         timeline of all released versions of Emacs, for use in creating
14157         authorship comments and in synching up.
14158
14159         * glyphs-widget.c (image_instantiator_buttons):
14160         * glyphs-widget.c (image_instantiator_edit_fields):
14161         * glyphs-widget.c (image_instantiator_combo_box):
14162         * glyphs-widget.c (image_instantiator_scrollbar):
14163         * glyphs-widget.c (image_instantiator_progress_guage):
14164         * glyphs-widget.c (image_instantiator_tree_view):
14165         * glyphs-widget.c (image_instantiator_tab_control):
14166         * glyphs-widget.c (image_instantiator_labels):
14167         * glyphs-widget.c (image_instantiator_layout):
14168         * glyphs-widget.c (image_instantiator_native_layout):
14169         rename decode_domain method to governing_domain.
14170
14171         * glyphs.c:
14172         * glyphs.c (Fvalid_image_instantiator_format_p): doc update.
14173         * glyphs.c (add_entry_to_device_ii_format_list):
14174         make sure we don't put an entry more than once into the list.
14175         * glyphs.c (check_instance_cache_mapper):
14176         *************************************************************
14177         allow for nil.  THIS SHOULD FIX A REAL CRASH THAT MANY PEOPLE
14178         HAVE BEEN GETTING.
14179         *************************************************************
14180         * glyphs.c (get_image_instantiator_governing_domain):
14181         clean up, expand on new concept of governing domain.
14182         * glyphs.c (instantiate_image_instantiator):
14183         * glyphs.c (allocate_image_instance):
14184         use governing_domain instead of cache_domain in naming.
14185         * glyphs.c (Fvalid_image_instance_type_p): fix docs.
14186         * glyphs.c (make_image_instance_1):
14187         * glyphs.c (Fmake_image_instance):
14188         allow for any domain (not just device), and process the
14189         governing domain correctly.  very big doc fix.
14190         * glyphs.c (Fimage_instance_domain):
14191         new primitive, to retrieve the governing domain of an image instance.
14192         * glyphs.c (image_instantiate):
14193         use new governing_domain stuff.  this fixes a crash you could get
14194         by instantiating certain widget glyphs in frame locales. (should
14195         signal an error instead of crashing.)
14196         * glyphs.c (Fimage_specifier_p): move doc to make-image-specifier.
14197         * glyphs.c (Fglyphp): clean up doc.
14198         * glyphs.c (subwindow_governing_domain): renamed from *_decode_domain.
14199         * glyphs.c (syms_of_glyphs):
14200         declare Fimage_instance_domain, remove unused Qlayout_image_instance_p.
14201         * glyphs.c (image_instantiator_format_create): add some comments about
14202         bogus code.
14203         * glyphs.c (specifier_vars_of_glyphs): totally rewrite the doc string
14204         for current-display-table. (Apparently Hrjove implemented in 1998 a
14205         design I wrote up in 1996, but didn't update the doc string.)
14206
14207         * glyphs.h: clean up a doc string.
14208         * glyphs.h (governing_domain):
14209         * glyphs.h (struct image_instantiator_methods):
14210         changes for governing_domain stuff.
14211
14212         * gutter.c:
14213         * gutter.c (Fgutter_specifier_p):
14214         * gutter.c (Fgutter_size_specifier_p):
14215         * gutter.c (Fgutter_visible_specifier_p):
14216         * objects.c:
14217         * objects.c (Fcolor_specifier_p):
14218         * objects.c (Ffont_specifier_p):
14219         * objects.c (Fface_boolean_specifier_p):
14220         doc strings moved to make-*-specifier.
14221
14222         * redisplay.c (add_disp_table_entry_runes_1):
14223         * redisplay.c (generate_fstring_runes):
14224         * redisplay.c (screen):
14225         add random comments and doc strings.
14226
14227         * specifier.c:
14228         * specifier.c (Fmake_specifier):
14229         major overhaul of this doc string.
14230
14231         * specifier.c (Fvalid_specifier_domain_p):
14232         comment about the bogosity of image instances being domains.
14233         * specifier.c (decode_domain):
14234         now non-static, used in glyphs.c.
14235         * specifier.c (specifier_instance):
14236         comment about the bogosity of image instances being domains.
14237         * specifier.c (Fgeneric_specifier_p):
14238         move doc string to make-generic-specifier.
14239         * specifier.c (VALID_SINGLE_DISPTABLE_INSTANTIATOR_P):
14240         rebackslashify.
14241
14242         * specifier.h:
14243         * specifier.h (DOMAIN_FRAME):
14244         * specifier.h (DOMAIN_LIVE_P):
14245         * specifier.h (DOMAIN_XDEVICE):
14246         rebackslashify.
14247         add comments about problems with these macros.
14248         prototype for decode_domain.
14249
14250         * toolbar.c:
14251         * toolbar.c (Ftoolbar_specifier_p):
14252         move doc string to `make-toolbar-specifier'.
14253
14254         * window.c (window_unmap_subwindows_cache_mapper):
14255         *************************************************************
14256         allow for nil.  THIS SHOULD FIX A REAL CRASH THAT MANY PEOPLE
14257         HAVE BEEN GETTING.
14258         *************************************************************
14259
14260 2000-05-09  Andy Piper  <andy@xemacs.org>
14261
14262         * glyphs.h: declare reset_frame_subwindow_instance_cache.
14263
14264         * window.c (Fset_window_configuration): reset the frame subwindow
14265         cache and re-initialize the window subwindow caches.
14266
14267         * glyphs.c (reset_frame_subwindow_instance_cache): new function.
14268
14269 2000-05-09  Ben Wing  <ben@xemacs.org>
14270
14271         * ntheap.c (recreate_heap): Changed unknown (VC6 only?) SIZE_T to
14272         DWORD.
14273
14274 2000-04-26  Mike Woolley  <mike@bulsara.com>
14275
14276         * ntheap.c: Changed recreate_heap to limit the amount reserved
14277         for the heap to that which is actually available. Also now
14278         displays a message box (with some dignostics) in the event that
14279         it still can't start.
14280
14281 2000-05-07  Jan Vroonhof  <vroonhof@math.ethz.ch>
14282
14283         * callproc.c (Fold_call_process_internal): GCPRO path
14284
14285 2000-05-08  Jan Vroonhof  <jan@xemacs.org>
14286
14287         Patch by Bill Perry.
14288
14289         * scrollbar.c (Fscrollbar_page_up): Conditionalize on type of call
14290         back data instead of #ifdef.
14291         (Fscrollbar_page_down): ditto.
14292
14293 2000-05-07  Ben Wing  <ben@xemacs.org>
14294
14295         * buffer.h:
14296         Kludge for defining Qmswindows_tstr.
14297
14298         * nt.c:
14299         * nt.c (open_input_file):
14300         * nt.c (open_output_file):
14301         * nt.c (rva_to_section):
14302         * nt.c (mswindows_executable_type):
14303         Move all memory-mapped-file routines here (some were in unexnt.c,
14304         which is bad because they are used by process-nt.c, and unexnt
14305         won't be around when portable dumping).  Synched the above routines
14306         with FSF 20.6.
14307
14308         * nt.h:
14309         Removed ifdef'd out bogus code.
14310         Fixed some prototypes.
14311
14312         * nt.h (file_data):
14313         * nt.h (OFFSET_TO_RVA):
14314         * nt.h (RVA_TO_OFFSET):
14315         * nt.h (RVA_TO_PTR):
14316         Moved the memory-mapped-file structures, macros and prototypes
14317         here, to parallel nt.c.  ntheap.h should really be removed
14318         entirely, and it's a non-portable-dumper specific file.
14319
14320         * ntheap.h (round_to_next):
14321         Moved the memory-mapped-file structures, macros and prototypes
14322         to nt.h.
14323
14324         * ntproc.c (compare_env):
14325         Moved rva_to_section and mswindows_executable_type to nt.c.
14326         Moved compare_env to process-nt.c.
14327         ntproc.c will die, one day.
14328
14329         * ntproc.c (sys_spawnve):
14330         Account for win32_ -> mswindows_.
14331
14332         * process-nt.c:
14333         * process-nt.c (struct nt_process_data):
14334         * process-nt.c (ensure_console_window_exists):
14335         * process-nt.c (compare_env):
14336         * process-nt.c (nt_create_process):
14337         * process-nt.c (nt_kill_process_by_pid):
14338         * process-nt.c (syms_of_process_nt):
14339         * process-nt.c (vars_of_process_nt):
14340         Introduce variable `mswindows-quote-process-args', from FSF 20.6.
14341         Copy argument quoting code from FSF 20.6 (with appropriate Mule-ization
14342         changes).  Eliminate our old `nt-quote-process-args' mechanism.
14343         Synch up nt_create_process with FSF 20.6 sys_spawnve.
14344         Move compare_env here from ntproc.c.
14345
14346         * process.c (Fprocess_send_region):
14347         Takes an optional fourth argument, BUFFER, which should fix some
14348         problems with call-process.
14349
14350         * syscommctrl.h:
14351         Move ICC_BAR_CLASSES here from syswindows.h, to avoid a warning.
14352
14353         * syswindows.h:
14354         Move ICC_BAR_CLASSES to syscommctrl.h.
14355         Add preliminary macros for MSWindows/Mule.  More to come.
14356
14357         * unexnt.c:
14358         * unexnt.c (unexec):
14359         open_output_file moved to nt.c.
14360
14361
14362 2000-05-05  Andy Piper  <andy@xemacs.org>
14363
14364         * window.c (window_unmap_subwindows_cache_mapper): remove the dead
14365         instance from the frame cache also since GC may catch up too late
14366         to make frame deletion sane.
14367
14368 2000-05-04  Andy Piper  <andy@xemacs.org>
14369
14370         * glyphs-x.c (x_widget_instantiate): gcpro widget callbacks.
14371         (x_finalize_image_instance): ungcpro on deletion.
14372
14373         * glyphs.c (image_instantiator_format_create): give pointers a
14374         query geometry method so that the geometry is at least set.
14375
14376         * glyphs-x.c (image_instantiator_format_create_glyphs_x): only
14377         initialize layouts if using widgets.
14378
14379 2000-05-03  Andy Piper  <andy@xemacs.org>
14380
14381         * nt.c: remove bogus reference to sysmmsystem.h
14382
14383         * gui-x.c (popup_selection_callback): fix no selection abort.
14384
14385 2000-05-02  Andy Piper  <andy@xemacs.org>
14386
14387         * glyphs-msw.c (mswindows_update_widget): cope with nil text.
14388         (mswindows_widget_instantiate): ditto.
14389
14390         * glyphs-widget.c (initialize_widget_image_instance): initialize
14391         children correctly.
14392         (widget_instantiate): cope with children and items in the same
14393         instance.
14394
14395         * glyphs.c (mark_image_instance): cope with children as a first
14396         class member.
14397         (image_instance_equal): ditto.
14398         (image_instance_hash): ditto.
14399         (image_instance_changed): ditto.
14400
14401 2000-04-30  Andy Piper  <andy@xemacs.org>
14402
14403         * glyphs.c (subwindow_query_geometry): new function. Return some
14404         defaults.
14405         (subwindow_instantiate): don't assign dimensions if none have been
14406         given.
14407         (image_instantiator_format_create): add subwindow_query_geometry.
14408         (print_image_instance): cope with layouts as widgets.
14409
14410 2000-04-29  Andy Piper  <andy@xemacs.org>
14411
14412         * frame.c (delete_frame_internal): call
14413         free_frame_subwindow_instance_cache so that all subwindows are
14414         finalized before their parent.
14415         (mark_frame): remove subwindow_cachels.
14416         (Fmake_frame): remove subwindow_cachel manipulation.
14417         (allocate_frame_core): subwindow_instance_cache is a weak list.
14418         (delete_frame_internal): set subwindow_instance_cache to nil.
14419
14420         * glyphs-msw.c (mswindows_finalize_image_instance): make double
14421         finalization safe.
14422         (mswindows_finalize_image_instance): use the device
14423         not the domain as the domain may have died already.
14424
14425         * glyphs-x.c (x_finalize_image_instance): ditto.
14426         (x_subwindow_instantiate): remove SUBWINDOW_WIDTH &
14427         HEIGHT.
14428
14429         * redisplay-output.c (redisplay_unmap_subwindows): update for
14430         subwindow instance cache as a weak list.
14431         (redisplay_unmap_subwindows_maybe): ditto.
14432         (redisplay_unmap_subwindows_except_us): ditto.
14433
14434         * glyphs.c (unmap_subwindow): error checking will check the domain
14435         so don't deal with it here. Don't use cachels anymore.
14436         (map_subwindow): ditto.
14437         (update_subwindow_cachel_data): remove old accessor names.
14438         (subwindow_instantiate): remove SUBWINDOW_WIDTH & HEIGHT.
14439         (Fresize_subwindow): don't update cachel.
14440         (mark_subwindow_cachels):
14441         (update_subwindow_cachel_data):
14442         (add_subwindow_cachel):
14443         (get_subwindow_cachel_index):
14444         (update_subwindow_cachel):
14445         (reset_subwindow_cachels):
14446         (mark_subwindow_cachels_as_not_updated): deleted.
14447         (cache_subwindow_instance_in_frame_maybe): new function. Add a
14448         subwindow instance to the frame cache.
14449         (find_matching_subwindow): update for subwindow instance cache as
14450         a weak list.
14451         (update_widget_instances): ditto.
14452         (image_instance_type_to_mask):inlined.
14453         (free_frame_subwindow_instance_cache): new function. finalize all
14454         subwindows that are instantiated.
14455
14456         * glyphs.h (struct Lisp_Image_Instance): add display_data instead
14457         of cachel information.
14458         (IMAGE_INSTANCE_DISPLAY_X):
14459         (IMAGE_INSTANCE_DISPLAY_Y):
14460         (IMAGE_INSTANCE_DISPLAY_WIDTH):
14461         (IMAGE_INSTANCE_DISPLAY_HEIGHT):
14462         (XIMAGE_INSTANCE_DISPLAY_X):
14463         (XIMAGE_INSTANCE_DISPLAY_Y):
14464         (XIMAGE_INSTANCE_DISPLAY_WIDTH):
14465         (XIMAGE_INSTANCE_DISPLAY_HEIGHT): new accessors.
14466         remove subwindow_cachel structure and function references.
14467         (image_instance_type_to_mask): inline from glyphs.c
14468
14469         * redisplay.c (redisplay_frame): remove subwindow_cachel
14470         references.
14471
14472         * frame.h (struct frame): remove subwindow_cachels.
14473         (FRAME_SUBWINDOW_CACHE): access subwindow_instance_cache.
14474
14475         * frameslots.h: add subwindow_instance_cache.
14476
14477         * window.c (replace_window): check subwindow cache of replacement.
14478         (window_unmap_subwindows_cache_mapper):
14479         (window_unmap_subwindows): new functions. Unmap all subwindows
14480         cached on this window.
14481         (mark_window_as_deleted): unmap all subwindows.
14482
14483 2000-04-27  Andy Piper  <andy@xemacs.org>
14484
14485         * glyphs.h (IIFORMAT_METH_OR_GIVEN): cope with null meths.
14486
14487         * glyphs-widget.c (widget_layout): return something.
14488         (layout_layout): return something. Fail if not initialized.
14489         (layout_query_geometry): ditto.
14490         (image_instantiator_native_layout): new function. Initialized the
14491         native layout type.
14492         (widget_instantiate): don't do layout stuff here.
14493
14494         * glyphs.c (instantiate_image_instantiator): reorded calling or
14495         instantiate and post_instantiate with layout in between.
14496         (image_instance_layout): be more selective about deciding whether
14497         the layout has been done or not.
14498
14499         * glyphs.h (struct image_instantiator_methods): return a value
14500         from layout_method.
14501
14502 2000-04-26  Andy Piper  <andy@xemacs.org>
14503
14504         * glyphs.c (allocate_image_instance): make initial width and
14505         height unspecified. Set initialized to 0.
14506
14507         * syscommctrl.h new file. Encapsulates commctrl.h.
14508
14509         * syswindows.h new file. Encapsulates windows.h.
14510
14511         * ntplay.c: use new syswindows.h and syscommctrl.h header.
14512         * nt.c: ditto.
14513         * console-msw.h: ditto.
14514
14515         * redisplay-tty.c (tty_output_display_block): remove layout references.
14516
14517         * glyphs-msw.c (mswindows_widget_instantiate): use the domain
14518         window handle rather than just the frame.
14519
14520         * glyphs.c (mark_image_instance): remove layout references.
14521         (print_image_instance): ditto.
14522         (image_instance_equal): ditto.
14523         (image_instance_hash): ditto.
14524         (decode_image_instance_type): ditto.
14525         (encode_image_instance_type): ditto.
14526         (image_instantiate): ditto.
14527         (allocate_glyph): ditto.
14528         (Fimage_instance_height): ditto.
14529         (Fimage_instance_width): ditto.
14530         (update_subwindow): ditto.
14531
14532         * redisplay-x.c (x_output_display_block): recode for layouts as
14533         widgets.
14534
14535         * redisplay-output.c (redisplay_output_layout): recode for layouts
14536         as widgets.
14537         (compare_runes): remove layout references.
14538
14539         * redisplay-msw.c (mswindows_output_display_block): recode for
14540         layouts as widgets.
14541
14542         * glyphs-widget.c (image_instantiator_layout): remove
14543         layout_possible_dest_types.
14544         (layout_possible_dest_types): deleted.
14545
14546         * glyphs.h (image_instance_type): remove layout references.
14547         (struct Lisp_Image_Instance): ditto. Add initialized flag.
14548         (IMAGE_INSTANCE_INITIALIZED): new accessor.
14549         (XIMAGE_INSTANCE_INITIALIZED): ditto.
14550
14551 2000-04-25  Andy Piper  <andy@xemacs.org>
14552
14553         * glyphs-widget.c (image_instantiator_buttons):
14554         (image_instantiator_edit_fields):
14555         (image_instantiator_combo_box):
14556         (image_instantiator_scrollbar):
14557         (image_instantiator_progress_guage):
14558         (image_instantiator_tree_view):
14559         (image_instantiator_tab_control):
14560         (image_instantiator_labels):
14561         (image_instantiator_layout): call default post_instantiate method.
14562         (widget_post_instantiate): new function. Simply lays out the
14563         widgets.
14564
14565         * glyphs.h (struct image_instantiator_methods): add
14566         post_instantiate method.
14567
14568         * glyphs.c (instantiate_image_instantiator): add post_instantiate
14569         method calls.
14570
14571 2000-04-23  Andy Piper  <andy@xemacs.org>
14572
14573         * glyphs.h (struct image_instantiator_methods): add
14574         decode_domain_method.
14575         (struct Lisp_Image_Instance): remove subwindow frame - it can be
14576         derived from the domain.
14577         (IMAGE_INSTANCE_FRAME): new accessor.
14578         (XIMAGE_INSTANCE_FRAME): ditto.
14579
14580         * glyphs.c (print_image_instance): use IMAGE_INSTANCE_FRAME
14581         instead of _SUBWINDOW_FRAME.
14582         (finalize_image_instance): ditto.
14583         (Fimage_instance_foreground): ditto.
14584         (Fimage_instance_background): ditto.
14585         (image_instantiate): ditto.
14586         (update_subwindow_cachel): ditto.
14587         (update_subwindow): ditto.
14588         (unmap_subwindow): ditto.
14589         (map_subwindow): ditto
14590         (subwindow_instantiate): ditto.
14591         * glyphs-msw.c (mswindows_update_widget): ditto.
14592         (mswindows_progress_gauge_instantiate): ditto.
14593         (mswindows_tab_control_update): ditto.
14594         * glyphs-x.c (x_update_widget): ditto.
14595         (x_widget_instantiate): ditto.
14596         (x_tab_control_instantiate): ditto.
14597         (x_tab_control_update): ditto.
14598         * event-msw.c (mswindows_wnd_proc): ditto
14599
14600         * glyphs-widget.c (image_instantiator_layout): use
14601         subwindow_decode_domain.
14602         (image_instantiator_buttons): ditto.
14603         (image_instantiator_edit_fields): ditto.
14604         (image_instantiator_combo_box): ditto.
14605         (image_instantiator_scrollbar): ditto.
14606         (image_instantiator_progress_guage): ditto.
14607         (image_instantiator_tree_view): ditto.
14608         (image_instantiator_tab_control): ditto.
14609         (image_instantiator_labels): ditto.
14610         (image_instantiator_layout): ditto.
14611
14612         * glyphs.c: add instance error checking to many functions.
14613         (instantiate_image_instantiator): decode device from cache_domain.
14614         (image_instantiate): partially rewrite by using
14615         decode_image_instantiator_domain to determine what domain the
14616         instance needs to be cached in.
14617         (decode_image_instantiator_domain): new function. Determine what
14618         domain the image needs to be cached in.
14619         (check_window_subwindow_cache): new error checking function.
14620         (check_instance_cache_mapper): ditto.
14621         (check_image_instance_structure): ditto.
14622         (subwindow_decode_domain): new function. Encodes a window as a
14623         subwindow's cache domain.
14624         (image_instantiator_format_create): use it for text and
14625         subwindows.
14626
14627 2000-04-21  Andy Piper  <andy@xemacs.org>
14628
14629         * glyphs.c (image_instance_device): new function.
14630         (image_instance_frame): new function.
14631         (image_instance_window): new function.
14632         (image_instance_live_p): new function.
14633
14634         * window.c (mark_window_as_deleted): reset the subwindow_instance_
14635         cache to nil.
14636
14637         * glyphs.h (struct Lisp_Image_Instance): device->domain.
14638         (IMAGE_INSTANCE_DOMAIN): new accessor.
14639         (XIMAGE_INSTANCE_DOMAIN): ditto.
14640
14641         * glyphs-x.c (x_finalize_image_instance): device->domain.
14642
14643         * glyphs-msw.c (init_image_instance_geometry): device->domain.
14644         (mswindows_finalize_image_instance): ditto.
14645
14646         * glyphs-eimage.c (jpeg_instantiate): device->domain.
14647         (gif_instantiate): ditto.
14648         (png_instantiate): ditto.
14649         (tiff_instantiate): ditto.
14650
14651         * glyphs.c (instantiate_image_instantiator): use domain rather
14652         than device.
14653         (mark_image_instance): device -> domain.
14654         (print_image_instance): ditto.
14655         (finalize_image_instance): ditto.
14656         (image_instance_equal): ditto.
14657         (allocate_image_instance): ditto.
14658         (Fcolorize_image_instance): ditto.
14659         (query_string_geometry): ditto.
14660         (image_instantiate): ditto
14661         (query_string_font): ditto.
14662         (image_instantiate): ditto.
14663         (update_subwindow): ditto.
14664         (unmap_subwindow): ditto.
14665         (map_subwindow): ditto.
14666         (subwindow_instantiate): ditto.
14667
14668         * specifier.h (DOMAIN_DEVICE): new, semantically correct, decoder.
14669         (DOMAIN_FRAME): ditto.
14670         (DOMAIN_WINDOW): ditto.
14671         (DOMAIN_LIVE_P): ditto.
14672         (XDOMAIN_DEVICE): ditto.
14673         (XDOMAIN_FRAME): ditto.
14674         (XDOMAIN_WINDOW): ditto.
14675
14676         * specifier.c (Fvalid_specifier_domain_p): add image instances as
14677         a valid specifier domain.
14678
14679 2000-04-19  Andy Piper  <andy@xemacs.org>
14680
14681         * glyphs-widget.c (syms_of_glyphs_widget): remove
14682         widget-callback-current-channel.
14683         (vars_of_glyphs_widget): ditto.
14684         * glyphs.h: ditto
14685
14686         * gui.c (get_gui_callback): revert to previous behaviour.
14687
14688 2000-04-18  Andy Piper  <andy@xemacs.org>
14689
14690         * glyphs.h (struct Lisp_Image_Instance): add margin_width.
14691         (IMAGE_INSTANCE_MARGIN_WIDTH): new.
14692         (XIMAGE_INSTANCE_MARGIN_WIDTH): new.
14693
14694         * glyphs.c (image_instance_equal): add margin_width.
14695         (image_instance_hash): ditto.
14696
14697         * glyphs-widget.c (widget_instantiate): deal with margin-width.
14698         (layout_query_geometry): ditto.
14699         (layout_layout): ditto.
14700         (syms_of_glyphs_widget): add margin-width.
14701         (image_instantiator_layout): allow margin-width.
14702
14703         * glyphs.c (update_widget_instances): make a normal function.
14704         (syms_of_glyphs): remove Qupdate_widget_instances.
14705         * glyphs.h: ditto.
14706
14707         * gui-x.c (popup_selection_callback): use enqueue_magic_eval_event
14708         so that we don't corrupt ideas about the last event or
14709         command. Remove widget-callback-current-channel fiddling.
14710         * gui-msw.c (mswindows_handle_gui_wm_command): ditto.
14711
14712 2000-05-01  Martin Buchholz <martin@xemacs.org>
14713
14714         * XEmacs 21.2.33 is released.
14715
14716 2000-05-01  Yoshiki Hayashi  <yoshiki@xemacs.org>
14717
14718         * make-src-depend: Allow dots in header file name.
14719
14720 2000-05-01  Yoshiki Hayashi  <yoshiki@xmacs.org>
14721
14722         * mule-charset.h (struct charset_lookup): Add
14723         next_allocated_1_byte_leading_byte and
14724         next_allocated_2_byte_leading_byte.
14725         * mule-charset.c: Move above two variables so that those values
14726         will be dumped.
14727
14728 2000-04-26  Yoshiki Hayashi  <yoshiki@xemacs.org>
14729
14730         * insdel.c (find_charsets_in_bufbyte_string): Add Vcharset_ascii
14731         when string length is zero.
14732         (find_charsets_in_emchar_string): Ditto.
14733
14734 2000-04-29  Bjrn Torkelsson  <torkel@hpc2n.umu.se>
14735
14736         * lisp.h: extern Qdialog and Qmenubar.
14737
14738         * gui-x.c: added events.h.
14739                 also fixed typo which made the file uncompilable.
14740
14741         * general.c: Added Qmenubar and Qdialog
14742
14743 2000-04-28  Ben Wing  <ben@xemacs.org>
14744
14745         * frame-msw.c (mswindows_init_frame_1):
14746         * frame-msw.c (mswindows_mark_frame):
14747         * event-msw.c (mswindows_enqueue_dispatch_event):
14748         * console-msw.h:
14749         * console-msw.h (struct mswindows_frame):
14750         * console-msw.h (FRAME_MSWINDOWS_WIDGET_HASH_TABLE1):
14751         there are now three hash tables for callbacks.
14752         mswindows_enqueue_dispatch_event is no longer static.
14753
14754         * dialog-x.c (maybe_run_dbox_text_callback):
14755         * dialog-x.c (dbox_descriptor_to_widget_value):
14756         switch to new cons3 form for callbacks.
14757
14758         * glyphs-msw.c (mswindows_register_gui_item):
14759         * glyphs-msw.c (mswindows_widget_instantiate):
14760         * glyphs-msw.c (add_tree_item):
14761         * glyphs-msw.c (add_tab_item):
14762         new image instance parameter, so it can be passed to callback-ex.
14763         respect :callback-ex as well as :callback.
14764
14765         * glyphs-widget.c (VALID_GUI_KEYWORDS):
14766         add :callback-ex.
14767
14768         * glyphs.c (print_image_instance):
14769         prettify, e.g. now prints widget type.
14770
14771         * gui-x.h:
14772         certain funs have new image instance parameter.
14773
14774         * gui.c:
14775         * gui.c (get_gui_callback):
14776         * gui.c (gui_item_add_keyval_pair):
14777         * gui.c (gui_item_init):
14778         * gui.c (gui_add_item_keywords_to_plist):
14779         * gui.c (mark_gui_item):
14780         * gui.c (gui_item_hash):
14781         * gui.c (gui_item_equal):
14782         * gui.c (copy_gui_item):
14783         * gui.c (syms_of_gui):
14784         recognize callback-ex in a number of places.
14785         also, fix the annoying "can't get out of yes-no dialog" bug.
14786
14787         * gui.h:
14788         * gui.h (struct Lisp_Gui_Item):
14789         recognize callback-ex in a number of places.
14790
14791         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
14792         new parameter in button_item_to_widget_value.
14793
14794         * glyphs-x.c (x_update_widget):
14795         * glyphs-x.c (x_button_instantiate):
14796         * glyphs-x.c (x_button_update):
14797         * glyphs-x.c (x_progress_gauge_instantiate):
14798         * glyphs-x.c (x_edit_field_instantiate):
14799         * glyphs-x.c (x_combo_box_instantiate):
14800         * glyphs-x.c (x_tab_control_instantiate):
14801         * glyphs-x.c (x_label_instantiate):
14802         new image instance parameter in various places.
14803
14804         * event-Xt.c:
14805         * event-Xt.c (enqueue_Xt_dispatch_event):
14806         this fun gets exported.
14807
14808         * gui-msw.c:
14809         * gui-msw.c (mswindows_handle_gui_wm_command):
14810         handle both :callback and :callback-ex, and generate our own
14811         event because it's one of the callback-ex arguments.
14812
14813         * gui-x.c:
14814         * gui-x.c (popup_selection_callback):
14815         handle both :callback and :callback-ex, and generate our own
14816         event because it's one of the callback-ex arguments.
14817         * gui-x.c (button_item_to_widget_value):
14818         * gui-x.c (gui_items_to_widget_values_1):
14819         * gui-x.c (gui_item_children_to_widget_values):
14820         * gui-x.c (gui_items_to_widget_values):
14821         new image instance parameter in various places.
14822
14823         * fns.c (Freplace_list):
14824         fix small typo in doc string.
14825
14826         * lisp.h:
14827         declare enqueue_Xt_dispatch_event.
14828
14829 2000-04-28  Ben Wing  <ben@xemacs.org>
14830
14831         * buffer.c:
14832         * buffer.c (Frecord_buffer):
14833         * buffer.c (syms_of_buffer):
14834         delete record-buffer-hook.
14835
14836         * fns.c:
14837         * fns.c (Freplace_list):
14838         * fns.c (syms_of_fns):
14839         new primitive replace-list.
14840
14841         * frameslots.h:
14842         slot for old buffer-alist.
14843
14844         * lisp.h:
14845         exfun replace-list.
14846
14847         * redisplay.c:
14848         * redisplay.c (redisplay_frame):
14849         * redisplay.c (syms_of_redisplay):
14850         * redisplay.c (vars_of_redisplay):
14851         new hook buffer-list-changed-hook.
14852         call it.
14853
14854 2000-04-27  Ben Wing  <ben@xemacs.org>
14855
14856         * extents.h: extern in_modeline_generation.
14857
14858         * redisplay.c (generate_formatted_string_db): set
14859         in_modeline_generation.
14860
14861         * extents.c (extent_changed_for_redisplay): don't mark redisplay
14862         flags if in modeline generation.  otherwise frame-modified-tick
14863         is ticked far too often.
14864         Declare in_modeline_generation.
14865
14866 2000-04-26  Ben Wing  <ben@xemacs.org>
14867
14868         * emacs.c (vars_of_emacs): document quick-build "error-checking"
14869         option.
14870         (vars_of_emacs): add quick-build as an error-checking option.
14871         A bit kludgy, but there doesn't seem much point in creating
14872         a real var for this.
14873
14874         * config.h.in: put in an entry for QUICK_BUILD; remove NO_DOC_FILE.
14875
14876 2000-04-14  IKEYAMA Tomonori  <tomonori@suiyokai.org>
14877
14878         * redisplay.h (struct display_line): Add a new variable,
14879         line_continuation.
14880
14881         * redisplay.c (create_text_block): Set dl->line_continuation if
14882         the line continues.
14883         (create_string_text_block): Ditto.
14884         (regenerate_window_incrementally): Use line_continuation instead
14885         of searching continuation glyph.
14886         (add_margin_runes): Call add_glyph_rune.
14887         (add_glyph_rune): Handle margin glyph.
14888
14889 2000-04-20  Martin Buchholz  <martin@xemacs.org>
14890
14891         * filelock.c (fill_in_lock_file_name):
14892         ANSIfy.
14893         Check for IS_ANY_SEP instead of '/'.
14894         (lock_file_1):
14895         Avoid generating gratuitous garbage.  Call user_login_name() directly.
14896         Never check errno without first seeing that system call failed.
14897         (unlock_file): Add GCPRO.
14898         (Flock_buffer): Fix docstring.
14899         (Ffile_locked_p): Fix docstring.  Add GCPRO.
14900
14901 2000-04-19  Martin Buchholz  <martin@xemacs.org>
14902
14903         * sysdep.c (get_pty_max_bytes):
14904         Fix hangs on DEC OSF 4.0 when (process-send-string) sends
14905         strings longer than 252 bytes.
14906
14907         * md5.c: Unconditionally include ANSI header <limits.h>
14908
14909         * glyphs-x.c (convert_EImage_to_XImage):
14910         * lisp-union.h (union Lisp_Object):
14911         Use consistently the syntax #ifdef FEATURE, not #if FEATURE.
14912
14913 2000-04-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
14914
14915         * filelock.c (current_lock_owner): Remove unused variable o, p.
14916
14917 2000-04-17  Norbert Koch  <n.koch@eai-delta.de>
14918
14919         * callint.c: Remove multiply defined symbol Qlet
14920         (syms_of_callint): ditto.
14921
14922 2000-04-14  Andy Piper  <andy@xemacs.org>
14923
14924         * general.c (syms_of_general): add last-command, this-command, let
14925         and funcall.
14926
14927         * lisp.h: declare various symbols.
14928
14929         * glyphs.h: declare Qwidget_callback_current_channel;
14930
14931         * glyphs-widget.c (syms_of_glyphs_widget): add
14932         Qgui_callback_current_channel.
14933         (vars_of_glyphs_widget): add Vgui_callback_current_channel.
14934
14935         * gui-msw.c (mswindows_handle_gui_wm_command): bind
14936         widget-callback-current-channel when invoking the interactive
14937         arg. Also bind last-command and next-command when invoking the
14938         widget updates.
14939         * gui-x.c (popup_selection_callback): ditto.
14940
14941         * gui.c (get_gui_callback): massage args so that we are always
14942         calling eval. This allows us to add our own variable bindings
14943         outside.
14944
14945         * glyphs-x.c (x_button_instantiate): use
14946         gui_items_to_widget_values since this is GC safe.
14947         (x_progress_gauge_instantiate): ditto.
14948         (x_edit_field_instantiate): ditto.
14949         (x_label_instantiate): ditto.
14950
14951         * event-Xt.c (emacs_Xt_handle_magic_event): remove old printfs.
14952         (emacs_Xt_event_widget_focus_out): new function
14953         (emacs_Xt_event_widget_focus_in): new function. Set the keyboard
14954         focus.
14955         (emacs_Xt_event_add_widget_actions): new function. add focus
14956         functions as actions.
14957         (init_event_Xt_late): use it.
14958
14959 2000-04-14  Hrvoje Niksic  <hniksic@iskon.hr>
14960
14961         * event-stream.c (Fdispatch_event): Doc fix.
14962
14963 2000-03-29  SL Baur  <steve@musashimaru.m17n.org>
14964
14965         * postgresql.c: Remove all references to PQsetenv*.
14966
14967         * postgresql.h: Remove references to PGsetenvHandler object.
14968         * lrecord.h (lrecord_type): Ditto.
14969
14970 2000-04-11  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14971
14972         * glyphs-msw.h (struct mswindows_image_instance_data): Added
14973         real_heigh and real_width members, and accessor macros for these.
14974
14975         * glyphs-msw.c (init_image_instance_geometry): New function.
14976         (init_image_instance_from_dibitmap): Use it.
14977         (mswindows_resource_instantiate): Use it.
14978         (init_image_instance_from_xbm_inline): Use it.
14979         (mswindows_initialize_image_instance_mask): Use real bitmap
14980         geometry.
14981         (mswindows_create_resized_bitmap): Ditto.
14982         (mswindows_create_resized_mask): Ditto.
14983
14984         * redisplay-msw.c (mswindows_output_dibitmap): Stretch real mask
14985         and bitmap to their surface size.
14986
14987 2000-04-11  Jan Vroonhof  <jan@xemacs.org>
14988
14989         * process-unix.c (unix_send_process): Guard against process MIA
14990         after Faccept_process_output.
14991
14992 2000-04-11  Ben Wing  <ben@xemacs.org>
14993
14994         * eval.c (unbind_to_hairy): fix brokenness introduced by
14995         nanosecond speed improvements.
14996
14997 2000-04-07  Raymond Toy  <toy@rtp.ericsson.se>
14998
14999         * sunplay.c (init_device): To play sounds correctly, the device
15000         apparently needs to be initialized at least once by XEmacs.  Make
15001         it so.
15002
15003 2000-04-10  IKEYAMA Tomonori  <tomonori@suiyokai.org>
15004
15005         * redisplay.c (add_margin_runes): Add text image glyph
15006           handling.
15007
15008 2000-04-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
15009
15010         * lisp.h (DOESNT_RETURN): Don't declare as volatile when
15011         gcc is newer than 2.5.
15012
15013 2000-04-06  Colin Rafferty  <colin@xemacs.org>
15014
15015         * lisp.h (FLEXIBLE_ARRAY_STRUCT_SIZEOF): Created.
15016
15017         * fns.c (size_bit_vector):
15018         * alloc.c (size_vector):
15019         (make_vector_internal):
15020         (make_bit_vector_internal):
15021         (sweep_bit_vectors_1):
15022         Replace calls to offsetof with FLEXIBLE_ARRAY_STRUCT_SIZEOF macro.
15023
15024 2000-04-06  Andy Piper  <andy@xemacs.org>
15025
15026         * gmalloc.c (malloc): undo previous change.
15027         (malloc): ditto.
15028         (free): ditto.
15029         (realloc): ditto.
15030
15031 2000-04-06  IKEYAMA Tomonori <tomonori@suiyokai.org>
15032
15033         * line-number.c (buffer_line_number): Revert to former version.
15034
15035 2000-04-06  Andy Piper  <andy@xemacs.org>
15036
15037         * gmalloc.c (malloc): add error checking.
15038         (malloc): ditto.
15039         (free): ditto.
15040         (realloc): ditto.
15041
15042         * dialog-x.c (dbox_descriptor_to_widget_value): add extra
15043         button_item_to_widget_value arg.
15044
15045         * glyphs-x.c (x_button_instantiate): add extra
15046         button_item_to_widget_value arg.
15047         (x_progress_gauge_instantiate): ditto.
15048         (x_edit_field_instantiate): ditto.
15049         (x_label_instantiate): ditto.
15050
15051         * gui-x.c (gui_items_to_widget_values_1): add extra
15052         button_item_to_widget_value arg.
15053         (button_item_to_widget_value): add extra menu_item_p arg.
15054
15055         * gui-x.h: change signature of button_item_to_widget_value.
15056
15057         * menubar-x.c (menu_item_descriptor_to_widget_value_1): add extra
15058         button_item_to_widget_value arg.
15059
15060 2000-04-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
15061
15062         * buffer.h (struct buffer): auto_save_modified should be long.
15063
15064 2000-04-05  Andy Piper  <andy@xemacs.org>
15065
15066         * glyphs-widget.c (widget_instantiate): pixwidth != pixheight
15067         type.
15068         (button_query_geometry): give a little more room so that athena
15069         buttons fit.
15070
15071 2000-04-05  Andy Piper  <andy@xemacs.org>
15072
15073         * faces.c (complex_vars_of_faces): The widget face should inherit
15074         the font of the gui-element face.
15075
15076 2000-04-04  Andy Piper  <andy@xemacs.org>
15077
15078         * glyphs-x.c (x_button_update): new function. unconditionally
15079         update a button's state when the instance is dirty.
15080         (image_instantiator_format_create_glyphs_x): add x_button_update.
15081         (x_widget_instantiate): remove old resize cruft.
15082
15083 2000-04-02  Andy Piper  <andy@xemacs.org>
15084
15085         * frame.c (change_frame_size_1): The introduction of gutters means
15086         that we need to allow 0 as a potential frame dimension.
15087
15088 2000-04-02  IKEYAMA Tomonori  <tomonori@suiyokai.org>
15089
15090         * redisplay.c (add_glyph_rune): Don't set 0 to bufpos for text
15091         image glyph if allow_cursor.
15092         (add_hscroll_rune): Don't allow cursor to border glyph.
15093         (create_text_block): Ditto.
15094
15095         * redisplay-output.c (redisplay_move_cursor): Do nothing even if
15096         text not in buffer.
15097         (redisplay_output_layout): Call ensure_face_cachel_complete for
15098         text image glyph.
15099
15100
15101 2000-03-16  IKEYAMA Tomonori  <tomonori@suiyokai.org>
15102
15103         * redisplay.c (add_glyph_rune): Adding text image as text runes.
15104
15105         * redisplay-output.c (redisplay_move_cursor): NO_CURSOR if text
15106         not in buffer
15107
15108         * redisplay-tty.c (tty_output_display_block): Delete the routine
15109         for text image glyph
15110         * redisplay-x.c (x_output_display_block): ditto
15111         * redisplay-msw.c (mswindows_output_display_block): ditto
15112
15113 2000-02-02  Mike Alexander  <mta@arbortext.com>
15114
15115         Note: Some of these were committed by accident as part of other
15116         patches.
15117
15118         * regex.c (regex_compile): Avoid compiler warnings.
15119
15120         * ntproc.c (sys_spawnve): Avoid compiler warnings.
15121
15122         * nt.h: Declare term_ntproc correctly.
15123
15124         * nt.c: Remove incorrect declaration of get_home_directory which
15125         is declared correctly in lisp.h.
15126
15127         * keymap.c (get_keyelt): Avoid compiler warnings.
15128         (raw_lookup_key_mapper): Avoid compiler warnings.
15129
15130         * gutter.c (gutter_was_visible): Add return statement to avoid warning.
15131
15132         * glyphs-eimage.c (png_instantiate): Avoid compiler warnings.
15133
15134         * filemode.c (mode_string): Avoid compiler warnings.
15135
15136         * file-coding.c (Fcoding_system_aliasee): Add return statement to
15137         avoid warning.
15138
15139         * events-mod.h: Undef some things that winuser.h defines differently.
15140
15141         * data.c (Faset): Avoid compiler warnings.
15142
15143         * alloc.c (Fmake_byte_code): Avoid compiler warnings.
15144
15145 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
15146
15147         * sound.c (Fplay_sound_file): Wrap ESD in start/stop_interrupts.
15148         Fall through to simple beep on error.
15149         Replace "extern" by real header file.
15150
15151         * linuxplay.c: Use nativesound.h
15152         (play_sound_data): Return error code. Be less verbose on error.
15153
15154         * sunplay.c: Use nativesound.h
15155         (play_sound_data): Return error code. Be less verbose on error.
15156
15157         * ntplay.c: Use nativesound.h
15158         (play_sound_data): Return fake error code
15159
15160         * sgiplay.c: Use nativesound.h
15161         (play_sound_data): Return error code
15162
15163         * hpplay.c: Use nativesound.h, partially implement
15164         new error code. Break compilation until finished.
15165         (play_sound_data): error code.
15166
15167         * nativesound.h (play_sound_file):
15168           (play_sound_data): Prototype in new header.
15169
15170 2000-03-31  Andy Piper  <andy@xemacs.org>
15171
15172         * glyphs-widget.c: (button_query_geometry): new function. Adjust
15173         for toggle and radio buttons.
15174         (image_instantiator_buttons): use it.
15175
15176 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
15177
15178         * scrollbar-x.c (x_update_vertical_scrollbar_callback):
15179         (x_update_horizontal_scrollbar_callback): Return if no mirror was
15180         found. Scrollbar event probably belonged to some old config.
15181
15182 2000-03-31  Andy Piper  <andy@xemacs.org>
15183
15184         * glyphs-widget.c (widget_instantiate): use LAYOUT_VERTICAL rather
15185         than 1.
15186         (initialize_widget_image_instance): default layout to
15187         LAYOUT_HORIZONTAL rather than 0.
15188         (widget_instantiate): reverse the item list at the end rather than
15189         every iteration.
15190         (layout_layout): re-code for the border text at the front of the
15191         item list rather than at the end.
15192         (layout_query_geometry): ditto. Pick up fixed and dynamic sizes
15193         provided by the user.
15194         (widget_query_geometry): comment.
15195
15196 2000-03-30  Andy Piper  <andy@xemacs.org>
15197
15198         * glyphs-widget.c (image_instantiator_layout): allow standard
15199         widget keywords in layouts.
15200
15201         * gutter.c (output_gutter): cope with nil gutter contents.
15202
15203         * frame.c (Fset_frame_properties): add gutter docs.
15204
15205 2000-03-29  Andy Piper  <andy@xemacs.org>
15206
15207         * toolbar-msw.c (TBSTYLE_FLAT): add.
15208         (mswindows_output_toolbar): minor fiddling.
15209
15210 2000-03-29  Andy Piper  <andy@xemacs.org>
15211
15212         * gutter.c (output_gutter): force gutter size recalculation if
15213         what we are trying to display won't fit.
15214         (update_gutter_geometry): new function. A per-gutter version of
15215         update_frame_gutter_geometry.
15216         (update_frame_gutter_geometry): use it.
15217         (redraw_exposed_gutter): add extra debugging output.
15218
15219 2000-03-28  Mike Alexander  <mta@arbortext.com>
15220
15221         * dumper.c: Declare pdump_hFile and pdump_hMap (Windows only)
15222         (pdump_file_unmap): Implement it on Windows
15223         (pdump_file_get): Save alocated handles for pdump_file_unmap
15224
15225 2000-03-28  Andy Piper  <andy@xemacs.org>
15226
15227         * gui.c (get_gui_callback): treat Quit specially.
15228
15229 2000-03-27  Andy Piper  <andy@xemacs.org>
15230
15231         * glyphs.c (image_instantiate): be careful to check in the same
15232         way we assigned.
15233
15234 2000-03-27  Didier Verna  <didier@xemacs.org>
15235
15236         * config.h.in: define the proper SMART_INCLUDE macro.
15237         handle renaming of `foo_h_path' to `foo_h_file'.
15238
15239         * database.c: ditto.
15240
15241         * emacs.c: ditto.
15242
15243         * linuxplay.c: ditto.
15244
15245         * terminfo.c: ditto.
15246
15247         * tooltalk.h: ditto.
15248
15249 2000-03-27  Andy Piper  <andy@xemacs.org>
15250
15251         * glyphs-msw.c (mswindows_update_widget): make sure the widget
15252         gets updated whenever the face might have changed.
15253
15254 2000-03-26  Mike Alexander  <mta@arbortext.com>
15255
15256         * dumper.c (pdump_resource_free): Fix the comment.
15257
15258 2000-03-21  Olivier Galibert  <galibert@pobox.com>
15259
15260         * input-method-xlib.c (XIM_init_frame): Remove painful warning.
15261
15262 2000-03-22  Mike Alexander  <mta@arbortext.com>
15263
15264         * dumper.c: Include Windows headers on Windows
15265         (pdump_resource_free): Add a body to the function
15266         (pdump_load): exe_name -> exe_path and add some comments.
15267
15268 2000-03-25  Mike Alexander  <mta@arbortext.com>
15269
15270         * gui.c (copy_gui_item_tree): Return a value in all cases
15271
15272 2000-03-21  Didier Verna  <didier@xemacs.org>
15273
15274         * config.h.in: move INCLUDE_GLUE_1 and INCLUDE_GLUE_2 here from
15275         lwlib/config.h.in.
15276         (SMART_INCLUDE): new macro.
15277         (POSTGRES_INCLUDE): new macro to include postgresql headers from
15278         the proper location.
15279
15280         * postgresql.c: use it.
15281
15282         * inline.c: ditto.
15283
15284 2000-03-24  Andy Piper  <andy@xemacs.org>
15285
15286         * gutter.c (redraw_exposed_gutters): must be "in display" when we
15287         do this.
15288
15289 2000-03-24  Andy Piper  <andy@xemacs.org>
15290
15291         * redisplay-output.c (compare_runes): use image_instance_changed
15292         to detect changes. Do not depend on glyphs_changed, only depend on
15293         dirtiness.
15294          (redisplay_output_layout): add debug messages.
15295         (compare_runes): ditto.
15296
15297         * glyphs.h: declare new functions.
15298         (struct Lisp_Image_Instance): remove percent and associated
15299         accessors.
15300
15301         * gui.h: declare new copying functions.
15302
15303         * gui.c (copy_gui_item_tree): new function.
15304         (copy_gui_item): new function.
15305         (gui_item_id_hash): revert to standard hash.
15306         (gui_item_hash): ditto.
15307         (gui_item_hash_internal): deleted.
15308         (mark_gui_item): mark value.
15309         (gui_item_add_keyval_pair): add value.
15310         (gui_item_init): ditto.
15311         (gui_add_item_keywords_to_plist): ditto.
15312         (gui_item_equal): ditto.
15313         (syms_of_gui): add Q_value.
15314
15315         * glyphs-x.c (x_progress_gauge_update): use pending items and
15316         value for setting the state.
15317         (x_update_widget): don't set items from pending here.
15318
15319         * glyphs-widget.c (update_widget): update items here.
15320         (progress_gauge_set_property): use items for storing value. Put
15321         new value in pending items.
15322
15323         * glyphs-msw.c (mswindows_progress_gauge_update): use pending
15324         items for new value. Convert percent -> value.
15325         (mswindows_tab_control_update): don't update items here.
15326
15327         * glyphs.c (Fupdate_widget_instances): use image_instance_changed.
15328         (update_subwindow): ditto.
15329         (image_instance_changed): new function. Compare hash values and
15330         past and present widget items.
15331         (image_instantiate): We more careful about where we instantiate
15332         things.
15333         (image_instantiate): add error checking.
15334
15335         * gutter.c (syms_of_gutter): use -hook.
15336
15337 2000-03-20  Yoshiki Hayashi  <yoshiki@xemacs.org>
15338
15339         * console-tty.c (Fset_console_tty_input_coding_system): Use
15340         Qkeyboard.
15341         (Fset_console_tty_output_coding_system): Use Qterminal.
15342         (tty_init_console): Use Qkeyboard and Qterminal.
15343
15344 2000-03-21  Ben Wing  <ben@xemacs.org>
15345
15346         * ntproc.c (create_child): remove bogus HAVE_NTGUI's.
15347         From Mike Alexander <mta@arbortext.com>.
15348
15349 2000-03-21  Ben Wing  <ben@xemacs.org>
15350
15351         * event-msw.c (mswindows_need_event): Horrible kludge to fix
15352         process brokenness.  Proper implementation to come.
15353         * callproc.c:
15354         Rename call-process-internal to old-call-process-internal.
15355         New impl. in process.el.
15356
15357 2000-03-21  Martin Buchholz  <martin@xemacs.org>
15358
15359         * Makefile.in.in: Coalesce HAVE_NATIVE_SOUND code fragments.
15360
15361 2000-03-20  Andy Piper  <andy@xemacs.org>
15362
15363         * glyphs.c (full_list_hash): make hashes of the same elements in
15364         different orders return different values.
15365
15366 2000-03-20  Martin Buchholz <martin@xemacs.org>
15367
15368         * XEmacs 21.2.32 is released.
15369
15370 2000-03-20  Martin Buchholz  <martin@xemacs.org>
15371
15372         * buffer.h (DFC_ALLOCA_USE_CONVERTED_DATA):
15373         (DFC_MALLOC_USE_CONVERTED_DATA):
15374         Add aliasing-safe casts to allow use with char* or unsigned char*
15375         lvalues.
15376
15377         * eldap.c (Fldap_open):
15378         (Fldap_search_basic):
15379         (Fldap_add):
15380         (Fldap_modify):
15381         Make C++-compilable.
15382         Make sure GCPRO'ed variables are initialized.
15383         Use temp variables to avoid repeated calls to Flength.
15384
15385 2000-03-16  Martin Buchholz  <martin@xemacs.org>
15386
15387         * sysfile.h:
15388         Make sure PATH_MAX is always defined.
15389         Include limits.h for PATH_MAX.
15390         Deprecate use of MAXPATHLEN.
15391
15392 2000-03-10  Martin Buchholz  <martin@xemacs.org>
15393
15394         * emacs.c: Add reinit_vars_of_fileio.
15395         * symsinit.h: Add reinit_vars_of_fileio.
15396         * fileio.c (reinit_vars_of_fileio): New.
15397         * fileio.c (Fmake_temp_name):
15398         Initialize temp_name random number from microseconds to make
15399         collisions even less likely.  Initialize always at process startup
15400         time.  (make-temp-name) used to return the same file name twice in
15401         a row when PDUMP.
15402         Random stylistic fiddling.
15403         Comment fixes.
15404
15405 2000-03-20  Andy Piper  <andy@xemacs.org>
15406
15407         * glyphs.c (image_instantiate): allow text glyphs to be
15408         instantiated in the minibuffer window.
15409
15410 2000-03-19  Andy Piper  <andy@xemacs.org>
15411
15412         * glyphs.c (image_instance_hash): be careful about which items we
15413         hash on.
15414
15415         * glyphs-widget.c (tab_control_set_property): record into pending
15416         items rather than the actual items.
15417
15418         * glyphs-x.c (x_update_widget): use pending items to update with.
15419
15420         * glyphs-msw.c (mswindows_tab_control_update): use pending items
15421         to update with.
15422
15423         * glyphs.c (mark_image_instance): mark pending items.
15424
15425         * window.c (Fset_window_configuration): record the buffer.
15426         (Fselect_window): totally revert previous change which breaks many
15427         things.
15428
15429 2000-03-18  Andy Piper  <andy@xemacs.org>
15430
15431         * glyphs-msw.c (mswindows_tab_control_update): force selected
15432         item.
15433
15434         * glyphs.c (image_instantiate): don't allow the minibuffer as a
15435         window domain cache, otherwise we get inconsistencies at
15436         startup. There is something fishy at startup which can lead to the
15437         minibuffer being the selected window when the gutter content is
15438         instantiated.
15439
15440         * gui.c (parse_gui_item_tree_list): add probably unnecessary
15441         gcpros.
15442         (parse_gui_item_tree_children): ditto.
15443         (parse_gui_item_tree_item): ditto.
15444
15445         * glyphs.c (Fupdate_widget_instances): return something.
15446
15447 2000-03-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
15448
15449         * window.c (Fselect_window): Undo 2000-03-17 change.
15450
15451 2000-03-17  SL Baur  <steve@musashimaru.m17n.org>
15452
15453         * postgresql.c (Fpq_setenv): Remove this turkey when linking
15454         against v7.0 libraries.  Insta-coredump city until the postgres
15455         folks fix it.
15456
15457 2000-03-17  Andy Piper  <andy@xemacs.org>
15458
15459         * faces.c (complex_vars_of_faces): don't give the widget face an
15460         inherited background pixmap.
15461
15462         * glyphs-msw.c (mswindows_tab_control_instantiate): select the
15463         selected item.
15464
15465         * event-stream.c (Fdispatch_non_command_events): return something.
15466
15467         * gutter.c (output_gutter): use widget face.
15468         (clear_gutter): ditto.
15469
15470         * NEWS: adjust again.
15471
15472         * window.c (Fselect_window): make sure this runs to completion to
15473         avoid oddities with Fset_window_configuration.
15474         (Fcurrent_window_configuration): in general do not save the
15475         minibuffer as the selected window.
15476
15477         * glyphs.h (IMAGE_INSTANCE_HASH_DEPTH): increase.
15478
15479 2000-03-16  Olivier Galibert  <galibert@pobox.com>
15480
15481         * emacs.c (Frunning_temacs_p): Revert previous patch.
15482         (main_1): Reinitialize running_temacs_argc if pdump_load succeeds.
15483
15484 2000-03-16  Andy Piper  <andy@xemacs.org>
15485
15486         * glyphs-x.c (x_tab_control_update): if no widget values then
15487         return.
15488
15489         * NEWS: update for new features.
15490
15491         * event-Xt.c (emacs_Xt_force_event_pending): new function. Post a
15492         synthetic event to the native system.
15493         (reinit_vars_of_event_Xt): set force_event_pending to
15494         emacs_Xt_force_event_pending.
15495
15496         * events.h (struct event_stream): add force_event_pending.
15497
15498         * specifier.c (recompute_one_cached_specifier_in_window): add
15499         comment.
15500
15501         * redisplay.c (redisplay_frame): don't call
15502         update_frame_subwindows. Reset subwindow cachels when
15503         subwindows_changed, removing this was an optimization too far.
15504
15505         * redisplay-output.c (compare_runes): reorganize so that we catch
15506         glyph changes when we want them. Set optimize_output when this
15507         would help layouts.
15508         (redisplay_output_layout): remove frame_really_changed, use
15509         optimize_output instead.
15510
15511         * redisplay-msw.c (mswindows_output_display_block): reset
15512         optimize_output after outputting a glyph.
15513         * redisplay-x.c (x_output_display_block): ditto.
15514         * redisplay-tty.c (tty_output_display_block): ditto.
15515
15516         * gutter.c: (specifier_vars_of_gutter): use new spec changed
15517         functions.
15518         (gutter_specs_changed): do specific gutter positions.
15519         (top_gutter_specs_changed): new function. Only update the
15520         specified gutter specs.
15521         (bottom_gutter_specs_changed): ditto.
15522         (left_gutter_specs_changed): ditto.
15523         (right_gutter_specs_changed): ditto.
15524
15525         * gui.c (gui_item_hash_internal): new function, does a real hash.
15526         (gui_item_id_hash): use it.
15527         (gui_item_hash): hash the eval'ed gui_item.
15528
15529         * gui-x.c (popup_selection_callback): send an eval event to call
15530         Fupdate_widget_instances.
15531
15532         * gui-msw.c (mswindows_handle_gui_wm_command): send an eval event
15533         to call Fupdate_widget_instances.
15534
15535         * glyphs.h (struct Lisp_Image_Instance): add optimize_output flag.
15536         (IMAGE_INSTANCE_OPTIMIZE_OUTPUT): access it.
15537
15538         * glyphs.c: (update_frame_subwindows): deleted.
15539         (Fupdate_widget_instances): new function for updating the dirty
15540         state of widgets that might have changed.
15541         (syms_of_glyphs): add Qupdate_widget_instances.
15542         (full_list_hash): hash a list completely.
15543         (image_instance_hash): use it for items and properties.
15544
15545         * frame-msw.c (mswindows_size_frame_internal): remove unused
15546         variable.
15547
15548         * faces.h (struct face_cachel): fix comment.
15549
15550         * event-stream.c (Fdispatch_non_command_events): new
15551         function. Process non-command events, forcing an event cycle
15552         beforehand.
15553         (syms_of_event_stream): declare.
15554         (event_stream_force_event_pending): new function. Force an event
15555         on the native event queue so that an event cycle will occur next
15556         time we check.
15557
15558         * event-msw.c:
15559         (struct ntpipe_shove_stream):
15560         (mswindows_enqueue_dispatch_event):
15561         (mswindows_dequeue_dispatch_event):
15562         (mswindows_cancel_dispatch_event):
15563         (mswindows_pump_outstanding_events):
15564         (mswindows_drain_windows_queue):
15565         (mswindows_handle_paint):
15566         (mswindows_wnd_proc):
15567         (mswindows_key_to_emacs_keysym):
15568         (get_process_input_waitable):
15569         (emacs_mswindows_delete_stream_pair): re-indent file.
15570         (mswindows_need_event): do not process further fds if the windows
15571         fd is set, otherwise you get endless XM_BUMPQUEUE cycles. This
15572         fixes the 100% cpu problem.
15573         (reinit_vars_of_event_mswindows): set force_event_pending to 0.
15574
15575 2000-03-15  Olivier Galibert  <galibert@pobox.com>
15576
15577         * alloc.h: New.
15578         * dumper.h: New.
15579         * dumper.c: New.
15580
15581         * emacs.c: Moved dump file searching to dumper.c.
15582         (Frunning_temacs_p): Fixed.
15583
15584         * alloc.c: Moved everything pdump-related to dumper.c.  Removed
15585         last_lrecord_type_index_assigned.
15586
15587 2000-02-20  Olivier Galibert  <galibert@pobox.com>
15588
15589         * symsinit.h: Added reinit parameter to init_console_stream
15590         declaration.
15591
15592         * lisp.h: Added file parameter to pdump_load declaration.
15593
15594         * emacs.c (main_1): Added -nd/--nodump-file and -sd/--show-dump-id
15595         support.  Added dump file searching.
15596
15597         * config.h.in: Added EMACS_PROGNAME.
15598
15599         * console-stream.c (init_console_stream): Fix reinitialisation
15600         when running from temacs.
15601
15602         * alloc.c (pdump): Add id support.
15603         (pdump_load): Add file parameter and signature/id support.
15604
15605         * Makefile.in.in: Add full pdump support.
15606
15607 2000-03-15  SL Baur  <steve@musashimaru.m17n.org>
15608
15609         * postgresql.c: Update documentation to reflect latest code
15610         status.
15611         (print_result): Show tuple counts in printed representation when
15612         appropriate.
15613         (Fpq_put_nbytes): MULE-ize.
15614         (Fpq_get_line_async): Ditto.
15615
15616 2000-03-14  SL Baur  <steve@musashimaru.m17n.org>
15617
15618         * postgresql.c (Fpq_lo_import): Fix return value.
15619         Suggested by: Kenji Itoh <keit@tpj.co.jp>.
15620
15621 2000-03-13  Ben Wing  <ben@xemacs.org>
15622
15623         * alloc.c (pdump_load):
15624         Fix compile warning under mswin.
15625
15626 2000-03-14  SL Baur  <steve@musashimaru.m17n.org>
15627
15628         * postgresql.c: Mule-ization, bug fixes.
15629         Use PG_CODING to encapsulate coding system name changes.
15630         Backport a version of TO_EXTERNAL format for 21.1/InfoDock.
15631         (pg-coding-system): Create.
15632
15633         (Fpq_conn_defaults): Mule-ize.
15634         (Fpq_connectdb): Mule-ize & bug fix.
15635         (Fpq_connect_start): Mule-ize.
15636         (Fpq_set_client_encoding): Mule-ize.
15637         (Fpq_finish): Document `DEAD' connection status.
15638         (Fpq_clear): Ditto.
15639         (Fpq_pgconn): Mule-ize.
15640         (Fpq_exec): Mule-ize & bug fix.
15641         (Fpq_send_query): Ditto.
15642         (Fpq_get_result): Ditto.
15643         (Fpq_res_status): Mule-ize.
15644         (Fpq_result_error_message): Mule-ize.
15645         (Fpq_ntuples): fix comments.
15646         (Fpq_fname): Mule-ize.
15647         (Fpq_fnumber): Mule-ize.
15648         (Fpq_ftype): fix comments.
15649         (Fpq_get_value): Mule-ize.
15650         (Fpq_cmd_status): Ditto.
15651         (Fpq_cmd_tuples): Ditto.
15652         (Fpq_oid_value): Ditto.
15653         (Fpq_notifies): Ditto.
15654         (Fpq_lo_import): Ditto.
15655         (Fpq_lo_export): Ditto.
15656         (Fpq_get_line): Ditto.
15657         (Fpq_put_line): Mule-ize and bug fix.
15658         (syms_of_postgresql): Fix ifdef'ing, add pg-coding-system.
15659
15660 2000-03-10  SL Baur  <steve@musashimaru.m17n.org>
15661
15662         * postgresql.c (vars_of_postgresql): Mule-ize.
15663         (Fpq_conn_defaults): Ditto.
15664
15665 2000-03-12  Ben Wing  <ben@xemacs.org>
15666
15667         * alloc.c (Fmake_byte_code):
15668         * alloc.c (debug_string_purity_print):
15669         * alloc.c (pdump_backtrace):
15670         * alloc.c (pdump_get_indirect_count):
15671         * alloc.c (pdump_register_sub):
15672         * alloc.c (pdump_register_object):
15673         * alloc.c (pdump_register_struct):
15674         * alloc.c (pdump_dump_data):
15675         * alloc.c (pdump_reloc_one):
15676         Minor cleanups.
15677
15678         * console-msw.c:
15679         * console-msw.c (GetConsoleHwnd):
15680         * console-msw.c (msw_hide_console):
15681         * console-msw.c (msw_show_console):
15682         * console-msw.c (msw_ensure_console_buffered):
15683         * console-msw.c (msw_output_console_string):
15684         * console-msw.c (console_type_create_mswindows):
15685
15686         a) Added functions to manipulate the console window for use with
15687         shell support.
15688
15689         b) Added support for writing text to the console, which is now
15690         used under Windows when xemacs is not being run non-interactively,
15691         to write text that would otherwise be destined for stdout because
15692         under these circumstances, text written to stdout tends to
15693         disappear and not be seen.
15694
15695         * console-msw.h:
15696         * event-Xt.c:
15697         * event-Xt.c (x_event_to_emacs_event):
15698         * event-Xt.c (describe_event_window):
15699         * events-mod.h (XEMACS_MOD_CONTROL):
15700         * events.c:
15701         * events.c (Fmake_event):
15702         * events.c (character_to_event):
15703         * events.c (event_to_character):
15704         * events.c (format_event_object):
15705         * events.c (Fevent_modifiers):
15706         * events.h:
15707         * events.h (struct key_data):
15708         * events.h (struct button_data):
15709         * events.h (struct misc_user_data):
15710         * frame-x.c (Fcde_start_drag_internal):
15711         * frame-x.c (Foffix_start_drag_internal):
15712         * gpmevent.c (Freceive_gpm_event):
15713         * keymap.c:
15714         * keymap.c (bucky_sym_to_bucky_bit):
15715         * keymap.c (control_meta_superify):
15716         * keymap.c (make_key_description):
15717         * keymap.c (keymap_lookup_directly):
15718         * keymap.c (create_bucky_submap):
15719         * keymap.c (keymap_store):
15720         * keymap.c (define_key_check_and_coerce_keysym):
15721         * keymap.c (define_key_parser):
15722         * keymap.c (define_key_alternate_name):
15723         * keymap.c (Fdefine_key):
15724         * keymap.c (raw_lookup_key_mapper):
15725         * keymap.c (struct map_keymap_unsorted_closure):
15726         * keymap.c (map_keymap_unsorted_mapper):
15727         * keymap.c (map_keymap_sort_predicate):
15728         * keymap.c (map_keymap_sorted):
15729         * keymap.c (accessible_keymaps_mapper_1):
15730         * keymap.c (where_is_recursive_mapper):
15731         * keymap.c (describe_map_mapper):
15732         * keymap.c (describe_map_sort_predicate):
15733         * keymap.c (describe_map):
15734         * keymap.c (complex_vars_of_keymap):
15735         And a number of other files, the key modifier preprocessor
15736         constants that xemacs uses have names that conflict with constants
15737         defined under MS Windows for other purposes, so they were renamed
15738         to begin with the prefix XEMACS_. The variables that hold such
15739         modifiers were changed to consistently be of type int to fix
15740         various compile warnings.
15741
15742         * console.c (complex_vars_of_console):
15743         * device.c:
15744         * device-msw.c:
15745         * device-msw.c (mswindows_finish_init_device):
15746         * device-msw.c (msw_get_workspace_coords):
15747         * device-msw.c (mswindows_device_system_metrics):
15748         and various other files, added support for a new
15749         device property called offset-workspace which returns the position
15750         of the upper left corner of the workspace area and goes along with
15751         the existing size-workspace property.
15752
15753         * dialog-msw.c:
15754         * dialog-msw.c (push_bufbyte_string_as_unicode):
15755         * dialog-msw.c (mswindows_popup_dialog_box):
15756         Added support for XEmacs-style accelerator specifications in
15757         button text.  Note: I didn't add support for this under X Windows,
15758         and somebody needs to do this.
15759
15760         * dialog.c:
15761         * dialog.c (Fpopup_dialog_box):
15762         Documented the support for accelerators that was just mentioned.
15763
15764         editfns.c (get_home_directory): Changed behavior under Windows
15765         when HOME not defined; former behavior was irretrievably broken.
15766
15767         * emacs.c:
15768         * emacs.c (main_1):
15769         * emacs.c (main):
15770         * minibuf.c (clear_echo_area_internal):
15771         * minibuf.c (echo_area_append):
15772         * print.c:
15773         * print.c (std_handle_out_external):
15774         * print.c (std_handle_out_va):
15775         * print.c (fatal):
15776         * print.c (write_string_to_stdio_stream):
15777         * print.c (output_string):
15778         * print.c (debug_print):
15779         * print.c (debug_backtrace):
15780         * print.c (debug_short_backtrace):
15781         Cleaned up the code that prints text to stdout so that this can be
15782         changed to output into a console window instead under MS Windows,
15783         as described above.
15784
15785         * eval.c:
15786         * eval.c (DEFEND_AGAINST_THROW_RECURSION):
15787         * eval.c (internal_catch):
15788         * eval.c (unwind_to_catch):
15789         * eval.c (throw_or_bomb_out):
15790         * eval.c (condition_case_1):
15791         * eval.c (signal_1):
15792         * eval.c (check_error_state_sanity):
15793         * eval.c (call_with_suspended_errors_1):
15794         * eval.c (call_with_suspended_errors):
15795         * eval.c (reinit_vars_of_eval):
15796         Added code to catch throw loops and check for a pesky bug that may
15797         be gone now.
15798
15799         * event-msw.c:
15800         * event-msw.c (key_needs_default_processing_p):
15801         * event-msw.c (mswindows_wnd_proc):
15802         * event-msw.c (mswindows_modifier_state):
15803         * event-msw.c (emacs_mswindows_quit_p):
15804         * event-msw.c (vars_of_event_mswindows):
15805         a) Added support for using the alt key to select menu items as is
15806         standard under MS Windows.  This is controlled using the variable
15807         menu-accelerator-enabled, just like under X Windows.  There is an
15808         option on the options menu to turn this support on.  I really
15809         think that it should be on by default under Windows, but I'm not
15810         going to make this change yet.
15811
15812         b)  Added support for dynamic display size changes under Windows.
15813
15814         * event-stream.c:
15815         * event-stream.c (maybe_echo_keys):
15816         * event-stream.c (Fnext_event):
15817         * event-stream.c (command_builder_find_leaf):
15818         * event-stream.c (lookup_command_event):
15819         * event-stream.c (execute_command_event):
15820         * event-stream.c (pre_command_hook):
15821         * event-stream.c (post_command_hook):
15822         * event-stream.c (syms_of_event_stream):
15823         * event-stream.c (vars_of_event_stream):
15824         * event-stream.c (complex_vars_of_event_stream):
15825         * events.h (struct command_builder):
15826
15827         a) Tried to clean up a little bit the horribly written x-specific
15828         accelerator code that crept into this file.  I moved this code
15829         into menubar-x.c where it belongs. I also needed to move the
15830         command builder structure into the file events.h because it is
15831         accessed directly by this accelerator code.  What I didn't do, but
15832         which should be done at some point, is to properly abstract this
15833         code using device methods instead of the kludgy way that it
15834         currently hooks into the event code.
15835
15836         b) Added the lisp variables this-command-properties and
15837         last-command- properties, which should be used to synchronize two
15838         adjacent commands in preference to playing games with the variable
15839         this-command, which is typically what happens.
15840
15841         c) Added some slightly nasty code to hook into the lisp support
15842         for shifted- motion-key selection.  This is actually necessary for
15843         somewhat complicated reasons, which are described in
15844         simple.el. (NB: I think the proper thing would be to have the code
15845         that calls the pre and post command hooks also call out to generic
15846         lisp functions in simple.el, where all built-in stuff could be
15847         added.  I will think about this more.)
15848
15849         * event-unixoid.c (poll_fds_for_input):
15850         * lread.c (readchar):
15851         * redisplay-tty.c (tty_clear_frame):
15852         * redisplay-x.c (x_get_gc):
15853         * signal.c (interrupt_signal):
15854         And a whole bunch of other files: fixed up places that printed
15855         directly to stderr to instead call the function stderr_out so that
15856         the changes I made under Windows work correctly.
15857
15858         * filemode.c (mode_string):
15859         Warning fixes.
15860
15861         * frame-msw.c:
15862         * frame-msw.c (mswindows_size_frame_internal):
15863         Fixed the computation of frame size and position to keep the frame
15864         within the workspace area, rather than within the physical
15865         dimensions of the screen, so that the frame doesn't overlap window
15866         manager decorations, such as the start menu and toolbar, typically
15867         at the bottom of the screen.
15868
15869         * frame.c (vars_of_frame):
15870         Changed the default frame title format under MS Windows to consist
15871         of buffername-XEmacs, which is standard under MS Windows.  I think
15872         it might be a good idea to change this everywhere because I think
15873         it is superior to the current frame title format, but this is the
15874         kind of change that is likely to cause some people to get annoyed,
15875         so I'm not making it.
15876
15877         * glyphs-eimage.c (png_instantiate): Fixed some compile warnings.
15878
15879         * gui-msw.c (mswindows_handle_gui_wm_command):
15880         Fixed compile warnings.
15881
15882         * gui-x.c:
15883         * gui-x.c (strdup_and_add_accel):
15884         * gui-x.c (button_item_to_widget_value):
15885         * gui-x.h:
15886         Added code to automatically put an accelerator onto the beginning
15887         of menu items that don't have one as is now the standard, and is
15888         described more later.  Also fixed things so that the menu item
15889         name can be an evaluated expression, again a new standard.
15890
15891         * gui.c:
15892         * gui.c (gui_item_add_keyval_pair):
15893         * gui.c (make_gui_item_from_keywords_internal):
15894         * gui.c (gui_add_item_keywords_to_plist):
15895         * gui.c (gui_item_accelerator):
15896         * gui.c (gui_name_accelerator):
15897         * gui.c (gui_item_included_p):
15898         * gui.c (gui_item_display_flush_left):
15899         * gui.c (gui_item_display_flush_right):
15900         * gui.c (parse_gui_item_tree_item):
15901         * gui.c (parse_gui_item_tree_children):
15902         * gui.c (parse_gui_item_tree_list):
15903         Mule-ized.  Cleanup.  GCPRO addition.
15904
15905         * line-number.c (buffer_line_number):
15906         * lisp.h:
15907         * lisp.h (EMACS_INT_MAX):
15908         Added the manifest constant EMACS_INT_MIN corresponding to the
15909         existing constant EMACS_INT_MAX.  This is partially to fix compile
15910         warnings under Windows, and partly for cleanliness.
15911
15912         * menubar-msw.c:
15913         * menubar-msw.c (REPLACE_ME_WITH_GLOBAL_VARIABLE_WHICH_CONTROLS_RIGHT_FLUSH):
15914         * menubar-msw.c (msw_translate_menu_or_dialog_item):
15915         * menubar-msw.c (displayable_menu_item):
15916         * menubar-msw.c (populate_menu_add_item):
15917         * menubar-msw.c (populate_or_checksum_helper):
15918         * menubar-msw.c (populate_menu):
15919         * menubar-msw.c (update_frame_menubar_maybe):
15920         * menubar-msw.c (prune_menubar):
15921         * menubar-msw.c (msw_char_is_accelerator):
15922         * menubar-msw.c (unsafe_handle_wm_initmenu_1):
15923         * menubar-msw.c (mswindows_handle_wm_command):
15924         * menubar-msw.c (mswindows_handle_wm_initmenupopup):
15925         * menubar-msw.c (mswindows_handle_wm_initmenu):
15926         * menubar-msw.c (mswindows_update_frame_menubars):
15927         * menubar-msw.c (mswindows_free_frame_menubars):
15928         * menubar-msw.c (mswindows_popup_menu):
15929         Fixed a bug in handling accelerators where an extra character
15930         would be displayed in the menu item.  Also generalized the
15931         function displayable_menu_item because it is now used by the
15932         dialog box code as well.  And finally, added code in the functions
15933         that create the menubar to extract a list of accelerators for the
15934         top level menubar, which is used in the event code to determine
15935         whether a particular alt-key combination should be used to invoke
15936         a menu item, or should be passed through to access the standard
15937         XEmacs keymap binding for this key combination.
15938
15939         Much needed GCPROing.
15940
15941         * menubar-x.c:
15942         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
15943         * menubar-x.c (menu_item_descriptor_to_widget_value):
15944         * menubar-x.c (restore_in_menu_callback):
15945         * menubar-x.c (x_popup_menu):
15946         * menubar-x.c (menu_move_up):
15947         * menubar-x.c (menu_move_down):
15948         * menubar-x.c (menu_move_left):
15949         * menubar-x.c (menu_move_right):
15950         * menubar-x.c (menu_select_item):
15951         * menubar-x.c (command_builder_operate_menu_accelerator):
15952         * menubar-x.c (menu_accelerator_junk_on_error):
15953         * menubar-x.c (command_builder_find_menu_accelerator):
15954         * menubar-x.c (Faccelerate_menu):
15955         * menubar.h:
15956         Moved a whole bunch of code here that was previously in
15957         event-stream.c as described above.  There is also code connected
15958         to the new standard of adding an accelerator to the beginning of
15959         menu items that don't have one as described above and below.
15960
15961         * menubar.c:
15962         * menubar.c (menu_parse_submenu_keywords):
15963         * menubar.c (Fmenu_find_real_submenu):
15964         * menubar.c (Fnormalize_menu_item_name):
15965         * menubar.c (syms_of_menubar):
15966         * menubar.c (vars_of_menubar):
15967         * menubar.c (complex_vars_of_menubar):
15968
15969         a) Cleaned up a bunch of documentation and improved it.
15970
15971         b) XEmacs now automatically adds an accelerator onto the beginning
15972         of any menu items that don't have one.  I did this because there
15973         will inevitably be some menu items on the main menubar that don't
15974         have accelerators on them because the package that adds that
15975         particular menu item hasn't yet been fixed up to have accelerators
15976         in them and it looked rather strange to have some items with and
15977         some items without accelerators, especially since even in items
15978         without accelerators, you can, at least under windows, still
15979         access the item through an accelerator corresponding to the first
15980         character in the item's name.  If people don't like this behavior,
15981         I can add a variable to turn it off optionally, but I'm not sure
15982         this is a good idea because we really do need to have accelerators
15983         on all of the menu items, and if a package doesn't like the
15984         accelerators being put on the first character, then it should put
15985         the accelerators where they belong.
15986
15987         c) I made a behavior change, which is that the descriptor that
15988         specifies the text of the menu item, which formerly was just a
15989         string, can now also be an evaluated expression.  This makes this
15990         descriptor parallel with all of the others, which could also be
15991         evaluated expressions.  This also obviates the need for the
15992         keyword :label, which was previously listed in the documentation
15993         as unimplemented, and which was for the same purpose.
15994
15995         d) GCPROing.
15996
15997         * ntproc.c:
15998         * ntproc.c (new_child):
15999         * ntproc.c (sys_spawnve):
16000         * ntproc.c (find_child_console):
16001         * ntproc.c (sys_kill):
16002         Fixed compile warnings.  By the way, this file should really go
16003         away entirely, and this will happen as soon as Kirill makes his
16004         final round of process cleanups, which affect the function
16005         call-process.
16006
16007         * process-nt.c:
16008         * process-nt.c (struct nt_process_data):
16009         * process-nt.c (find_process_from_pid):
16010         * process-nt.c (send_signal_the_nt_way):
16011         * process-nt.c (enable_child_signals):
16012         * process-nt.c (find_child_console):
16013         * process-nt.c (send_signal_the_95_way):
16014         * process-nt.c (nt_finalize_process_data):
16015         * process-nt.c (ensure_console_window_exists):
16016         * process-nt.c (nt_create_process):
16017         * process-nt.c (nt_kill_child_process):
16018         * process-nt.c (nt_kill_process_by_pid):
16019         * process-nt.c (nt_open_network_stream):
16020         * process-nt.c (vars_of_process_nt):
16021         Copied over code from Emacs 20.5 to correctly send signals to sub-
16022         processes under Windows 95.  Also added code to automatically
16023         create and hide console window when a sub-process is created under
16024         Windows 95, which obviates the need for the separate runemacs.exe
16025         executable, and finally implemented some variables that were
16026         implemented in Emacs 20.5, but previously not in XEmacs.  These
16027         include mswindows- start-process-share-console and
16028         mswindows-start-process-inherit-error-mode. (Both of these only
16029         apply to Windows 95.)
16030
16031         * regex.c (regex_compile): Fixed a compile warning.
16032
16033         * select-msw.c:
16034         * select-msw.c (mswindows_own_selection):
16035         * select-msw.c (mswindows_get_foreign_selection):
16036         * select-msw.c (mswindows_disown_selection):
16037         * select-msw.c (console_type_create_select_mswindows):
16038         * select-msw.c (syms_of_select_mswindows):
16039         Cleaned up the file and implemented the device method
16040         selection_exists_p, which had accidentally been left out.  Also
16041         removed four lisp functions that were remnants from before the
16042         time when the selection code was properly device abstracted.
16043         These functions are no longer needed because there are generic
16044         equivalents, and because they were added recently and don't exist
16045         in FSF Emacs, I don't think there's any problem with just deleting
16046         them.
16047
16048         * sysdep.c:
16049         * sysdep.c (sys_subshell):
16050         Fixed a compile warning, although in this case there's probably
16051         something wrong with this code, and it ought to be looked into
16052         more thoroughly by somebody who understands it.
16053
16054         * window.c:
16055         * window.c (Fwindow_text_area_height):
16056         * window.c (Fwindow_width):
16057         * window.c (Fwindow_full_width):
16058         * window.c (Fwindow_pixel_width):
16059         * window.c (debug_print_window):
16060         * window.c (syms_of_window):
16061         Added functions window-text-area-height and window-full-width,
16062         which are functions for returning various width and height
16063         characteristics of a window. (One of these functions is necessary
16064         for making the file dialog box work correctly, and the other one
16065         was added for completeness.)  Also added a table to the
16066         documentation for window-height which describes the entire scheme
16067         for accessing width and height characteristics of a window.
16068
16069 2000-03-12  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16070
16071         * nt.c (fstat): Added a comment for another problem with
16072         non-encapsulated [f]stat(), reported by Adrian Aichner
16073         <aichner@ecf.teradyne.com>.
16074
16075 2000-03-11  Andy Piper  <andy@xemacs.org>
16076
16077         * window.c (make_dummy_parent): initialize subwindow instance
16078         cache.
16079         (Fset_window_configuration): zero extent_modiff.
16080
16081 2000-03-10  Andy Piper  <andy@xemacs.org>
16082
16083         * redisplay.c (Fredraw_frame): reset the changed_set flags so that
16084         more changes can be triggered.
16085         (Fredisplay_frame): ditto.
16086         (Fredraw_device): ditto.
16087         (Fredisplay_device): ditto.
16088         (redisplay_frame): make non-static.
16089         (redisplay_frame): call update_frame_gutter_geometry outside of
16090         display proper.
16091
16092         * gutter.h: declare update_frame_gutter_geometry.
16093
16094         * redisplay.h: declare redisplay_frame.
16095
16096         * gutter.c (update_frame_gutter_geometry): move geometry changes
16097         in update_frame_gutters here. Geometry changes can only occur
16098         outside of redisplay.
16099         (update_frame_gutters): remove geometry change code.
16100         (Fredisplay_gutter_area): make sure that we are in display when we
16101         update and that we have flushed any size changes.
16102
16103 2000-03-11  Andy Piper  <andy@xemacs.org>
16104
16105         * alloc.c (pdump_dump_data): remove i & count shadows.
16106
16107 2000-02-27  Mike Alexander  <mta@arbortext.com>
16108
16109         * sysdep.h: Declare pdump_read_file
16110
16111         * sysdep.c (pdump_read_file): New function
16112
16113         * alloc.c (pdump_load): Call pdump_read_file to get the portable
16114         dump data
16115
16116 2000-03-10  SL Baur  <steve@musashimaru.m17n.org>
16117
16118         * lrecord.h: add `lrecord_type_pgsetenv'.
16119
16120 2000-03-08  SL Baur  <steve@musashimaru.m17n.org>
16121
16122         * symsinit.h: declare (vars|syms)_of* functions.
16123         * lrecord.h: add `lrecord_type_pgconn' and 'lrecord_type_pgresult'.
16124
16125 2000-03-06  SL Baur  <steve@musashimaru.m17n.org>
16126
16127         * config.h.in: Add symbols HAVE_POSTGRESQL and HAVE_POSTGRESQLV7
16128
16129         * inline.c: Include postgresql.h lrecord stuffs to placate buggy
16130         GCCs.
16131
16132         * emacs.c (main_1): Call postgres initialization code.
16133
16134         * postgresql.h: New file.  PostgreSQL RDBMS support.
16135         * postgresql.c: New file.
16136
16137 2000-03-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
16138
16139         * redisplay-output.c (redisplay_output_display_block): Disable
16140         redundant code.
16141
16142 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
16143
16144         * mule-canna.c (Fcanna_henkan_region): Translate doc-string.
16145         (Fcanna_henkan_next): Ditto.
16146         (Fcanna_bunsetu_henkou): Ditto.
16147         (Fcanna_henkan_kakutei): Ditto.
16148         (Fcanna_henkan_end): Ditto.
16149         (Fcanna_henkan_quit): Ditto.
16150         (Fcanna_henkan_next): Set retun value correctly.
16151         (c2mu): Use unsigned char instead of signed char.
16152
16153 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
16154
16155         * emacs.c (main_1): Always call syms_of_gui.
16156         * inline.c: include gui.h
16157
16158 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
16159
16160         * redisplay.c (Vvisible_bell): Renamed from visible_bell and
16161         converted to Lisp_Object.
16162         (Qtop_bottom): New variable.
16163         (syms_of_redisplay): Initialize it.
16164         * redisplay.h (Vvisible_bell): Ditto.
16165         * sound.c (ding): Ditto and check if Vvisible_bell is nil.
16166         * redisplay-x.c (x_flash): When Vvisible_bell is top-bottom,
16167         only flash top and bottom.
16168
16169 2000-03-08  Andy Piper  <andy@xemacs.org>
16170
16171         * buffer.c (Frename_buffer): record new buffer name the right way.
16172
16173 2000-03-08  Andy Piper  <andy@xemacs.org>
16174
16175         * glyphs.c (update_subwindow): increase hash depth so that widget
16176         items get picked up properly.
16177
16178         * redisplay-output.c (compare_runes): increase hash depth so that
16179         widget items get picked up properly.
16180
16181 2000-03-08  Andy Piper  <andy@xemacs.org>
16182
16183         * gutter.c (output_gutter): add some debug.
16184
16185         * glyphs.h (struct Lisp_Image_Instance): add display_hash.
16186         (IMAGE_INSTANCE_DISPLAY_HASH): new macro.
16187         (XIMAGE_INSTANCE_DISPLAY_HASH): ditto.
16188
16189         * redisplay-output.c (compare_runes): use display_hash to
16190         determine if glyphs really are not the same.
16191
16192         * glyphs.c (update_subwindow): check display_hash to see if
16193         anything really needs to be updated. If not then do
16194         nothing. Record the display_hash after updating.
16195         (image_instance_equal): compare the image_instance face also.
16196
16197 2000-03-07  Yoshiki Hayashi  <yoshiki@xemacs.org>
16198
16199         * redisplay.h: Fix comment style.
16200
16201 2000-03-08  Jonathan Harris  <jhar@tardis.ed.ac.uk>
16202
16203         * consle-msw.h (struct mswindows_frame):
16204         Added new member paint_pending to indicate whether a WM_PAINT
16205         magic event has been queued for this frame.
16206
16207         * event-msw.c (mswindows_drain_windows_queue):
16208         Don't queue a WM_PAINT magic event if one is already queued.
16209         (emacs_mswindows_handle_magic_event): clear paint_pending flag.
16210
16211         * frame-msw.c (mswindows_init_frame_1): initialise paint_pending flag.
16212
16213 2000-03-07  Didier Verna  <didier@xemacs.org>
16214
16215         * dired.c: #include `regex.h' after `sysfile.h'.
16216
16217 2000-03-06  Martin Buchholz  <martin@xemacs.org>
16218
16219         * sound.c (init_nas_sound): Fix compiler warning.
16220
16221         * alloc.c (ALIASING_VOIDPP_DEREFERENCE): New.
16222         (FREE_STRUCT_P):
16223         (MARK_STRUCT_AS_FREE):
16224         (MARK_STRUCT_AS_NOT_FREE):
16225         Make `gcc -fstrict-aliasing' work properly.
16226
16227 2000-03-07  Jonathan Harris  <jhar@tardis.ed.ac.uk>
16228
16229         * device-msw.c (mswindows_finish_init_device): Call CoInitialize().
16230         (mswindows_delete_device): Call CoUnnitialize().
16231
16232         * event-msw.c (mswindows_wnd_proc): WM_DROPFILES: Decode Shortcuts.
16233
16234 2000-02-25    <CraigL@DyCon.com>
16235
16236         * process-nt.c: MinGW now has <shellapi.h>, but still needs
16237         <errno.h>.
16238
16239         * sysdep.c: This extern declaration for environ prevents MinGW
16240         from finding the variable in CRTDLL.DLL.
16241
16242         * s\mingw32.h (PBS_SMOOTH): Removed, now defined in cygwin's
16243         windows headers.
16244         (SHGFI_EXETYPE): ..
16245         (WM_MOUSEWHEEL): ..
16246         (_WIN32_IE): Added, needed to get the TCS_BOTTOM and TCS_VERTICAL
16247         definitions.
16248         (MMRESULT): Removed, now defined in cygwin's windows headers.
16249         (TIMECAPS): ..
16250         (uid_t,gid_t,pid_t,ssize_t): ..
16251         (_timeb): Removed, MinGW defines both _timeb and timeb.
16252         (HAVE_H_ERRNO): Added.
16253         (HAVE_TZNAME): Added, configure is not detecting this.
16254
16255 2000-02-03  IKEYAMA Tomonori <tomonori@suiyokai.org>
16256
16257         * chartab.h (XCHAR_TABLE_VALUE_UNSAFE): New macro.
16258         * syntax.c (syntax_match): Use it.
16259
16260         * cmds.c: Import auto-fill-chars from FSF Emacs.
16261         (Vauto_fill_chars): New variables.
16262         (internal_self_insert): Check Vauto_fill_chars.
16263         (vars_of_cmds):
16264         Declare auto-fill-chars as a Lisp variable and initialize it.
16265
16266 2000-03-05  Jonathan Harris  <jhar@tardis.ed.ac.uk>
16267
16268         * fileio.c (Fmake_symbolic_link):
16269         (Ffile_symlink_p):
16270         Run handlers even if local machine doesn't have symlinks.
16271
16272 2000-03-05  Jonathan Harris  <jhar@tardis.ed.ac.uk>
16273
16274         * event-msw.c (mswindows_drain_windows_queue):
16275         Don't generate paint magic events for non-XEmacs frames.
16276
16277 2000-03-05  Andy Piper  <andy@xemacs.org>
16278
16279         * redisplay.c (redisplay_frame): generate_displayable_area and
16280         friends assumes that we are not in GC, we therefore have to make
16281         sure that this doesn't happen.
16282
16283         * gutter.c (calculate_gutter_size): generate_displayable_area
16284         assumes that we are not in GC, we therefore have to make sure that
16285         this doesn't happen.
16286
16287 2000-03-05  Martin Buchholz  <martin@xemacs.org>
16288
16289         * opaque.c (DEFINE_LRECORD_IMPLEMENTATION): opaque_ptr ==> opaque-ptr
16290
16291 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
16292
16293         * redisplay.c (regenerate_window): Make sure we set a sane value
16294         for end_pos even if we jump out of the loop.
16295         (regenerate_window): Answer Ben's question :-).
16296         (start_end_of_last_line): Add may_error argument.
16297         (start_of_last_line):
16298         (end_of_last_line): Pass may_error = 0.
16299         (end_of_last_line_may_error): New function.
16300         (pixel_to_glyph_translation): Use it, so we don't crash in
16301         event_to_glyph.
16302
16303 2000-03-04  Andy Piper  <andy@xemacs.org>
16304
16305         * window.h (struct window): add gutter_extent_modiff.
16306
16307         * window.c (allocate_window): zero out gutter_extent_modiff.
16308
16309         * redisplay.h: declare sync_display_line_structs.
16310
16311         * redisplay.c (add_glyph_rune): add a better comment.
16312
16313         * redisplay-output.c (sync_display_line_structs): made non-static.
16314         (compare_runes): remove unneccesary glyph cachel access.
16315
16316         * gutter.h: declare gutter_extent_signal_changed_region_maybe.
16317
16318         * gutter.c (output_gutter): don't output the gutter if extent
16319         changes only involve extents in buffers. use 4 sets of display
16320         lines.
16321         (gutter_extent_signal_changed_region_maybe): new function. Mark
16322         extents in gutters as changed.
16323         (update_frame_gutters): use 4 sets of display lines.
16324         (reset_gutter_display_lines): ditto.
16325         (free_frame_gutters): ditto.
16326         (redraw_exposed_gutter): force output of gutters.
16327
16328         * frame.h (struct frame): add 4 sets of gutter display lines.
16329
16330         * extents.c: (extent_changed_for_redisplay): signal changes to
16331         extents in strings in the gutter as well as extents in buffers.
16332
16333 2000-03-02  Andy Piper  <andy@xemacs.org>
16334
16335         * gutter.c (specifier_vars_of_gutter): cosmetic changes.
16336
16337         * frame.c (Fmake_frame): make sure the gutters get initialized
16338         after the frame is visible.
16339         (set_frame_selected_window): re-arrange compilation macros a
16340         little.
16341         (change_frame_size_1): mark gutters changed.
16342
16343         * device.c (Fset_device_class): mark gutters changed.
16344
16345 2000-03-01  Andy Piper  <andy@xemacs.org>
16346
16347         * window.c (window_top_frame_gutter_height): deleted.
16348         (window_bottom_frame_gutter_height): ditto.
16349         (window_left_frame_gutter_height): ditto.
16350         (window_right_frame_gutter_height): ditto.
16351         (window_top_gutter_height): don't use them.
16352         (window_bottom_gutter_height): ditto.
16353         (window_left_gutter_width): ditto.
16354         (window_right_gutter_width): ditto.
16355         (Fsplit_window): ditto.
16356         (Fwindow_pixel_edges): don't use border dimensions here.
16357
16358         * scrollbar.c (update_scrollbar_instance): don't take gutters into account.
16359         (update_scrollbar_instance): ditto.
16360
16361         * redisplay.c (generate_modeline): don't take gutters into account.
16362         (generate_modeline): ditto.
16363         (redisplay_frame): small gutter display optimization.
16364
16365         * redisplay-x.c (x_output_vertical_divider): don't take gutters into account.
16366
16367         * redisplay-msw.c (mswindows_output_vertical_divider): don't take
16368         gutters into account.
16369
16370         * gutter.h (WINDOW_REAL_*_GUTTER_BOUNDS): remove bogus checks
16371         for window position and type.
16372
16373         * gutter.c (get_gutter_coords): fix for frame gutters.
16374         (update_frame_gutters): update frame geometry if the gutters have
16375         changed.
16376         (init_frame_gutters): record current gutter geometries.
16377
16378         * glyphs-msw.c (mswindows_subwindow_instantiate): remove unused
16379         var.
16380         (mswindows_widget_instantiate): ditto.
16381
16382         * frame.h (struct frame): add current_gutter_bounds.
16383
16384         * frame.c (change_frame_size_1): position window and minibuffer
16385         appropriately taking into account the frame gutters.
16386
16387         * frame-x.c: (x_initialize_frame_size): take into account the
16388         frame gutters.
16389
16390 2000-02-29  Stephen J. Turnbull  <stephen@xemacs.org>
16391
16392         * emacs.c (data-directory):  Xref `locate-data-file' in docstring.
16393
16394 2000-02-29  Stephen J. Turnbull  <stephen@xemacs.org>
16395
16396         * alloc.c (dumpopaquevec): Increase dimension for --with-canna.
16397
16398 1999-12-30  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
16399
16400         * file-coding.c (reset_decoding_stream): Clear previous
16401         detection state when autodetect.
16402
16403 2000-02-29  Didier Verna  <didier@xemacs.org>
16404
16405         * extents.c (set_extent_glyph_1): don't require extents to be
16406         attached.
16407
16408 2000-02-27  Andy Piper  <andy@xemacs.org>
16409
16410         * gutter.c (Fset_default_gutter_position): don't default left and
16411         right gutter visibility to t.
16412         (Fset_default_gutter_position): run
16413         default-gutter-position-changed-hook.
16414         (syms_of_gutter): add default-gutter-position-changed-hook.
16415
16416 2000-02-26  Andy Piper  <andy@xemacs.org>
16417
16418         * specifier.c (Fmake_specifier): add gutter references.
16419
16420         * gutter.h (RAW_WINDOW_GUTTER): new macro.
16421
16422         * lisp.h: declare Fvalid_plist_p.
16423
16424         * gutter.c (gutter_geometry_changed_in_window): mark the modeline
16425         as changed.
16426         (default_gutter_visible_p_changed_in_window): invalidate gutter as
16427         well as its visibility so that it gets reconstructed.
16428         (construct_window_gutter_spec): new function. Construct a string
16429         to be displayed in the gutter from a plist of strings. Take care
16430         to only use elements that are declared as visible.
16431         (calculate_gutter_size): use RAW_WINDOW_GUTTER instead of
16432         WINDOW_GUTTER.
16433         (gutter_validate): allow plists of strings in the specifier.
16434         (gutter_specs_changed): construct the real_gutter from the gutter
16435         specs using construct_window_gutter_spec.
16436         (gutter_visible_validate): gutter-visible is a new specifier type.
16437         (Fgutter_visible_specifier_p): new function for the new specifier.
16438         (syms_of_gutter): declare gutter-visible and
16439         Fgutter_visible_specifier_p.
16440         (specifier_type_create_gutter): intitalize new gutter-visible
16441         specifier.
16442         (reinit_specifier_type_create_gutter): ditto.
16443         (specifier_vars_of_gutter): use new specifier type for gutter
16444         visibility.
16445         (init_frame_gutters): construct real_gutter correctly.
16446         (Fgutter_specifier_p): beef up documentation.
16447         (Fgutter_size_specifier_p): ditto.
16448
16449         * winslots.h: add real_gutter slots.
16450
16451 2000-02-25  Andy Piper  <andy@xemacs.org>
16452
16453         * device-msw.c: Be kind to older cygwin versions. From Raymond
16454         Toy <toy@rtp.ericsson.se>.
16455
16456         * gui-msw.c (Fmswindows_shell_execute): Remove things unknown to
16457         earlier cygwins. From Raymond Toy <toy@rtp.ericsson.se>.
16458
16459 2000-02-25  Martin Buchholz  <martin@xemacs.org>
16460
16461         * elhash.c (MARK_OBJ): Practice macro hygiene.
16462
16463 2000-02-24  Martin Buchholz  <martin@xemacs.org>
16464
16465         * miscplay.c: s/__inline__/inline/g;
16466         * glyphs-msw.c (set_mono_pixel): INLINE ==> static inline
16467         (get_device_compdc): INLINE ==> static inline
16468         * *.[ch]: Change INLINE to INLINE_HEADER globally.
16469         find -name '*.h' | \
16470         xargs global-replace \
16471         's/(^|(?<=[^A-Za-z0-9_]))INLINE((?=[^A-Za-z0-9_])|$)/INLINE_HEADER/g'
16472
16473 2000-02-25  Andy Piper  <andy@xemacs.org>
16474
16475         * window.c (window_top_frame_gutter_height): new function.
16476         (window_top_window_gutter_height): ditto.
16477         (window_top_gutter_height): use them.
16478         (window_bottom_frame_gutter_height): new function.
16479         (window_bottom_window_gutter_height): ditto.
16480         (window_bottom_gutter_height): use them.
16481         (window_left_window_gutter_width): new function.
16482         (window_left_frame_gutter_width): ditto.
16483         (window_left_gutter_width): use them.
16484         (window_right_window_gutter_width): new function.
16485         (window_right_frame_gutter_width): ditto.
16486         (window_right_gutter_width): use them.
16487         (window_pixel_height): new function. calulate window pixel height
16488         with frame gutter involvement.
16489         (Fsplit_window): calculate new sizes taking frame gutters into
16490         account.
16491         (window_char_height_to_pixel_height): don't include frame gutters.
16492         (window_char_height): use window_pixel_height.
16493         (window_pixheight): rename from window_pixel_height.
16494         (change_window_height): use it.
16495         (window_pixel_height_to_char_height): don't include frame gutters.
16496         (window_char_width_to_pixel_width): ditto.
16497
16498 2000-02-25  Andy Piper  <andy@xemacs.org>
16499
16500         * glyphs.h (IMAGE_INSTANCE_FACE): glyph might be nil, don't crash
16501         if it is.
16502
16503 2000-02-24  Martin Buchholz  <martin@xemacs.org>
16504
16505         * alloc.c (staticpro):
16506         (staticpro_nodump):
16507         (dumpstruct):
16508         (dumpopaque):
16509         (pdump_wire):
16510         (pdump_wire_list):
16511         (compact_string_chars):
16512         (pdump_dump_wired):
16513         Convert:  if (foo) abort();  ==>  assert (! foo);
16514
16515         * eldap.c (Fldap_search_basic):
16516         (Fldap_add):
16517         (Fldap_modify):
16518         (Fldap_delete):
16519         Fix compiler warnings, and possible crashes if (random) return
16520         value were to be used.
16521
16522 2000-02-21  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16523
16524         * device-msw.c: Workaround ResetDC failure.
16525
16526         * frame-msw.c (msprinter_init_frame_3): Added an assertion before
16527         applying a devmode.
16528
16529         * redisplay-msw.c (get_frame_dc): Added start_page_p.
16530         (mswindows_text_width): Do not start printer page.
16531
16532         * console-msw.h (CHECK_MSGDI_DEVICE): Added this and friends.
16533
16534         * glyphs-msw.c: Added image methods to msprinter console and
16535         msprinter-specific image instantiation.
16536
16537 2000-02-20  Mike Alexander  <mta@arbortext.com>
16538
16539         * select-msw.c (Fmswindows_set_clipboard): GC protect more things
16540         to avoid crashes when selection-sets-clipboard is on
16541         (mswindows_own_selection): ditto
16542
16543 2000-02-19  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16544
16545         * glyphs-msw.c:
16546         * redisplay-msw.c (get_frame_dc):
16547         (get_frame_compdc):
16548         * console-msw.h:
16549         * device-msw.c (mswindows_init_device):
16550         (mswindows_delete_device):
16551         (msprinter_init_device):
16552         (msprinter_delete_device):
16553         * frame-msw.c (mswindows_init_frame_1):
16554         (mswindows_delete_frame):
16555         (msprinter_init_frame_3):
16556         (msprinter_delete_frame): Move compatible DC to device object from
16557         frame object, for both mswindows and msprinter. Only one at a time
16558         is needed, it is a real waste to have one per frame!
16559
16560 2000-02-23  Andy Piper  <andy@xemacs.org>
16561
16562         * glyphs.c: add dynamic width and height elements.
16563         (image_instance_equal): ditto.
16564
16565         * glyphs-widget.c (widget_query_geometry): calculate width and
16566         height dynamically if required.
16567         (initialize_widget_image_instance): initialize dynamic dimensions.
16568         (widget_instantiate): pick-up dynamic dimensions.
16569
16570         * glyphs.h (struct Lisp_Image_Instance): add width and height for
16571         dynamic determination. Add appropriate macros.
16572
16573         * gutter.h (WINDOW_GUTTER_BORDER_WIDTH): make non-integer
16574         dimensions safe.
16575         (WINDOW_GUTTER_SIZE): ditto.
16576         (WINDOW_GUTTER_SIZE_INTERNAL): ditto.
16577
16578         * redisplay-msw.c (get_frame_compdc): gcc can't cope with this
16579         inline.
16580         (get_frame_dc): ditto.
16581
16582         * redisplay.h (GLOBAL_RESET_CHANGED_FLAGS): don't reset faces
16583         here.
16584
16585 2000-02-23  Martin Buchholz <martin@xemacs.org>
16586
16587         * XEmacs 21.2.31 is released.
16588
16589 2000-02-22  Ben Wing <ben@xemacs.org>
16590
16591         * ntheap.c (allocate_heap): Make sure `ptr' is initialized.
16592
16593 2000-02-22  Andy Piper  <andy@xemacs.org>
16594
16595         * glyphs-x.c (x_widget_instantiate): don't explicitly resize here.
16596
16597 2000-02-21  Mike Sperber <mike@xemacs.org>
16598
16599         * .dbxrc:
16600         * .gdbinit:
16601         * Makefile.in.in: Remove obsolete EMACSBOOTSTRAP... environment
16602         variables.
16603
16604 2000-02-21  Mike Sperber <mike@xemacs.org>
16605
16606         * s/aix4.h: Declare getaddrinfo broken for AIX 4, which it is.
16607
16608 2000-02-21  Martin Buchholz <martin@xemacs.org>
16609
16610         * XEmacs 21.2.30 is released.
16611
16612 2000-02-20  Martin Buchholz  <martin@xemacs.org>
16613
16614         Performance hacking.
16615         * *.c (syms_of_*):
16616         Add INIT_LRECORD_IMPLEMENTATION macros, paired with
16617         DEFINE_LRECORD_IMPLEMENTATION macros in the same file.
16618         * emacs.c (main_1):
16619         * lisp.h (DEFUN):
16620         * console.c (DEFVAR_CONSOLE_LOCAL_1):
16621         * buffer.c (DEFVAR_BUFFER_LOCAL_1):
16622         * symeval.h (DEFVAR_SYMVAL_FWD):
16623         * symbols.c (guts_of_unbound_marker):
16624         Make all c_readonly objects also lisp_readonly and marked for life.
16625         * lrecord.h (struct lrecord_implementation):
16626         Document flags better.
16627         * lrecord.h (DEFINE_LRECORD_SEQUENCE_IMPLEMENTATION_WITH_PROPS):
16628         * lrecord.h (DECLARE_LRECORD):
16629         * lrecord.h (XSETRECORD):
16630         * lrecord.h (RECORDP):
16631         * lrecord.h (RECORD_TYPEP):
16632         * lrecord.h (RECORD_MARKER): New.
16633         * lrecord.h (error_check_*):
16634         * lrecord.h (CONCHECK_NONRECORD):
16635         * lrecord.h (MAKE_LRECORD_IMPLEMENTATION):
16636         * lrecord.h (INIT_LRECORD_IMPLEMENTATION): New.
16637         * lrecord.h (set_lheader_implementation):
16638         * lrecord.h (enum lrecord_type): New.
16639         * symeval.h (SYMBOL_VALUE_MAGIC_P):
16640         * alloc.c (disksave_object_finalization_1):
16641         * alloc.c (mark_object):
16642         * alloc.c (lrecord_type_index):
16643         * alloc.c (tick_lcrecord_stats):
16644         * alloc.c (Fgarbage_collect):
16645         * alloc.c (init_alloc_once_early):
16646         * alloc.c (pdump_load):
16647         * alloc.c (GC_CHECK_LHEADER_INVARIANTS): New.
16648         * alloc.c (lrecord_type_index): Delete.
16649         Make lisp object type indexes be constant.
16650           Makes (byte-compile) 5% faster.
16651         Put all marker functions into their own array.
16652           Makes (garbage-collect) 5% faster.
16653         Optimize SYMBOL_VALUE_MAGIC_P.
16654           Makes (byte-compile) 2-3% faster.
16655         * config.h.in (gc_checking_assert): New.
16656         * alloc.c: Use gc_checking_assert().
16657         * .dbxrc: Make compatible with new object type implementation.
16658         * .gdbinit: Make compatible with new object type implementation.
16659         * alloc.c: Delete all symbols defined only for debugging, such as
16660         Lisp_Type_Vector and lrecord_charset.
16661
16662 2000-02-21  Andy Piper  <andy@xemacs.org>
16663
16664         * gui-msw.c (Fmswindows_shell_execute): fix file location
16665         problems.
16666
16667         * buffer.c (Fkill_buffer): remove buffer from alist buffer
16668         unshowing so that set_window_buffer doesn't undo
16669         kill_buffer_hook's hard work.
16670
16671         * glyphs-widget.c (tab_control_query_geometry): don't count the
16672         first item when calculating geometry.
16673
16674         * glyphs.c (map_subwindow): remove redundant code.
16675         (update_frame_subwindows): be more circumspect about when to
16676         update subwindows.
16677
16678         * glyphs-x.c (x_update_widget): Properly fix sizing bug. Fix bug
16679         when items haven't changed. Update faces if faces have changed as
16680         well as just the widget face.
16681         (x_tab_control_update): Update faces if faces have changed as well
16682         as just the widget face.
16683
16684 2000-02-21  Jonathan Harris  <jhar@tardis.ed.ac.uk>
16685
16686         * device-msw.c: (mswindows_delete_device): Remove redundant DDE
16687         registration.
16688         (build_syscolor_string): Use mswindows_color_to_string to try to
16689         get a named color.
16690         (mswindows_device_system_metrics): Reverse the foreground and
16691         background colors so that they match the documentation.
16692
16693         * objects-msw.c: (mswindows_X_color_map): tweak some values so
16694         they match the default Windows palette.
16695         (mswindows_color_to_string): New function.
16696
16697 2000-02-21  Jonathan Harris  <jhar@tardis.ed.ac.uk>
16698
16699         * s/windowsnt.h: Only use __declspec(noreturn) with MSVC>=6.
16700
16701 2000-02-18  Olivier Galibert  <galibert@pobox.com>
16702
16703         * m/*, s/*: Removed obsolete DATA_SEG_BITS, PURE_SEG_BITS,
16704         WORD_MACHINE, SIGN_EXTEND_CHAR and EXPLICIT_SIGN_EXTEND.
16705
16706         * symbols.c (init_symbols_once_early): Removed obsolete
16707         DATA_SEG_BITS related kludge.
16708         (defvar_magic): Ditto.
16709
16710         * malloc.c: Removed obsolete DATA_SEG_BITS
16711         * ralloc.c: Ditto.
16712         * mem-limits.h: Ditto.
16713
16714         * Makefile.in.in: Removed obsolete HAVE_SHM
16715         * emacs.c: Ditto.
16716
16717 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
16718
16719         *  device-msw.c (mswindows_delete_device): Free DDE string
16720         handles.
16721
16722 2000-02-16  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16723
16724         * keymap.c (get_keyelt):
16725         * unexnt.c (unexec):
16726         * vm-limit.c (memory_warnings):
16727         * ntheap.c (recreate_heap):
16728         * ntheap.h (UNINIT_PTR):
16729         * select-msw.c (Fmswindows_get_clipboard):
16730         (Fmswindows_set_clipboard):
16731         * objects-msw.h (MSWINDOWS_BAD_HFONT):
16732         * objects-msw.c:
16733         * menubar-msw.c (displayable_menu_item):
16734         * glyphs-msw.c:
16735         * glyphs-msw.h (IMAGE_INSTANCE_MSWINDOWS_MASK):
16736         * sysdep.c (sys_subshell):
16737         * process-nt.c (nt_create_process):
16738         * nt.c (normalize_filename):
16739         (dostounix_filename):
16740         (unixtodos_filename):
16741         * ntproc.c (win32_executable_type):
16742         * ntplay.c (play_sound_data_1):
16743         (play_sound_file):
16744         * editfns.c (get_home_directory):
16745         * event-msw.c (struct winsock_stream):
16746         (mswindows_dde_callback):
16747         * device-msw.c (msprinter_init_device):
16748         (msprinter_get_devmode_copy): Frobbed syntax frivolities.
16749
16750         * toolbar-msw.c (mswindows_free_frame_toolbars): Paramters to
16751         mswindows_clear_toolbar were swapped!
16752
16753         * objects-msw.c:(colormap_t):
16754         (fontmap_t):
16755         * emacs.c (struct standard_args): Fixed const jumble.
16756
16757         * glyphs-widget.c (update_widget): Fixed comparison notation.
16758
16759         * event-msw.c (mswindows_dde_callback): Removed extraneous ';'.
16760
16761         * s\windowsnt.h (DOESNT_RETURN): Defined to support the MSVC
16762         __declspec(noreturn) syntax.
16763
16764 2000-02-19  Martin Buchholz  <martin@xemacs.org>
16765
16766         * eldap.c (Fldap_open):
16767         (Fldap_search_basic):
16768         (Fldap_add):
16769         (Fldap_modify):
16770         Use new coding system conversion macros.
16771
16772 2000-01-06  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
16773
16774         * console-tty.c (tty_init_console): Change MULE to FILE_CODING.
16775
16776 1999-11-27  Oscar Figueiredo  <Oscar.Figueiredo@di.epfl.ch>
16777
16778         * eldap.h (Fldap_search) Renamed from Fldap_search_internal:
16779         (Fldap_add, Fldap_modify, Fldap_delete): New functions
16780
16781         * eldap.c (Qadd, Qreplace): New constant symbols
16782         (Fldap_open): Use the LDAP_OPT_RESTART option to avoid
16783         interruptions by XEmacs signals
16784         Remove unnecessary calls to slow_down_interrupts and
16785         speed_up_interrupts
16786         (Fldap_search_basic): Renamed from Fldap_search_internal
16787         Added new optional parameter VERBOSE that triggers the
16788         display of progress messages
16789         Remove unnecessary calls to slow_down_interrupts and
16790         speed_up_interrupts
16791         LDAP result code analysis rewritten
16792         (Fldap_add, Fldap_modify, Fldap_delete): New functions
16793         (syms_of_eldap): Define the new symbols and functions
16794
16795
16796 2000-02-17  Martin Buchholz  <martin@xemacs.org>
16797
16798         * realpath.c: Determine PATH_MAX maximally portably.
16799
16800         * insdel.c (bytecount_to_charcount): Optimize.
16801         The function used to be optimized for entirely ASCII sequences.
16802         Now it is optimized for successive characters from the same
16803         charset.  This also wins big for _mostly_ ASCII sequences.
16804
16805         * fileio.c (Ffile_truename): convert return from realpath() using
16806         Qfile_name, not Qbinary.  Fixes obvious bug with non-ASCII symlinks.
16807         - Rewrite GCPROing slightly.
16808
16809         * sysdep.c (sys_open): Do filename conversion, like all other
16810         sys_* functions.  Fixes bug:
16811         (let ((file-name-coding-system 'iso-8859-2))
16812            (write-region x y latin2-name))
16813         ==> writes filename using internal encoding.
16814
16815 2000-02-18  Martin Buchholz  <martin@xemacs.org>
16816
16817         * buffer.c (DEFVAR_BUFFER_LOCAL_1): Turn on c_readonly. Always const.
16818         * console.c (DEFVAR_CONSOLE_LOCAL_1): Turn on c_readonly. Always const.
16819         * symeval.h (DEFVAR_SYMVAL_FWD): Turn on c_readonly. Always const.
16820         * eval.c (lrecord_subr): Remove this_one_is_unmarkable.
16821         * symbols.c (lrecord_symbol_value_forward): Remove this_one_is_unmarkable.
16822         * symbols.c (guts_of_unbound_marker): Turn on c_readonly.
16823         * lrecord.h (UNMARKABLE_LRECORD_HEADER_P): Delete.
16824         (CONST_IF_NOT_DEBUG): Delete.
16825         * alloc.c (this_one_is_unmarkable): Delete.
16826         (mark_object): Don't check for this_one_is_unmarkable. Use the
16827         c_readonly flag instead.
16828         * lisp.h (DEFUN): Define a Lisp_Subr as c_readonly.
16829
16830 2000-02-18  Jonathan Harris  <jhar@tardis.ed.ac.uk>
16831
16832         * event-msw.c (mswindows_drain_windows_queue):
16833         (emacs_mswindows_handle_magic_event): Remove attempt to optimise
16834         away redundant repaint events.
16835
16836 2000-02-17  Andy Piper  <andy@xemacs.org>
16837
16838         * redisplay.h: declare mark_redisplay_structs.
16839
16840         * redisplay.c (redisplay_window):
16841         (redisplay_frame): don't check subwindows_state_changed.
16842         (mark_redisplay): mark gutters here.
16843
16844         * glyphs.c: (instantiate_image_instantiator): always layout if we
16845         haven't done so already.
16846         (allocate_image_instance): don't mark as dirty.
16847         (update_subwindow): bind inhibit_quit.
16848
16849         * gutter.c (mark_gutters): new function.
16850
16851         * glyphs-x.c (x_update_widget): Always resize to get round a
16852         widget bug.
16853
16854         * glyphs-msw.c (mswindows_tab_control_update): remove `;' that was
16855         breaking absolutely everything.
16856
16857         * gutter.h: declare mark_gutters.
16858
16859 2000-02-16  Martin Buchholz <martin@xemacs.org>
16860
16861         * XEmacs 21.2.29 is released.
16862
16863 2000-02-15  Olivier Galibert  <galibert@pobox.com>
16864
16865         * fns.c (size_bit_vector): Fix computation of the size.
16866
16867 2000-02-15  Martin Buchholz  <martin@xemacs.org>
16868
16869         * *.[ch]: Change CONST to const globally.
16870         find -name '*.[ch]' | \
16871         xargs global-replace \
16872         's/(^|(?<=[^A-Za-z0-9_]))CONST((?=[^A-Za-z0-9_])|$)/const/g'
16873         - Remove vestigial references to CONST_IS_LOSING
16874
16875 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
16876
16877         * event-msw.c (mswindows_drain_windows_queue): Remove hack to
16878         bailout early on quit. Enqueue WM_PAINT events as XEmacs magic
16879         events instead of dispatching them directly.
16880         (mswindows_handle_paint): New function to do repainting.
16881         (mswindows_wnd_proc):
16882         (emacs_mswindows_handle_magic_event): Call above function.
16883
16884 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
16885
16886         * objects-msw.c (mswindows_create_font_variant): Return the new
16887         font handle.
16888         (initialize_font_instance): Get font metrics from the underlined
16889         variant of the font to cope with the case where the underlined
16890         font has a bigger descent.
16891
16892 2000-02-08   Daiki Ueno  <ueno@ueda.info.waseda.ac.jp>
16893
16894         * gui.c (gui_item_accelerator): Return the first underlined
16895         character in item name.
16896
16897 2000-02-11  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16898
16899         * lisp.h: Added Qprinter.
16900
16901         * general.c (syms_of_general): Initialized it.
16902
16903         * redisplay-msw.c (get_frame_dc): Conditionally start a new page.
16904         (get_frame_dc):
16905         (get_frame_compdc): Made inline.
16906
16907         * console.h (struct console_methods): Added eject_page method.
16908
16909         * frame.h: Added FRAME_DISPLAY_P and friends.
16910         Aligned backslahes in many macros in more readable fashion.
16911         Added page_number to struct frame, and an accessor macro
16912         for it.
16913
16914         * defice.h: Added DEVICE_DISPLAY_P and friends.
16915
16916         * device.c (Fdevice_printer_p): Used these.
16917
16918         * frame.c (allocate_frame_core): Initialize page number.
16919         (Fprint_job_page_number):
16920         (Fprint_job_eject_page): Implemented.
16921
16922         * frame-msw.c (msprinter_eject_page): Added method.
16923         (msprinter_start_page): Added.
16924
16925         * window.c (Fwindow_truncated_p): Fixed docstring.
16926         (Fwindow_last_line_visible_height): Implemented.
16927
16928 2000-02-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
16929
16930         * frame.c (change_frame_size_1): Undo 2000-02-03 change.
16931
16932 1999-12-20  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
16933
16934         * syntax.c (scan_words): Always advance at least one character.
16935
16936 2000-02-13  Andy Piper  <andy@xemacs.org>
16937
16938         * redisplay.c (add_glyph_rune): call get_glyph_cachel_index here
16939         to make sure the glyph is in the cachels.
16940
16941         * glyphs.h (struct Lisp_Image_Instance): make layout_changed a
16942         global image instance flag.
16943         (IMAGE_INSTANCE_NEEDS_LAYOUT): new macro.
16944         (XIMAGE_INSTANCE_NEEDS_LAYOUT): ditto.
16945
16946         * glyphs.c (allocate_image_instance): set dirty bits correctly.
16947         (Fset_image_instance_property): mark layout as changed.
16948         (invalidate_glyph_geometry_maybe): mark layout as changed.
16949         (glyph_width): use new NEEDS_LAYOUT macro.
16950         (glyph_ascent): ditto.
16951         (glyph_descent): ditto.
16952         (glyph_height): ditto.
16953         (image_instance_layout): mark layout as clean after laying out.
16954         (update_subwindow): don't mark layout as clean here.
16955
16956         * glyphs-x.h (IMAGE_INSTANCE_X_WIDGET_ID): undo C++ changes, they
16957         should no longer be needed.
16958
16959         * glyphs-x.c (x_update_widget): sanitize asserts.
16960         (x_finalize_image_instance): sanitize assignment to widgets.
16961
16962         * glyphs-widget.c (widget_instantiate): don't need to clear the
16963         layout flag here.
16964
16965 2000-02-13  Martin Buchholz  <martin@xemacs.org>
16966
16967         * sysdep.c (getcwd): Use standard prototype.
16968         * sysdep.h (getcwd): Use standard prototype.
16969
16970         * fns.c (Fsubseq): Change parameters to more natural ANSI Lisp
16971         (sequence, start, end).
16972         Remove redundant type checking.
16973         (Fmapconcat): Remove useless GCPRO, a wrong-headed attempt (in
16974         view of `caller-protects') to avoid a crash where the real fix was
16975         found elsewhere.
16976
16977 2000-02-12  Martin Buchholz  <martin@xemacs.org>
16978
16979         * glyphs-x.c (x_finalize_image_instance): Compile error fixes.
16980
16981         * s/sol2.h: Remove feature macro initialization.
16982
16983         * alloc.c (alloc_lcrecord): Add more type checking assertions.
16984         (vector_hash): New.  Code from internal_hash.
16985         * lrecord.h:
16986         Fix up allocation subsystem comments.
16987
16988         * config.h.in: Add __EXTENSIONS__ for Solaris.
16989
16990         * systime.h (EMACS_GETTIMEOFDAY): New.
16991         (EMACS_GET_TIME): Use EMACS_GETTIMEOFDAY.
16992         Remove Solaris-specific code.
16993         Use void* for the (ignored) second arg for gettimeofday().
16994
16995         * elhash.c (hash_table_hash): Implement it, finally.
16996         * elhash.c:  Use hashcode_t.
16997
16998         * linuxplay.c (sighandler): Fix prototypes to use SIGTYPE.
16999         * sunplay.c (sighandler): Fix prototype to use SIGTYPE.
17000
17001         * lisp.h (STRETCHY_STRUCT_SIZEOF): Delete.
17002         * fns.c (size_bit_vector):
17003         * alloc.c (size_vector):
17004         (make_vector_internal):
17005         (make_bit_vector_internal):
17006         (sweep_bit_vectors_1):
17007         Replace calls to STRETCHY_STRUCT_SIZEOF with offsetof expression.
17008
17009 2000-02-10  Martin Buchholz  <martin@xemacs.org>
17010
17011         * s/aix4.h: #define MAP_FAILED if sys/mman.h didn't.
17012         Include strings.h to avoid warnings for bzero and strcasecmp.
17013
17014 2000-02-10  Olivier Galibert  <galibert@pobox.com>
17015
17016         * alloc.c: Move STRETCHY_STRUCT_SIZEOF from here...
17017         * lisp.h (STRETCHY_STRUCT_SIZEOF): ...to here
17018
17019         * fns.c (size_bit_vector): New.  Declare bit vectors as a
17020         sequence.
17021
17022 2000-02-10  Olivier Galibert  <galibert@pobox.com>
17023
17024         * symeval.h (struct symbol_value_magic): Remove "next" kludge and
17025         use a value field instead.
17026         (symbol_value_forward_forward): Use value field.
17027         (DEFVAR_SYMVAL_FWD): Use value field.
17028         (DEFVAR_SYMVAL_FWD_INT): Added.  Dumps the int with dumpopaque.
17029         (DEFVAR_INT): Use DEFVAR_SYMVAL_FWD_INT.
17030         (DEFVAR_CONST_INT): Ditto.
17031         (DEFVAR_BOOL): Ditto.
17032         (DEFVAR_CONST_BOOL): Ditto.
17033         (DEFVAR_INT_MAGIC): Ditto.
17034         (DEFVAR_BOOL_MAGIC): Ditto.
17035
17036         * symbols.c (guts_of_unbound_marker): Use value field.
17037         * console.c (DEFVAR_CONSOLE_LOCAL_1): Ditto.
17038         * buffer.c (DEFVAR_BUFFER_LOCAL_1): Ditto.
17039
17040         * lisp.h: Declare dumpopaque and noninteractive1.
17041
17042         * alloc.c (dumpopaque): Added.
17043         (pdump_dump_opaquevec): Added.
17044         (pdump): Call pdump_dump_opaquevec to dump opaque data.
17045         (pdump_load): Reload opaque data.  Sync noninteractive1 with
17046         noninteractive.
17047
17048 2000-02-10  Andy Piper  <andy@xemacs.org>
17049
17050         * glyphs.c (image_instance_layout): if the size changes, mark it
17051         as such.
17052
17053         * redisplay-output.c (redisplay_output_layout): Update the
17054         subwindow here.
17055         (redisplay_output_subwindow): ditto.
17056
17057         * glyphs.c (update_subwindow): make sure we reset flags for
17058         layouts as well as everything else.
17059
17060         * glyphs-widget.c (layout_layout): don't need to set the instances
17061         dimensions here.
17062
17063 2000-02-09  Martin Buchholz  <martin@xemacs.org>
17064
17065         * device-x.c (x_init_device): Wrap calls to dll_*  in HAVE_SHLIB,
17066         not HAVE_DLOPEN, which is a lower-level thing.
17067
17068         * .cvsignore: Ignore gmon.out
17069
17070 2000-02-09  Hamish Macdonald <hamishm@lucent.com>
17071
17072         * .cvsignore: Ignore portable dumper xemacs.dmp file
17073
17074 2000-02-09  Andy Piper  <andy@xemacs.org>
17075
17076         * redisplay-output.c (redisplay_output_layout): be more clever
17077         about when we output based on the changed flags.
17078
17079         * glyphs.h (struct image_instantiator_methods): add update_method.
17080         (struct Lisp_Image_Instance): add changed flags. Declare new
17081         macros for manipulating them.
17082
17083         * glyphs.c (allocate_image_instance): renamed glyph -> parent.
17084         (image_instance_parent_glyph): find an image_instance's parent
17085         glyph or image_instance.
17086         (image_instance_layout): mark the size as changed.
17087         (set_image_instance_dirty_p): new function. mark an image
17088         instance, plus all of its parents, as dirty.
17089         (Fset_image_instance_property): use it.
17090         (Fglyph_animated_timeout_handler): use it.
17091         (update_subwindow): call update_widget and device methods for
17092         update_subwindow. Mark all changed flags as clean.
17093         (Fresize_subwindow): mark size as changed.
17094
17095         * glyphs-x.c (x_finalize_image_instance): try and detect gc
17096         failures.
17097         (x_update_subwindow): only resize subwindows here.
17098         (x_update_widget): new function. Update all changed properties of
17099         a widget.
17100         (x_resize_subwindow): deleted.
17101         (x_widget_set_property): deleted.
17102         (x_progress_gauge_set_property): deleted.
17103         (x_progress_gauge_update): new function. Implement recorded
17104         changes.
17105         (x_tab_control_update): ditto.
17106         (x_tab_control_set_property): deleted.
17107         (console_type_create_glyphs_x): declare new functions.
17108         (image_instantiator_format_create_glyphs_x): ditto.
17109
17110         * glyphs-widget.c (widget_set_property): mark text changed.
17111         (update_widget): new function. Update properties of a widget.
17112         (widget_instantiate): for layouts make sure we set their
17113         children's parent correctly.
17114         (tab_control_set_property): new function. Record changes that will
17115         take place under redisplay's control.
17116         (progress_gauge_set_property): ditto.
17117         (image_instantiator_progress_guage): declare new functions.
17118         (image_instantiator_tab_control): ditto.
17119
17120         * glyphs-msw.c (mswindows_update_subwindow): just do resizing here
17121         now.
17122         (mswindows_update_widget): new function. Update all properties on
17123         a widget that have changed.
17124         (mswindows_button_update): new function. Update a button's set
17125         state.
17126         (mswindows_tab_control_update): new function. Update the items in
17127         a tab.
17128         (mswindows_tab_control_set_property): deleted.
17129         (mswindows_progress_gauge_update): new function. Update the
17130         progress gauge's progress.
17131         (mswindows_widget_set_property): deleted. This is all done
17132         asynchronously now.
17133         (mswindows_progress_gauge_set_property): ditto.
17134         (console_type_create_glyphs_mswindows): declare new methods.
17135         (image_instantiator_format_create_glyphs_mswindows): ditto.
17136
17137         * frame-msw.c (msprinter_init_frame_1): Remove unused variables.
17138         (msprinter_set_frame_properties): ditto.
17139
17140         * console.h (struct console_methods): Add update_widget_method.
17141
17142 2000-02-09  Andy Piper  <andy@xemacs.org>
17143
17144         * gui-msw.c (Fmswindows_shell_execute): Make
17145         mswindows-shell-execute industrial strength.
17146
17147 2000-02-08  Martin Buchholz  <martin@xemacs.org>
17148
17149         * lrecord.h: Make macro argument `props' match member function `plist'.
17150         * fns.c (Fget):
17151         * fns.c (Fput):
17152         * fns.c (Fremprop):
17153         * fns.c (Fobject_plist):
17154         * alloc.c:
17155         * symbols.c:
17156         Object property list frobbing cleanup.
17157         - Allow any lisp object (compared with `eq'), not just symbols, as
17158           keys in object plists.
17159         - Move symbol plist frobbing into symbols.c, where it belongs.
17160         - Move string plist frobbing into alloc.c, where it belongs.
17161         - Everything's an lrecord now, so no need to test for symbolp, etc.
17162         - Fix up doc strings to refer to PROPERTY, not PROPNAME.
17163
17164         * extents.c: Reorder code to remove declarations.
17165
17166         * frame.h (store_in_alist): Remove useless declaration.
17167
17168 2000-02-07  Martin Buchholz  <martin@xemacs.org>
17169
17170         * event-Xt.c (x_has_keysym): Use XConvertCase only if available.
17171         * config.h.in: Add HAVE_XCONVERTCASE.
17172
17173 2000-02-07  Andy Piper  <andy@xemacs.org>
17174
17175         * glyphs.c (image_instance_layout): undo 2000-01-29 change since
17176         it breaks many things.
17177
17178 2000-02-07  Jan Vroonhof  <vroonhof@math.ethz.ch>
17179
17180         * src/syntax.h (SYNTAX_START_P): Check whether the two chars
17181         actually can start a common comment type.
17182         * src/syntax.h (SYNTAX_END_P): ditto for end.
17183
17184 2000-02-07  Martin Buchholz <martin@xemacs.org>
17185
17186         * XEmacs 21.2.28 is released.
17187
17188 2000-02-06  Martin Buchholz  <martin@xemacs.org>
17189
17190         * event-Xt.c (x_keysym_to_character): New.
17191         (maybe_define_x_key_as_self_inserting_character): New.
17192         (x_has_keysym): New.
17193         Auto-define all keys on the keyboard as self-insert-key.
17194
17195 2000-02-02  Martin Buchholz  <martin@xemacs.org>
17196
17197         * menubar.c (vars_of_menubar): A small code simplification.
17198
17199         * minibuf.c (echo_area_append): Workaround egcs-20000131 c++ compiler bug
17200
17201         * ExternalShell.c:
17202         * ExternalClient.c:
17203         * EmacsShell-sub.c:
17204         * EmacsManager.c:
17205         * EmacsFrame.c:
17206         Use consistent style for specifying X resources.
17207
17208         * symbols.c (Fset): Further implement SYMVAL_LISP_MAGIC.
17209         This makes (dontusethis-set-symbol-value-handler) actually usable.
17210
17211         * lrecord.h (lrecord_decription_type):
17212         * alloc.c (pdump_register_sub):
17213         (pdump_dump_data):
17214         (pdump_reloc_one):
17215         Add XD_LISP_OBJECT_ARRAY to describe multiple Lisp_Objects.
17216         Comply with XEmacs coding style.
17217         All lrecord descriptions updated to use XD_LISP_OBJECT with 2
17218         args, and XD_LISP_OBJECT_ARRAY with 3 args.
17219
17220         * keymap.c (Faccessible_keymaps):
17221         Make (accessible-keymaps map "\C-h") do the Right Thing.
17222         Make (accessible-keymaps map []) do the Right Thing.
17223         Make (accessible-keymaps map "") do the Right Thing.
17224         (check_keymap_definition_loop): New function.
17225         (keymap_store_internal): Keep luser from shooting self in foot,
17226           via (define-key ctl-x-4-map "p" global-map).
17227         Remove fullness slot from struct Lisp_Keymap, since hash tables
17228         are now reliable.
17229         (print_keymap): Remove 'Yuck' factor by simply printing "size %d".
17230
17231 2000-01-30  Martin Buchholz  <martin@xemacs.org>
17232
17233         * redisplay.c (init_redisplay): Fix small memory leak.
17234         * elhash.h:
17235         * elhash.c (pdump_reorganize_hash_table):
17236         Rename from reorganize_hash_table. Change prototype.
17237         Reuse the original memory for hentries.  Save 100k.
17238         * alloc.c (PDUMP_READ): new macro.
17239         * alloc.c (pdump_load): Replace LISP_TO_VOID with higher-level macros.
17240         * alloc.c: No need to #ifndef before #undef.
17241
17242         * print.c: Allow debug_print() to print readably by modifying
17243         debug_print_readably.  Use consistent variable names.
17244
17245         * .dbxrc: Try to get things to work even if stopped in a function
17246         without source available by explicitly specifying source files.
17247 2000-02-03  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17248
17249         * unexnt.c (_start): Removed bogus code which caused loading heap
17250         from differrent executable file.
17251         Removed bogus assignment to _fmode, which caused inconsistencies.
17252
17253 2000-02-03  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17254
17255         * s\windowsnt.h: Removed lots of #if 0 blocks of Emacs heritage.
17256         Have spawnve encapsulation regard DONT_ENCAPSULATE.
17257         Do not preliminary `#define signal sigset'.
17258
17259         * systime.h: Do not prototype environ on windows nt and cygwin,
17260         this conflicts with system header.
17261
17262         * syssignal.h: Use correct define for WINDOWSNT
17263
17264         * sysdep.h: Do not prototype environ on windows nt, this conflicts
17265         with system header.
17266
17267         * sysdep.c (near start of file): Fixed commentary and rearranged
17268         ifdefs in readable order.
17269         (NEED_STARTS): Do not force NEED_STARTS when PDUMPing.
17270         (start_of_text):
17271         (end_of_text):
17272         (end_of_data): Do not compile in if using PDUMP.
17273
17274         * symsinit.h: Prototyped vars_of_nt().
17275
17276         * ntproc.c (windows9x_p): Added, instead of os_subtype.
17277         (find_child_console): Use it.
17278         (sys_kill): Use it.
17279
17280         * ntheap.h: Do not extern os_subtype.
17281
17282         * ntheap.c (cache_system_info): Do not cache unneeded:
17283         nt_major_version, nt_minor_version and os_subtype.
17284         (recreate_heap): Do not compile in when PDUMPing.
17285
17286         * nt.c (geteuid and friends): Use the new varibale
17287         nt_fake_unix_uid, instead of hashing fake uid out of NT RID.
17288         (init_user_info): Removed the above mentioned hackery.
17289         (fstat, stat): Do not compile in if using MSVC 5.0 and above -
17290         stat has been fixed in the C runtime.
17291         (vars_of_nt): Added, defined the nt_fake_unix_uid variable there.
17292
17293         * file-coding.c (struct file_coding_dump): Do not define
17294         ucs_to_mule_table in the struct if not MULE.
17295         (struct struct lrecord_description fcd_description_1): Do not dump
17296         the above.
17297
17298         * emacs.c (main_1): Call vars_of_nt().
17299         (right before Fdump_emacs_data): Don't need lastfile if using both
17300         portabe dumper and system malloc.
17301
17302         * alloc.c (Fmemory_limit): Conditionalized out.
17303         (pdump): Use OPEN_BINARY for the portable dump file.
17304         (pdump_load): Ditto.
17305
17306 2000-02-02  Mike Alexander  <mta@arbortext.com>
17307
17308         * nt.c (convert_time): Set tm_isdst before calling mktime and
17309         avoid calling it at all if the compiler supports 64 bit integers.
17310         Also initialize utc_base_ft before using it.
17311
17312 2000-02-03   Daiki Ueno  <ueno@ueda.info.waseda.ac.jp>
17313
17314         * frame.c (change_frame_size_1): Take f->internal_border_width
17315         into consideration when calculating the width of the frame.
17316
17317 2000-02-01  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17318
17319         * window.c (frame_min_height):
17320         (frame_size_valid_p):
17321         (frame_pixsize_valid_p): Added.
17322         (check_frame_size): Generalized.
17323
17324         * window.h: Prototyped the above.
17325
17326         * lisp.h:
17327         * general.c: Added Qbottom_margin, Qduplex, Qlandscape,
17328         Qleft_margin, Qorientation, Qportrait, Qright_margin, Qtop_margin.
17329         Deleted Vwin32_* and Vbinary_process_* unused variables.
17330
17331         * device-msw.c (msprinter_init_device): Do not get printer font
17332         list; Added DEVMODE functions.
17333
17334         * frame-msw.c: Added lots of printer code.
17335
17336         * faces.c: Moved 'left-margin and 'right-margin defsymbols to
17337         general.c.
17338
17339         * console-msw.h: Added more msprinter device private slots.
17340
17341 2000-02-01  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17342
17343         * event-msw.c (key_needs_default_processing_p): Added.
17344         (mswindows_wnd_proc, WM_KEYUP, KEYDOWN): Call it.
17345
17346 2000-01-29  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17347
17348         * glyphs.c (image_instance_layout): Mark image instance as clean
17349         after layout.
17350         (glyph_dirty_p): Removed redundant function.
17351         (invalidate_glyph_geometry_maybe): Added.
17352         (update_glyph_cachel_data): Call it.
17353
17354         * glyphs.h: Prototyped it.
17355
17356         * redisplay.c (add_glyph_rune): Call it.
17357         (redisplay_window): Reset glyphs cachels when frame faces have
17358         changed, thus forcing recomputation of built-in border glyphs.
17359
17360 2000-01-30  Martin Buchholz  <martin@xemacs.org>
17361
17362         * Makefile.in.in: Make portable dumper and purify play well together.
17363         Add imperfect, but better than nothing, support for pdump.
17364         Remove xemacs.dmp when temacs is re-generated.
17365         Don't ignore errors when dumping xemacs.
17366
17367         * symbols.c (maybe_call_magic_handler): Remove one magic number.
17368
17369 2000-01-28  Andy Piper  <andy@xemacs.org>
17370
17371         * frame.c (allocate_frame_core): Use new Fset_window_buffer signature.
17372         (setup_normal_frame): ditto.
17373         (setup_frame_without_minibuffer): ditto.
17374         (setup_minibuffer_frame): ditto.
17375         (delete_frame_internal): ditto.
17376         (Fmake_frame_invisible): ditto.
17377         (Ficonify_frame): ditto.
17378
17379         * window.h: change Fset_window_buffer signature.
17380
17381         * window.c (Fsplit_window): Use new Fset_window_buffer signature.
17382         (Fset_window_buffer): allow recording of buffer if the window is
17383         the selected window.
17384         (window_loop): Use new Fset_window signature.
17385
17386 2000-01-23  Daniel Pittman  <daniel@danann.net>
17387
17388         * config.h.in: Added template for `HAVE_ATHENA_3D'
17389
17390 2000-01-29  Andy Piper  <andy@xemacs.org>
17391
17392         * glyphs-x.c (x_resize_subwindow): Try and catch bogus resizes.
17393
17394         * gutter.c (output_gutter): Don't output if the window isn't live.
17395
17396 2000-01-28  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17397
17398         * glyphs-msw.c (mswindows_unmap_subwindow): Fix of corrupted patch
17399         of 01/12/00: Moved SetFocus back here where it belongs.
17400
17401 2000-01-23  Andy Piper  <andy@xemacs.org>
17402
17403         * s/cygwin32.h: declare printer things.
17404
17405 2000-01-26  Andy Piper  <andy@xemacs.org>
17406
17407         * select.c (Fown_selection_internal): GCPRO bug fix from Mike
17408         Alexander.
17409
17410 2000-01-24  Andy Piper  <andy@xemacs.org>
17411
17412         * glyphs-msw.c (mswindows_locate_pixmap_file): Expand filename.
17413         (mswindows_button_instantiate): Make sure glyph is a pixmap.
17414
17415         * glyphs-widget.c (widget_instantiate): Avoid shadows.
17416
17417         * frame-msw.c (msprinter_init_frame_3): Nuke warning.
17418
17419         * glyphs-msw.c: (mswindows_string_to_color): remove declaration.
17420
17421         * redisplay-msw.c (mswindows_output_cursor): Avoid shadows.
17422         (mswindows_output_display_block): Avoid local shadows.
17423
17424         * event-msw.c (mswindows_enqueue_magic_event): Avoid shadows.
17425         (mswindows_enqueue_mouse_button_event): ditto.
17426         (mswindows_handle_gui_wm_command): remove declaration.
17427
17428         * console-msw.c (mswindows_canonicalize_console_connection): Avoid
17429         warnings.
17430
17431         * console-msw.h: Avoid shadows.
17432         (mswindows_get_toolbar_button_text):
17433         (emacs_mswindows_create_stream_pair):
17434         (emacs_mswindows_delete_stream_pair):
17435         (mswindows_handle_toolbar_wm_command): declare.
17436
17437         * device-msw.c (build_syscolor_string): Avoid shadows.
17438
17439 2000-01-23  Andy Piper  <andy@xemacs.org>
17440
17441         * glyphs-widget.c (widget_instantiate): reverse the items for
17442         layouts so that children are in the expected order.
17443
17444 2000-01-28  Martin Buchholz  <martin@xemacs.org>
17445
17446         * ralloc.c: safe_bcopy ==> memmove
17447         * gmalloc.c: Remove MEMMOVE_MISSING conditional code.
17448         * s/msdos.h: Remove BCOPY macros.
17449         * insdel.c (gap_right): Remove BCOPY conditional code.
17450         * insdel.c (gap_left): Remove BCOPY conditional code.
17451         XEmacs demands a working ANSI C compiler - hence memmove.
17452
17453         * regex.c (regex_compile): Remove accidental use of trigraphs.
17454
17455 2000-01-27  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17456
17457         * event-msw.c (mswindows_enqueue_misc_user_event): Initialize
17458         event timestamp.
17459
17460 2000-01-26  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17461
17462         * event-msw.c (mswindows_drain_windows_queue): Added the
17463         parameter.
17464         (mswindows_need_event): Commented the call to
17465         mswindows_drain_windows_queue().
17466         (emacs_mswindows_quit_p): Lookup the windows for keyboard messages
17467         only.
17468
17469         * console-msw.h: Moved a few function prototypes here from
17470         event-msw.c.
17471
17472         * gui-msw.c (mswindows_handle_gui_wm_command): Changed the ID
17473         parameter from unsigned short to unsigned long.
17474         (Fmswindows_shell_execute): Added return value.
17475
17476 2000-01-27  URA Hiroshi <ura@hiru.aoba.yokohama.jp>
17477
17478         * sysdep.c (init_system_name):
17479           process-unix.c (unix_canonicalized_host_name):
17480         Don't call freeaddrinfo() if getaddrinfo() fails.
17481
17482         * process-unix.c (unix_open_unix_network_stream):
17483         Moved the code to get a port # into address loop.
17484
17485 2000-01-27  Martin Buchholz  <martin@xemacs.org>
17486
17487         * buffer.c (reinit_vars_of_buffer):
17488         The right place to initialize conversion_in_dynarr and
17489         conversion_out_dynarr.
17490
17491         * alloc.c (pdump): Use the real open() till sys_open() is functional.
17492
17493         * process-unix.c (unix_canonicalize_host_name): Muleize.
17494         (unix_open_network_stream): Muleize.
17495
17496         * buffer.h: Fix up prototypes for ralloc.c functions.
17497
17498 2000-01-27  URA Hiroshi <ura@hiru.aoba.yokohama.jp>
17499         * config.h.in: added HAVE_GETADDRINFO and HAVE_GETNAMEINFO
17500         * sysdep.c: In init_system_name(), add code to use getaddrinfo()
17501                 instead of gethostbyname()
17502         * process-unix.c: In unix_canonicalize_host_name() and
17503                 unix_open_network_stream(), add code to use getaddrinfo()
17504                 instead of gethostbyname().
17505
17506 2000-01-27  Daniel Pittman <daniel@danann.net>
17507
17508         * device-x.c (x_init_device): Warn at run-time if using Athena 3d
17509         libs when built with flat Athena.
17510
17511 2000-01-27  Martin Buchholz  <martin@xemacs.org>
17512
17513         * ralloc.c: Replace SIZE (conflicts with Windows headers) with size_t.
17514         Use coding standards for function prototypes.
17515
17516 2000-01-25  Martin Buchholz  <martin@xemacs.org>
17517
17518         * dialog-msw.c (push_lisp_string_as_unicode):
17519         * doc.c (unparesseuxify_doc_string):
17520         * dired.c (Fuser_name_completion_1):
17521         * dired.c (Fuser_name_all_completions):
17522         * dired.c (free_user_cache):
17523         * dired.c (user_name_completion):
17524         * console-x.c (get_display_arg_connection):
17525         * minibuf.c (clear_echo_area_internal):
17526         * minibuf.c (echo_area_append):
17527         * eldap.c (Fldap_open):
17528         * eldap.c (Fldap_search_internal):
17529         * frame-x.c (x_set_frame_text_value):
17530         * frame-x.c (x_set_frame_properties):
17531         * frame-x.c (x_create_widgets):
17532         * redisplay-tty.c (term_get_fkeys_1):
17533         * objects-x.c (x_parse_nearest_color):
17534         * objects-x.c (x_valid_color_name_p):
17535         * objects-x.c (x_initialize_font_instance):
17536         * objects-x.c (x_list_fonts):
17537         * objects-x.c (x_find_charset_font):
17538         * tooltalk.c (Fadd_tooltalk_message_arg):
17539         * tooltalk.c (Fadd_tooltalk_pattern_attribute):
17540         * tooltalk.c (Fadd_tooltalk_pattern_arg):
17541         * process-unix.c (unix_create_process):
17542         * ntproc.c (sys_spawnve):
17543         * sound.c (Fplay_sound_file):
17544         * sound.c (Fplay_sound):
17545         * buffer.c (init_initial_directory):
17546         * buffer.c (init_buffer):
17547         * editfns.c (init_editfns):
17548         * editfns.c (Ftemp_directory):
17549         * editfns.c (Fuser_full_name):
17550         * editfns.c (uncache_home_directory):
17551         * editfns.c (get_home_directory):
17552         * editfns.c (Fuser_home_directory):
17553         * editfns.c (Fformat_time_string):
17554         * editfns.c (Fcurrent_time_string):
17555         * gui-x.c (button_item_to_widget_value):
17556         * database.c (Fopen_database):
17557         * event-Xt.c (x_to_emacs_keysym):
17558         * event-Xt.c (x_event_to_emacs_event):
17559         * event-Xt.c (describe_event_window):
17560         * event-msw.c (mswindows_wnd_proc):
17561         * glyphs-eimage.c (jpeg_instantiate):
17562         * glyphs-eimage.c (gif_instantiate):
17563         * glyphs-eimage.c (png_instantiate):
17564         * glyphs-eimage.c (tiff_instantiate):
17565         * glyphs-x.c (xbm_instantiate_1):
17566         * glyphs-x.c (x_xbm_instantiate):
17567         * glyphs-x.c (x_xface_instantiate):
17568         * glyphs-x.c (autodetect_instantiate):
17569         * glyphs-x.c (cursor_font_instantiate):
17570         * glyphs-x.c (x_widget_instantiate):
17571         * glyphs-x.c (x_widget_set_property):
17572         * glyphs-x.c (x_widget_property):
17573         * glyphs-x.c (BUILD_GLYPH_INST):
17574         * print.c (write_string_to_stdio_stream):
17575         * print.c (output_string):
17576         * print.c (Falternate_debugging_output):
17577         * print.c (Fexternal_debugging_output):
17578         * glyphs-msw.c (extract_xpm_color_names):
17579         * glyphs-msw.c (mswindows_xpm_instantiate):
17580         * glyphs-msw.c (bmp_instantiate):
17581         * glyphs-msw.c (resource_name_to_resource):
17582         * glyphs-msw.c (mswindows_resource_instantiate):
17583         * glyphs-msw.c (xbm_instantiate_1):
17584         * glyphs-msw.c (mswindows_xbm_instantiate):
17585         * glyphs-msw.c (mswindows_xface_instantiate):
17586         * glyphs-msw.c (mswindows_widget_instantiate):
17587         * glyphs-msw.c (add_tree_item):
17588         * glyphs-msw.c (add_tab_item):
17589         * glyphs-msw.c (mswindows_combo_box_instantiate):
17590         * glyphs-msw.c (mswindows_widget_property):
17591         * glyphs-msw.c (mswindows_combo_box_property):
17592         * glyphs-msw.c (mswindows_widget_set_property):
17593         * console.c (stuff_buffered_input):
17594         * objects-msw.c (mswindows_initialize_color_instance):
17595         * objects-msw.c (mswindows_valid_color_name_p):
17596         * objects-msw.c (mswindows_list_fonts):
17597         * objects-msw.c (mswindows_font_instance_truename):
17598         * bytecode.c (optimize_compiled_function):
17599         * select-x.c (symbol_to_x_atom):
17600         * select-x.c (x_atom_to_symbol):
17601         * select-x.c (hack_motif_clipboard_selection):
17602         * select-x.c (selection_data_to_lisp_data):
17603         * select-x.c (lisp_data_to_selection_data):
17604         * select-x.c (Fx_get_cutbuffer_internal):
17605         * select-x.c (Fx_store_cutbuffer_internal):
17606         * buffer.h (TO_EXTERNAL_FORMAT): New function.
17607         * buffer.h (TO_INTERNAL_FORMAT): New function.
17608         * emacs.c (make_arg_list_1):
17609         * emacs.c (make_argc_argv):
17610         * emacs.c (main_1):
17611         * emacs.c (Fdump_emacs):
17612         * emacs.c (split_string_by_emchar_1):
17613         * file-coding.h:
17614         * lisp.h:
17615         * lstream.h:
17616         * symsinit.h:
17617         * device-x.c (x_init_device):
17618         * device-x.c (Fx_valid_keysym_name_p):
17619         * device-x.c (Fx_get_font_path):
17620         * device-x.c (Fx_set_font_path):
17621         * glyphs.c (bitmap_to_lisp_data):
17622         * glyphs.c (pixmap_to_lisp_data):
17623         * alloc.c (make_ext_string): Use coding system arguments.  Update
17624         all callers.
17625         * alloc.c (build_string):
17626         * callproc.c (child_setup):
17627         * callproc.c (init_callproc):
17628         * fileio.c (lisp_strerror):
17629         * fileio.c (directory_file_name):
17630         * fileio.c (Fexpand_file_name):
17631         * fileio.c (Ffile_truename):
17632         * fileio.c (Fsysnetunam):
17633         * fileio.c (Fdo_auto_save):
17634         * sysdep.c (sys_readdir):
17635         * tests.c: New file.  Allow adding C tests.
17636         Replace GET_* macros with a more comprehensible and flexible
17637         interface, TO_INTERNAL_FORMAT() and TO_EXTERNAL_FORMAT().
17638         Modify all calls.
17639         Any coding system can be used to do format conversion.
17640         Eliminate enum external_data_format.
17641         Eliminate convert_to_external_format.
17642         Eliminate convert_to_internal_format.
17643         Make sure file-name, keyboard, terminal, and ctext are always
17644         defined as coding systems or aliases.  Make
17645         file-name-coding-system, terminal-coding-system, and
17646         keyboard-coding-system magical variables that are equivalent to
17647         defining the corresponding coding system aliases.
17648
17649         * file-coding.c (Fcoding_system_canonical_name_p): New function.
17650         * file-coding.c (Fcoding_system_alias_p): New function.
17651         * file-coding.c (Fcoding_system_aliasee): New function.
17652         * file-coding.c (append_suffix_to_symbol): New function.
17653         * file-coding.c (dangling_coding_system_alias_p): New function.
17654         * file-coding.c (Ffind_coding_system):
17655         * file-coding.c (Fcopy_coding_system):
17656         * file-coding.c (encode_coding_no_conversion):
17657         * file-coding.c (syms_of_file_coding):
17658         * file-coding.c (vars_of_file_coding):
17659         Rewrite coding system alias code.
17660         Allow nested aliases, like symbolic links.
17661         Allow redefinition of coding system aliases.
17662         Prevent existence of dangling coding system aliases.
17663
17664         * dired.c (Fuser_name_completion_1):
17665         * dired.c (Fuser_name_all_completions):
17666         A crash would happen if user did QUIT in the middle of building
17667         user_name_cache.  Remove redundant code in mainline and unwind_protect.
17668
17669         * lisp.h:
17670         * dynarr.c (Dynarr_min_size): Make static.  Increase value to 8.
17671
17672         * lstream.c (make_fixed_buffer_input_stream): Take a void *, not
17673         an unsigned char *.  Update all callers.
17674
17675 2000-01-26  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17676
17677         * callproc.c (Fcall_process_internal): Ignore Vbinary-process_output.
17678
17679 2000-01-25  Martin Buchholz  <martin@xemacs.org>
17680
17681         * elhash.c (hentry_description): Use more portable definition.
17682         (resize_hash_table): Initialize new hentries using
17683         xnew_array_and_zero, thereby simplifying the code.
17684
17685         * mule-charset.c (make_charset): Make sure entire object is
17686         initialized, to avoid Purify warnings.
17687
17688         * alloc.c (resize_string): Fix unlikely crash with big strings.
17689
17690 2000-01-24  Martin Buchholz  <martin@xemacs.org>
17691
17692         * realpath.c (xrealpath):
17693         Don't call getwd().
17694
17695 2000-01-25  Martin Buchholz  <martin@xemacs.org>
17696
17697         * lread.c (read_bit_vector): Fix memory leak reading literal bit vectors.
17698
17699 1999-12-28  Max Matveev  <max@melbourne.sgi.com>
17700
17701         * unexelfsgi.c (unexec): Change the way we decide which segment
17702         should be extended.
17703
17704         Assumption that .bss section should be outside the PT_LOADable
17705         segment. On IRIX with version 6.2 and above, .bss (or .sbss, if
17706         it's present) is inside the 'data' segment. This would fail the
17707         test which was used to find a segment to grow and cover new
17708         heap. Instead of this assumption, I created another one - on IRIX
17709         the segment to grow should start below .bss and it's address
17710         should extent above the end of .bss. Once this segment is
17711         identified, it's grown to accommodate the new heap and new
17712         zero-length .bss section is added at the end of .data2.
17713
17714 2000-01-25  Martin Buchholz  <martin@xemacs.org>
17715
17716         * eval.c (Feval): Wrong number of arguments should use original
17717         function, not the indirect_function version of it.
17718
17719 2000-01-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
17720
17721         * glyphs-x.c (x_button_instantiate): Don't add image if
17722         it is not a pixmap.
17723         (x_locate_pixmap_file): Call Fexpand_file_name when file name
17724         is relative.
17725
17726 2000-01-21  Yoshiki Hayashi  <yoshiki@xemacs.org>
17727
17728         * symeval.h (DEFVAR_LISP_MAGIC): Remove semicolon after macro
17729         declaration.
17730         (DEFVAR_INT_MAGIC): Ditto.
17731         (DEFVAR_BOOL_MAGIC): Ditto.
17732         * glyphs.h: Reindent backslash.
17733
17734 2000-01-24  Martin Buchholz  <martin@xemacs.org>
17735
17736         * glyphs-widget.c (layout_query_geometry):
17737         (layout_layout): Use correct types for gheight, gwidth.
17738
17739 2000-01-24  Martin Buchholz  <martin@xemacs.org>
17740
17741         * EmacsManager.c (QueryGeometry): Purified.
17742
17743 2000-01-23  Martin Buchholz  <martin@xemacs.org>
17744
17745         * alloc.c (make_float): Make sure entire object is initialized, to
17746         avoid Purify warnings.
17747         (pdump_register_sub): Remove useless assignment.
17748         (pdump): Use xmalloc, not malloc.
17749         (pdump_load): Use xmalloc, not malloc.
17750
17751 2000-01-23  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17752
17753         * callproc.c:
17754         * dired-msw.c:
17755         * fileio.c:
17756         * process-nt.c:
17757         * redisplay-msw.c:
17758         * sysdep.c: Removed redundant #include <windows.h>
17759
17760 2000-01-22  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17761
17762         * frame.c (delete_frame_internal): Do not delete device when its
17763         implementation so declares.
17764         (delete_frame_internal): Set device selected frame to nil when
17765         last frame goes away.
17766
17767         * device-msw.c (msprinter_device_system_metrics): Implemented.
17768         (mswindows_device_system_metrics): Added 'device-dpi property.
17769
17770         * device.c: (Fdevice_printer_p): Added.
17771         Added 'offset-workspace device metric.
17772
17773         * console.h (device_metrics): Declared DM_offset_workspace.
17774
17775 2000-01-23  Martin Buchholz  <martin@xemacs.org>
17776
17777         * fileio.c (Ffile_truename): Remove pointless and confusing
17778         initialization of elen.
17779
17780         * glyphs-widget.c: Compiler warning fixes.
17781
17782 2000-01-23  Gunnar Evermann  <ge204@eng.cam.ac.uk>
17783
17784         * process.h (PROCESS_LIVE_P): Modify to take a Lisp_Process
17785         instead of a Lisp_Object as argument to make it consistent with
17786         the other LIVE_P macros.
17787         (CHECK_LIVE_PROCESS): New macro.
17788
17789         * process.c: Declare Qprocess_live_p.
17790         (Fprocess_live_p): New function.
17791         (create_process): Use PROCESS_LIVE_P.
17792         (read_process_output): Ditto.
17793         (set_process_filter): Ditto.
17794         (Fdelete_process): Ditto.
17795         (kill_buffer_processes): Ditto
17796         (process_send_signal): Use CHECK_LIVE_PROCESS.
17797         (Fprocess_input_coding_system): Check whether process is still
17798         alive (fix PR#1061).
17799         (Fprocess_output_coding_system): Ditto.
17800         (Fprocess_coding_system): Ditto.
17801         (Fset_process_input_coding_system): Ditto.
17802         (Fset_process_output_coding_system): Ditto.
17803
17804 2000-01-23  Andy Piper  <andy@xemacs.org>
17805
17806         * glyphs.h (struct Lisp_Image_Instance): change format by unifying
17807         layout and widget.
17808
17809         * glyphs.c (mark_image_instance): take into account changed
17810         image_instance format.
17811         (image_instance_equal): ditto.
17812         (image_instance_hash): ditto.
17813
17814         * glyphs-widget.c (widget_instantiate): Incorporate layout
17815         instantiation here. Delay layout of the layout until later.
17816         (layout_instantiate): deleted.
17817         (layout_query_geometry): new function. get the geometry of a
17818         layout.
17819         (layout_layout): layout a layout dynamically.
17820         (image_instantiator_widget): New function - splitting up
17821         image_instantiator_format_create_glyphs_widget for netwinder
17822         compilation.
17823         (image_instantiator_buttons):
17824         (image_instantiator_edit_fields):
17825         (image_instantiator_combo_box):
17826         (image_instantiator_scrollbar):
17827         (image_instantiator_progress_guage):
17828         (image_instantiator_tree_view):
17829         (image_instantiator_tab_control):
17830         (image_instantiator_labels):
17831         (image_instantiator_layout): ditto.
17832         (image_instantiator_format_create_glyphs_widget): Call preceding
17833         functions.
17834
17835 2000-01-22  Martin Buchholz  <martin@xemacs.org>
17836
17837         * process.c (Fset_process_coding_system):
17838         * device-x.c (Fx_keysym_hash_table):
17839         Docstring fixes.
17840
17841         * lstream.c (Lstream_write): Return documented value, not 0.
17842
17843         * fileio.c (directory_file_name):
17844         (Fsubstitute_in_file_name):
17845         (Fsubstitute_insert_file_contents_internal):
17846         (Fwrite_region_internal):
17847         * emacs.c:
17848         * sysdep.c:
17849         * getloadavg.c:
17850         * systty.h:
17851         Remove vestigial APOLLO-conditional code.
17852
17853 2000-01-21  Martin Buchholz  <martin@xemacs.org>
17854
17855         * getpagesize.h: Add guard macros.
17856         * libsst.h: Add guard macros.
17857         * libst.h: Add guard macros.
17858         * line-number.h: Add guard macros.
17859         * ndir.h: Add guard macros.
17860         * sysfloat.h: Add guard macros.
17861         * sysfile.h: Add guard macros.
17862         * sysproc.h: Add guard macros.
17863         * syswait.h: Add guard macros.
17864         * xintrinsic.h: Add guard macros.
17865         * xintrinsicp.h: Add guard macros.
17866         * xmmanager.h: Add guard macros.
17867         * xmmanagerp.h: Add guard macros.
17868         * xmprimitive.h: Add guard macros.
17869         * xmu.h: Add guard macros.
17870         * gpmevent.h: Add copyright statement. Add guard macros.
17871         * miscplay.h: Add guard macros.
17872         * *.h: Use consistent C-standards-approved guard macro names.
17873
17874         * opaque.c (make_opaque): Switch parameter order.
17875         * opaque.h (make_opaque): Switch parameter order.
17876         Update all callers.
17877         * buffer.h (MAKE_MIRROR_TRT_TABLE): Use symbolic constant OPAQUE_CLEAR.
17878
17879         * config.h.in (type_checking_assert): Added.
17880         (bufpos_checking_assert): Added.
17881
17882 2000-01-21  Martin Buchholz  <martin@xemacs.org>
17883
17884         * alloc.c: Harmless pdump changes.
17885         - Use countof().
17886         - spell alignment correctly.
17887         * sysdep.c: Use countof()
17888
17889 2000-01-20  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17890
17891         * console.c (create_console): Use CONMETH_OR_GIVEN when calling
17892         initially_selected_for_input() console method, default to 0.
17893         (semi_canonicalize_console_connection): Try to delegate to
17894         canonicalize_console_connection if no such console method.
17895         (canonicalize_console_connection): Vice versa.
17896         (print_console): Do not print nil connection.
17897
17898         * console.h (XDEVIMPF_IS_A_PRINTER): Added.
17899         (XDEVIMPF_NO_AUTO_REDISPLAY): Added.
17900         (XDEVIMPF_FRAMELESS_OK): Added.
17901         (CONSOLE_INHERITS_METHOD): Added.
17902
17903         * console-msw.c (mswindows_canonicalize_console_connection):
17904         Added.
17905         (mswindows_canonicalize_device_connection): Added.
17906
17907         * console-msw.h (struct msprinter_device): Added this struct and
17908         accessor macros.
17909         (mswindows_device): Made fontlist a lisp object.
17910
17911         * device.c (semi_canonicalize_device_connection):  Try to delegate
17912         to canonicalize_device_connection if no such console method.
17913         (canonicalize_device_connection): Vice versa.
17914         (print_device): Do not print nil connection.
17915
17916         * device-msw.c (mswindows_init_device): Call InitCommonControls
17917         when have widgets.
17918         (mswindows_delete_device): Removed fontlist deallocation.
17919         (mswindows_mark_device): Added.
17920
17921         * events.c (event_equal): Added abort() at unreached code.
17922         (event_hash): Ditto.
17923
17924         * faces.c (complex_vars_of_faces): Added Qmsprinter to the list of
17925         fallback tags of Windows devices.
17926
17927         * general.c (syms_of_general): Initialized Qmsprinter.
17928
17929         * gutter.c (complex_vars_of_gutters): Added Qmsprinter to the list
17930         of fallback tags of Windows devices.
17931
17932         * lisp.h: Declared Qmsprinter.
17933
17934         * objects-msw.c (font_enum_callback_2): Rewrote to build lisp list
17935         of strings.
17936         (mswindows_list_fonts): Ditto.
17937         (mswindows_enumerate_fonts): Removed dependency on XDEVICE, so
17938         that it can be used by both mswindows and msprinter devices.
17939         (initialize_font_instance): Added.
17940         (mswindows_initialize_font_instance): Use it.
17941         (msprinter_initialize_font_instance): Added.
17942
17943         * redisplay.c (redisplay_device): Added the parameter AUTOMATIC
17944         and implementation flags check.
17945         (redisplay_without_hooks): Changed the call to the above.
17946         (Fredraw_device): Ditto.
17947         (Fredisplay_device): Ditto.
17948
17949         * redisplay-msw.c (get_frame_dc): Implemented.
17950         (get_frame_compdc): Implemented.
17951         (many functions): Use the two functions above to get device
17952         contexts, ether for a window or a printer.
17953
17954 2000-01-21  Olivier Galibert  <galibert@pobox.com>
17955
17956         * symbols.c (reinit_symbols_once_early): Put Qzero/Qnull_pointer
17957         initialization here.
17958         (init_symbols_once_early): Call it.
17959         * emacs.c (main_1): Call it.
17960         * symsinit.h: Declare it.
17961
17962 2000-01-19  Olivier Galibert  <galibert@pobox.com>
17963
17964         * alloc.c: Use a lrecord_header * in the backtrace instead of a
17965         Lisp_Object.
17966         (pdump_backtrace): Ditto.
17967         (pdump_register_object): Ditto.  Cleanup use of the pointers.
17968         (pdump_get_entry): Abort if trying to register a null pointer.
17969         (pdump_dump_data): Cleanup types when relocating.
17970         (pdump_dump_staticvec): Cleanup types w.r.t the reloc table.
17971         (pdump_dump_rtables): Remove bad casts.
17972         (pdump_load): Cleanup relocation w.r.t union type.  Use a
17973         Lisp_Object instead of a EMACS_INT for the hashtable
17974         reorganization.
17975
17976 2000-01-20  Martin Buchholz  <martin@xemacs.org>
17977
17978         * emacs.c (main_1): Rearrange morass of #ifdef's for correctness.
17979
17980         * callproc.c (call_process_cleanup): Isolate WINDOWSNT code for clarity.
17981
17982         * EmacsManager.c (GeometryManager): Avoid use of CPP for clarity.
17983
17984         * *.[ch]: global-replace 's/_of_xselect/_of_select_x/g' *.[ch]
17985
17986 2000-01-17  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17987
17988         * faces.h (FACE_STRIKETHRU_P): Added.
17989
17990         * glyphs-msw.c (mswindows_widget_hfont): Implemented, to take care
17991         of font variants.
17992
17993         * redisplay-msw.c (mswindows_apply_face_effects): Deleted.
17994         (mswindows_set_dc_font): New function, aware of font variants,
17995         separated from mswindows_update_dc.
17996
17997         * objects-msw.h (struct mswindows_font_instance_data): Added
17998         definition.
17999
18000         * objects-msw.c (mswindows_finalize_font_instance): Delete all
18001         cached fonts and the data structure.
18002         (mswindows_initialize_font_instance): Added creation of font data
18003         structure.
18004         (mswindows_print_font_instance): Print at least something.
18005         (mswindows_create_font_variant): Implemented.
18006         (mswindows_get_hfont): Implemented.
18007
18008 2000-01-13  Fabrice Popineau  <Fabrice.Popineau@supelec.fr>
18009
18010         * dired-msw.c: permute "sysdir.h" with "sysfile.h" because of
18011         prototyping problem with msvc.
18012
18013         * emacs.c (main_1): added syms_of_gui_mswindows() call
18014
18015         * gui-msw.c: added "mswindows-shell-execute" lisp subr and
18016         syms_of_gui_mswindows() function
18017
18018         * symsinit.h: added the prototype for syms_of_gui_mswindows()
18019
18020 2000-01-18  Martin Buchholz <martin@xemacs.org>
18021
18022         * XEmacs 21.2.27 is released.
18023
18024 2000-01-18  Martin Buchholz  <martin@xemacs.org>
18025
18026         * glyphs-eimage.c (struct tiff_error_struct):
18027         (tiff_error_func):
18028         (tiff_warning_func):
18029         #if HAVE_VSNPRINTF ==> #ifdef HAVE_VSNPRINTF
18030
18031         * unexmips.c:
18032         * unexhp9k3.c:
18033         * unexfreebsd.c:
18034         * unexec.c: Remove vestigial Lucid C code.
18035         * unexalpha.c:
18036         * unexaix.c:
18037         * termcap.c:
18038         * libsst.c: Ansify.
18039         Remove declarations of errno and strerror().
18040
18041         * eval.c (Fbacktrace): Small Purify-cation.  Fix docstring.
18042
18043         * .dbxrc (run-temacs): Use the horrible ${1+"$@"} instead of "$@".
18044
18045 2000-01-16  Martin Buchholz  <martin@xemacs.org>
18046
18047         * mule-charset.c (Fchar_octet): Resurrect from earlier in 1999.
18048         Optimize.
18049
18050 2000-01-14  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
18051
18052         * md5.c:
18053         * file-coding.c:
18054         * file-coding.h:
18055         Change enum eol_type to eol_type_t.
18056
18057 2000-01-17  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
18058
18059         * gui.c (get_gui_callback): Check cons before accessing car.
18060
18061 2000-01-17  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
18062
18063         * specifier.h (XSPECIFIER_TYPE): Add error checking version.
18064         (XSETSPECIFIER_TYPE): Ditto.
18065
18066 2000-01-17  Didier Verna  <didier@xemacs.org>
18067
18068         * redisplay.c (generate_fstring_runes): compute string size in
18069         characters, not bytes.
18070
18071 2000-01-09  Hrvoje Niksic  <hniksic@iskon.hr>
18072
18073         * window.c (Fwindow_minibuffer_p): Make WINDOW optional.
18074
18075 2000-01-14  Hrvoje Niksic  <hniksic@iskon.hr>
18076
18077         * print.c (print_error_message): Call print_prepare().
18078
18079 2000-01-14  Martin Buchholz  <martin@xemacs.org>
18080
18081         * .dbxrc: Renamed from dbxrc.
18082
18083         * events.c (event_to_character):
18084         Use `assert (foo)' instead of `if (!foo) abort()'
18085
18086         * .gdbinit (xtype): Add documentation.
18087         * .gdbinit (check-temacs): New function.
18088         * .gdbinit (check-xemacs): New function.
18089         * dbxrc (check-xemacs): New function.
18090         * dbxrc (check-xemacs): New function.
18091
18092 2000-01-14  Andy Piper  <andy@xemacs.org>
18093
18094         * glyphs-widget.c (widget_query_geometry): Make sure that we
18095         calculate default dimensions correctly.
18096
18097 2000-01-13  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
18098
18099         * symsinit.h: Added prototype for reinit_vars_of_frame_mswindows.
18100
18101         * event-msw.c (vars_of_event_mswindows): Fixed a mistyped
18102         pdump_wire'd variable.
18103
18104         * emacs.c: (main_1): Conditionalized calls to
18105         reinit_vars_of_scrollbar_x and reinit_vars_of_module.
18106
18107 2000-01-13  Martin Buchholz  <martin@xemacs.org>
18108
18109         * window.c (Fset_window_configuration):
18110         * sysdep.c (_start):
18111         * input-method-motif.c (res):
18112         * event-Xt.c (Xt_process_to_emacs_event):
18113         Simple compiler warning fixes.
18114
18115         * bytecode.c (funcall_compiled_function): Use the original
18116         function symbol on the backtrace list in preference to the
18117         compiled_function object in error messages.
18118
18119 2000-01-13  Andy Piper  <andy@xemacs.org>
18120
18121         * glyphs-x.c (update_widget_face): Make sure we update the widget
18122         background as well as foreground.
18123
18124 2000-01-13  Andy Piper  <andy@xemacs.org>
18125
18126         * glyphs.h (struct Lisp_Image_Instance): Move justify and orient
18127         fields to subwindow.
18128         (IMAGE_INSTANCE_SUBWINDOW_JUSTIFY): new macro.
18129         (XIMAGE_INSTANCE_SUBWINDOW_JUSTIFY): ditto.
18130         (IMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
18131         (XIMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
18132
18133         * glyphs-widget.c (check_valid_tab_orientation): new function.
18134         (initialize_widget_image_instance): zero orientation and
18135         justification.
18136         (widget_instantiate): pick up orientation.
18137         (tab_control_query_geometry): return appropriate values for
18138         vertical tabs.
18139
18140         * glyphs-msw.c: (mswindows_tab_control_instantiate): assign
18141         appropriate creation flags for left, right and bottom tabs.
18142
18143         * s/cygwin32.h: add tab definitions.
18144
18145 2000-01-12  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
18146
18147         * glyphs-msw.c (mswindows_unmap_subwindow): Set focus back to the
18148         frame upon hiding a subwindow.
18149         (mswindows_button_instantiate): Changed the push button style to
18150         BS_PUSHBUTTON.
18151         (mswindows_button_instantiate): Removed button BS_NOTIFY
18152         style.
18153         (mswindows_button_instantiate): Removed redundant check for
18154         a disabled gui item.
18155         (mswindows_button_instantiate): Made use of WS_TABSTOP
18156         consistent: "operable" controls (edit, button, tree, scroll) have
18157         this style, "display-only" ones (static, progress gauge) do
18158         not. This style is currently ignored by XEmacs though. Also,
18159         removed the WS_EX_CONTROLPARENT style - it is not for children,
18160         it is for their parents!
18161         (mswindows_edit_field_instantiate): Ditto.
18162         (mswindows_progress_gauge_instantiate): Ditto.
18163         (mswindows_tree_view_instantiate): Ditto.
18164         (mswindows_tab_control_instantiate): Ditto.
18165         (mswindows_scrollbar_instantiate): Ditto.
18166         (mswindows_combo_box_instantiate): Ditto.
18167         (mswindows_widget_instantiate): Added the WS_EX_CONTROLPARENT
18168         style to the "clip" window.
18169         (mswindows_button_instantiate): Removed compilation warning by
18170         equally typing terms of the ?: operator.
18171
18172 2000-01-12  Didier Verna  <didier@xemacs.org>
18173
18174         * redisplay.c (generate_fstring_runes): new parameter holding the
18175         last modeline-format extent.
18176         (add_glyph_to_fstring_db_runes): new parameter holding the glyph
18177         extent, fill the glyph block with it.
18178         (generate_fstring_runes): handle these parameters.
18179         (generate_formatted_string_db): ditto.
18180
18181         * keymap.c (get_relevant_keymaps): retreive the keymaps from the
18182         glyphs'extents in the modeline.
18183
18184 1999-01-11  Mike Woolley  <mike@bulsara.com>
18185
18186         * ntheap.c: Reduced the reserved heap space from 1Gb down to
18187         256Mb, as a workaround for the non-starting problem many people
18188         have experienced.
18189
18190 2000-01-06  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
18191
18192         * console-tty.c (Fset_console_tty_output_coding_system):
18193         Force redrawing tty frame.
18194
18195 2000-01-10  Didier Verna  <didier@xemacs.org>
18196
18197         * redisplay.c (generate_fstring_runes): fix size computation bug.
18198
18199 2000-01-09  William M. Perry <wmperry@aventail.com>
18200
18201         * gpmevent.c: (gpm_next_event_cb): Don't return value from void function.
18202
18203 2000-01-09  Andy Piper  <andy@xemacs.org>
18204
18205         * glyphs-msw.c: index -> i to avoid shadows.
18206         (xbm_create_bitmap_from_data): make static.
18207         (check_valid_string_or_int): deleted.
18208         (mswindows_control_wnd_proc): message -> msg to avoid shadows.
18209
18210         * glyphs-x.c (x_update_subwindow): remove unused args.
18211
18212         * glyphs.c (glyph_image_instance): return the thing. Don't set the
18213         back pointer - this is done in allocate_image_instance.
18214         (query_string_font): return Qnil to make the compiler happy.
18215         (unmap_subwindow): set to ~0 to make the compiler happy.
18216         (glyph_query_geometry): comment out until used.
18217         (glyph_layout): ditto.
18218
18219 2000-01-09  Hrvoje Niksic  <hniksic@iskon.hr>
18220
18221         * insdel.c (signal_after_change): Remove extraneous unbind_to().