update.
[chise/xemacs-chise.git.1] / src / ChangeLog
1 2011-02-17  MORIOKA Tomohiko  <tomo@zinbun.kyoto-u.ac.jp>
2
3         * text-coding.c (Vdecomposition_feature_list): New variable when
4         UTF2000 is defined.
5         (char_encode_utf8): Refer variable `decomposition-feature-list'
6         instead of `=decomposition' feature.
7         (vars_of_file_coding): Add new variable
8         `decomposition-feature-list' when UTF2000 is defined.
9
10 2011-02-16  MORIOKA Tomohiko  <tomo@zinbun.kyoto-u.ac.jp>
11
12         * chartab.c (Fput_char_attribute): Support `=decomposition@FOO' as
13         `=decomposition' feature.
14
15 2011-02-12  MORIOKA Tomohiko  <tomo@zinbun.kyoto-u.ac.jp>
16
17         * mule-charset.c (Fmake_charset): Fix problem for 94^n or 96^n
18         coded-charsets with builtin characters.
19
20 2011-02-09  MORIOKA Tomohiko  <tomo@zinbun.kyoto-u.ac.jp>
21
22         * text-coding.c (Qrep_decomposition): New extern.
23         (char_encode_utf8): Try to encode as combing sequence (or IVS).
24
25 2011-01-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
26
27         * concord.c (Fconcord_genre_ds): Add "#ifdef HAVE_LIBCHISE" ...
28         "#endif" for code to refer Vchise_system_db_directory.
29
30 2010-12-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
31
32         * concord.c (Fconcord_object_put): Use `member' instead of `memq'.
33         (Fconcord_object_adjoin): New function.
34         (Fconcord_object_adjoinX): New function.
35         (syms_of_concord): Defsubred `Fconcord_object_adjoin' and
36         `Fconcord_object_adjoinX'.
37
38 2010-12-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
39
40         * concord.c:
41         - Include "elconcord.h".
42         - Move EXFUNs for `Fconcord_decode_object', `Fconcord_object_put'
43           and `Fconcord_object_get' to elconcord.h.
44         (Lisp_CONCORD_DS): Moved to elconcord.h.
45         (struct Lisp_CONCORD_DS): Ditto.
46         (XCONCORD_DS): Ditto.
47         (XSET_CONCORD_DS): Ditto.
48         (CONCORD_DS_P): Ditto.
49         (CHECK_CONCORD_DS): Ditto.
50         (CONCHECK_CONCORD_DS): Ditto.
51         (Lisp_CONCORD_Object): Ditto.
52         (struct Lisp_CONCORD_Object): Ditto.
53         (XCONCORD_OBJECT): Ditto.
54         (XSET_CONCORD_OBJECT): Ditto.
55         (CONCORD_OBJECT_P): Ditto.
56         (CHECK_CONCORD_OBJECT): Ditto.
57         (CONCHECK_CONCORD_OBJECT): Ditto.
58         (CONCORD_OBJECT_GENRE): Ditto.
59         (CONCORD_OBJECT_ID): Ditto.
60         (XCONCORD_OBJECT_ID): Ditto.
61         (XCONCORD_OBJECT_GENRE): Ditto.
62         (concord_object_equal): New function.
63         (LRECORD_IMPLEMENTATION of "concord_object"): Use
64         `concord_object_equal'.
65
66         * elconcord.h: New file.
67
68 2010-12-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
69
70         * concord.c (print_concord_object): Use readable form even if
71         `print-readably' is nil.
72
73 2010-11-19  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
74
75         * concord.c (print_concord_object): Don't display location of
76         data-source when `print-readably' is nil.
77
78 2010-11-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
79
80         * concord.c (Fconcord_genre_ds): Use Vchise_system_db_directory as
81         the default location of data-source.
82         (complex_vars_of_concord): Use Vchise_system_db_directory to
83         assign genre `character' and `feature'.
84
85         * chartab.h (Vchise_system_db_directory): New extern when
86         HAVE_CONCORD is defined.
87
88 2010-09-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
89
90         * concord.c: Include <chise.h> if HAVE_LIBCHISE is defined.
91         (Qcharacter): New variable when HAVE_LIBCHISE is defined.
92         (Qfeature): Ditto.
93         (Fconcord_object_genre): New function.
94         (syms_of_concord):
95         - Add new builtin symbols `character' and `feature' when
96           HAVE_LIBCHISE is defined.
97         - Add Add new builtin function `concord-object-genre'.  
98         (complex_vars_of_concord): New function; assign genres `character'
99         and `feature' when HAVE_LIBCHISE is defined.
100
101 2010-09-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
102
103         * emacs.c (main_1): Call `complex_vars_of_concord' when
104         HAVE_CONCORD is defined.
105
106         * symsinit.h (complex_vars_of_concord): New prototype.
107
108 2010-07-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
109
110         * chartab.c (allocate_character): Add `static'.
111
112 2010-07-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
113
114         * chartab.c (allocate_character): New function.
115         (Fdefine_char): Use allocate_character().
116
117 2010-06-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
118
119         * mule.c (vars_of_mule): Update `xemacs-chise-version' to 0.25
120         (Ōkawara).
121
122 2010-03-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
123
124         * chartab.c (save_uint8_byte_table): Fixed problem when a property
125         is unloaded.
126         (save_uint16_byte_table): Likewise.
127
128 2010-02-21  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
129
130         * chartab.c (Fchar_feature_property): New function when LIBCHISE
131         is enabled.
132         (Fput_char_feature_property): Likewise.
133         (syms_of_chartab): Add new builtin functions
134         `char-feature-property' and `put-char-feature-property' when
135         LIBCHISE is enabled.
136
137 2009-04-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
138
139         * mule-charset.c (Fmake_charset): Add DOC-string of 'iso-ir and
140         '=>iso-ir.
141         (Fcharset_property): Regard '=>iso-ir as same as `iso_ir.
142
143 2009-04-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
144
145         * mule-charset.c (Qto_iso_ir): New variable for XEmacs CHISE.
146         (make_charset): Add new argument `iso_ir'.
147         (Fmake_charset): Add new property `=>iso-ir' in XEmacs CHISE.
148         (Fmake_reverse_direction_charset): Copy CHARSET_ISO_IR(cs) in
149         XEmacs CHISE.
150         (Fcharset_property): Support `iso-ir' in XEmacs CHISE.
151         (syms_of_mule_charset): Add new builtin symbol `=>iso-ir' in
152         XEmacs CHISE.
153         (complex_vars_of_mule_charset): Specify argument `iso_ir' of
154         function `make_charset'.
155
156         * char-ucs.h (LEADING_BYTE_*): Enclose negative value with ( ).
157         (struct Lisp_Charset): Add new member `iso_ir'.
158         (CHARSET_ISO_IR): New macro.
159
160 2009-03-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
161
162         * mule-charset.c (Fdecode_char): Fix problem when decoding GR
163         code-point by GL charset.
164
165 2008-10-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
166
167         * concord.c (concord_id_validate): New function.
168         (structure_type_create_concord): Use `concord_id_validate' instead
169         of `concord_name_validate' to accept integer and character as =id.
170
171 2008-09-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
172
173         * concord.c (func_for_each_object): Fix bug about GC-protection.
174
175 2008-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
176
177         * concord.c (Fconcord_object_put): Check argument FEATURE is a
178         symbol.
179
180 2008-09-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
181
182         * text-coding.c (struct decoding_stream): Add new member
183         `bom_flag' in XEmacs CHISE.
184         (reset_decoding_stream): Ignore U+FEFF in the beginning of stream
185         in XEmacs CHISE.
186
187 2008-09-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
188
189         * mule-charset.c: Move definition of `=jis-x0208@1978' to
190         lisp/mule/mule-conf.el.
191
192 2008-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
193
194         * mule-charset.c (Qpartial): New variable in XEmacs CHISE.
195         (make_charset): Add new argument `partial'.
196         (Fmake_charset): Add new property 'partial in XEmacs CHISE.
197         (Fmake_reverse_direction_charset): Modify for `make_charset'.
198         (syms_of_mule_charset): Add new builtin symbol `partial' in XEmacs
199         CHISE.
200         (complex_vars_of_mule_charset): Modify for `make_charset'; specify
201         `=jis-x0208' as a partial coded-charset.
202
203 2008-08-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
204
205         * text-coding.c (decode_add_er_char): Fix problem when a character
206         represented by an entity-reference is not defined.
207
208 2008-06-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
209
210         * char-ucs.h, chartab.c, fns.c, mule-charset.c: Rename Qmap_* to
211         Qrep_*.
212
213 2007-09-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
214
215         * mule.c (vars_of_mule): Update `xemacs-chise-version' to 0.24
216         (Kasagi).
217
218 2006-06-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
219
220         * concord.c (Fconcord_object_put): Add reversed links when FEATURE
221         is a relation feature.
222
223 2006-06-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
224
225         * chartab.c (syms_of_chartab): Define
226         `{<-|->}{subsumptive|denotational}' when HAVE_CONCORD is defined.
227
228         * chartab.h (Q_denotational): New extern when UTF2000 or
229         HAVE_CONCORD is defined.
230         (Q_denotational_from): Likewise.
231         (Q_subsumptive): Likewise.
232         (Q_subsumptive_from): Likewise.
233
234 2006-06-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
235
236         * concord.c (concord_object_put): New function.
237         (Fconcord_object_put): Use `concord_object_put'.
238
239 2006-06-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
240
241         * concord.c (Fconcord_define_object): New function.
242         (syms_of_concord): Add new builtin function
243         `concord-define-object'.
244
245 2006-05-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
246
247         * mule.c (vars_of_mule): Update `xemacs-chise-version' to 0.23
248         (Kamo).
249
250 2006-04-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
251
252         * concord.c: Add EXFUN for Fconcord_object_get.
253         (Vconcord_genre_object_hash_table): New variable.
254         (concord_genre_cache_get_object): New function.
255         (concord_genre_cache_put_object): New function.
256         (Fconcord_make_object): Use object cache; put object-ID into `=id'
257         feature.
258         (Fconcord_object_put): Call `concord_index_sync' after
259         `concord_index_strid_put_obj'.
260         (vars_of_concord): Setup Vconcord_genre_object_hash_table.
261
262 2006-04-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
263
264         * concord.c (Fconcord_decode_object): Do GCPRO for
265         Fconcord_make_object.
266         (func_for_each_object): Likewise; do GCPRO for
267         for_each_object_closure->function.
268         (Fconcord_foreach_object_in_feature): Use GCPRO4 for
269         for_each_object_closure->function, for_each_object_closure->genre,
270         for_each_object_closure->ds and for_each_object_closure->ret.
271         (concord_object_validate): Do GCPRO for Fconcord_make_object.
272
273 2006-04-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
274
275         * concord.c: Add EXFUNs for Fconcord_decode_object and
276         Fconcord_object_put.
277         (Fconcord_make_object): Change order of arguments.
278         (Fconcord_decode_object): Modify for Fconcord_make_object.
279         (func_for_each_object): Likewise.
280         (concord_object_validate): Likewise.
281         (concord_object_instantiate): Use GCPRO2 for `data' and `retval'.
282
283 2006-04-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
284
285         * concord.c (Fconcord_object_put): Setup index for `=FOO' feature.
286
287 2006-04-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
288
289         * concord.c (Fconcord_decode_object): Try to use readable print
290         form as a key of Concord-index.
291         (Fconcord_object_get): Try to use readable print form as an ID of
292         Concord-object.
293         (Fconcord_object_put): Try to use readable print form as an ID of
294         Concord-object and a feature value.
295         (Fconcord_object_spec): Try to use readable print form as an ID of
296         Concord-object.
297
298 2006-04-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
299
300         * concord.c (print_concord_object): Support readable form.
301
302 2006-04-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
303
304         * emacs.c (main_1): Call `structure_type_create_concord' when
305         HAVE_CONCORD is defined.
306
307         * symsinit.h (structure_type_create_concord): New prototype.
308
309         * concord.c (Qconcord_object): New variable.
310         (Qgenre): Likewise.
311         (Q_id): Likewise.
312         (Fconcord_ds_directory): Use <char*> instead of <unsigned char*>
313         for directory.
314         (add_feature_to_list_mapper): Use <char*> instead of <unsigned
315         char*> for genre-name.
316         (Fconcord_feature_list): Likewise.
317         (Fconcord_make_object): Likewise.
318         (Fconcord_decode_object): Likewise; use <char*> instead of
319         <unsigned char*> for feature_name and strid.
320         (Fconcord_object_get): Use <char*> instead of <unsigned char*> for
321         c_obj and feature_name.
322         (Fconcord_object_put): Likewise; use <char*> instead of <unsigned
323         char*> for c_value.
324         (struct closure_for_object_spec): Use <char*> instead of <unsigned
325         char*> for member `object_id'.
326         (add_feature_to_spec_mapper): Use <char*> instead of <unsigned
327         char*> for feature-name.
328         (Fconcord_object_spec): Use <char*> instead of <unsigned char*>
329         for c_obj.
330         (func_for_each_object): Cast to avoid warnings.
331         (Fconcord_foreach_object_in_feature): Use <char*> instead of
332         <unsigned char*> for genre_name and feature_name.
333         (concord_name_validate): New function.
334         (concord_object_validate): Likewise.
335         (concord_object_instantiate): Likewise.
336         (syms_of_concord): Add new builtin symbols `concord-object',
337         `genre' and `=id'.
338         (structure_type_create_concord): New function.
339
340 2006-04-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
341
342         * concord.c (Vconcord_ds_hash_table): New variable.
343         (Vconcord_genre_hash_table): New variable.
344         (Fconcord_open_ds): Use Vconcord_ds_hash_table.
345         (Fconcord_ds_directory): New function.
346         (Fconcord_assign_genre): New function.
347         (Fconcord_genre_directory): New function.
348         (Fconcord_genre_ds): New function.
349         (Fconcord_feature_list): Allow to omit `ds'.
350         (Fconcord_make_object): Likewise.
351         (Fconcord_decode_object): Likewise.
352         (Fconcord_foreach_object_in_feature): Likewise.
353         (syms_of_concord): Add new builtin function Fconcord_ds_directory,
354         Fconcord_assign_genre, Fconcord_genre_directory and
355         Fconcord_genre_ds.
356         (vars_of_concord): Setup Vconcord_ds_hash_table and
357         Vconcord_genre_hash_table.
358
359 2006-02-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
360
361         * concord.c (struct closure_for_each_object): Add new member
362         `ret'.
363         (func_for_each_object): Setup the return value to
364         `for_each_object_closure->ret'.
365         (Fconcord_foreach_object_in_feature): If FUNCTION returns non-nil,
366         returns the value instead of Qt.
367
368 2005-12-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
369
370         * concord.c: New file.
371
372 2005-12-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
373
374         * lrecord.h (enum lrecord_type): Add `lrecord_type_concord_ds' and
375         `lrecord_type_concord_object'.
376
377 2005-09-21  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
378
379         * symsinit.h (syms_of_concord): New prototype.
380         (vars_of_concord): New prototype.
381
382         * emacs.c (main_1): Setup symbols and variable about concord if
383         HAVE_CONCORD is defined.
384
385         * config.h.in (HAVE_CONCORD): New macro.
386
387 2005-09-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
388
389         * chartab.c (Fput_char_attribute): For each character relation
390         feature `{<-|->}FOO', set up the reversed link `{->|<-}FOO'.
391
392 2005-08-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
393
394         * chartab.c (Fput_char_attribute): Use
395         `Fchar_refs_simplify_char_specs' for `=>decomposition' before
396         calling `put_char_composition'.
397
398 2005-08-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
399
400         * chartab.c (Q_halfwidth_of): New variable.
401         (put_char_composition): Return `<-halfwidth' instead of
402         `=decomposition' for compatibility mapping to single character
403         tagged `narrow'.
404         (Fput_char_attribute): Convert char-specs in value of
405         `{<-|->}halfwidth[^*]*' to characters and put reverse links.
406         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
407         for `<-halfwidth'.
408         (syms_of_chartab): Add new symbol `<-halfwidth'.
409
410 2005-08-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
411
412         * chartab.c (put_char_composition): Return
413         `<-formed@{isolated|initial|medial|final}' for compatibility
414         mapping to single character tagged
415         `{isolated|initial|medial|final}'.
416
417 2005-08-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
418
419         * chartab.c (Q_compat_of): Deleted.
420         (put_char_composition): Return `<-FOO' for compatibility mapping
421         to single character tagged `FOO'; use `Fsymbol_name (...)' instead
422         of `symbol_name (XSYMBOL(...))'.
423         (Fput_char_attribute): Convert char-specs in value of
424         `{<-|->}font[^*]*' to characters and put reverse links.
425         (Fsave_char_attribute_table): Don't refer Q_compat_of.
426         (syms_of_chartab): Delete builtin symbol `<-compat'.
427
428 2005-08-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
429
430         * chartab.c (Q_circled_of): New variable.
431         (put_char_composition): Return `<-circled' instead of
432         `=decomposition' for compatibility mapping to single character
433         tagged `circle'.
434         (Fput_char_attribute): Convert char-specs in value of
435         `{<-|->}circled[^*]*' to characters and put reverse links.
436         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
437         for `<-circled'.
438         (syms_of_chartab): Add new symbol `<-circled'.
439
440 2005-08-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
441
442         * chartab.c (Qto_decomposition_at_circled): New variable.
443         (put_char_composition): Return `=>decomposition@circled' instead
444         of `=decomposition' for compatibility decomposition mapping tagged
445         `circle'.
446         (syms_of_chartab): Add new symbol `=>decomposition@circled'.
447
448 2005-08-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
449
450         * chartab.c (Q_subscript_of): New variable.
451         (put_char_composition): Return `<-subscript' instead of
452         `=decomposition' for compatibility mapping to single character
453         tagged `sub'.
454         (Fput_char_attribute): Convert char-specs in value of
455         `{<-|->}subscript[^*]*' to characters and put reverse links.
456         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
457         for `<-subscript'.
458         (syms_of_chartab): Add new symbol `<-subscript'.
459
460 2005-08-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
461
462         * chartab.c (Q_superscript_of): New variable.
463         (put_char_composition): Return `<-superscript' instead of
464         `=decomposition' for compatibility mapping to single character
465         tagged `super'.
466         (Fput_char_attribute): Convert char-specs in value of
467         `{<-|->}superscript[^*]*' to characters and put reverse links.
468         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
469         for `<-superscript'.
470         (syms_of_chartab): Add new symbol `<-superscript'.
471
472 2005-08-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
473
474         * chartab.c (Qto_decomposition_at_compat): Deleted.
475         (Qto_decomposition_at_superscript): New variable.
476         (put_char_composition): Use `=>decomposition@superscript' instead
477         of `=decomposition' for compatibility decomposition mapping tagged
478         `super'.
479         (Fput_char_attribute): Fix condition about `put_char_composition'.
480         (syms_of_chartab): Delete builtin symbol `=>decomposition@compat';
481         add news symbol `=>decomposition@superscript'.
482
483 2005-07-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
484
485         * chartab.c (put_char_composition): Return `=>decomposition@FOO'
486         for compatibility decomposition mapping tagged FOO.
487         (Fput_char_attribute): Modify for `put_char_composition'.
488
489 2005-07-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
490
491         * chartab.c (Qto_decomposition_at_compat): New variable.
492         (Q_compat_of): Renamed from `Q_compatibility_of'.
493         (put_char_composition): Rename `Q_compatibility_of' to
494         `Q_compat_of'; return `=>decomposition@compat' for compatibility
495         decomposition mapping.
496         (Fsave_char_attribute_table): Rename `Q_compatibility_of' to
497         `Q_compat_of'.
498         (syms_of_chartab): Add new symbol `=>decomposition@compat'; rename
499         `<-compatibility' to `<-compat'.
500
501 2005-07-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
502
503         * chartab.c (Q_compatibility_of): New variable.
504         (put_char_composition): Use XCAR/XCDR instead of Fcar/Fcdr if an
505         object is proved to be a cons cell; return `<-compatibility' if
506         the first element of argument `value' is `compat'.
507         (Fput_char_attribute): Eliminate the first value if
508         `put_char_composition' returns `<-compatibility'.
509         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
510         for `<-compatibility'.
511         (syms_of_chartab): Add new symbol `<-compatibility'.
512
513 2005-07-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
514
515         * chartab.c (Q_canonical): New variable.
516         (put_char_composition): Return a feature name: return
517         `->canonical' if argument `value' specifies single character.
518         (Fput_char_attribute): Use `put_char_composition' to determine
519         feature name for `=decomposition' or `->denotational'.
520         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
521         for `->canonical'.
522         (syms_of_chartab): Add new symbol `->canonical'.
523
524 2005-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
525
526         * chartab.c (Qmap_decomposition): New variable.
527         (Fput_char_attribute): Convert `->decomposition' to
528         `=decomposition'.
529         (syms_of_chartab): Add new symbol `=decomposition'.
530
531 2005-07-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
532
533         * chartab.c (Fget_range_char_table): Fix serious problem when
534         `range' is nil.
535
536 2005-06-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
537
538         * chartab.c (char_table_get_db): Use `read_from_c_string'.
539
540 2005-06-19  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
541
542         * lread.c (read_from_c_string): New function.
543
544         * lisp.h (read_from_c_string): New prototype.
545
546 2005-05-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
547
548         * chartab.c (Fput_char_attribute): Convert char-specs in value of
549         `{<-|->}Oracle-Bones[^*]*' to characters and put reverse links.
550         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
551         for `{<-|->}Oracle-Bones[^*]*'.
552
553 2005-05-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
554
555         * mule.c (vars_of_mule): Update `xemacs-chise-version' to 0.22
556         (Kizu).
557
558 2005-02-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
559
560         * text-coding.c (Qccs_priority_list): New variable in XEmacs
561         CHISE.
562         (Fmake_coding_system): Support new property `ccs-priority-list' in
563         XEmacs CHISE.
564         (Fcoding_system_property): Likewise.
565         (char_encode_iso2022): Prefer CODING_SYSTEM_CCS_PRIORITY_LIST than
566         Vdefault_coded_charset_priority_list in XEmacs CHISE.
567         (syms_of_file_coding): Add builtin symbol `ccs-priority-list' in
568         XEmacs CHISE.
569         (complex_vars_of_file_coding): Define new coding-system-property
570         `ccs-priority-list' in XEmacs CHISE.
571
572         * file-coding.h (XCODING_SYSTEM_CCS_PRIORITY_LIST): New macro.
573
574 2004-12-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
575
576         * char-ucs.h (decoding_table_put_char): Moved to mule-charset.c;
577         changed to normal function.
578         (encode_char_2): Likewise.
579
580         * mule-charset.c (decoding_table_put_char): Copied from
581         char-ucs.h; changed to normal function.
582         (encode_char_2): Likewise.
583
584 2004-12-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
585
586         * char-ucs.h (Vdisplay_coded_charset_priority_use_inheritance):
587         New extern.
588         (Vdisplay_coded_charset_priority_use_hierarchy_order): Likewise.
589         (encode_char_2_search_children): New inline function.
590         (encode_char_2): Refer
591         `Vdisplay_coded_charset_priority_use_{inheritance|hierarchy_order}'
592         and use `encode_char_2_search_children'.
593
594 2004-12-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
595
596         * mule-charset.c
597         (Vdisplay_coded_charset_priority_use_inheritance): New variable.
598         (Vdisplay_coded_charset_priority_use_hierarchy_order): Likewise.
599         (vars_of_mule_charset): Add new variable
600         `display-coded-charset-priority-use-inheritance' and
601         `display-coded-charset-priority-use-hierarchy-order'.
602
603 2004-11-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
604
605         * char-ucs.h (Q_subsumptive): New extern.
606         (Q_denotational): Likewise.
607         (encode_char_2): Search children specified by `->subsumptive' and
608         `->denotational'.
609
610 2004-11-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
611
612         * mule-charset.c (complex_vars_of_mule_charset): Modify the
613         X-registry of `ucs-bmp'.
614
615 2004-10-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
616
617         * chartab.c (char-variants): Refer `->subsumptive',
618         `->denotational' and `->identical' as same as `->ucs-unified'.
619
620 2004-10-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
621
622         * chartab.c (Fput_char_attribute): Convert char-specs in value of
623         `{<-|->}{fullwidth|halfwidth}[^*]*' to characters and put reverse
624         links.
625
626 2004-09-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
627
628         * text-coding.c: Add EXFUN for `Fregexp_quote'.
629         (decode_add_er_char): Fix problem about infinite loop when a CCS
630         specified in `coded-charset-entity-reference-alist' is not
631         existed.
632
633 2004-09-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
634
635         * mule-charset.c (syms_of_mule_charset): Rename
636         `=jis-x0208-{1978|1983|1990}' to `=jis-x0208@{1978|1983|1990}'.
637
638 2004-08-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
639
640         * fns.c (simplify_char_spec): Don't allocate new character-object
641         if specified char_spec does not have any CCS-features.
642
643         * chartab.h: Add EXFUN for Fdefine_char.
644
645         * chartab.c: Delete EXFUN for Fdefine_char.
646
647 2004-08-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
648
649         * fns.c (simplify_char_spec): Use Fdefine_char instead of
650         Ffind_char for char-spec.
651
652 2004-07-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
653
654         * lisp-disunion.h (XCHARVAL): Fix condition about
655         SIZEOF_EMACS_INT.
656
657 2004-07-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
658
659         * mule-charset.c (decode_builtin_char): Use <EMACS_INT> instead of
660         <int> for `code'.
661         (Fdecode_builtin_char): Use <EMACS_INT> instead of <int> for code
662         point; use <Emchar> instead of <int> for character-id.
663
664 2004-07-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
665
666         * lisp-disunion.h (make_int): Cast the argument into <EMACS_INT>.
667         (make_char): Likewise.
668         (XCHARVAL): Don't use the inline function for UTF-2000 in 64 bit
669         environment.
670         (XCHARVAL[for UTF-2000 in 32 bit environment]): Use <Emchar>
671         instead of <int> as the type of return value; use <Lisp_Object>
672         instead of <Emchar> as the type of argument.
673         (XCHARVAL[macro version]): Cast the result into <Emchar>.
674
675         * syntax.h (SYNTAX_CODE_UNSAFE): Use <Lisp_Object> and <enum
676         syntaxcode> instead of <int>.
677
678 2004-07-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
679
680         * chartab.c (put_char_composition): Use DECODE_CHAR to get
681         character corresponding with UCS code point.
682         (Fput_char_attribute): Likewise.
683
684         * mule-charset.c (put_char_ccs_code_point): Don't omit a UCS
685         character in the UCS decoding-table if the char-id is not equal to
686         the UCS code point.
687
688 2004-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
689
690         * mule-charset.c (Fsave_charset_properties): Use `true-name' only
691         for aliases; write `description'; write
692         `mother-code-{min|max|offset|conversion}' if CHARSET_MAX_CODE is
693         not 0.
694
695 2004-07-21  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
696
697         * chartab.c (Fsave_char_attribute_table): Don't use
698         `save_charset_properties'.
699
700         * mule-charset.c (Fsave_charset_properties): Renamed from
701         `save_charset_properties' and changed to Lisp function again;
702         write property `type' as `CCS'; write properties `final-byte' and
703         `mother' if they exists.
704         (syms_of_mule_charset): Revive builtin function
705         `save-charset-properties' when HAVE_LIBCHISE is defined.
706
707 2004-07-21  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
708
709         * chartab.c (open_chise_data_source_maybe): Use Vdata_directory
710         instead of Vexec_directory.
711         (char_attribute_system_db_file): Likewise.
712
713 2004-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
714
715         * chartab.c (Fsave_char_attribute_table): Use
716         `save_charset_properties' for CCS features when HAVE_LIBCHISE is
717         defined.
718
719         * mule-charset.c (save_charset_properties): Renamed from
720         `Fsave_charset_properties'; changed to non-Lisp function.
721         (syms_of_mule_charset): Abolish builtin function
722         `save-charset-properties'.
723
724 2004-07-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
725
726         * mule-charset.c (Fsave_charset_properties): New function when
727         HAVE_LIBCHISE is defined.
728         (syms_of_mule_charset): Add new builtin function
729         `save-charset-properties' when HAVE_LIBCHISE is defined.
730
731 2004-06-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
732
733         * chartab.c (Fput_char_attribute): Convert char-specs in value of
734         `{<-|->}ancient[^*]*' to characters and put reverse links.
735         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
736         for `{<-|->}ancient[^*]*'.
737
738 2004-06-19  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
739
740         * chartab.c (Fput_char_attribute): Convert char-specs in value of
741         `{<-|->}original[^*]*' to characters and put reverse links.
742         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
743         for `{<-|->}original[^*]*'.
744
745 2004-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
746
747         * mule-canna.c (m2c): Fix problem with XEmacs CHISE.
748
749 2004-06-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
750
751         * mule-charset.c (Qsystem_char_id): New variable.
752
753         * chartab.c (Qsystem_char_id): Deleted even if HAVE_CHISE is
754         defined and HAVE_LIBCHISE_LIBCHISE is not defined.
755
756 2004-05-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
757
758         * chartab.c (Fput_char_attribute): When processing a reference of
759         a character, put into the end of the reversed reference of each
760         target character.
761
762 2004-05-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
763
764         * chartab.c (Q_same): Deleted.
765         (Q_same_of): Deleted.
766         (Fput_char_attribute): Use Fstring_match to find `{<-|->}same'.
767         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
768         for `{<-|->}same'.
769         (syms_of_chartab): Delete builtin symbol `{<-|->}same'.
770
771 2004-05-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
772
773         * chartab.c (Q_vulgar): Deleted.
774         (Q_vulgar_of): Deleted.
775         (Fput_char_attribute): Use Fstring_match to find `{<-|->}vulgar'.
776         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
777         for `{<-|->}vulgar'.
778         (syms_of_chartab): Don't define `{<-|->}vulgar'.
779
780 2004-04-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
781
782         * chartab.c (Fput_char_attribute): Convert char-specs in value of
783         `{<-|->}wrong[^*]*' to characters and put reverse links.
784         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
785         for `{<-|->}wrong[^*]*'.
786
787 2004-04-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
788
789         * chartab.c (Q_vulgar): New variable.
790         (Q_vulgar_of): New variable.
791         (Fput_char_attribute): Convert char-specs in value of
792         `{->|<-}vulgar' to characters and put reverse links.
793         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
794         for `{->|<-}vulgar'.
795         (syms_of_chartab): Add new symbols `{->|<-}vulgar'.
796
797 2004-04-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
798
799         * text-coding.c (decode_add_er_char): Must to quote prefix string
800         as regexp.
801
802 2004-04-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
803
804         * mule-charset.c (put_char_ccs_code_point): Store characters of
805         =ucs whose code_points >= 0xF0000.
806
807 2004-04-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
808
809         * mule-charset.c (Vcharset_system_char_id): New variable in XEmacs
810         CHISE.
811         (syms_of_mule_charset): Add new symbol `system-char-id' in XEmacs
812         CHISE.
813         (complex_vars_of_mule_charset): Add new coded-charset
814         `system-char-id' in XEmacs CHISE; modify `=ucs' to eliminate
815         builtin characters over 0xEFFFF.
816
817         * chartab.c (syms_of_chartab): Don't define symbol
818         `system-char-id' in every case.
819
820         * char-ucs.h (Qsystem_char_id): New extern variable.
821         (LEADING_BYTE_SYSTEM_CHAR_ID): New macro.
822
823 2004-04-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
824
825         * text-coding.c (char_encode_utf8): Try to use entity-references
826         for U-000F0000 ...  U-0010FFFF.
827
828 2004-04-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
829
830         * text-coding.c (ER_BUF_SIZE): New macro.
831         (struct decoding_stream): Use `ER_BUF_SIZE' to specify size of
832         `er_buf'.
833         (decode_add_er_char): Use `ER_BUF_SIZE' instead of 16.
834         (char_encode_as_entity_reference): Use `ER_BUF_SIZE'.
835
836 2004-03-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
837
838         * chartab.c (find_char_feature_in_family): New function.
839         (Fchar_feature): Use `find_char_feature_in_family' with
840         `->identical', `<-subsumptive' and `<-denotational'.
841
842 2004-03-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
843
844         * text-coding.c (char_encode_as_entity_reference): Allow prefix
845         within 8 characters; fix infinite loop.
846
847 2004-03-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
848
849         * chartab.c (Q_same): New variable.
850         (Q_same_of): New variable.
851         (Fput_char_attribute): Convert char-specs in value of
852         `{->|<-}same' to characters and put reverse links.
853         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
854         for `{->|<-}same'.
855         (syms_of_chartab): Add new symbols `{->|<-}same'.
856
857 2004-03-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
858
859         * chartab.c (Q_component): New variable.
860         (Q_component_of): Likewise.
861         (Fput_char_attribute): Convert char-specs in value of
862         `{->|<-}ideographic-component-forms' to characters and put reverse
863         links.
864         (syms_of_chartab): Add new symbols
865         `{->|<-}ideographic-component-forms'.
866
867 2004-02-24  MORIOKA Tomohiko  <tomo@m17n.org>
868
869         * chartab.c (Q_identical): New variable.
870         (Q_identical_from): New variable.
871         (Fchar_feature): Regard `->identical' as a feature to find
872         ancestors.
873         (Fput_char_attribute): Add reversed link for `{->|<-}identical'.
874         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
875         for `{->|<-}identical'.
876         (syms_of_chartab): Add new symbols `{->|<-}identical'.
877
878 2004-02-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
879
880         * char-ucs.h (encode_char_2): New inline function.
881         (CHAR_TO_CHARC): Use `encode_char_2' instead of `encode_char_1'.
882
883 2004-02-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
884
885         * chartab.c (Fput_char_attribute): Convert char-specs to
886         characters in value of `ideographic-structure'.
887         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
888         for `{<-|->}simplified(@...)'.
889         (Fdefine_char): Try to use predefined character's id.
890
891 2004-02-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
892
893         * fns.c (simplify_char_spec): Try to convert builtin chars to
894         defined chars.
895
896 2004-02-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
897
898         * chartab.c (Fput_char_attribute): Convert char-specs in value of
899         `<-simplified[^*]*' to characters and put reverse links.
900
901 2004-02-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
902
903         * chartab.c (Q_subsumptive): Renamed from Q_unified.
904         (Q_subsumptive_from): Renamed from Q_unified_from.
905         (Fchar_feature): Use `Q_subsumptive_from' instead of
906         `Q_unified_from'.
907         (Fput_char_attribute): Likewise; Use `Q_subsumptive' instead of
908         `Q_unified'.
909         (syms_of_chartab): Rename `->unified' to `->subsumptive' and
910         `<-unified' to `<-subsumptive'.
911
912 2004-02-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
913
914         * chartab.c (Fchar_feature): Check `<-denotational' to avoid
915         inheritance itself; fix typo; stop recursive search if cyclic
916         inheritance is found.
917
918 2004-02-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
919
920         * chartab.c (Q_denotational): New variable.
921         (Q_denotational_from): New variable.
922         (Fchar_feature): Refer `<-denotational' as same as `<-unified'.
923         (put_char_attribute): New function.
924         (Fput_char_attribute): Use `put_char_attribute'; regard
925         `->denotational' and `<-denotational' as same as `->unified' and
926         `<-unified'.
927         (syms_of_chartab): Add new symbols `->denotational' and
928         `<-denotational'.
929
930 2004-02-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
931
932         * chartab.c (Fget_composite_char): Use `Fchar_feature' instead of
933         `Fget_char_attribute'.
934         (Fchar_variants): Likewise.
935         (get_char_table): Likewise.
936         (Fchar_feature): New function.
937         (put_char_composition): Use `Fchar_feature' instead of
938         `Fget_char_attribute'.
939         (Fput_char_attribute): Likewise; don't put the target character
940         into its `->unified' value.
941         (syms_of_chartab): Add new builtin function `char-feature'.
942
943 2004-01-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
944
945         * text-coding.c (COMPOSE_ADD_CHAR): Use `Fchar_feature' instead of
946         `Fget_char_attribute'.
947         (char_encode_utf8): Likewise.
948
949         * chartab.h: Add an EXFUN for `Fchar_feature'.
950
951 2004-01-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
952
953         * chartab.c (Vnext_defined_char_id): New variable.
954         (Fput_char_attribute): Accept characters in `->unified'.
955         (Fdefine_char): Refer and update Vnext_defined_char_id to allocate
956         new characters which are not related with builtin char-id ranges.
957         (vars_of_chartab): Add new variable `next-defined-char-id'.
958
959 2004-01-19  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
960
961         * chartab.c (Q_unified): New variable.
962         (Q_unified_from): New variable.
963         (Fput_char_attribute): Add code for `->unified'.
964         (syms_of_chartab): Add new symbols `->unified' and `<-unified' in
965         XEmacs CHISE.
966
967 2003-11-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
968
969         * mule-charset.c (decode_ccs_conversion): New function.
970         (decode_defined_char): Use `decode_ccs_conversion'.
971         (decode_builtin_char): Likewise.
972
973 2003-11-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
974
975         * char-ucs.h: Change some charset-ids of private coded-charsets.
976
977 2003-11-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
978
979         * text-coding.c (decode_add_er_char): Modify for `DECODE_CHAR'.
980         (char_encode_as_entity_reference): Likewise.
981         (decode_coding_big5): Modify for `decode_defined_char' and
982         `DECODE_CHAR'.
983         (decode_coding_utf8): Modify for `decode_defined_char'; modify to
984         avoid compiler warning.
985         (decode_coding_iso2022): Modify for `DECODE_CHAR'.
986
987         * mule-charset.c (decode_defined_char): Add new argument
988         `without_inheritance'.
989         (Fdecode_char): Add new optional argument `without_inheritance'.
990         (Fdecode_builtin_char): Modify for `Fdecode_char'.
991
992         * fns.c (ids_format_unit): Modify for `Fdecode_char'.
993         (simplify_char_spec): Likewise.
994
995         * chartab.h (Fdecode_char): Modify number of arguments of EXFUN
996         setting.
997
998         * chartab.c (put_char_table): Modify for `DECODE_CHAR'.
999         (map_char_table): Likewise.
1000         (Fdefine_char): Use `Fdecode_char' without inheritance.
1001         (Ffind_char): Modify for `Fdecode_char'.
1002
1003         * character.h (CHARC_TO_CHAR): Modify for `DECODE_CHAR'.
1004
1005         * char-ucs.h (decode_defined_char): Add new argument
1006         `without_inheritance'.
1007         (DECODE_CHAR): Likewise.
1008         (MAKE_CHAR): Modify for `DECODE_CHAR'.
1009
1010 2003-10-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1011
1012         * chartab.c (Vchise_system_db_directory): New variable.
1013         (vars_of_chartab): Add new variable `chise-system-db-directory'.
1014
1015 2003-10-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1016
1017         * chartab.c: EXFUN `Fmount_char_attribute_table'.
1018         (print_chartab_range): Don't define when `UTF2000' is defined.
1019         (open_chise_data_source_maybe): Specify 0 instead of DB_HASH for
1020         `CHISE_DS_open'.
1021
1022 2003-10-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1023
1024         * chartab.c (Fchar_attribute_list): When HAVE_LIBCHISE is defined
1025         and optional argument `rehash' is specified, call
1026         `open_chise_data_source_maybe' before
1027         `chise_ds_foreach_char_feature_name' is called.
1028
1029 2003-10-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1030
1031         * chartab.c (char_attribute_list_reset_map_func): New function
1032         when HAVE_LIBCHISE is defined.
1033         (Fchar_attribute_list): Add new optional argument `rehash' when
1034         HAVE_LIBCHISE is defined.
1035         (open_chise_data_source_maybe): Use "chise-db" instead of
1036         "char-db".
1037         (char_attribute_system_db_file): Likewise.
1038         (Fload_char_attribute_table): Use
1039         `chise_feature_foreach_char_with_value' instead of
1040         `chise_char_feature_value_iterate'.
1041
1042 2003-10-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1043
1044         * chartab.c (Vchise_db_directory): New variable.
1045         (vars_of_chartab): Add new built-in variable `chise-db-directory'.
1046
1047 2003-10-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1048
1049         * mule-charset.c (Freset_charset_mapping_table): Use HAVE_LIBCHISE
1050         instead of HAVE_CHISE to specify using with libchise.
1051
1052         * config.h.in (HAVE_CHISE_CLIENT): Deleted.
1053
1054         * chartab.h: Don't use HAVE_CHISE_CLIENT.
1055
1056         * chartab.c (Qsystem_char_id): Don't define when HAVE_CHISE is not
1057         defined or HAVE_LIBCHISE_LIBCHISE is defined.
1058         (char_attribute_system_db_file): Don't define when HAVE_LIBCHISE
1059         is defined.
1060         (Freset_char_attribute_table): Use HAVE_LIBCHISE instead of
1061         HAVE_CHISE to specify using with libchise.
1062         (syms_of_chartab): Don't define symbol `system-char-id' when
1063         HAVE_CHISE is not defined or HAVE_LIBCHISE_LIBCHISE is defined.
1064
1065 2003-10-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1066
1067         * mule-charset.c: Use HAVE_CHISE instead of HAVE_CHISE_CLIENT to
1068         specify CHISE DB support.
1069         (Freset_charset_mapping_table): Use `chise_ccs_setup_db' instead
1070         of `char_attribute_system_db_file' to check feature DB file.
1071
1072         * chartab.h, casetab.c, char-ucs.h: Use HAVE_CHISE instead of
1073         HAVE_CHISE_CLIENT to specify CHISE DB support.
1074
1075         * chartab.c: Use HAVE_CHISE instead of HAVE_CHISE_CLIENT to
1076         specify CHISE DB support.
1077         (open_chise_data_source_maybe): Don't define when HAVE_LIBCHISE is
1078         not defined.
1079         (Freset_char_attribute_table): Use `chise_feature_setup_db'
1080         instead of `char_attribute_system_db_file' to check feature DB
1081         file.
1082
1083 2003-10-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1084
1085         * mule.c (vars_of_mule): Use `HAVE_CHISE' instead of `CHISE' and
1086         `HAVE_CHISE_CLIENT'.
1087
1088 2003-10-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1089
1090         * mule-charset.c: Use HAVE_LIBCHISE instead of CHISE.
1091         (Fsave_charset_mapping_table): Don't use
1092         `char_attribute_system_db_file' when HAVE_LIBCHISE is defined.
1093
1094         * config.h.in (HAVE_CHISE): Renamed from `CHISE'.
1095         (HAVE_LIBCHISE): New macro.
1096
1097         * chartab.h: Use HAVE_LIBCHISE instead of CHISE.
1098
1099         * chartab.c: Use HAVE_LIBCHISE instead of CHISE.
1100         (Fsave_char_attribute_table): Don't use
1101         `char_attribute_system_db_file' when HAVE_LIBCHISE is defined.
1102
1103 2003-10-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1104
1105         * chartab.c (save_uint8_byte_table): Use libchise when CHISE is
1106         defined.
1107         (save_uint16_byte_table): Likewise.
1108         (save_byte_table): Likewise.
1109         (char_table_get_db): Use `chise_ds_load_char_feature_value'
1110         instead of `chise_char_load_feature_value'.
1111         (Fsave_char_attribute_table): Use libchise when CHISE is defined.
1112
1113 2003-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1114
1115         * chartab.h (struct Lisp_Char_Table): Delete member
1116         `feature_table' if CHISE is defined.
1117
1118         * chartab.c (Fmake_char_table): Don't refer `ct->feature_table'.
1119         (Fcopy_char_table): Likewise.
1120         (char_table_open_db_maybe): Likewise.
1121         (char_table_close_db_maybe): Likewise.
1122         (char_table_get_db): Likewise.
1123         (Fmount_char_attribute_table): Likewise.
1124         (Fload_char_attribute_table): Likewise.
1125
1126 2003-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1127
1128         * mule-charset.c (load_char_decoding_entry_maybe): Use
1129         `chise_ds_decode_char' instead of `chise_ds_get_ccs' and
1130         `chise_ccs_decode'.
1131
1132 2003-10-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1133
1134         * chartab.c (open_chise_data_source_maybe): Use `CHISE_DS_open'
1135         instead of `chise_open_data_source'.
1136         (Fclose_char_data_source): Use `CHISE_DS_close' instead of
1137         `chise_ds_close'.
1138
1139 2003-10-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1140
1141         * chartab.c (char_table_open_db_maybe): Use `chise_ds_get_feature'
1142         instead of `chise_ds_open_feature_table'.
1143         (char_table_close_db_maybe): Don't use `chise_ft_close'.
1144
1145 2003-10-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1146
1147         * mule-charset.c (Fsave_charset_mapping_table): Use
1148         `chise_ds_get_ccs' instead of `chise_ds_open_ccs_table'; use
1149         `chise_ccs_set_decoded_char' instead of `chise_ccst_put_char'; use
1150         `chise_ccs_sync' instead of `chise_ccst_close'.
1151         (load_char_decoding_entry_maybe): Modify for `chise_ds_get_ccs'.
1152
1153         * chartab.c (open_chise_data_source_maybe): Modify for
1154         `chise_open_data_source'.
1155         (char_table_open_db_maybe): Modify for
1156         `chise_ds_open_feature_table'.
1157
1158 2003-08-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1159
1160         * mule-charset.c (load_char_decoding_entry_maybe): Use
1161         `chise_ds_get_ccs' instead of `chise_ds_open_ccs_table'; don't use
1162         `chise_ccst_close'.
1163
1164 2003-08-25  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1165
1166         * mule-charset.c (Fsave_charset_mapping_table): Use
1167         `chise_ds_open_ccs_table', `chise_ccst_put_char' and
1168         `chise_ccst_close' instead of `chise_ds_open_decoding_table',
1169         `chise_dt_put_char' and `chise_dt_close'.
1170         (load_char_decoding_entry_maybe): Use `chise_ds_open_ccs_table',
1171         `chise_ccs_decode' and `chise_ccst_close' instead of
1172         `chise_ds_open_decoding_table', `chise_dt_get_char' and
1173         `chise_dt_close'.
1174
1175         * chartab.c (char_table_get_db): Use
1176         `chise_char_load_feature_value' instead of `chise_ft_get_value'.
1177         (load_char_attribute_table_map_func): Modify for
1178         `chise_char_feature_value_iterate'.
1179         (Fload_char_attribute_table): Use
1180         `chise_char_feature_value_iterate' instead of `chise_ft_iterate'.
1181
1182 2003-10-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1183
1184         * text-coding.c (COMPOSE_ADD_CHAR): Fixed.
1185
1186 2003-08-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1187
1188         * chartab.c (put_char_table): Modify for inherited coded-charsets
1189         in XEmacs CHISE.
1190
1191 2003-08-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1192
1193         * chartab.c (Fput_char_table_map_function): Fixed.
1194         (word_boundary_p): Don't check charset in XEmacs CHISE.
1195
1196 2003-08-17  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1197
1198         * mule-charset.c (Fsave_charset_mapping_table): Use
1199         `open_chise_data_source_maybe'; use `chise_ds_open_decoding_table'
1200         instead of `chise_open_decoding_table'; refer
1201         `default_chise_data_source'; use `chise_dt_close' instead of
1202         `chise_close_decoding_table'.
1203         (load_char_decoding_entry_maybe): Likewise.
1204
1205         * chartab.c (default_chise_data_source): New variable when `CHISE'
1206         is defined.
1207         (Fcopy_char_table): `ct->ds' is deleted.
1208         (open_chise_data_source_maybe): New function.
1209         (Fclose_char_data_source): New function.
1210         (char_table_open_db_maybe): Use `open_chise_data_source_maybe';
1211         use `chise_ds_open_feature_table' instead of
1212         `chise_open_feature_table'.
1213         (char_table_close_db_maybe): Use `chise_ft_close' instead of
1214         `chise_close_feature_table'; `cit->ds' is deleted.
1215         (syms_of_chartab): Add new builtin function
1216         `close-char-data-source' when `HAVE_CHISE_CLIENT' is defined.
1217
1218         * chartab.h (default_chise_data_source): New extern variable.
1219         (open_chise_data_source_maybe): New prototype.
1220         (struct Lisp_Char_Table): Delete `ds'.
1221
1222 2003-08-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1223
1224         * mule-charset.c (Fsave_charset_mapping_table): Use libchise when
1225         `CHISE' is defined.
1226
1227 2003-08-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1228
1229         * chartab.c (char_table_open_db_maybe): Defined even if `CHISE' is
1230         not defined; add code for non-libchise setting.
1231         (char_table_close_db_maybe): Likewise.
1232         (char_table_get_db): New function when `HAVE_CHISE_CLIENT' is
1233         defined.
1234         (Fclose_char_attribute_table): Use `char_table_close_db_maybe'
1235         even if `CHISE' is not defined.
1236         (Freset_char_attribute_table): Likewise.
1237         (load_char_attribute_maybe): Use `char_table_open_db_maybe' and
1238         `char_table_close_db_maybe' even if `CHISE' is not defined; use
1239         `char_table_get_db'.
1240         (Fload_char_attribute_table): Use `char_table_open_db_maybe' and
1241         `char_table_close_db_maybe' even if `CHISE' is not defined.
1242
1243 2003-08-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1244
1245         * chartab.c (char_table_open_db_maybe): New function.
1246         (char_table_close_db_maybe): New function.
1247         (Fclose_char_attribute_table): Use `char_table_close_db_maybe'.
1248         (Freset_char_attribute_table): Likewise.
1249         (load_char_attribute_maybe): Use `char_table_open_db_maybe' and
1250         `char_table_close_db_maybe'.
1251         (Fload_char_attribute_table): Likewise.
1252
1253 2003-08-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1254
1255         * chartab.c: Don't include <chise.h> because it is included in
1256         chartab.h.
1257         (Fmake_char_table): Initialize `ct->feature_table' when `CHISE' is
1258         defined.
1259         (Fcopy_char_table): Copy `ct->ds' and `ct->feature_table' when
1260         `CHISE' is defined.
1261         (Fmount_char_attribute_table): Initialize `ct->feature_table' when
1262         `CHISE' is defined.
1263         (Fclose_char_attribute_table): Close `ct->feature_table' and
1264         `ct->ds' when `CHISE' is defined.
1265         (Freset_char_attribute_table): Likewise.
1266         (load_char_attribute_maybe): Use `cit->ds' and
1267         `cit->feature_table' when `CHISE' is defined.
1268         (Fload_char_attribute_table): Likewise.
1269
1270         * chartab.h: Include <chise.h> when `CHISE' is defined.
1271         (struct Lisp_Char_Table): Add new member `ds' and `feature_table'
1272         when `CHISE' is defined.
1273
1274 2003-08-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1275
1276         * chartab.c (mark_char_table): Member `db' is deleted when `CHISE'
1277         is defined.
1278         (char_table_description): Likewise.
1279         (Fmake_char_table): Likewise.
1280         (Fcopy_char_table): Likewise.
1281         (Fmount_char_attribute_table): Likewise.
1282         (Fclose_char_attribute_table): Likewise.
1283         (Freset_char_attribute_table): Likewise.
1284         (load_char_attribute_maybe): Likewise.
1285         (Fload_char_attribute_table): Likewise.
1286
1287         * chartab.h (struct Lisp_Char_Table): Delete `db' when `CHISE' is
1288         defined.
1289
1290 2003-08-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1291
1292         * chartab.c (load_char_attribute_table_map_func): New function
1293         when CHISE is defined.
1294         (Qload_char_attribute_table_map_function): Don't define when CHISE
1295         is defined.
1296         (Fload_char_attribute_table_map_function): Likewise.
1297         (Fload_char_attribute_table): Use libchise when `CHISE' is
1298         defined.
1299         (syms_of_chartab): Don't define
1300         `load-char-attribute-table-map-function' when CHISE is defined.
1301
1302 2003-08-06  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1303
1304         * chartab.c: Include <chise.h> when `CHISE' is defined.
1305         (load_char_attribute_maybe): Use libchise when `CHISE' is defined.
1306
1307 2003-07-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1308
1309         * mule-charset.c (charset_code_point): Fix problem when searching
1310         in mother CCS fails with `defined_only' mode.
1311
1312 2003-06-29  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1313
1314         * chartab.c (Q_ucs_unified): Renamed from `Q_ucs_variants'.
1315         (Fchar_variants): Rename `Q_ucs_variants' to `Q_ucs_unified'.
1316         (put_char_composition): Likewise.
1317         (Fput_char_attribute): Likewise.
1318         (syms_of_chartab): Rename `->ucs-variants' to `->ucs-unified'.
1319
1320 2003-06-29  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1321
1322         * chartab.c (Q_ucs): Deleted.
1323         (Fput_char_attribute): Don't refer `->ucs'.
1324         (Fdefine_char): Likewise.
1325         (Ffind_char): Likewise.
1326         (syms_of_chartab): Delete `->ucs'.
1327
1328 2003-04-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1329
1330         * mule-charset.c (Qmap_cns11643_2): Renamed from
1331         `Qchinese_cns11643_2'.
1332         (syms_of_mule_charset): Add new symbol `=cns11643-2' instead of
1333         `chinese-cns11643-2'.
1334         (complex_vars_of_mule_charset): Rename `chinese-cns11643-2' to
1335         `=cns11643-2'.
1336
1337 2003-04-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1338
1339         * mule-charset.c (Qmap_cns11643_1): Renamed from
1340         `Qchinese_cns11643_1'.
1341         (syms_of_mule_charset): Add new symbol `=cns11643-1' instead of
1342         `chinese-cns11643-1'.
1343         (complex_vars_of_mule_charset): Rename `chinese-cns11643-1' to
1344         `=cns11643-1'.
1345
1346 2003-04-24  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1347
1348         * mule-charset.c (Qmap_gb12345): Renamed from `Qchinese_gb12345'.
1349         (syms_of_mule_charset): Add new symbol `=gb12345' instead of
1350         `chinese-gb12345'.
1351         (complex_vars_of_mule_charset): Rename `chinese-gb12345' to
1352         `=gb12345'.
1353
1354 2003-04-21  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1355
1356         * mule-charset.c (Qmap_gb2312): Renamed from `Qchinese_gb2312'.
1357         (syms_of_mule_charset): Add new symbol `=gb2312' instead of
1358         `chinese-gb2312'.
1359         (complex_vars_of_mule_charset): Rename `chinese-gb2312' to
1360         `=gb2312'.
1361
1362 2003-04-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1363
1364         * mule-charset.c (Qmap_big5): Renamed from `Qchinese_big5'.
1365         (syms_of_mule_charset): Add new symbol `=big5' instead of
1366         `chinese-big5'.
1367         (complex_vars_of_mule_charset): Rename `chinese-big5' to `=big5'.
1368
1369 2003-04-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1370
1371         * mule-charset.c (Qmap_ks_x1001): Renamed from `Qkorean_ksc5601'.
1372         (syms_of_mule_charset): Add new symbol `=ks-x1001' instead of
1373         `korean-ksc5601'.
1374         (complex_vars_of_mule_charset): Rename `korean-ksc5601' to
1375         `=ks-x1001'.
1376
1377 2003-04-15  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1378
1379         * mule-charset.c (Qmap_jis_x0212): Renamed from
1380         `Qjapanese_jisx0212'.
1381         (syms_of_mule_charset): Add new symbol `=jis-x0212' instead of
1382         `japanese-jisx0212'.
1383         (complex_vars_of_mule_charset): Rename `japanese-jisx0212' to
1384         `=jis-x0212'.
1385
1386 2003-04-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1387
1388         * mule-charset.c (Qmap_jis_x0208_1983): Renamed from
1389         `Qjapanese_jisx0208'.
1390         (syms_of_mule_charset): Add new symbol `=jis-x0208-1983' instead
1391         of `japanese-jisx0208'.
1392         (complex_vars_of_mule_charset): Rename `japanese-jisx0208' to
1393         `=jis-x0208-1983'.
1394
1395 2003-04-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1396
1397         * mule-charset.c (Qmap_jis_x0208_1978): Renamed from
1398         `Qjapanese_jisx0208_1978'.
1399         (syms_of_mule_charset): Add new symbol `=jis-x0208-1978' instead
1400         of `japanese-jisx0208-1978'.
1401         (complex_vars_of_mule_charset): Rename `japanese-jisx0208-1978' to
1402         `=jis-x0208-1978'.
1403
1404 2003-04-04  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1405
1406         * chartab.c (decode_char_table_range): CHARTAB_RANGE_DEFAULT is
1407         only for XEmacs CHISE.
1408
1409 2003-04-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1410
1411         * char-ucs.h: Compact non-ISO-IR charset-ids.
1412         (LEADING_BYTE_UCS): Changed to -177.
1413         (LEADING_BYTE_CONTROL_1): Changed to -77.
1414         (LEADING_BYTE_UCS_BMP): Changed to -176.
1415         (LEADING_BYTE_JAPANESE_JISX0208_1990): Changed to -168.
1416
1417 2003-04-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1418
1419         * mule-charset.c (Qiso_ir): New variable.
1420         (Fmake_charset): Recognise new property `iso-ir'.
1421         (syms_of_mule_charset): Add new symbol `iso-ir'.
1422
1423 2003-04-02  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1424
1425         * char-ucs.h: Change charset-id of ISO-IR sets from ISO-IR-number
1426         n to -n; charset-id of non ISO-IR sets are changed to positive
1427         numbers.
1428
1429 2003-03-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1430
1431         * text-coding.c (decode_add_er_char): Use XUINT instead of XINT
1432         for &MCS-XXXXXXXX; values.
1433
1434 2003-03-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1435
1436         * mule.c (Vxemacs_chise_version): Renamed from
1437         `Vutf_2000_version'.
1438         (vars_of_mule): Add new variable `xemacs-chise-version'; define
1439         `utf-2000-version' as an alias for `xemacs-chise-version'.
1440
1441 2003-03-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1442
1443         * mule-charset.c: Include <chise.h> when `CHISE' is defined.
1444         (load_char_decoding_entry_maybe): Use libchise when `CHISE' is
1445         defined.
1446
1447         * config.h.in (CHISE): New macro.
1448
1449 2003-03-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1450
1451         * mule-charset.c (put_char_ccs_code_point): Refer `=ucs' instead
1452         of `ucs'.
1453         (Qmap_ucs): New variable.
1454         (syms_of_mule_charset): Add new symbol `=ucs'.
1455         (complex_vars_of_mule_charset): Rename `ucs' to `=ucs'.
1456
1457         * fns.c (ids_format_unit): Refer `=ucs' instead of `ucs'.
1458         (simplify_char_spec): Likewise.
1459
1460         * chartab.c (Fdefine_char): Refer `=ucs' as same as `ucs'.
1461
1462         * char-ucs.h (Qmap_ucs): New extern variable.
1463
1464 2003-03-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1465
1466         * mule-charset.c (Qmap_jis_x0208): Renamed from `Qjis_x0208'.
1467         (Qmap_jis_x0208_1990): Renamed from `Qjapanese_jisx0208_1990';
1468         don't define it when UTF2000 is not defined.
1469         (syms_of_mule_charset): Modify for `Qmap_jis_x0208'; rename
1470         `japanese-jisx0208-1990' to `=jis-x0208-1990'; don't define it
1471         when UTF2000 is not defined.
1472         (complex_vars_of_mule_charset): Modify for `Qmap_jis_x0208';
1473         rename `japanese-jisx0208-1990' to `=jis-x0208-1990'.
1474
1475 2003-03-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1476
1477         * char-ucs.h (LEADING_BYTE_UCS_GB): Deleted.
1478
1479         * mule-charset.c (Vcharset_ucs_gb): Deleted.
1480         (Qucs_gb): Deleted.
1481         (syms_of_mule_charset): Delete `ucs-gb'.
1482         (complex_vars_of_mule_charset): Likewise.
1483
1484 2003-03-04  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1485
1486         * char-ucs.h (LEADING_BYTE_UCS_CNS): Deleted.
1487
1488         * mule-charset.c (Vcharset_ucs_cns): Deleted.
1489         (Qucs_cns): Deleted.
1490         (syms_of_mule_charset): Delete `ucs-cns'.
1491         (complex_vars_of_mule_charset): Likewise.
1492
1493 2003-03-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1494
1495         * char-ucs.h (LEADING_BYTE_UCS_JIS): Deleted.
1496
1497         * mule-charset.c (Vcharset_ucs_jis): Deleted.
1498         (Qucs_jis): Deleted.
1499         (syms_of_mule_charset): Delete `ucs-jis'.
1500         (complex_vars_of_mule_charset): Likewise.
1501
1502 2003-03-02  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1503
1504         * char-ucs.h (LEADING_BYTE_UCS_KS): Deleted.
1505
1506         * mule-charset.c (Vcharset_ucs_ks): Deleted.
1507         (Qucs_ks): Deleted.
1508         (syms_of_mule_charset): Delete `ucs-ks'.
1509         (complex_vars_of_mule_charset): Likewise.
1510
1511 2003-03-01  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1512
1513         * mule-charset.c (Vcharset_ideograph_daikanwa_2): Deleted.
1514         (Qideograph_daikanwa_2): Deleted.
1515         (syms_of_mule_charset): Delete `ideograph-daikanwa-2'.
1516         (complex_vars_of_mule_charset): Likewise.
1517
1518         * char-ucs.h (LEADING_BYTE_DAIKANWA_0): Deleted.
1519         (LEADING_BYTE_DAIKANWA_1): Deleted.
1520         (LEADING_BYTE_DAIKANWA_2): Deleted.
1521         (MIN_CHAR_DAIKANWA): Deleted.
1522         (MAX_CHAR_DAIKANWA): Deleted.
1523
1524 2003-02-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1525
1526         * char-ucs.h (LEADING_BYTE_DAIKANWA_3): Deleted.
1527         (LEADING_BYTE_HANZIKU_{1..12}): Deleted.
1528         ({MIN|MAX}_CHAR_HANZIKU_{1..12}): Deleted.
1529
1530         * mule-charset.c (Vcharset_ideograph_hanziku_{1..12}): Deleted.
1531         (Vcharset_ideograph_daikanwa): Deleted.
1532         (Qideograph_hanziku_{1..12}): Deleted.
1533         (Qideograph_daikanwa): Deleted.
1534         (encode_builtin_char_1): Don't use {MIN|MAX}_CHAR_DAIKANWA and
1535         Vcharset_ideograph_daikanwa.
1536         (syms_of_mule_charset): Delete `ideograph-daikanwa' and
1537         `ideograph-hanziku-{1..12}'.
1538         (complex_vars_of_mule_charset): Likewise.
1539
1540 2003-02-26  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1541
1542         * char-ucs.h (LEADING_BYTE_GT_PJ_{1..11}): Deleted.
1543
1544         * mule-charset.c (Vcharset_ideograph_gt_pj_{1..11}): Deleted.
1545         (Qideograph_gt_pj_{1..11}): Deleted.
1546         (syms_of_mule_charset): Delete `ideograph-gt-pj-{1..11}'.
1547         (complex_vars_of_mule_charset): Likewise.
1548
1549 2003-02-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1550
1551         * mule-charset.c (Vcharset_ucs_big5): Deleted.
1552         (Vcharset_ideograph_gt): Deleted.
1553         (Qucs_big5): Deleted.
1554         (Qideograph_gt): Deleted.
1555         (syms_of_mule_charset): Delete symbol `ucs-big5' and
1556         `ideograph-gt'.
1557         (complex_vars_of_mule_charset): Delete coded-charset `ucs-big5'
1558         and `ideograph-gt'.
1559
1560         * char-ucs.h (LEADING_BYTE_UCS_BIG5): Deleted.
1561         (LEADING_BYTE_GT): Deleted.
1562         (MIN_CHAR_GT): Deleted.
1563         (MAX_CHAR_GT): Deleted.
1564
1565 2003-02-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1566
1567         * chartab.c (Fput_char_attribute): Canonicalise charset-aliases.
1568
1569 2003-01-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1570
1571         * chartab.c (save_uint8_byte_table): Add new argument `filter'.
1572         (save_uint16_byte_table): Likewise.
1573         (save_byte_table): Likewise; convert values by it.
1574         (Fput_char_attribute): Don't use `char-refs-simplify-char-specs'
1575         for `ideographic-structure'.
1576         (Fsave_char_attribute_table): Use `char-refs-simplify-char-specs'
1577         as the filter for `ideographic-structure'.
1578
1579 2003-01-07  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1580
1581         * chartab.c (put_char_composition): New function.
1582         (Fput_char_attribute): Use `put_char_composition'; use
1583         `Fchar_refs_simplify_char_specs' for `ideographic-structure'.
1584
1585         * fns.c (simplify_char_spec): New function.
1586         (char_ref_simplify_spec): New function.
1587         (Fchar_refs_simplify_char_specs): New function.
1588         (syms_of_fns): Add new builtin function
1589         `char-refs-simplify-char-specs'.
1590
1591 2003-01-05  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1592
1593         * mule-charset.c (Vcharset_ideograph_cbeta): Deleted.
1594         (Qideograph_cbeta): Deleted.
1595         (syms_of_mule_charset): Don't define `ideograph-cbeta'.
1596         (complex_vars_of_mule_charset): Likewise.
1597
1598         * char-ucs.h (LEADING_BYTE_CBETA): Deleted.
1599         (MIN_CHAR_CBETA): Comment out.
1600         (MAX_CHAR_CBETA): Likewise.
1601
1602 2002-12-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1603
1604         * mule-charset.c, chartab.h, casetab.c, char-ucs.h, chartab.c: Use
1605         `HAVE_CHISE_CLIENT' instead of `HAVE_DATABASE' to indicate the
1606         CHISE client feature.
1607
1608 2002-12-25  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1609
1610         * mule.c (vars_of_mule): Update `utf-2000-version' to 0.20.
1611
1612 2002-12-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1613
1614         * mule-charset.c (charset_lookup_description_1): Use
1615         `NUM_LEADING_BYTES' in UTF-2000.
1616
1617 2002-12-18  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1618
1619         * char-ucs.h (GC_CHARSETP): Deleted.
1620
1621 2002-12-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1622
1623         * char-ucs.h (MAX_CHAR_GT): Updated.
1624
1625 2002-12-15  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1626
1627         * text-coding.c: Sync with XEmacs 21.4.10.
1628
1629 2002-11-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1630
1631         * mule-charset.c (Vcharset_china3_jef): Deleted.
1632         (Qchina3_jef): Deleted.
1633         (syms_of_mule_charset): Don't define `china3-jef'.
1634         (complex_vars_of_mule_charset): Likewise.
1635
1636         * char-ucs.h (LEADING_BYTE_CHINA3_JEF): Deleted.
1637         (MIN_CHAR_CHINA3_JEF): Comment out.
1638         (MAX_CHAR_CHINA3_JEF): Comment out.
1639
1640 2002-11-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1641
1642         * mule-charset.c (Vcharset_ucs_gb): New variable.
1643         (Qucs_gb): New variable.
1644         (syms_of_mule_charset): Add new symbol `ucs-gb'.
1645         (complex_vars_of_mule_charset): Add new coded-charset `ucs-gb'.
1646
1647         * char-ucs.h (LEADING_BYTE_UCS_GB): New macro.
1648
1649 2002-11-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1650
1651         * mule-charset.c (charset_code_point): if a coded-charset has a
1652         final-byte, don't inherit the builtin range of the mother CCS.
1653
1654 2002-11-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1655
1656         * mule-charset.c (charset_code_point): Fix problem about
1657         inheritance.
1658
1659 2002-11-14  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1660
1661         * mule-charset.c (decode_builtin_char): Reorganized.
1662
1663 2002-10-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1664
1665         * text-coding.c (char_encode_as_entity_reference): Modify for
1666         `charset_code_point'.
1667         (char_encode_shift_jis): Likewise.
1668         (char_encode_big5): Likewise.
1669         (char_encode_utf8): Likewise.
1670         (char_encode_iso2022): Likewise.
1671
1672         * mule-charset.c (charset_code_point): Add new argument
1673         `defined_only'.
1674         (Fencode_char): Add new optional argument `defined_only'.
1675
1676         * chartab.c (put_char_table): Modify for `charset_code_point'.
1677
1678         * char-ucs.h (charset_code_point): Add new argument
1679         `defined_only'.
1680         (encode_char_1): Modify for `charset_code_point'.
1681
1682 2002-10-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1683
1684         * mule-charset.c (complex_vars_of_mule_charset): Don't specify
1685         `MIN_CHAR_THAI' and `MAX_CHAR_THAI' for `thai-tis620'.
1686
1687 2002-10-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1688
1689         * mule-charset.c (Vcharset_jis_x0208): New variable in UTF-2000.
1690         (Qjis_x0208): Likewise.
1691         (decode_builtin_char): Prefer XCHARSET_MAX_CODE(charset) than
1692         XCHARSET_FINAL(charset).
1693         (charset_code_point): Modify condition for final-byte based
1694         builtin-chars.
1695         (syms_of_mule_charset): Add new symbol `=jis-x0208' in UTF-2000.
1696         (complex_vars_of_mule_charset): Add new coded-charset `=jis-x0208'
1697         in UTF-2000; specify `=jis-x0208' as the mother of
1698         `japanese-jisx0208-1978', `japanese-jisx0208' and
1699         `japanese-jisx0208-1990' in UTF-2000.
1700
1701 2002-10-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1702
1703         * char-ucs.h (LEADING_BYTE_JIS_X0208): New macro.
1704
1705 2002-10-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1706
1707         * text-coding.c (decode_coding_utf16): Support UTF-16.
1708         (char_encode_utf16): Fixed.
1709
1710 2002-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1711
1712         * text-coding.c (Qutf16): New variable in MULE.
1713         (Fmake_coding_system): Accept `utf-16' as `type' in MULE.
1714         (Fcoding_system_type): Add `utf-16' in MULE.
1715         (struct detection_state): Add a structure for utf16 in MULE.
1716         (detect_coding_type): Setup st->utf16.mask in MULE.
1717         (mule_decode): Use `decode_coding_utf16' for `CODESYS_UTF16' in
1718         MULE.
1719         (reset_encoding_stream): Use `char_encode_utf16' and
1720         `char_finish_utf16' for `CODESYS_UTF16' in MULE.
1721         (detect_coding_utf16): New function [incomplete].
1722         (decode_coding_utf16): New function [support only UCS-2].
1723         (char_encode_utf16): New function.
1724         (char_finish_utf16): New function.
1725         (syms_of_file_coding): Add new symbol `utf-16'; setup
1726         `coding_category_symbol[CODING_CATEGORY_UTF16]'.
1727
1728         * file-coding.h (enum coding_system_type): Add `CODESYS_UTF16' in
1729         UTF-2000.
1730         (enum coding_category_type): Add `CODING_CATEGORY_UTF16' in MULE.
1731         (CODING_CATEGORY_UTF16_MASK): New macro in MULE.
1732
1733 2002-10-08  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1734
1735         * chartab.c (put_char_table): When a charset is specified as a
1736         range in UTF-2000, don't support builtin characters.
1737
1738 2002-09-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1739
1740         * mule-charset.c (decode_defined_char): Don't refer external
1741         database if Qunbound or Qnil are found.
1742         (Fsave_charset_mapping_table): Don't define it if
1743         HAVE_CHISE_CLIENT is not defined.
1744         (Freset_charset_mapping_table): New function.
1745         (load_char_decoding_entry_maybe): Store Qnil if a character is not
1746         found in external database.
1747         (syms_of_mule_charset): Don't define `save-charset-mapping-table'
1748         if HAVE_CHISE_CLIENT is not defined; add new builtin function
1749         `reset-charset-mapping-table' if HAVE_CHISE_CLIENT is defined.
1750
1751 2002-09-18  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1752
1753         * text-coding.c (decode_coding_utf8): Check CCS is specified or
1754         not.
1755
1756 2002-08-26  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1757
1758         * chartab.h: Add extern declarations for Qdowncase, Qflippedcase,
1759         Q_lowercase, Q_uppercase in UTF-2000.
1760
1761         * chartab.c (get_char_table): Add special code for the standard
1762         case table to use character attribute `->downcase' and
1763         `->uppercase' for case operations in UTF-2000.
1764
1765         * casetab.c (Qflippedcase): New variable in UTF-2000.
1766         (Q_lowercase): Likewise.
1767         (Q_uppercase): Likewise.
1768         (syms_of_casetab): Add new symbols `flippedcase', `->lowercase'
1769         and `->uppercase' in UTF-2000.
1770         (complex_vars_of_casetab): Assign attribute name `downcase' to
1771         downcase and CANON table of Vstandard_case_table in UTF-2000;
1772         assign attribute name `flippedcase' to upcase and EQV table of
1773         Vstandard_case_table in UTF-2000.
1774
1775 2002-08-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1776
1777         * text-coding.c (decode_add_er_char): Support isolated-chars.
1778         (char_encode_as_entity_reference): Likewise.
1779
1780 2002-08-13  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1781
1782         * emacs.c (Vutf_2000_lisp_directory): New variable.
1783         (Vconfigure_utf_2000_lisp_directory): Likewise.
1784         (complex_vars_of_emacs): Add new variable
1785         `utf-2000-lisp-directory' and `configure-utf-2000-lisp-directory'.
1786
1787 2002-08-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1788
1789         * char-ucs.h (DECODE_CHAR): Delete special code for
1790         `chinese-big5-1' and `chinese-big5-2'.
1791
1792         * mule-charset.c (Qbig5_1): New variable in UTF-2000.
1793         (Qbig5_2): Likewise.
1794         (decode_defined_char): Support CONVERSION_BIG5_1 and
1795         CONVERSION_BIG5_2.
1796         (decode_builtin_char): Likewise.
1797         (charset_code_point): Likewise.
1798         (Fmake_charset): Accept `big5-1' and `big5-2' as a value of
1799         'conversion in UTF-2000.
1800         (syms_of_mule_charset): Add new symbol `big5-1' and `big5-2'.
1801         (complex_vars_of_mule_charset): Define `chinese-big5-1' and
1802         `chinese-big5-2' as children of `chinese-big5'.
1803
1804         * char-ucs.h (CONVERSION_BIG5_1): New macro.
1805         (CONVERSION_BIG5_2): New macro.
1806
1807 2002-08-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1808
1809         * text-coding.c (char_encode_big5): Support entity-reference.
1810
1811 2002-08-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1812
1813         * text-coding.c (char_encode_as_entity_reference): New function.
1814         (char_encode_utf8): Use `char_encode_as_entity_reference'.
1815
1816 2002-08-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1817
1818         * text-coding.c (decode_coding_big5): Support entity-reference
1819         decoding feature.
1820
1821 2002-08-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1822
1823         * text-coding.c (allocate_coding_system): Initialize initial
1824         charsets for CODESYS_UTF8.
1825         (Fmake_coding_system): Accept charset-g0, charset-g1 and
1826         charset-g2 for CODESYS_UTF8.
1827         (decode_coding_utf8): Use charset-g0.
1828         (char_encode_utf8): Use charset-g0; use charset-g1 and charset-g2
1829         to force variants to map to UCS.
1830
1831 2002-07-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1832
1833         * text-coding.c (Qutf_8_mcs): New variable.
1834         (syms_of_file_coding): Add new symbol `utf-8-mcs' in UTF-2000.
1835         (complex_vars_of_file_coding): Define coding-system `utf-8-mcs'
1836         instead of `utf-8' in UTF-2000.
1837
1838 2002-07-22  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1839
1840         * mule-charset.c (charset_code_point): If CHARSET_CONVERSION is
1841         CONVERSION_IDENTICAL, identical conversion is used even if a CCS
1842         is ISO-2022 style; instead of it, CONVERSION_94, CONVERSION_96,
1843         CONVERSION_94x94, CONVERSION_96x96, CONVERSION_94x94x94,
1844         CONVERSION_96x96x96, CONVERSION_94x94x94x94 and
1845         CONVERSION_96x96x96x96 are introduced.
1846         (complex_vars_of_mule_charset): Specify CONVERSION_96 instead of
1847         CONVERSION_IDENTICAL for thai-tis620; Specify CONVERSION_94x94
1848         instead of CONVERSION_IDENTICAL for japanese-jisx0208-1990.
1849
1850         * char-ucs.h (CONVERSION_94): New macro.
1851         (CONVERSION_96): New macro.
1852         (CONVERSION_94x94): New macro.
1853         (CONVERSION_96x96): New macro.
1854         (CONVERSION_94x94x94): New macro.
1855         (CONVERSION_96x96x96): New macro.
1856         (CONVERSION_94x94x94x60): New macro.
1857         (CONVERSION_94x94x94x94): New macro.
1858         (CONVERSION_96x96x96x96): New macro.
1859
1860 2002-07-17  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1861
1862         * chartab.c (Vcharacter_variant_table): Deleted.
1863         (Fchar_variants): Use character-attribute `->ucs-variants' instead
1864         of `Vcharacter_variant_table'.
1865         (Fput_char_attribute): Likewise.
1866         (vars_of_chartab): Don't setup `Vcharacter_variant_table'.
1867         (complex_vars_of_chartab): Likewise.
1868
1869 2002-07-17  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1870
1871         * lisp.h: Add an EXFUN for `Fchar_ref_p'.
1872
1873         * fns.c (Qideographic_structure): New variable.
1874         (Qkeyword_char): New variable.
1875         (ids_format_unit): New function.
1876         (Fideographic_structure_to_ids): New function.
1877         (syms_of_fns): Add new symbols `ideographic-structure' and
1878         `:char'; add new builtin function `ideographic-structure-to-ids'.
1879
1880         * data.c (Fchar_ref_p): New function.
1881         (syms_of_data): Add new builtin function `char-ref-p'.
1882
1883         * chartab.h: Add an EXFUN for `Ffind_char'.
1884
1885 2002-07-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1886
1887         * text-coding.c (Vcharacter_composition_table): Deleted.
1888         (COMPOSE_ADD_CHAR): Use the implementation for external-DB support
1889         in every UTF-2000.
1890
1891         * chartab.c: Add EXFUN for `Fmap_char_attribute' in every
1892         UTF-2000.
1893         (Vcharacter_composition_table): Deleted.
1894         (Fget_composite_char): Use the implementation for external-DB
1895         support in every UTF-2000.
1896         (Fput_char_attribute): Likewise.
1897         (char_attribute_system_db_file): Don't define if external-DB
1898         feature is not available.
1899         (Fsave_char_attribute_table): Likewise.
1900         (Fmount_char_attribute_table): Likewise.
1901         (Fclose_char_attribute_table): Likewise.
1902         (Freset_char_attribute_table): Likewise.
1903         (Fload_char_attribute_table): Likewise.
1904         (syms_of_chartab): Don't define `save-char-attribute-table',
1905         `mount-char-attribute-table', `reset-char-attribute-table',
1906         `close-char-attribute-table' and `load-char-attribute-table' if
1907         external-DB feature is not available.
1908         (vars_of_chartab): Don't setup `Vcharacter_composition_table'.
1909
1910 2002-07-15  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1911
1912         * text-coding.c (Qcomposition): Add extern if external-DB feature
1913         is supported.
1914         (Vcharacter_composition_table): Don't add extern if external-DB
1915         feature is supported.
1916         (COMPOSE_ADD_CHAR): Modify for new data-representation of
1917         character composition rule if external-DB feature is supported.
1918
1919         * chartab.c (Vcharacter_composition_table): Don't define if
1920         external-DB feature is supported.
1921         (Qcomposition): New variable.
1922         (Fget_composite_char): New implementation for external-DB support.
1923         (Fput_char_attribute): Use `composition' property of each
1924         character instead of `Vcharacter_composition_table' to store
1925         character-composition rules if external-DB feature is supported.
1926         (syms_of_chartab): Add new symbol `composition'.
1927         (vars_of_chartab): Don't setup `Vcharacter_composition_table' if
1928         external-DB feature is supported.
1929
1930 2002-07-14  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1931
1932         * chartab.c (Vchar_db_stingy_mode): New variable.
1933         (load_char_attribute_maybe): Close database if
1934         Vchar_db_stingy_mode is not NIL.
1935         (Fload_char_attribute_table_map_function): Use
1936         `get_char_id_table_0' instead of `get_char_id_table'.
1937         (vars_of_chartab): Add new variable `char-db-stingy-mode'.
1938
1939         * chartab.h (get_char_id_table_0): New inline function.
1940         (get_char_id_table): Use `get_char_id_table_0'.
1941
1942 2002-07-07  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1943
1944         * text-coding.c (decode_coding_utf8): Use `COMPOSE_FLUSH_CHARS'
1945         and `COMPOSE_ADD_CHAR'.
1946         (decode_coding_iso2022): Use `decode_flush_er_chars'.
1947
1948 2002-07-07  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1949
1950         * text-coding.c (COMPOSE_FLUSH_CHARS): Use `decode_add_er_char'
1951         instead of `DECODE_ADD_UCS_CHAR'.
1952         (COMPOSE_ADD_CHAR): Likewise.
1953
1954 2002-07-06  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1955
1956         * text-coding.c (decode_flush_er_chars): New inline function.
1957         (decode_add_er_char): New function.
1958         (decode_coding_utf8): Use `decode_flush_er_chars' and
1959         `decode_add_er_char'.
1960
1961 2002-07-06  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1962
1963         * text-coding.c (decode_coding_utf8): Flush for er_buf must be
1964         done before `decode_output_utf8_partial_char'.
1965
1966         * mule-charset.c (complex_vars_of_mule_charset): Specify
1967         `Vcharset_ucs' as the mother of `Vcharset_ucs_cns',
1968         `Vcharset_ucs_ks' and `Vcharset_ucs_big5'.
1969
1970 2002-07-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1971
1972         * mule-charset.c (decode_defined_char): New function; search
1973         mother.
1974         (decode_builtin_char): Don't search mother if
1975         XCHARSET_MAX_CODE(charset) == 0.
1976         (charset_code_point): Search mother if XCHARSET_MAX_CODE(charset)
1977         == 0 even if code >= XCHARSET_MAX_CODE(charset).
1978         (Fdecode_char): Use `decode_defined_char' instead of
1979         `DECODE_DEFINED_CHAR'.
1980         (complex_vars_of_mule_charset): Specify `Vcharset_ucs' as the
1981         mother of `Vcharset_ucs_jis'.
1982
1983         * text-coding.c (decode_coding_big5): Use `decode_defined_char'
1984         instead of `DECODE_DEFINED_CHAR'.
1985
1986         * char-ucs.h (decode_defined_char): Renamed from
1987         `DECODE_DEFINED_CHAR'; changed to normal function.
1988         (DECODE_CHAR): Use `decode_defined_char' instead of
1989         `DECODE_DEFINED_CHAR'.
1990
1991         * lisp.h: Add `EXFUN' for `Fstring_to_number'.
1992
1993 2002-07-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1994
1995         * char-ucs.h: Add `extern' for `Vcharset_ucs'.
1996
1997         * text-coding.c (Vcoded_charset_entity_reference_alist): New
1998         variable.
1999         (Quse_entity_reference): New variable.
2000         (Qd): New variable.
2001         (Qx): New variable.
2002         (QX): New variable.
2003         (coding_system_description): Add description for
2004         `ccs_priority_list'.
2005         (mark_coding_system): Mark `ccs_priority_list' in UTF-2000.
2006         (allocate_coding_system): Initialize `ccs_priority_list' in
2007         UTF-2000.
2008         (Fmake_coding_system): Add description about
2009         'use-entity-reference; setup CODING_SYSTEM_USE_ENTITY_REFERENCE
2010         (codesys).
2011         (Fcoding_system_property): Accept `disable-composition' and
2012         `use-entity-reference' in UTF-2000.
2013         (struct decoding_stream): Add new member `er_counter' and `er_buf'
2014         in UTF-2000.
2015         (reset_decoding_stream): Initialize `str->er_counter' in UTF-2000.
2016         (decode_coding_utf8): Decode entity-reference if
2017         CODING_SYSTEM_USE_ENTITY_REFERENCE (str->codesys).
2018         (char_encode_utf8): Encode non-Unicode characters as
2019         entity-references if CODING_SYSTEM_USE_ENTITY_REFERENCE
2020         (str->codesys).
2021         (syms_of_file_coding): Add new symbols `use-entity-reference',
2022         `d', `x', `X'.
2023         (vars_of_file_coding): Add new variable
2024         `coded-charset-entity-reference-alist'.
2025         (complex_vars_of_file_coding): Declare `disable-composition' and
2026         `use-entity-reference' to be coding-system-properties in UTF-2000.
2027
2028         * file-coding.h (struct Lisp_Coding_System): Add new member
2029         `use_entity_reference' and `ccs_priority_list'.
2030         (CODING_SYSTEM_USE_ENTITY_REFERENCE): New macro.
2031         (CODING_SYSTEM_CCS_PRIORITY_LIST): New macro.
2032         (XCODING_SYSTEM_USE_ENTITY_REFERENCE): New macro.
2033
2034 2002-07-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2035
2036         * chartab.c (save_uint8_byte_table): Don't clear the table.
2037         (save_uint16_byte_table): Likewise.
2038         (save_byte_table): Likewise.
2039         (Fmount_char_attribute_table): New function.
2040         (syms_of_chartab): Add new builtin function
2041         `mount-char-attribute-table'.
2042
2043 2002-07-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2044
2045         * mule-charset.c (Fsave_charset_mapping_table): Open database as
2046         "w+" mode.
2047         (load_char_decoding_entry_maybe): Open database as read-only mode.
2048
2049         * chartab.c (Fsave_char_attribute_table): Don't share `ct->db';
2050         open database as "w+" mode.
2051         (load_char_attribute_maybe): Open database as read-only mode.
2052         (Fload_char_attribute_table): Likewise.
2053
2054 2002-07-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2055
2056         * chartab.c (mark_char_table): Don't refer `ct->db_file'.
2057         (char_table_description): Delete member `db_file'.
2058         (Fmake_char_table): Don't refer `ct->db_file'.
2059         (Fcopy_char_table): Likewise.
2060         (Fsave_char_attribute_table): Likewise.
2061         (Fclose_char_attribute_table): Likewise.
2062         (Freset_char_attribute_table): Likewise.
2063         (load_char_attribute_maybe): Likewise.
2064         (Fload_char_attribute_table): Likewise.
2065
2066         * chartab.h (struct Lisp_Char_Table): Delete member `db_file'.
2067
2068 2002-07-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2069
2070         * chartab.c: Add an EXFUN for `Fmap_char_attribute'.
2071         (Fsave_char_attribute_table): Don't check `ct->db_file' if
2072         `ct->db' is living.
2073         (load_char_attribute_maybe): Likewise.
2074         (Fload_char_attribute_table): Likewise.
2075
2076 2002-07-01  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2077
2078         * chartab.c (Fclose_char_attribute_table): Set Qnil on
2079         `ct->db_file' unconditionally.
2080
2081 2002-07-01  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2082
2083         * chartab.c (mark_char_table): Mark `ct->db_file' and `ct->db' in
2084         UTF-2000.
2085         (char_table_description): Add description for `db_file' and `db'
2086         in UTF-2000.
2087         (Fmake_char_table): Initialize `ct->db_file' and `ct->db' in
2088         UTF-2000.
2089         (Fcopy_char_table): Copy `ct->db_file' and `ct->db' in UTF-2000.
2090         (Fsave_char_attribute_table): Use `ct->db_file' and `ct->db'.
2091         (Fclose_char_attribute_table): New function.
2092         (Freset_char_attribute_table): Reset `ct->db_file' and `ct->db'.
2093         (load_char_attribute_maybe): Change interface; use `cit->db_file'
2094         and `cit->db'.
2095         (Fload_char_attribute_table): Use `ct->db_file' and `ct->db'.
2096         (syms_of_chartab): Add new builtin function
2097         `Fclose_char_attribute_table'.
2098
2099 2002-06-28  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2100
2101         * chartab.h (struct Lisp_Char_Table): Add new member `db_file' and
2102         `db' in UTF-2000.
2103         (load_char_attribute_maybe): Change interface.
2104         (get_char_id_table): Modify for `load_char_attribute_maybe'.
2105
2106 2002-06-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2107
2108         * database.h: Add an EXFUN for `Fdatabase_live_p'.
2109
2110 2002-04-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2111
2112         * mule-charset.c (decode_builtin_char): Use `decode_builtin_char'
2113         instead of `DECODE_CHAR' for mother; don't use special code for
2114         chinese-big5 to use code space of chinese-big5-1 and
2115         chinese-big5-2.
2116         (complex_vars_of_mule_charset): Use `MIN_CHAR_BIG5_CDP' and
2117         `MAX_CHAR_BIG5_CDP' for chinese-big5.
2118
2119         * char-ucs.h (MIN_CHAR_BIG5_CDP): Revival.
2120         (MAX_CHAR_BIG5_CDP): Revival.
2121
2122 2002-04-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2123
2124         * mule-charset.c (complex_vars_of_mule_charset): Use "big5-0" as
2125         the XLFD registry-encoding name of `chinese-big5'.
2126
2127 2002-04-08  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2128
2129         * mule-charset.c (Vcharset_chinese_big5_cdp): Deleted.
2130         (Qchinese_big5_cdp): Deleted.
2131         (syms_of_mule_charset): Delete symbol `chinese-big5-cdp'.
2132         (complex_vars_of_mule_charset): Delete coded-charset
2133         `chinese-big5-cdp'.
2134
2135         * char-ucs.h (CHARSET_ID_OFFSET): Deleted.
2136         (LEADING_BYTE_*): Use `MIN_LEADING_BYTE + n' instead of
2137         `CHARSET_ID_OFFSET - n' for private CCS.
2138         (LEADING_BYTE_CHINESE_BIG5_CDP): Deleted.
2139         (MIN_LEADING_BYTE_PRIVATE): Use `(MIN_LEADING_BYTE + 97)' instead
2140         of `MIN_LEADING_BYTE'.
2141         (MAX_LEADING_BYTE_PRIVATE): Use `-1' instead of
2142         `(CHARSET_ID_OFFSET - 97)'.
2143         (MIN_CHAR_BIG5_CDP): Deleted.
2144         (MAX_CHAR_BIG5_CDP): Deleted.
2145
2146 2002-03-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2147
2148         * mule.c (vars_of_mule): Update `utf-2000-version' to 0.19.
2149
2150 2002-03-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2151
2152         * mule.c (Vutf_2000_version): New variable [moved from chartab.c].
2153         (vars_of_mule): Add new variable `utf-2000-version' [moved from
2154         chartab.c].
2155
2156         * chartab.c (Vutf_2000_version): Moved to mule.c.
2157         (vars_of_chartab): Move code about `utf-2000-version' into mule.c.
2158
2159 2002-03-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2160
2161         * mule-charset.c (load_char_decoding_entry_maybe): Don't define it
2162         when HAVE_CHISE_CLIENT is not defined.
2163
2164         * mule.c (vars_of_mule): Provide feature `chise' when
2165         HAVE_CHISE_CLIENT is defined.
2166
2167 2002-03-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2168
2169         * config.h.in (UTF2000): Add comment.
2170         (HAVE_CHISE_CLIENT): New macro.
2171
2172 2002-02-25  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2173
2174         * chartab.c (Fchar_variants): Check Vcharacter_variant_table is
2175         CONSP.
2176         (Fput_char_attribute): Likewise.
2177         (char_attribute_system_db_file): Encode file-name of attribute.
2178         (vars_of_chartab): Set Qunbound into Vcharacter_variant_table as
2179         the initial value.
2180
2181 2002-02-13  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2182
2183         * mule-charset.c (put_char_ccs_code_point): Delete unused codes.
2184         (Fsave_charset_mapping_table): Use
2185         `char_attribute_system_db_file'.
2186         (load_char_decoding_entry_maybe): Likewise.
2187
2188         * chartab.h (Qsystem_char_id): New external variable.
2189         (char_attribute_system_db_file): New prototype.
2190
2191         * chartab.c (Qsystem_char_id): New variable in UTF-2000.
2192         (char_attribute_system_db_file): New function.
2193         (Fsave_char_attribute_table): Use `char_attribute_system_db_file'.
2194         (Freset_char_attribute_table): Likewise.
2195         (load_char_attribute_maybe): Likewise.
2196         (Fload_char_attribute_table): Likewise.
2197         (syms_of_chartab): Add new symbol `system-char-id'.
2198
2199 2002-02-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2200
2201         * char-ucs.h (DECODE_DEFINED_CHAR): Don't check
2202         `XCHARSET_GRAPHIC(ccs)'.
2203
2204 2002-02-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2205
2206         * mule-charset.c (Fsave_charset_mapping_table): Fixed.
2207
2208 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2209
2210         * chartab.c (Q_ucs_variants): New variable.
2211         (syms_of_chartab): Add new symbol `->ucs-variants'.
2212         (complex_vars_of_chartab): Set `Vcharacter_variant_table' on
2213         `Vchar_attribute_hash_table' as the value of `->ucs-variants'; set
2214         `->ucs-variants' on `XCHAR_TABLE_NAME (Vcharacter_variant_table)'.
2215
2216         * mule-charset.c (load_char_decoding_entry_maybe): New function.
2217
2218         * char-ucs.h (load_char_decoding_entry_maybe): New prototype when
2219         `HAVE_DATABASE' is defined.
2220         (DECODE_DEFINED_CHAR): Use `load_char_decoding_entry_maybe' when
2221         `HAVE_DATABASE' is defined.
2222
2223 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2224
2225         * chartab.c (Fsave_char_attribute_table): Don't clear internal
2226         attribute-table.
2227         (Freset_char_attribute_table): New function.
2228         (syms_of_chartab): Add new builtin function
2229         `reset-char-attribute-table'.
2230
2231 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2232
2233         * chartab.c (load_char_attribute_maybe): Don't make directories.
2234
2235 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2236
2237         * char-ucs.h: Add EXFUN for `Fmake_directory_internal'.
2238
2239         * mule-charset.c (put_char_ccs_code_point): Don't prepare a vector
2240         for decoding-table.
2241
2242 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2243
2244         * mule-charset.c (Fsave_charset_mapping_table): Use
2245         `XCHARSET_BYTE_SIZE' instead of `XCHARSET_CHARS'.
2246
2247         * char-ucs.h (put_ccs_octet_table): Use `XCHARSET_BYTE_SIZE'
2248         instead of `XCHARSET_CHARS'.
2249
2250 2002-02-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2251
2252         * mule-charset.c (CHARSET_BYTE_SIZE): Moved to char-ucs.h.
2253         (XCHARSET_BYTE_SIZE): Likewise.
2254
2255         * char-ucs.h (CHARSET_BYTE_SIZE): New inline function [moved from
2256         mule-charset.c].
2257         (XCHARSET_BYTE_SIZE): Likewise.
2258
2259 2002-02-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2260
2261         * chartab.c (Fput_char_attribute): Use exec-directory instead of
2262         data-directory to store database.
2263         (Fsave_char_attribute_table): Likewise.
2264         (load_char_attribute_maybe): Likewise.
2265         (Fload_char_attribute_table): Likewise.
2266
2267 2002-02-08  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2268
2269         * mule-charset.c (Fsave_charset_mapping_table): New function.
2270         (syms_of_mule_charset): Add new builtin function
2271         `save-charset-mapping-table'.
2272
2273 2002-02-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2274
2275         * char-ucs.h (decoding_table_check_elements): Delete prototype.
2276         (get_ccs_octet_table): New inline function.
2277         (put_ccs_octet_table): Likewise.
2278         (decoding_table_put_char): Use `get_ccs_octet_table' and
2279         `put_ccs_octet_table'.
2280         (decoding_table_remove_char): Use `decoding_table_put_char'.
2281         (DECODE_DEFINED_CHAR): Use `get_ccs_octet_table'.
2282
2283         * mule-charset.c (remove_char_ccs): Store Qunbound instead of Qnil
2284         into encoding_table.
2285         (make_charset): Use Qunbound instead Qnil as initial value of
2286         decoding_table.
2287
2288 2002-02-04  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2289
2290         * chartab.c (map_over_uint8_byte_table): Set Qunbound if an
2291         element is Qunloaded.
2292         (map_over_uint16_byte_table): Likewise.
2293         (map_over_byte_table): Likewise.
2294         (map_char_table): Likewise for CHARTAB_RANGE_ALL in UTF-2000; when
2295         CHARTAB_RANGE_CHARSET is specified in UTF-2000 with external
2296         database support, load encoding-table of the specified
2297         coded-charset if it is not loaded yet.
2298         (save_uint8_byte_table): New function of UTF-2000 with external
2299         database support.
2300         (save_uint16_byte_table): Likewise.
2301         (save_byte_table): Likewise.
2302         (Fput_char_attribute): Don't store value into external database
2303         even if the external database feature is supported in UTF-2000;
2304         set `attribute' as name of char-table if the external database
2305         feature is supported.
2306         (Fsave_char_attribute_table): New function in UTF-2000.
2307         (syms_of_chartab): Add new builtin function
2308         `save-char-attribute-table' in UTF-2000.
2309
2310 2002-02-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2311
2312         * chartab.c (char_attribute_table_to_put): New variable in
2313         UTF-2000.
2314         (Qput_char_table_map_function): Likewise.
2315         (value_to_put): Likewise.
2316         (Fput_char_table_map_function): New function in UTF-2000.
2317         (put_char_table): Use `Fmap_char_attribute' for
2318         CHARTAB_RANGE_CHARSET in UTF-2000.
2319         (Fput_char_attribute): Store symbol instead of string in
2320         `XCHAR_TABLE_NAME (table)'.
2321         (load_char_attribute_maybe): Likewise.
2322         (syms_of_chartab): Add new symbol/function
2323         `put-char-table-map-function'.
2324
2325 2002-01-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2326
2327         * database.h: Add new EXFUN for `Fmap_database'.
2328
2329         * database.c (Fmap_database): Renamed from `Fmapdatabase'.
2330         (syms_of_database): Likewise.
2331
2332         * chartab.h (struct Lisp_Char_Table): Add new member `unloaded' in
2333         UTF-2000.
2334         (CHAR_TABLE_UNLOADED): New macro of UTF-2000.
2335         (XCHAR_TABLE_UNLOADED): Likewise.
2336
2337         * chartab.c (fill_char_table): Initialize `ct->unloaded'.
2338         (Fput_char_attribute): Set XCHAR_TABLE_UNLOADED(table) if
2339         HAVE_DATABASE is defined.
2340         (char_attribute_table_to_load): New variable of UTF-2000 with
2341         external database support.
2342         (Qload_char_attribute_table_map_function): Likewise.
2343         (Fload_char_attribute_table_map_function): New function of
2344         UTF-2000 with external database support.
2345         (Fload_char_attribute_table): New function of UTF-2000.
2346         (Fmap_char_attribute): Call Fload_char_attribute_table if
2347         CHAR_TABLE_UNLOADED(ct) is set when HAVE_DATABASE is defined.
2348         (syms_of_chartab): Add new symbol and function
2349         `load-char-attribute-table-map-function' in UTF-2000 with external
2350         database support; add new function `load-char-attribute-table' in
2351         UTF-2000.
2352
2353 2002-01-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2354
2355         * chartab.h (load_char_attribute_maybe): New prototype for
2356         UTF-2000 with DATABASE support.
2357         (get_char_id_table): Use `load_char_attribute_maybe' if
2358         HAVE_DATABASE is defined.
2359
2360         * chartab.c (load_char_attribute_maybe): New function in UTF-2000
2361         with DATABASE support.
2362
2363 2002-01-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2364
2365         * chartab.c (Fput_char_attribute): Use S-expression as key of
2366         external database.
2367
2368         * chartab.h (get_char_id_table): Use S-expression as key of
2369         external database.
2370
2371 2002-01-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2372
2373         * chartab.c (map_over_uint8_byte_table): Add new argument `root';
2374         if an element is not loaded, load the corresponding attributes
2375         from an external database.
2376         (map_over_uint16_byte_table): Likewise.
2377         (map_over_byte_table): Likewise.
2378         (map_char_table): Modify for `map_over_uint8_byte_table',
2379         `map_over_uint16_byte_table' and `map_over_byte_table'; if an
2380         element is not loaded, load the corresponding attributes from an
2381         external database.
2382         (Fput_char_attribute): Change initial values to Qunloaded.
2383
2384         * chartab.h (get_char_id_table): If a character attribute is not
2385         loaded and the attribute value is not found in an external
2386         database, store Qunbound as the attribute value.
2387
2388 2002-01-22  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2389
2390         * chartab.c (BT_UINT8_unloaded): New macro.
2391         (UINT8_VALUE_P): Accept Qunloaded.
2392         (UINT8_ENCODE): Likewise.
2393         (UINT8_DECODE): Likewise.
2394         (BT_UINT16_unloaded): New macro.
2395         (UINT16_VALUE_P): Accept Qunloaded.
2396         (UINT16_ENCODE): Likewise.
2397         (UINT16_DECODE): Likewise.
2398         (UINT8_TO_UINT16): Convert BT_UINT8_unloaded into
2399         BT_UINT16_unloaded.
2400         (mark_char_table): Mark `ct->name' in UTF-2000.
2401         (char_table_description): Add `name' in UTF-2000.
2402         (Fmake_char_table): Initialize `ct->name'.
2403         (Fcopy_char_table): Copy `ct->name'.
2404         (Fput_char_attribute): Store value into an external database if
2405         HAVE_DATABASE is defined.
2406
2407         * chartab.h (struct Lisp_Char_Table): Add new member `name' in
2408         UTF-2000.
2409         (CHAR_TABLE_NAME): New macro in UTF-2000.
2410         (XCHAR_TABLE_NAME): New macro in UTF-2000.
2411         (get_char_id_table): Try to read an external database if Qunloaded
2412         is stored in a table.
2413
2414         * symbols.c (init_symbols_once_early): Assign '#<unloaded> into
2415         Qunloaded.
2416
2417 2002-01-21  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2418
2419         * database.h: Add EXFUN definitions for Fopen_database,
2420         Fput_database, Fget_database and Fclose_database.
2421
2422         * data.c (Qunloaded): New variable in UTF-2000.
2423
2424         * lisp.h (Qunloaded): New variable in UTF-2000.
2425
2426 2002-01-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2427
2428         * mule-charset.c (put_char_ccs_code_point): Modify for
2429         `decoding_table_remove_char' and `decoding_table_put_char'.
2430         (remove_char_ccs): Modify for `decoding_table_remove_char'.
2431
2432         * char-ucs.h (decoding_table_remove_char): Change arguments to
2433         hide decoding_table vector.
2434         (decoding_table_put_char): Likewise.
2435
2436 2002-01-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2437
2438         * mule-charset.c (decoding_table_remove_char): Moved to
2439         char-ucs.h.
2440         (decoding_table_put_char): Likewise.
2441
2442         * char-ucs.h (decoding_table_check_elements): New prototype [moved
2443         from mule-charset.c].
2444         (decoding_table_remove_char): New inline function [moved from
2445         mule-charset.c].
2446         (decoding_table_put_char): Likewise.
2447
2448 2002-01-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2449
2450         * mule-charset.c (Fmake_charset): Modify DOC-string for UTF-2000
2451         extension.
2452
2453 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2454
2455         * mule-charset.c (decode_builtin_char): Support mother charsets.
2456
2457 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2458
2459         * mule-charset.c (Q94x94x60): New variable.
2460         (charset_code_point): Support conversion `94x94x60'.
2461         (Fmake_charset): Likewise.
2462         (syms_of_mule_charset): Add new symbol `94x94x60'.
2463
2464         * char-ucs.h (CONVERSION_94x94x60): New macro.
2465
2466 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2467
2468         * mule-charset.c (charset_code_point): Unify code about
2469         `code-offset'.
2470
2471 2001-12-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2472
2473         * mule-charset.c (charset_code_point): Merge code about builtin
2474         characters into code about mother charsets; don't use
2475         `range_charset_code_point'.
2476         (range_charset_code_point): Deleted.
2477
2478 2001-12-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2479
2480         * mule-charset.c (Qcode_offset): New variable.
2481         (Fmake_charset): Use `XUINT' to get value of `min-code' and
2482         `max-code'; accept new property `code-offset'.
2483         (syms_of_mule_charset): Add new symbol `code-offset'.
2484
2485 2001-12-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2486
2487         * mule-charset.c (range_charset_code_point): Fixed.
2488
2489 2001-12-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2490
2491         * mule-charset.c (decode_builtin_char): Change semantics of
2492         code-offset of coded-charset.
2493         (charset_code_point): Likewise.
2494         (range_charset_code_point): Likewise.
2495         (complex_vars_of_mule_charset): Modify for the change.
2496
2497 2001-12-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2498
2499         * mule-charset.c (Fencode_char): Reverse arguments.
2500
2501         * mule-charset.c (charset_code_point): Fixed.
2502
2503 2001-12-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2504
2505         * mule-charset.c (Vcharset_mojikyo): Deleted.
2506         (Vcharset_mojikyo_2022_1): Deleted.
2507         (Vcharset_mojikyo_pj_{1..21}): Deleted.
2508         (Qmin_code): New variable in UTF-2000.
2509         (Qmax_code): Likewise.
2510         (Qmother): Likewise.
2511         (Qconversion): Likewise.
2512         (Q94x60): Likewise.
2513         (Qmojikyo): Deleted.
2514         (Qmojikyo_2022_1): Deleted.
2515         (Qmojikyo_pj_{1..22}): Deleted.
2516         (mark_charset): Mark `cs->mother'.
2517         (charset_description): Add description for `mother'.
2518         (make_charset): Rename `ucs_{min|max}' to `{min|max}_code'; add
2519         new arguments `mother' and `conversion'; use
2520         `CHARSET_{MIN|MAX}_CODE' instead of `CHARSET_UCS_{MIN|MAX}'.
2521         (charset_code_point): Moved from char-ucs.h; support `mother'
2522         charset feature.
2523         (range_charset_code_point): use `CHARSET_{MIN|MAX}_CODE' instead
2524         of `CHARSET_UCS_{MIN|MAX}'; delete hard code for `mojikyo-2022-1'.
2525         (Fmake_charset): Allow 3 and 4 as the value of `dimension' in
2526         UTF-2000; allow 128 and 256 as the value of `chars' in UTF-2000;
2527         allow 2 as the value of `graphic' in UTF-2000; add new properties
2528         `min-code', `max-code', `mother', `conversion' in UTF-2000; don't
2529         require `final' in UTF-2000; modify for `make_charset'.
2530         (Fmake_reverse_direction_charset): use `CHARSET_{MIN|MAX}_CODE'
2531         instead of `CHARSET_UCS_{MIN|MAX}'; modify for `make_charset'.
2532         (Fcharset_property): Support `mother', `min-code' and `max-code'.
2533         (Fencode_char): New function.
2534         (syms_of_mule_charset): Add new builtin function `encode-char' in
2535         UTF-2000; add new symbols `min-code', `max-code', `mother',
2536         `conversion' and `94x60'; delete symbols `mojikyo',
2537         `mojikyo-2022-1' and `mojikyo-pj-{1..21}'.
2538         (complex_vars_of_mule_charset): Modify for `make_charset' change;
2539         delete coded-charsets `mojikyo', `mojikyo-2022-1' and
2540         `mojikyo-pj-{1..21}'; delete `DEF_MOJIKYO_PJ'.
2541
2542         * chartab.c (Fdefine_char): Use `XCHARSET_MAX_CODE' instead of
2543         `XCHARSET_UCS_MAX'; regard `chinese-big5' as a base CCS.
2544
2545         * char-ucs.h (Vcharset_mojikyo): Deleted.
2546         (Vcharset_mojikyo_2022_1): Deleted.
2547         (LEADING_BYTE_MOJIKYO): Deleted.
2548         (LEADING_BYTE_MOJIKYO_2022_1): Deleted.
2549         (LEADING_BYTE_MOJIKYO_2022_2): Deleted.
2550         (LEADING_BYTE_MOJIKYO_PJ_{1 .. 21}): Deleted.
2551         (struct Lisp_Charset): Rename `ucs_{min|max}' to `{min|max}_code';
2552         add new member `mother'; add new member `conversion'.
2553         (CHARSET_MIN_CODE): Renamed from `CHARSET_UCS_MIN'.
2554         (CHARSET_MAX_CODE): Renamed from `CHARSET_UCS_MAX'.
2555         (CHARSET_MOTHER): New macro.
2556         (CHARSET_CONVERSION): New macro.
2557         (CONVERSION_IDENTICAL): New macro.
2558         (CONVERSION_94x60): New macro.
2559         (XCHARSET_MIN_CODE): Renamed from `CHARSET_MIN_CODE'.
2560         (XCHARSET_MAX_CODE): Renamed from `CHARSET_MAX_CODE'.
2561         (XCHARSET_MOTHER): New macro.
2562         (XCHARSET_CONVERSION): New macro.
2563         (MIN_CHAR_MOJIKYO): Deleted.
2564         (MAX_CHAR_MOJIKYO): Deleted.
2565         (DECODE_MOJIKYO_2022): Deleted.
2566         (DECODE_CHAR): Delete hard code for builtin Mojikyo characters.
2567         (charset_code_point): Changed to non-inline function.
2568         (encode_char_1): Use `charset_code_point'.
2569         (CHAR_TO_CHARC): Delete hard code for Mojikyo characters.
2570
2571 2001-12-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2572
2573         * lread.c (read_compiled_function): Fix prototype.
2574         (read_vector): Likewise.
2575
2576 2001-12-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2577
2578         * lrecord.h (struct lrecord_header): Delete `older'.
2579         (set_lheader_implementation): Delete code for `older'.
2580         (set_lheader_older_implementation): Deleted.
2581         (enum lrecord_type): Delete `lrecord_type_char_id_table'.
2582         (OLDER_RECORD_P): Deleted.
2583         (OLDER_RECORD_HEADER_P): Deleted.
2584         (alloc_older_lcrecord): Deleted.
2585         (alloc_older_lcrecord_type): Deleted.
2586
2587         * alloc.c (all_older_lcrecords): Deleted.
2588         (alloc_older_lcrecord): Deleted.
2589         (disksave_object_finalization_1): Delete code for older objects.
2590         (mark_object): Don't use `OLDER_RECORD_HEADER_P'.
2591         (reinit_alloc_once_early): Don't initialize `all_older_lcrecords'.
2592
2593 2001-12-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2594
2595         * mule-charset.c (decoding_table_put_char): Use `make_vector'
2596         instead of `make_older_vector'.
2597         (put_char_ccs_code_point): Likewise.
2598         (mark_charset): Mark `cs->decoding_table'.
2599         (Fset_charset_mapping_table): Don't use `make_vector_newer'.
2600
2601         * lisp.h (make_older_vector): Deleted.
2602         (make_vector_newer): Deleted.
2603
2604         * config.h.in (HAVE_GGC): Deleted.
2605
2606         * alloc.c (make_older_vector): Deleted.
2607         (make_vector_newer_1): Deleted.
2608         (make_vector_newer): Deleted.
2609
2610 2001-12-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2611
2612         * mule-charset.c (Vcharset_ideograph_daikanwa_2): New variable.
2613         (Qideograph_daikanwa_2): New variable.
2614         (syms_of_mule_charset): Add new symbol `ideograph-daikanwa-2'.
2615         (complex_vars_of_mule_charset): Add new coded-charset
2616         `ideograph-daikanwa-2'; use `LEADING_BYTE_DAIKANWA_3' instead of
2617         `LEADING_BYTE_DAIKANWA'.
2618
2619         * char-ucs.h (LEADING_BYTE_DAIKANWA_0): New macro.
2620         (LEADING_BYTE_DAIKANWA_1): New macro.
2621         (LEADING_BYTE_DAIKANWA_2): New macro.
2622         (LEADING_BYTE_DAIKANWA_3): Renamed from `LEADING_BYTE_DAIKANWA'.
2623
2624 2001-12-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2625
2626         * mule-charset.c (complex_vars_of_mule_charset): Change
2627         DOC-strings and registry of `ideograph-daikanwa'; now it indicates
2628         the second revised version.
2629
2630 2001-12-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2631
2632         * mule-charset.c (Vcharset_ucs_smp): New variable.
2633         (Vcharset_ucs_sip): New variable.
2634         (Qucs_smp): New variable.
2635         (Qucs_sip): New variable.
2636         (encode_builtin_char_1): Treat MIN_CHAR_{SMP|SIP} to
2637         MAX_CHAR_{SMP|SIP} as `ucs-{smp|sip}'.
2638         (syms_of_mule_charset): Add new symbols `ucs-smp' and `ucs-sip'.
2639         (complex_vars_of_mule_charset): Modify middle-DOC and registry of
2640         `ucs-bmp'; add new coded-charset `ucs-smp' and `ucs-sip'; change
2641         charset width of `ucs-cns', `ucs-jis', `ucs-ks' and `ucs-big5'.
2642
2643         * char-ucs.h (LEADING_BYTE_UCS_SMP): New macro.
2644         (LEADING_BYTE_UCS_SIP): New macro.
2645         (MIN_CHAR_SMP): New macro.
2646         (MAX_CHAR_SMP): New macro.
2647         (MIN_CHAR_SIP): New macro.
2648         (MAX_CHAR_SIP): New macro.
2649
2650 2001-11-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
2651
2652         * dumper.c (PDUMP_HASH_SIZE): Increase the size of hash table when
2653         utf-2000.
2654
2655 2001-11-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2656
2657         * mule-charset.c (put_char_ccs_code_point): Return canonicalized
2658         value; don't store value into `encoding_table' of `Lisp_Charset'.
2659         (mark_charset): `encoding_table' was deleted.
2660         (charset_description): Likewise.
2661         (make_charset): Likewise.
2662         (Fset_charset_mapping_table): Use `Fput_char_attribute' instead of
2663         `put_char_ccs_code_point'.
2664
2665         * chartab.h (Fput_char_attribute): New EXFUN.
2666
2667         * chartab.c (Fchar_attribute_alist): Name space of CCS-attributes
2668         is unified with normal symbol space.
2669         (Fget_char_attribute): Likewise.
2670         (Fput_char_attribute): Likewise; behavior of
2671         `put_char_ccs_code_point' is changed.
2672
2673         * char-ucs.h: Include "elhash.h".
2674         (Vchar_attribute_hash_table): New external variable.
2675         (struct Lisp_Charset): Delete `encoding_table'.
2676         (CHARSET_ENCODING_TABLE): New implementation; refer
2677         `Vchar_attribute_hash_table' instead of `encoding_table' of struct
2678         `Lisp_Charset'.
2679
2680 2001-11-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2681
2682         * mule-charset.c (Fcharset_property): Return Qnil if CHARSET_FINAL
2683         (cs) == 0.
2684
2685 2001-11-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2686
2687         * text-coding.c (char_encode_big5): Prefer charset-g1 than
2688         `chinese-big5'.
2689
2690 2001-11-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2691
2692         * chartab.c (uint8_byte_table_description): New constant.
2693         (uint8-byte-table): Use `uint8_byte_table_description'.
2694         (uint16_byte_table_description): New constant.
2695         (uint16-byte-table): Use `uint16_byte_table_description'.
2696
2697 2001-10-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2698
2699         * mule-charset.c (complex_vars_of_mule_charset): Don't use builtin
2700         range MIN_CHAR_BIG5_CDP .. MAX_CHAR_BIG5_CDP.
2701
2702 2001-10-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2703
2704         * mule-charset.c (Vcharset_ucs_ks): New variable.
2705         (Qucs_ks): New variable.
2706         (syms_of_mule_charset): Add new symbol `ucs-ks'.
2707         (complex_vars_of_mule_charset): Add new coded-charset `ucs-ks'.
2708
2709         * char-ucs.h (LEADING_BYTE_UCS_KS): New macro.
2710
2711 2001-10-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2712
2713         * chartab.h (Fmake_char): New EXFUN; moved from chartab.c.
2714         (Fdecode_char): Likewise.
2715
2716         * chartab.c: Move EXFUN for Fmake_char and Fdecode_char into
2717         chartab.h.
2718         (Fdefine_char): Modify for Fdecode_char.
2719         (Ffind_char): Likewise.
2720
2721         * mule-charset.c (Fdecode_char): Add new optional argument
2722         `defined-only'.
2723         (Fdecode_builtin_char): Modify for `Fdecode_char'.
2724
2725 2001-10-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2726
2727         * text-coding.c (mark_coding_system): Mark initial-charset-g0 and
2728         -g1 of CODESYS_BIG5 in XEmacs UTF-2000.
2729         (allocate_coding_system): Initialize initial-charsets of
2730         CODESYS_BIG5 in XEmacs UTF-2000.
2731         (Fmake_coding_system): Accept `charset-g0' and `charset-g1' for
2732         CODESYS_BIG5 in XEmacs UTF-2000.
2733         (decode_coding_big5): Use initial-charset-g0 and -g1 of
2734         CODESYS_BIG5 in XEmacs UTF-2000; use `DECODE_DEFINED_CHAR'.
2735
2736         * mule-charset.c (Vcharset_ideograph_hanziku_{1 .. 12}): New
2737         variables.
2738         (Qideograph_hanziku_{1 .. 12}): Likewise.
2739         (syms_of_mule_charset): Add new symbols `ideograph-hanziku-{1
2740         .. 12}'.
2741         (complex_vars_of_mule_charset): Use `MIN_CHAR_BIG5_CDP' to
2742         `MAX_CHAR_BIG5_CDP' for `chinese-big5'; add news coded-charsets
2743         `ideograph-hanziku-{1 .. 12}'.
2744
2745         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x200.
2746         (LEADING_BYTE_HANZIKU_{1 .. 12}): New macros.
2747         ({MIN|MAX}_CHAR_BIG5_CDP): New macros.
2748         ({MIN|MAX}_CHAR_HANZIKU_{1 .. 12}): New macros.
2749         (DECODE_DEFINED_CHAR): New inline function.
2750         (DECODE_CHAR): Use `DECODE_DEFINED_CHAR'.
2751
2752 2001-10-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2753
2754         * mule-charset.c (Vcharset_china3_jef): Renamed from
2755         `Vcharset_japanese_jef_china3'.
2756         (Qchina3_jef): Renamed from `Qjapanese_jef_china3'.
2757         (encode_builtin_char_1): Rename `{MIN|MAX}_CHAR_CHINA3_JEF' from
2758         `{MIN|MAX}_CHAR_JEF_CHINA3'..
2759         (syms_of_mule_charset): Rename `china3-jef' from
2760         `japanese-jef-china3'.
2761         (complex_vars_of_mule_charset): Likewise; rename
2762         `LEADING_BYTE_CHINA3_JEF' from `LEADING_BYTE_JEF_CHINA3'.
2763
2764         * char-ucs.h (LEADING_BYTE_CHINA3_JEF): Renamed from
2765         `LEADING_BYTE_JEF_CHINA3'.
2766         (MIN_CHAR_CHINA3_JEF): Renamed from `MIN_CHAR_JEF_CHINA3'.
2767         (MAX_CHAR_CHINA3_JEF): Renamed from `MAX_CHAR_JEF_CHINA3'.
2768
2769 2001-10-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2770
2771         * mule-charset.c (encode_builtin_char_1): Comment out special code
2772         for MIN_CHAR_MOJIKYO_0 ... MAX_CHAR_MOJIKYO_0.
2773
2774         * char-ucs.h (MIN_CHAR_MOJIKYO_0): Comment out.
2775         (MAX_CHAR_MOJIKYO_0): Comment out.
2776         (MIN_CHAR_CBETA): Changed to 0x00E20000.
2777         (MAX_CHAR_CBETA): Changed to 0x00E2FFFF.
2778         (MIN_CHAR_JEF_CHINA3): Changed to 0x00E80000.
2779         (MAX_CHAR_JEF_CHINA3): Changed to 0x00E8FFFF.
2780
2781 2001-10-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2782
2783         * mule-charset.c (Vcharset_ideograph_cbeta): New variable.
2784         (Qideograph_cbeta): New variable.
2785         (encode_builtin_char_1): Comment out special code for
2786         coded-charset `mojikyo' and `japanese-jef-china3'.
2787         (syms_of_mule_charset): Add new symbol `ideograph-cbeta'.
2788         (complex_vars_of_mule_charset): Add new coded-charset
2789         `ideograph-cbeta'.
2790
2791         * char-ucs.h (LEADING_BYTE_CBETA): New macro.
2792         (MIN_CHAR_CBETA): New macro.
2793         (MAX_CHAR_CBETA): New macro.
2794
2795 2001-10-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2796
2797         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x100.
2798         (LEADING_BYTE_JEF_CHINA3): New macro.
2799         (MIN_CHAR_JEF_CHINA3): New macro.
2800         (MAX_CHAR_JEF_CHINA3): Likewise.
2801         (DECODE_CHAR): Fixed.
2802
2803 2001-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2804
2805         * mule-charset.c (Vcharset_japanese_jef_china3): New variable.
2806         (Qjapanese_jef_china3): New variable.
2807         (encode_builtin_char_1): Support `japanese-jef-china3'.
2808         (syms_of_mule_charset): Add new symbol `japanese-jef-china3'.
2809         (complex_vars_of_mule_charset): Add new coded-charset
2810         `japanese-jef-china3'.
2811
2812 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2813
2814         * chartab.c (XCHARSET_CELL_RANGE): New inline function.
2815         (decode_char_table_range): Use `XCHARSET_CELL_RANGE'; accept 94^3,
2816         94^4, 96^3, 96^4, 128^n and 256^n set.
2817         (put_char_table): Use `XCHARSET_CELL_RANGE'.
2818         (map_char_table): Likewise.
2819
2820 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2821
2822         * chartab.c (get_char_table): Use `get_char_id_table' in XEmacs
2823         UTF-2000.
2824
2825 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2826
2827         * chartab.h (get_char_id_table): New inline function.
2828
2829         * chartab.c (get_char_id_table): Moved to chartab.h as an inline
2830         function.
2831
2832 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2833
2834         * chartab.h (decode_char_table_range): New prototype in XEmacs
2835         UTF-2000.
2836         (put_char_id_table): New inline function in XEmacs UTF-2000.
2837
2838         * chartab.c (put_char_id_table): Moved to chartab.h as an inline
2839         function.
2840         (decode_char_table_range): Delete static declaration in XEmacs
2841         UTF-2000.
2842
2843 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2844
2845         * chartab.c (put_char_id_table): Use `put_char_table'.
2846
2847 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2848
2849         * chartab.c (map_over_uint8_byte_table): Delete argument `ccs'.
2850         (map_over_uint16_byte_table): Likewise.
2851         (map_over_byte_table): Likewise.
2852         (map_char_table): Modify for `map_over_uint8_byte_table',
2853         `map_over_uint16_byte_table' and `map_over_byte_table' in XEmacs
2854         UTF-2000.
2855
2856 2001-09-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2857
2858         * chartab.c (struct map_char_table_for_charset_arg): New
2859         structure.
2860         (map_char_table_for_charset_fun): New function.
2861         (map_char_table): Use `map_char_table' for encoding_table of
2862         `range->charset'.
2863
2864 2001-09-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2865
2866         * chartab.c (map_char_table): Check a character is found in
2867         range->charset instead of non default value is defined in
2868         char-table when range is CHARTAB_RANGE_ROW.
2869
2870 2001-09-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2871
2872         * chartab.c (map_char_id_table): Deleted.
2873         (Fmap_char_attribute): Use `map_char_table' instead of
2874         `map_char_id_table'.
2875
2876 2001-09-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2877
2878         * syntax.h (SYNTAX_CODE_UNSAFE): New implementation in XEmacs
2879         UTF-2000.
2880         (update_syntax_table): Deleted in XEmacs UTF-2000.
2881
2882         * syntax.c (find_defun_start): Use `syntax_table' instead of
2883         `mirror_syntax_table' in XEmacs UTF-2000.
2884         (Fset_syntax_table): Don't use `mirror_syntax_table' in XEmacs
2885         UTF-2000.
2886         (Fchar_syntax): Use `syntax_table' instead of `mirror_table' in
2887         XEmacs UTF-2000.
2888         (Fmatching_paren): Likewise.
2889         (scan_words): Use `syntax_table' instead of `mirror_syntax_table'
2890         in XEmacs UTF-2000.
2891         (find_start_of_comment): Likewise.
2892         (find_end_of_comment): Likewise.
2893         (Fforward_comment): Likewise.
2894         (scan_lists): Likewise.
2895         (char_quoted): Likewise.
2896         (Fbackward_prefix_chars): Likewise.
2897         (scan_sexps_forward): Likewise.
2898         (update_just_this_syntax_table): Deleted in XEmacs UTF-2000.
2899         (update_syntax_table): Likewise.
2900
2901         * search.c (skip_chars): Use `syntax_table' instead of
2902         `mirror_syntax_table' in XEmacs UTF-2000.
2903         (wordify): Likewise.
2904         (Freplace_match): Likewise.
2905
2906         * regex.c (re_compile_fastmap): Use `syntax_table' instead of
2907         `mirror_syntax_table' in XEmacs UTF-2000.
2908         (WORDCHAR_P_UNSAFE): Likewise.
2909         (re_match_2_internal): Likewise.
2910
2911         * font-lock.c (find_context): Use `buf->syntax_table' instead of
2912         `buf->mirror_syntax_table' in XEmacs UTF-2000.
2913
2914         * cmds.c (internal_self_insert): Use `buf->syntax_table' instead
2915         of `buf->mirror_syntax_table' in XEmacs UTF-2000.
2916
2917         * chartab.h (struct Lisp_Char_Table): Delete `mirror_table' in
2918         XEmacs UTF-2000.
2919
2920         * chartab.c (mark_char_table): Don't mark `mirror_table' in XEmacs
2921         UTF-2000.
2922         (print_char_table): Print `default_value' in XEmacs UTF-2000.
2923         (char_table_description): Delete `mirror_table' in XEmacs
2924         UTF-2000.
2925         (fill_char_table): Don't call `update_syntax_table' in XEmacs
2926         UTF-2000.
2927         (Fmake_char_table): Don't use `mirror_table' in XEmacs UTF-2000.
2928         (Fcopy_char_table): Likewise.
2929         (put_char_table): Don't call `update_syntax_table' in XEmacs
2930         UTF-2000.
2931
2932         * casefiddle.c (casify_object): Use `buf->syntax_table' instead of
2933         `buf->mirror_syntax_table' in XEmacs UTF-2000.
2934         (casify_region_internal): Likewise.
2935
2936         * bufslots.h: Delete `mirror_syntax_table' in XEmacs UTF-2000.
2937
2938         * buffer.c (common_init_complex_vars_of_buffer): Don't use
2939         `mirror_syntax_table' in XEmacs UTF-2000.
2940
2941         * abbrev.c (abbrev_match): Use `buf->syntax_table' instead of
2942         `buf->mirror_syntax_table' in XEmacs UTF-2000.
2943         (Fexpand_abbrev): Likewise.
2944
2945 2001-09-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2946
2947         * chartab.c (vars_of_chartab): Update `utf-2000-version' to 0.18.
2948
2949 2001-09-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2950
2951         * chartab.c (map_over_uint8_byte_table): Cancel temporary hack.
2952         (map_over_uint16_byte_table): Likewise.
2953         (map_over_byte_table): Likewise.
2954         (get_char_id_table): Refer `cit->default_value'.
2955         (put_char_id_table): Support `CHARTAB_RANGE_DEFAULT'.
2956         (map_char_id_table): Use `1 << 30' instead of `1 << 24' as number
2957         of character-id ranges.
2958         (mark_char_table): Mark `ct->default_value'.
2959         (char_table_description): Add `default_value'.
2960         (fill_char_table): Use `default_value'.
2961         (decode_char_table_range): Decode `nil' as
2962         `CHARTAB_RANGE_DEFAULT'.
2963         (get_char_id_table): Refer `cit->default_value'.
2964         (put_char_id_table): Support `CHARTAB_RANGE_DEFAULT'.
2965         (map_char_table): Support `CHARTAB_RANGE_DEFAULT'; cancel
2966         temporary hack; check value of char-table is bound or not.
2967         (slow_map_char_table_fun): Support `CHARTAB_RANGE_DEFAULT'.
2968
2969         * chartab.h (struct Lisp_Char_Table): Add new member
2970         `default_value' in XEmacs UTF-2000.
2971         (CHAR_TABLE_VALUE_UNSAFE): Use `default_value'.
2972         (enum chartab_range_type): Add `CHARTAB_RANGE_DEFAULT' in XEmacs
2973         UTF-2000.
2974
2975 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2976
2977         * chartab.h (Lisp_Char_ID_Table): Deleted.
2978
2979         * chartab.c (char_table_description): Fix typo.
2980         (Fmap_char_attribute): Use `Lisp_Char_Table' instead of
2981         `Lisp_Char_ID_Table'.
2982
2983 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2984
2985         * text-coding.c (COMPOSE_ADD_CHAR): Use `CHAR_TABLEP' instead of
2986         `CHAR_ID_TABLE_P'.
2987
2988         * mule-charset.c (remove_char_ccs): Use `CHAR_TABLEP' instead of
2989         `CHAR_ID_TABLE_P'.
2990
2991         * chartab.h (XCHAR_ID_TABLE): Deleted.
2992         (XSETCHAR_ID_TABLE): Deleted.
2993         (CHAR_ID_TABLE_P): Deleted.
2994
2995         * chartab.c (put_char_id_table): Use `CHAR_TABLEP' instead of
2996         `CHAR_ID_TABLE_P'.
2997         (Fget_composite_char): Likewise.
2998         (put_char_table): Likewise.
2999         (add_char_attribute_alist_mapper): Fixed.
3000         (Fchar_attribute_alist): Use `CHAR_TABLEP' instead of
3001         `CHAR_ID_TABLE_P'.
3002         (Fget_char_attribute): Likewise.
3003         (Fget_char_attribute): Likewise.
3004         (Fmap_char_attribute): Likewise.
3005
3006         * char-ucs.h (charset_code_point): Use `CHAR_TABLEP' instead of
3007         `CHAR_ID_TABLE_P'.
3008         (encode_char_1): Likewise.
3009
3010 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3011
3012         * text-coding.c (COMPOSE_ADD_CHAR): Use `XCHAR_TABLE' instead of
3013         `XCHAR_ID_TABLE'.
3014
3015         * mule-charset.c (put_char_ccs_code_point): Use `XCHAR_TABLE'
3016         instead of `XCHAR_ID_TABLE'.
3017         (remove_char_ccs): Likewise.
3018
3019         * chartab.c (put_char_id_table): Use `XCHAR_TABLE' instead of
3020         `XCHAR_ID_TABLE'.
3021         (Fget_composite_char): Likewise.
3022         (Fchar_variants): Likewise.
3023         (put_char_table): Likewise.
3024         (add_char_attribute_alist_mapper): Likewise.
3025         (Fchar_attribute_alist): Likewise.
3026         (Fget_char_attribute): Likewise.
3027         (Fput_char_attribute): Likewise.
3028         (Fmap_char_attribute): Likewise.
3029         (Fmap_char_attribute): Likewise.
3030
3031         * char-ucs.h (charset_code_point): Use `XCHAR_TABLE' instead of
3032         `XCHAR_ID_TABLE'.
3033         (encode_char_1): Likewise.
3034
3035 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3036
3037         * chartab.c (map_char_id_table): Use `Lisp_Char_Table' instead of
3038         `Lisp_Char_ID_Table'.
3039         (mark_char_id_table): Deleted.
3040         (print_char_id_table): Likewise.
3041         (char_id_table_equal): Likewise.
3042         (char_id_table_hash): Likewise.
3043         (char_id_table_description): Likewise.
3044         (char_id_table): Likewise.
3045         (make_char_id_table): Use `Fmake_char_table' and
3046         `fill_char_table'.
3047         (get_char_id_table): Use `Lisp_Char_Table' instead of
3048         `Lisp_Char_ID_Table'.
3049         (put_char_id_table): Likewise.
3050         (Fput_char_attribute): Use `XCHAR_TABLE' instead of
3051         `XCHAR_ID_TABLE'.
3052         (Fremove_char_attribute): Likewise.
3053         (syms_of_chartab): Don't define type `char-id-table'.
3054
3055         * chartab.h (struct Lisp_Char_ID_Table): Deleted.
3056         (char_id_table): Likewise.
3057         (GC_CHAR_ID_TABLE_P): Likewise.
3058         (Lisp_Char_ID_Table): Use structure `Lisp_Char_Table'.
3059         (XCHAR_ID_TABLE): Use `XCHAR_TABLE'.
3060         (XSETCHAR_ID_TABLE): Use `XSETCHAR_TABLE'.
3061         (CHAR_ID_TABLE_P): Use `CHAR_TABLEP'.
3062         (get_char_id_table): Use `Lisp_Char_Table' instead of
3063         `Lisp_Char_ID_Table'.
3064         (put_char_id_table_0): Likewise.
3065         (put_char_id_table): Likewise.
3066
3067 2001-09-02  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
3068
3069         * chartab.h: Lisp_Byte_Table related codes are moved from
3070         chartab.h.
3071
3072         * char-ucs.h: Move Lisp_Byte_Table related codes to chartab.h.
3073
3074 2001-09-02  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
3075
3076         * chartab.h: Don't include "chartab.h".
3077         (struct Lisp_Char_ID_Table): Moved from char-ucs.h.
3078         (Lisp_Char_ID_Table): Likewise.
3079         (char_id_table): Likewise.
3080         (XCHAR_ID_TABLE): Likewise.
3081         (XSETCHAR_ID_TABLE): Likewise.
3082         (CHAR_ID_TABLE_P): Likewise.
3083         (GC_CHAR_ID_TABLE_P): Likewise.
3084         (get_char_id_table): Likewise.
3085
3086         * char-ucs.h: Include "chartab.h".
3087         (struct Lisp_Char_ID_Table): Moved to chartab.h.
3088         (Lisp_Char_ID_Table): Likewise.
3089         (char_id_table): Likewise.
3090         (XCHAR_ID_TABLE): Likewise.
3091         (XSETCHAR_ID_TABLE): Likewise.
3092         (CHAR_ID_TABLE_P): Likewise.
3093         (GC_CHAR_ID_TABLE_P): Likewise.
3094         (get_char_id_table): Likewise.
3095
3096 2001-09-01  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
3097
3098         * chartab.c (copy_uint8_byte_table): New function.
3099         (copy_uint16_byte_table): New function.
3100         (copy_byte_table): New function.
3101         (map_over_uint8_byte_table): Modify to avoid huge numbers of
3102         characters to call.
3103         (map_over_uint16_byte_table): Likewise.
3104         (map_over_byte_table): Likewise.
3105         (get_byte_table): Move prototype to chartab.h.
3106         (put_byte_table): Likewise.
3107         (put_char_id_table_0): Moved to chartab.h.
3108         (mark_char_table_entry): Don't define in XEmacs UTF-2000.
3109         (char_table_entry_equal): Likewise.
3110         (char_table_entry_hash): Likewise.
3111         (char_table_entry_description): Likewise.
3112         (char_table_entry): Likewise.
3113         (make_char_table_entry): Likewise.
3114         (copy_char_table_entry): Likewise.
3115         (get_non_ascii_char_table_value): Likewise.
3116         (map_over_charset_ascii): Likewise.
3117         (map_over_charset_control_1): Likewise.
3118         (map_over_charset_row): Likewise.
3119         (map_over_other_charset): Likewise.
3120         (mark_char_table): Modify for new structure in XEmacs UTF-2000.
3121         (print_char_table): Likewise.
3122         (char_table_equal): Likewise.
3123         (char_table_hash): Likewise.
3124         (char_table_description): Likewise.
3125         (fill_char_table): Likewise.
3126         (Fcopy_char_table): Likewise.
3127         (get_char_table): Likewise.
3128         (Fget_range_char_table): Likewise.
3129         (put_char_table): Likewise.
3130         (map_char_table): Likewise.
3131         (syms_of_chartab): Don't define `char_table_entry' in XEmacs
3132         UTF-2000.
3133
3134 2001-08-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3135
3136         * cmds.c (vars_of_cmds): Use `put_char_id_table_0' for
3137         `Vauto_fill_chars' in XEmacs UTF-2000.
3138
3139         * chartab.h (get_byte_table): New prototype [moved from
3140         chartab.c].
3141         (put_byte_table): Likewise [moved from chartab.c].
3142         (put_char_id_table_0): New inline function [moved from chartab.c].
3143         (struct Lisp_Char_Table_Entry): Don't define in XEmacs UTF-2000.
3144         (Lisp_Char_Table_Entry): Likewise.
3145         (char_table_entry): Likewise.
3146         (XCHAR_TABLE_ENTRY): Likewise.
3147         (XSETCHAR_TABLE_ENTRY): Likewise.
3148         (CHAR_TABLE_ENTRYP): Likewise.
3149         (CHECK_CHAR_TABLE_ENTRY): Likewise.
3150         (NUM_ASCII_CHARS): Likewise.
3151         (struct Lisp_Char_Table): New implementation in XEmacs UTF-2000.
3152         (CHAR_TABLE_VALUE_UNSAFE): Likewise.
3153
3154 2001-08-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3155
3156         * chartab.c (get_char_id_table): Change interface.
3157         (put_char_id_table_0): New function.
3158         (put_char_id_table): Change interface; new implementation.
3159         (Fget_composite_char): Modify for interface change of
3160         `get_char_id_table'.
3161         (Fchar_variants): Likewise.
3162         (add_char_attribute_alist_mapper): Likewise.
3163         (Fchar_attribute_alist): Likewise.
3164         (Fget_char_attribute): Likewise.
3165         (Fput_char_attribute): Allow coded-charset or [CODED-CHARSET ROW]
3166         as same as character as the first argument like `put-char-table';
3167         modify for interface change of `put_char_id_table'.
3168         (Fremove_char_attribute): Modify for interface change of
3169         `put_char_id_table'.
3170
3171 2001-08-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3172
3173         * text-coding.c: Sync up with XEmacs 21.2.41.
3174         (COMPOSE_ADD_CHAR): Modify for interface change of
3175         `get_char_id_table'.
3176
3177         * mule-charset.c (put_char_ccs_code_point): Modify for interface
3178         change of `put_char_id_table'.
3179         (remove_char_ccs): Likewise.
3180
3181         * chartab.h (put_char_id_table): Change interface.
3182
3183         * char-ucs.h (get_char_id_table): Change interface.
3184         (charset_code_point): Modify for interface change of
3185         `get_char_id_table'.
3186         (encode_char_1): Likewise.
3187
3188 2001-08-19  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3189
3190         * chartab.c (map_over_uint8_byte_table): Change arguments; add new
3191         argument `ccs'.
3192         (map_over_uint16_byte_table): Likewise.
3193         (map_over_byte_table): Likewise.
3194         (map_char_id_table): Add new argument `range' like
3195         `map_char_table'.
3196         (Fmap_char_attribute): Add new argument `range' like
3197         `Fmap_char_table'.
3198
3199 2001-08-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3200
3201         * chartab.c (map_over_uint8_byte_table): Change interface of
3202         mapping function to use struct chartab_range instead of Emchar.
3203         (map_over_uint16_byte_table): Likewise.
3204         (map_over_byte_table): Likewise.
3205         (map_char_id_table): Likewise.
3206         (struct slow_map_char_id_table_arg): Deleted.
3207         (slow_map_char_id_table_fun): Deleted.
3208         (Fmap_char_attribute): Use struct `slow_map_char_table_arg' and
3209         function `slow_map_char_table_fun' instead of struct
3210         `slow_map_char_id_table_arg' and function
3211         `slow_map_char_id_table_fun'.
3212
3213 2001-08-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3214
3215         * mule-charset.c: Move char-it-table related codes to chartab.c.
3216         (Vutf_2000_version): Moved to chartab.c.
3217         (Fdefine_char): Likewise.
3218         (Ffind_char): Likewise.
3219         (syms_of_mule_charset): Move types `uint8-byte-table',
3220         `uint16-byte-table', `byte-table' and `char-id-table' to
3221         chartab.c; move functions `char_attribute_list,
3222         `find_char_attribute_table, `char_attribute_alist,
3223         `get_char_attribute, `put_char_attribute, `remove_char_attribute,
3224         `map_char_attribute, `define_char, `find_char, `char_variants and
3225         `get_composite_char to chartab.c; move symbols `=>ucs',
3226         `->decomposition', `compat', `isolated', `initial', `medial',
3227         `final', `vertical', `noBreak', `fraction', `super', `sub',
3228         `circle', `square', `wide', `narrow', `small' and `font' to
3229         chartab.c.
3230         (vars_of_mule_charset): Move `utf-2000-version' to chartab.c; move
3231         setting codes for `Vcharacter_composition_table' and
3232         `Vcharacter_variant_table' to chartab.c.
3233         (complex_vars_of_mule_charset): Move setting code for
3234         `Vchar_attribute_hash_table' to chartab.c.
3235
3236         * chartab.h: Include "char-ucs.h" if --with-utf-2000 is specified.
3237         (make_char_id_table): New prototype.
3238         (put_char_id_table): Likewise.
3239         (Fget_char_attribute): Likewise.
3240
3241         * chartab.c: Move char-id-table related code from mule-charset.c.
3242         (Vutf_2000_version): Moved from mule-charset.c.
3243
3244         * char-ucs.h (Qucs): New external variable.
3245         (put_char_ccs_code_point): New prototype.
3246         (remove_char_ccs): Likewise.
3247
3248 2001-08-14  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
3249
3250         * mule-charset.c (Vcharset_ucs_jis): New variable.
3251         (Qucs_jis): Likewise.
3252         (syms_of_mule_charset): Add new symbol `ucs-jis'.
3253         (complex_vars_of_mule_charset): Add new coded-charset `ucs-jis'.
3254
3255         * char-ucs.h (LEADING_BYTE_UCS_JIS): New macro.
3256
3257 2001-08-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3258
3259         * mule-charset.c (map_over_uint8_byte_table): New function.
3260         (map_over_uint16_byte_table): Likewise.
3261         (map_over_byte_table): Likewise.
3262         (map_char_id_table): Likewise.
3263         (slow_map_char_id_table_fun): Likewise.
3264         (Fmap_char_attribute): Likewise.
3265         (syms_of_mule_charset): Add new function `map-char-attribute'.
3266
3267 2001-08-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3268
3269         * mule-charset.c (Ffind_char): New function in XEmacs UTF-2000.
3270         (syms_of_mule_charset): Add new function `find-char'.
3271
3272 2001-08-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3273
3274         * mule-charset.c (Vcharset_chinese_big5_cdp): New variable in
3275         XEmacs UTF-2000.
3276         (Qchinese_big5_cdp): New variable in XEmacs UTF-2000.
3277         (syms_of_mule_charset): Add new symbol `chinese-big5-cdp' in
3278         XEmacs UTF-2000.
3279         (complex_vars_of_mule_charset): Add new coded-charset
3280         `chinese-big5-cdp' in XEmacs UTF-2000; change registry of
3281         `ideograph-gt-pj-*'.
3282
3283         * char-ucs.h (LEADING_BYTE_CHINESE_BIG5_CDP): New macro.
3284
3285 2001-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3286
3287         * mule-charset.c (encode_builtin_char_1): Purge codes about
3288         {MIN|MAX}_CHAR_{GREEK|CYRILLIC}; comment out code about
3289         {MIN|MAX}_CHAR_HEBREW.
3290         (complex_vars_of_mule_charset): Comment out {MIN|MAX}_CHAR_HEBREW;
3291         don't use {MIN|MAX}_CHAR_HEBREW to define `hebrew-iso8859-8'.
3292
3293         * char-ucs.h (MIN_CHAR_GREEK): Purged.
3294         (MAX_CHAR_GREEK): Purged.
3295         (MIN_CHAR_CYRILLIC): Purged.
3296         (MAX_CHAR_CYRILLIC): Purged.
3297         (MIN_CHAR_HEBREW): Commented out.
3298         (MAX_CHAR_HEBREW): Likewise.
3299
3300 2001-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3301
3302         * mule-charset.c (Qto_ucs): New variable.
3303         (Fput_char_attribute): Treat `=>ucs' as same as `->ucs'.
3304         (Fdefine_char): Likewise.
3305         (syms_of_mule_charset): Add new symbol `=>ucs'.
3306
3307 2001-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3308
3309         * mule-charset.c (Fdecode_char): Fixed.
3310
3311 2001-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3312
3313         * mule-charset.c (complex_vars_of_mule_charset): Modify registry
3314         of latin-tcvn5712 to accept "tcvn5712.1993-1" as same as
3315         "tcvn5712-1".
3316
3317 2001-07-21  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3318
3319         * mule-charset.c (Vcharset_ucs_big5): New variable.
3320         (Qucs_big5): Likewise.
3321         (syms_of_mule_charset): Add new symbol `ucs-big5'.
3322         (complex_vars_of_mule_charset): Add new coded-charset `ucs-big5'.
3323
3324         * char-ucs.h (LEADING_BYTE_UCS_BIG5): New macro.
3325
3326 2001-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3327
3328         * mule-charset.c (decode_builtin_char): Check Big5 code range
3329         which can be mapped to `chinese-big5-1' and `chinese-big5-2'.
3330
3331 2001-07-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3332
3333         * mule-charset.c (Vcharset_chinese_gb12345): New variable.
3334         (Qchinese_gb12345): Likewise.
3335         (Fdecode_builtin_char): Fixed.
3336         (syms_of_mule_charset): Add `chinese-gb12345'.
3337         (complex_vars_of_mule_charset): Add coded-charset
3338         `chinese-gb12345'.
3339
3340         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x70.
3341         (LEADING_BYTE_CHINESE_GB12345): New macro.
3342
3343 2001-07-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3344
3345         * mule-charset.c (Fdecode_builtin_char): Use `latin-viscii-lower'
3346         and `latin-viscii-upper' for `latin-viscii'.
3347
3348 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3349
3350         * mule-charset.c (Fdecode_builtin_char): Comment out
3351         regularization code for ISO-IR GR representation.
3352
3353 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3354
3355         * mule-charset.c (decode_builtin_char): New function; renamed from
3356         `make_builtin_char'; return -1 instead of signal.
3357         (Fdecode_builtin_char): Use `decode_builtin_char'.
3358
3359         * char-ucs.h (decode_builtin_char): New prototype; renamed from
3360         `make_builtin_char'.
3361         (DECODE_CHAR): Use `decode_builtin_char' instead of
3362         `make_builtin_char'; use mapping table of `chinese-big5' for
3363         `chinese-big5-{1,2}'.
3364
3365 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3366
3367         * text-coding.c (char_encode_big5): New function.
3368         (char_finish_big5): Likewise.
3369         (reset_encoding_stream): Use `char_encode_big5' and
3370         `char_finish_big5' for CODESYS_BIG5.
3371         (mule_encode): Don't use `encode_coding_big5'.
3372         (encode_coding_big5): Deleted.
3373
3374 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3375
3376         * text-coding.c (BYTE_BIG5_TWO_BYTE_1_P): Support private area
3377         0x81- in XEmacs UTF-2000.
3378         (detect_coding_big5): Likewise.
3379
3380 2001-07-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3381
3382         * mule-charset.c (Fdefine_char): Don't use a CCS property to
3383         generate character-id if the CCS property does not have
3384         corresponding predefined character.
3385         (make_builtin_char): Return -1 if corresponding predefined
3386         character is not found.
3387         (Fdecode_char): Return nil if corresponding character is not
3388         found.
3389         (complex_vars_of_mule_charset): Change `ucs-cns' to 256^3-set and
3390         don't map to builtin ucs space.
3391
3392 2001-07-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3393
3394         * char-ucs.h (MAX_LEADING_BYTE_PRIVATE): Fixed.
3395         (MAX_CHAR_GT): Changed to `(MIN_CHAR_GT + 66773)'.
3396
3397 2001-07-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3398
3399         * mule-charset.c (Vcharset_ideograph_gt): New variable.
3400         (Vcharset_ideograph_gt_pj_{1..11}): Likewise.
3401         (Qideograph_gt): Likewise.
3402         (Qideograph_gt_pj_{1..11}): Likewise.
3403         (syms_of_mule_charset): Add `ideograph-gt', `ideograph-gt-pj-1',
3404         `ideograph-gt-pj-2', ..., `ideograph-gt-pj-10' and
3405         `ideograph-gt-pj-11'.
3406         (complex_vars_of_mule_charset): Add coded-charset `ideograph-gt',
3407         `ideograph-gt-pj-1', `ideograph-gt-pj-2', ...,
3408         `ideograph-gt-pj-10' and `ideograph-gt-pj-11'.
3409
3410         * char-ucs.h (LEADING_BYTE_GT): New macro.
3411         (LEADING_BYTE_GT_PJ_{1..11}): Likewise.
3412         (MIN_CHAR_GT): Likewise.
3413         (MAX_CHAR_GT): Likewise.
3414
3415 2001-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3416
3417         * lisp-disunion.h (XCHARVAL): New implementation for UTF-2000 to
3418         support U-60000000 .. U-7FFFFFFF with 32 bits architecture.
3419
3420         * doprnt.c (unsigned_int_converters): Add `c'.
3421         (emacs_doprnt_1): Use `XUINT' for unsigned integers.
3422
3423         * char-ucs.h (MIN_CHAR_DAIKANWA): Don't refer `MIN_CHAR_MOJIKYO'.
3424         (MAX_CHAR_DAIKANWA): Refer `MIN_CHAR_DAIKANWA' instead of
3425         `MIN_CHAR_MOJIKYO'.
3426         (MIN_CHAR_MOJIKYO_0): New macro; refer `MIN_CHAR_DAIKANWA'.
3427         (MAX_CHAR_MOJIKYO_0): New macro.
3428         (MIN_CHAR_MOJIKYO): Changed to 0x60000000.
3429
3430 2001-06-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3431
3432         * mule-charset.c (Fdefine_char): Delete cemented out code.
3433         (encode_builtin_char_1): Modify for new allocation of builtin
3434         Mojikyo characters.
3435
3436         * lisp-disunion.h (XCHARVAL): Cast the argument into EMACS_UINT.
3437
3438 2001-06-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3439
3440         * mule-charset.c (Vcharset_ucs_cns): New variable.
3441         (Qucs_cns): New variable.
3442         (syms_of_mule_charset): Add new symbol `ucs-cns'.
3443         (complex_vars_of_mule_charset): Add new coded-charset `ucs-cns'.
3444
3445 2001-05-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3446
3447         * char-ucs.h (LEADING_BYTE_UCS_CNS): New macro.
3448
3449 2000-12-09  MORIOKA Tomohiko  <tomo@m17n.org>
3450
3451         * search.c (search_buffer): Make `charset_base_code' as
3452         character-id >> 6 to eliminate the corresponding last byte in
3453         UTF-8 representation [I'm not sure it is right thing].
3454         (boyer_moore): Likewise.
3455
3456 2000-12-09  MORIOKA Tomohiko  <tomo@m17n.org>
3457
3458         * emacs.c (vars_of_emacs): Convert XEMACS_CODENAME to internal
3459         representation in MULE.
3460
3461 2000-11-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3462
3463         * text-coding.c (Fmake_coding_system): Use
3464         `EXTERNAL_PROPERTY_LIST_LOOP_3' instead of
3465         `EXTERNAL_PROPERTY_LIST_LOOP'.
3466
3467 2000-11-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3468
3469         * text-coding.c (decode_output_utf8_partial_char): New function.
3470         (decode_coding_utf8): Use `decode_output_utf8_partial_char'.
3471
3472 2000-11-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3473
3474         * text-coding.c (decode_coding_utf8): Output original byte
3475         sequence if it is broken; change order of conditions.
3476
3477         * mb-utf-8.h (REP_BYTES_BY_FIRST_BYTE): Use Bufbyte; reverse order
3478         of conditions.
3479
3480         * mb-multibyte.h (BYTE_ASCII_P):
3481         Use bit ops for char-signedness safety.
3482         (BYTE_C0_P): Use bit ops for char-signedness safety.
3483         (BYTE_C1_P): Use bit ops for char-signedness safety.
3484
3485         * character.h: (XCHAR_OR_CHAR_INT):
3486         Always use inline function.
3487         Remove redundant type checking assert() - XINT will abort quite
3488         nicely.
3489
3490 2000-11-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3491
3492         * text-coding.c: (Fencode_shift_jis_char):
3493         (Fencode_big5_char):
3494         Docstring arglist/Texinfo fixes.  See man/ChangeLog for details.
3495         Replace 0 with '\0' when working with bytes.
3496         Replace initial "(" with "\(" in docstrings.
3497
3498         (Fmake_coding_system):
3499         When type is ccl and value is vector, register it with a proper
3500         symbol.  And checks whether the given ccl program is valid.
3501         (mule_decode): When calling ccl_driver, if src indicates
3502         NULL pointer, set an empty string instead.
3503         (mule_encode): Likewise.
3504
3505         (detect_eol_type):
3506         (detect_coding_sjis):
3507         (decode_coding_sjis):
3508         (detect_coding_big5):
3509         (decode_coding_big5):
3510         (detect_coding_ucs4):
3511         (decode_coding_ucs4):
3512         (detect_coding_utf8):
3513         (decode_coding_utf8):
3514         (detect_coding_iso2022):
3515         (decode_coding_iso2022):
3516         (decode_coding_no_conversion):
3517         (mule_decode):
3518         Make all detecting and decoding functions take an Extbyte * arg.
3519         (text_encode_generic):
3520         (encode_coding_big5):
3521         (encode_coding_no_conversion):
3522         (mule_encode):
3523         Make all encoding functions take a Bufbyte * arg.
3524         Use size_t instead of unsigned int for memory sizes.
3525         Only cast to unsigned char whenever dereferencing Extbyte *.
3526
3527         (struct lrecord_description fcd_description_1): Use countof.
3528         (complex_vars_of_file_coding):
3529         Use countof instead of sizeof.
3530         Use CHECK_NATNUM instead of CHECK_INT.
3531
3532 2000-11-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3533
3534         * mule-charset.c (Fget_char_attribute): Add new optional argument
3535         `default-value'.
3536         (put_char_ccs_code_point): Modify for `Fget_char_attribute'.
3537         (remove_char_ccs): Likewise.
3538
3539 2000-10-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3540
3541         * text-coding.c (char_encode_shift_jis): New implementation in
3542         UTF-2000.
3543         (decode_coding_big5): Use `DECODE_CHAR (Vcharset_chinese_big5,
3544         ...)'.
3545
3546         * mule-charset.c (Vcharset_chinese_big5): New variable in
3547         UTF-2000.
3548         (Qchinese_big5): New variable in UTF-2000.
3549         (BIG5_SAME_ROW): New macro in UTF-2000.
3550         (make_builtin_char): Use builtin characters of
3551         `Vcharset_chinese_big5_1' and `Vcharset_chinese_big5_2' as builtin
3552         characters of `Vcharset_chinese_big5'.
3553         (syms_of_mule_charset): Add new symbol `chinese-big5' in UTF-2000.
3554         (complex_vars_of_mule_charset): Add new coded-charset
3555         `chinese-big5' in UTF-2000.
3556
3557         * char-ucs.h (LEADING_BYTE_CHINESE_BIG5): New macro.
3558         (Vcharset_chinese_big5): New external variable declaration.
3559         (Vcharset_japanese_jisx0208_1990): Likewise.
3560
3561 2000-07-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3562
3563         * mule-charset.c (expand_uint8_byte_table_to_uint16): New
3564         function.
3565         (put_byte_table): Use `expand_uint8_byte_table_to_uint16'.
3566
3567 2000-07-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3568
3569         * mule-charset.c (complex_vars_of_mule_charset): Define new macro
3570         `DEF_MOJIKYO_PJ' in UTF-2000; use `DEF_MOJIKYO_PJ' to define
3571         `mojikyo-pj-*'; add "MojikyoPJ-*" to charset-registry of
3572         `mojikyo-pj-*'.
3573
3574 2000-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3575
3576         * text-coding.c (decode_coding_big5): Modify for UTF-2000.
3577
3578 2000-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3579
3580         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3581         to 0.17.
3582
3583 2000-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3584
3585         * file-coding.c (ucs_to_char): Don't use `CHARSET_TYPE_*'; modify
3586         for `CHARSET_BY_ATTRIBUTES'.
3587         (parse_iso2022_esc): Don't use `CHARSET_TYPE_*'; modify for
3588         `CHARSET_BY_ATTRIBUTES'.
3589
3590         * text-coding.c (struct decoding_stream): Rename member `CH' to
3591         `CPOS'.
3592         (reset_decoding_stream): Use `str->cpos' instead of `str->ch'.
3593         (decode_coding_sjis): Likewise.
3594         (decode_coding_big5): Likewise.
3595         (decode_coding_ucs4): Likewise.
3596         (decode_coding_utf8): Likewise.
3597         (parse_iso2022_esc): Don't use `CHARSET_TYPE_*'; modify for
3598         `CHARSET_BY_ATTRIBUTES'.
3599         (decode_coding_iso2022): Use `str->cpos' instead of `str->ch'; use
3600         `str->counter'; decode 3, 4 bytes sets.
3601         (char_encode_iso2022): Don't use `BREAKUP_CHAR'; encode 3, 4 bytes
3602         sets.
3603         (decode_coding_no_conversion): Use `str->cpos' instead of
3604         `str->ch'.
3605
3606         * mule-charset.c (Vcharset_mojikyo_2022_1): New variable.
3607         (Qmojikyo_2022_1): New variable.
3608         (make_charset): Don't use `CHARSET_TYPE_*'.
3609         (range_charset_code_point): Support coded-charset
3610         `mojikyo-2022-1'.
3611         (encode_builtin_char_1): Modify for `CHARSET_BY_ATTRIBUTES'.
3612         (Fmake_charset): Don't use `CHARSET_TYPE_*'; modify for
3613         `CHARSET_BY_ATTRIBUTES'.
3614         (Fcharset_from_attributes): Don't use `CHARSET_TYPE_*'; modify for
3615         `CHARSET_BY_ATTRIBUTES'.
3616         (syms_of_mule_charset): Add new symbol `mojikyo-2022-1'.
3617         (complex_vars_of_mule_charset): Add new coded-charset
3618         `mojikyo-2022-1'.
3619
3620         * mule-charset.h (CHARSET_BY_ATTRIBUTES): New implementation and
3621         interface; changed to inline function.
3622
3623         * char-ucs.h (Vcharset_mojikyo_2022_1): New variable.
3624         (LEADING_BYTE_MOJIKYO_2022_1): New macro.
3625         (LEADING_BYTE_MOJIKYO_2022_2): New macro.
3626         (CHARSET_TYPE_94): Deleted.
3627         (CHARSET_TYPE_94X94): Deleted.
3628         (CHARSET_TYPE_96): Deleted.
3629         (CHARSET_TYPE_96X96): Deleted.
3630         (CHARSET_TYPE_128): Deleted.
3631         (CHARSET_TYPE_128X128): Deleted.
3632         (CHARSET_TYPE_256): Deleted.
3633         (CHARSET_TYPE_256X256): Deleted.
3634         (CHARSET_BY_ATTRIBUTES): New implementation and interface; changed
3635         to inline function.
3636         (DECODE_MOJIKYO_2022): New inline function.
3637         (DECODE_CHAR): Use `DECODE_MOJIKYO_2022'; decode
3638         `Vcharset_mojikyo_2022_1'.
3639
3640 2000-07-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3641
3642         * mule-charset.c (byte_table_same_value_p): Use `internal_equal'
3643         instead of `EQ'.
3644         (put_byte_table): Likewise.
3645         (char_id_table_equal): Use `get_byte_table' [new implementation].
3646
3647 2000-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3648
3649         * mule-charset.c: Include <limits.h> in UTF-2000.
3650         (BT_UINT8_MIN): New macro in UTF-2000.
3651         (BT_UINT8_MAX): New macro in UTF-2000.
3652         (BT_UINT8_t): New macro in UTF-2000.
3653         (BT_UINT8_nil): New macro in UTF-2000.
3654         (BT_UINT8_unbound): New macro in UTF-2000.
3655         (INT_UINT8_P): New inline function in UTF-2000.
3656         (UINT8_VALUE_P): New inline function in UTF-2000.
3657         (UINT8_ENCODE): New inline function in UTF-2000.
3658         (UINT8_DECODE): New inline function in UTF-2000.
3659         (mark_uint8_byte_table): New function in UTF-2000.
3660         (print_uint8_byte_table): New function in UTF-2000.
3661         (uint8_byte_table_equal): New function in UTF-2000.
3662         (uint8_byte_table_hash): New function in UTF-2000.
3663         (make_uint8_byte_table): New function in UTF-2000.
3664         (uint8_byte_table_same_value_p): New function in UTF-2000.
3665         (BT_UINT16_MIN): New macro in UTF-2000.
3666         (BT_UINT16_MAX): New macro in UTF-2000.
3667         (BT_UINT16_t): New macro in UTF-2000.
3668         (BT_UINT16_nil): New macro in UTF-2000.
3669         (BT_UINT16_unbound): New macro in UTF-2000.
3670         (INT_UINT16_P): New inline function in UTF-2000.
3671         (UINT16_VALUE_P): New inline function in UTF-2000.
3672         (UINT16_ENCODE): New inline function in UTF-2000.
3673         (UINT16_DECODE): New inline function in UTF-2000.
3674         (UINT8_TO_UINT16): New inline function in UTF-2000.
3675         (mark_uint16_byte_table): New function in UTF-2000.
3676         (print_uint16_byte_table): New function in UTF-2000.
3677         (uint16_byte_table_equal): New function in UTF-2000.
3678         (uint16_byte_table_hash): New function in UTF-2000.
3679         (make_uint16_byte_table): New function in UTF-2000.
3680         (uint16_byte_table_same_value_p): New function in UTF-2000.
3681         (print_byte_table): New function in UTF-2000.
3682         (byte-table): Use `print_byte_table' as printer.
3683         (make_byte_table): Delete second argument `older'.
3684         (byte_table_same_value_p): New function in UTF-2000.
3685         (copy_byte_table): Deleted.
3686         (get_byte_table): New function in UTF-2000.
3687         (put_byte_table): New function in UTF-2000.
3688         (print_char_id_table): New function in UTF-2000.
3689         (char-id-table): Use `print_char_id_table' as printer.
3690         (make_char_id_table): Delete second argument `older'.
3691         (get_char_id_table): Use `get_byte_table [new implementation].
3692         (put_char_id_table): Use `get_byte_table and `put_byte_table' [new
3693         implementation].
3694         (Ffind_char_attribute_table): New function in UTF-2000.
3695         (mark_charset): Mark `cs->encoding_table' in UTF-2000.
3696         (syms_of_mule_charset): Add LRECORD_IMPLEMENTATION
3697         `uint8_byte_table' and `uint16_byte_table' in UTF-2000.
3698         (syms_of_mule_charset): Add new function
3699         `find-char-attribute-table' in UTF-2000.
3700
3701         * lrecord.h (enum lrecord_type): Add
3702         `lrecord_type_uint16_byte_table' and
3703         `lrecord_type_uint8_byte_table'.
3704
3705         * char-ucs.h (struct Lisp_Uint8_Byte_Table): New structure.
3706         (Lisp_Uint8_Byte_Table): New type.
3707         (XUINT8_BYTE_TABLE): New macro.
3708         (XSETUINT8_BYTE_TABLE): New macro.
3709         (UINT8_BYTE_TABLE_P): New macro.
3710         (GC_UINT8_BYTE_TABLE_P): New macro.
3711         (struct Lisp_Uint16_Byte_Table): New structure.
3712         (Lisp_Uint16_Byte_Table): New type.
3713         (XUINT16_BYTE_TABLE): New macro.
3714         (XSETUINT16_BYTE_TABLE): New macro.
3715         (UINT16_BYTE_TABLE_P): New macro.
3716         (GC_UINT16_BYTE_TABLE_P): New macro.
3717
3718 2000-07-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3719
3720         * mule-charset.c (Vcharacter_ideographic_radical_table): Deleted.
3721         (Vcharacter_ideographic_strokes_table): Deleted.
3722         (Vcharacter_total_strokes_table): Deleted.
3723         (Vcharacter_morohashi_daikanwa_table): Deleted.
3724         (Vcharacter_decomposition_table): Deleted.
3725         (Qname): Deleted because it is duplicated.
3726         (Qideographic_radical): Deleted.
3727         (Qideographic_strokes): Deleted.
3728         (Qtotal_strokes): Deleted.
3729         (Qmorohashi_daikanwa): Deleted.
3730         (Fchar_attribute_alist): Use `Vchar_attribute_hash_table' for
3731         `ideographic-radical', `ideographic-strokes', `total-strokes',
3732         `morohashi-daikanwa' and `->decomposition'.
3733         (Fget_char_attribute): Likewise.
3734         (Fput_char_attribute): Likewise; use `make-vector' instead of
3735         `make_older_vector' for `->decomposition' value.
3736         (Fdefine_char): Comment out code to check `morohashi-daikanwa' and
3737         `ideograph-daikanwa'.
3738         (syms_of_mule_charset): Delete builtin symbols `name',
3739         `ideographic-radical', `ideographic-strokes', `total-strokes' and
3740         `morohashi-daikanwa'.
3741         (vars_of_mule_charset): Don't setup
3742         `Vcharacter_ideographic_radical_table',
3743         `Vcharacter_ideographic_strokes_table',
3744         `Vcharacter_total_strokes_table',
3745         `Vcharacter_morohashi_daikanwa_table' and
3746         `Vcharacter_decomposition_table'.
3747
3748 2000-06-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3749
3750         * alloc.c: Use `HAVE_GGC' instead of `UTF2000' for
3751         `make_older_vector', `make_vector_newer_1' and
3752         `make_vector_newer'.
3753
3754         * lisp.h: Use `HAVE_GGC' instead of `UTF2000' for
3755         `make_older_vector' and `make_vector_newer'.
3756
3757         * config.h.in (HAVE_GGC): New macro.
3758
3759 2000-06-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3760
3761         * mule-charset.c (struct char_attribute_list_closure): New
3762         structure in UTF-2000.
3763         (add_char_attribute_to_list_mapper): New function in UTF-2000.
3764         (Fchar_attribute_list): Likewise.
3765         (Fset_charset_mapping_table): Use `make_vector_newer'.
3766         (Fdecode_builtin_char): New function in UTF-2000.
3767         (syms_of_mule_charset): Add new function `char-attribute-list' and
3768         `decode-builtin-char' in UTF-2000.
3769
3770         * lisp.h (make_vector_newer): New prototype.
3771
3772         * alloc.c (make_vector_newer_1): New function.
3773         (make_vector_newer): New function.
3774
3775 2000-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3776
3777         * char-ucs.h (MAX_CHAR_DAIKANWA): Changed to `(MIN_CHAR_MOJIKYO +
3778         50100)'.
3779
3780 2000-06-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3781
3782         * mule-charset.c (Vchar_attribute_hash_table): New variable.
3783         (Vcharacter_attribute_table): Deleted.
3784         (Vcharacter_name_table): Deleted.
3785         (put_char_attribute): Deleted.
3786         (remove_char_attribute): Deleted.
3787         (struct char_attribute_alist_closure): New structure.
3788         (add_char_attribute_alist_mapper): New function.
3789         (Fchar_attribute_alist): Use `Vchar_attribute_hash_table' instead
3790         of `Vcharacter_attribute_table' and `Vcharacter_name_table'.
3791         (Fget_char_attribute): Likewise.
3792         (Fput_char_attribute): Likewise.
3793         (Fremove_char_attribute): Use `Vchar_attribute_hash_table' instead
3794         of `remove_char_attribute'.
3795         (Fdefine_char): Return character.
3796         (vars_of_mule_charset): Don't setup `Vcharacter_attribute_table'
3797         and `Vcharacter_name_table'.
3798         (complex_vars_of_mule_charset): Likewise
3799         `Vchar_attribute_hash_table'.
3800
3801 2000-06-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3802
3803         * character.h (CHARC_CHARSET): New macro.
3804         (CHARC_CHARSET_ID): New macro.
3805         (CHARC_CODE_POINT): New macro.
3806         (CHARC_COLUMNS): New macro.
3807         (CHARC_TO_CHAR): New inline function.
3808         (CHARC_EQ): New inline function.
3809         (CHARC_ASCII_EQ): New inline function.
3810         (CHARC_IS_SPACE): New inline function.
3811         (ASCII_TO_CHARC): New inline function.
3812
3813         * char-ucs.h (encode_char_2): Deleted.
3814         (ENCODE_CHAR): Use `encode_char_1' again.
3815         (breakup_char_1): Likewise.
3816         (CHAR_TO_CHARC): New inline function.
3817
3818         * char-lb.h, char-1byte.h (CHAR_TO_CHARC): New inline function.
3819
3820 2000-06-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3821
3822         * redisplay.c (add_emchar_rune): Use `ASCII_TO_CHARC',
3823         `CHAR_TO_CHARC' and `CHARC_CHARSET'.
3824         (create_text_block): Use `CHARC_ASCII_EQ' and `CHARC_IS_SPACE'.
3825         (generate_formatted_string_db): Use `CHARC_TO_CHAR'.
3826         (create_string_text_block): Use `CHARC_ASCII_EQ' and
3827         `CHARC_IS_SPACE'.
3828         (pixel_to_glyph_translation): Use `CHARC_ASCII_EQ'.
3829
3830         * redisplay-x.c (separate_textual_runs): Use `CHARC_CHARSET' and
3831         `CHARC_CODE_POINT'.
3832         (x_output_display_block): Use `CHARC_CHARSET' and
3833         `CHARC_ASCII_EQ'.
3834
3835         * redisplay-tty.c (tty_output_display_block): Use
3836         `CHARC_ASCII_EQ'.
3837         (tty_output_display_block): Likewise; use `ASCII_TO_CHARC'.
3838
3839         * redisplay-output.c (compare_runes): Use `CHARC_EQ'.
3840
3841         * insdel.c (find_charsets_in_charc_string): Use
3842         `CHARC_CHARSET_ID'.
3843         (charc_string_displayed_columns): Use `CHARC_COLUMNS'.
3844         (convert_bufbyte_string_into_charc_dynarr): Use `CHAR_TO_CHARC'.
3845         (convert_charc_string_into_bufbyte_dynarr): Use `CHARC_TO_CHAR'.
3846         (convert_charc_string_into_malloced_string): Likewise.
3847
3848 2000-06-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3849
3850         * toolbar-x.c (x_output_toolbar_button): Use <Charc_dynarr *>
3851         instead of <Emchar_dynarr *> for buf; use
3852         `convert_bufbyte_string_into_charc_dynarr' instead of
3853         `convert_bufbyte_string_into_emchar_dynarr'; use
3854         `find_charsets_in_charc_string' instead of
3855         `find_charsets_in_emchar_string'.
3856
3857         * redisplay.h:
3858         - Include "character.h".
3859         (struct rune): New member `cglyph'; delete member `chr'.
3860
3861         * redisplay.c (redisplay_text_width_charc_string): New function;
3862         delete `redisplay_text_width_emchar_string'.
3863         (rtw_charc_dynarr): New variable; renamed from
3864         `rtw_emchar_dynarr'.
3865         (redisplay_text_width_string): Use `rtw_charc_dynarr' instead of
3866         `rtw_emchar_dynarr'; use
3867         `convert_bufbyte_string_into_charc_dynarr' instead of
3868         `convert_bufbyte_string_into_emchar_dynarr'; use
3869         `redisplay_text_width_charc_string' instead of
3870         `redisplay_text_width_emchar_string'.
3871         (redisplay_frame_text_width_string): Use `rtw_charc_dynarr'
3872         instead of `rtw_emchar_dynarr'; use
3873         `convert_bufbyte_string_into_charc_dynarr' instead of
3874         `convert_bufbyte_string_into_emchar_dynarr'.
3875         (add_emchar_rune): Add <Charc> instead of <Emchar>; use
3876         `redisplay_text_width_charc_string' instead of
3877         `redisplay_text_width_emchar_string'.
3878         (create_text_block): Modify for <struct rune> change.
3879         (generate_formatted_string_db): Likewise.
3880         (create_string_text_block): Likewise.
3881         (pixel_to_glyph_translation): Likewise.
3882
3883         * redisplay-x.c (separate_textual_runs): Use <const Charc *>
3884         instead of <const Emchar *>.
3885         (x_text_width): Likewise.
3886         (x_output_display_block): Use <Charc_dynarr *> instead
3887         <Emchar_dynarr *>; modify for <structure rune> change.
3888         (x_output_string): Use <Charc_dynarr *> instead of <Emchar_dynarr
3889         *>.
3890
3891         * redisplay-tty.c (tty_text_width): Use <const Charc *> instead of
3892         <const Emchar *>; use `charc_string_displayed_columns' instead of
3893         `emchar_string_displayed_columns'.
3894         (tty_output_display_block): Use <Charc_dynarr *> instead of
3895         <Emchar_dynarr *> for buf; modify for <structure rune> change; use
3896         `tty_output_charc_dynarr' instead of `tty_output_emchar_dynarr'.
3897         (tty_output_charc_dynarr_dynarr): New variable; renamed from
3898         `tty_output_emchar_dynarr_dynarr'.
3899         (tty_output_charc_dynarr): New function; delete
3900         `tty_output_charc_dynarr'.
3901
3902         * redisplay-output.c (compare_runes): Modify for `struct rune'.
3903         (redisplay_output_layout): Use <Charc_dynarr *> instead of
3904         <Emchar_dynarr *> for buf; use
3905         `convert_bufbyte_string_into_charc_dynarr' instead of
3906         `convert_bufbyte_string_into_emchar_dynarr'.
3907
3908         * frame.c (title_string_charc_dynarr): New variable; renamed from
3909         `title_string_emchar_dynarr'.
3910         (generate_title_string): Use `title_string_charc_dynarr' instead
3911         of `title_string_emchar_dynarr'; use
3912         `convert_charc_string_into_malloced_string' instead of
3913         `convert_emchar_string_into_malloced_string'.
3914         (init_frame): Use `title_string_charc_dynarr' instead of
3915         `title_string_emchar_dynarr'.
3916
3917         * console.h:
3918         - Include "character.h".
3919         (struct console_methods): Use <const Charc *> instead of <const
3920         Emchar *> in `text_width_method'; use <Charc_dynarr *> instead of
3921         <Emchar_dynarr *> in output_string_method.
3922
3923         * console-x.h (x_output_string): Use <Charc_dynarr *> instead of
3924         <Emchar_dynarr *>.
3925
3926         * console-stream.c (stream_text_width): Use <const Charc *>
3927         instead of <const Emchar *>.
3928
3929         * character.h (Charc_dynarr): New type.
3930
3931         * char-ucs.h (structure Charc): New structure; define new type
3932         `Charc'.
3933
3934         * char-lb.h (DECODE_CHAR): New inline function.
3935         (encode_char_1): New inline function.
3936         (ENCODE_CHAR): New macro.
3937         (structure Charc): New structure; define new type `Charc'.
3938
3939         * char-1byte.h (Vcharset_control_1): New macro.
3940         (Vcharset_latin_iso8859_1): New macro.
3941         (DECODE_CHAR): New inline function.
3942         (encode_char_1): New inline function.
3943         (ENCODE_CHAR): New macro.
3944         (structure Charc): New structure; define new type `Charc'.
3945
3946         * insdel.c (find_charsets_in_charc_string): New function; delete
3947         `find_charsets_in_emchar_string'.
3948         (charc_string_displayed_columns): New function; delete
3949         `emchar_string_displayed_columns'.
3950         (convert_bufbyte_string_into_charc_dynarr): New function; delete
3951         `convert_bufbyte_string_into_emchar_dynarr'.
3952         (convert_charc_string_into_bufbyte_dynarr): New function; delete
3953         `convert_charc_string_into_bufbyte_dynarr'.
3954         (convert_charc_string_into_malloced_string): New function; delete
3955         `convert_charc_string_into_malloced_string'.
3956
3957         * buffer.h (find_charsets_in_charc_string): New prototype; delete
3958         `find_charsets_in_emchar_string'.
3959         (charc_string_displayed_columns): New prototype; delete
3960         `emchar_string_displayed_columns'.
3961         (convert_charc_string_into_bufbyte_dynarr): New prototype; delete
3962         `convert_charc_string_into_bufbyte_dynarr'.
3963         (convert_charc_string_into_malloced_string): New prototype; delete
3964         `convert_charc_string_into_malloced_string'.
3965
3966 2000-06-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3967
3968         * select-x.c (Fx_store_cutbuffer_internal): Modify for UTF-2000.
3969
3970 2000-06-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3971
3972         * chartab.h (get_non_ascii_char_table_value): Use <Charset_ID>.
3973
3974         * char-ucs.h: Use <short> for <Charset_ID>.
3975
3976         * mule-charset.h, char-1byte.h: Use <unsigned char> for
3977         <Charset_ID>.
3978
3979 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3980
3981         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3982         to 0.16.
3983
3984 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3985
3986         * mule-charset.c (Vcharacter_morohashi_daikanwa_table): New
3987         variable.
3988         (Qmorohashi_daikanwa): New variable.
3989         (Fchar_attribute_alist): Use `Vcharacter_morohashi_daikanwa_table'
3990         for `morohashi-daikanwa' attribute.
3991         (Fget_char_attribute): Likewise.
3992         (Fput_char_attribute): Likewise.
3993         (Fdefine_char): Don't setup `morohashi-daikanwa' attribute if it
3994         has the same value of `ideograph-daikanwa'.
3995         (syms_of_mule_charset): Add new symbol `morohashi-daikanwa'.
3996         (vars_of_mule_charset): Setup
3997         `Vcharacter_morohashi_daikanwa_table'.
3998
3999 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4000
4001         * mule-charset.c (Fchar_attribute_alist): Add coded-charset
4002         attributes.
4003         (add_charset_to_list_mapper): Add `key' instead of
4004         `XCHARSET_NAME (value)' to return aliases.
4005
4006 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4007
4008         * mule-charset.c (Vcharacter_ideographic_radical_table): New
4009         variable.
4010         (Vcharacter_ideographic_strokes_table): New variable.
4011         (Qideographic_radical): New variable.
4012         (Qideographic_strokes): New variable.
4013         (Fchar_attribute_alist): Use
4014         `Vcharacter_ideographic_radical_table' for `ideographic-radical'
4015         attribute; use `Vcharacter_ideographic_strokes_table' for
4016         `ideographic-strokes' attribute.
4017         (Fget_char_attribute): Likewise.
4018         (Fput_char_attribute): Likewise.
4019         (syms_of_mule_charset): Add new symbol `ideographic-radical' and
4020         `ideographic-strokes'.
4021         (vars_of_mule_charset): Setup
4022         `Vcharacter_ideographic_radical_table' and
4023         `Vcharacter_ideographic_strokes_table'.
4024
4025 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4026
4027         * mule-charset.c (Vcharacter_total_strokes_table): New variable.
4028         (Qtotal_strokes): New variable.
4029         (Fchar_attribute_alist): Use `Vcharacter_total_strokes_table' for
4030         `total-strokes' attribute.
4031         (Fget_char_attribute): Likewise.
4032         (Fput_char_attribute): Likewise.
4033         (syms_of_mule_charset): Add new symbol `total-strokes'.
4034         (vars_of_mule_charset): Setup `Vcharacter_total_strokes_table'.
4035
4036 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4037
4038         * mule-charset.c (Vcharacter_decomposition_table): New variable.
4039         (Fchar_attribute_alist): Add `name' and `->decomposition' if they
4040         are found.
4041         (Fget_char_attribute): Use `Vcharacter_decomposition_table' for
4042         `->decomposition' attribute.
4043         (Fput_char_attribute): Likewise.
4044         (vars_of_mule_charset): Setup `Vcharacter_decomposition_table'.
4045
4046 2000-06-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4047
4048         * mule-charset.c (decoding_table_check_elements): New function.
4049         (Fset_charset_mapping_table): Use `decoding_table_check_elements'.
4050
4051 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4052
4053         * mule-charset.c (Fset_charset_mapping_table): Use
4054         `put_char_ccs_code_point'.
4055
4056 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4057
4058         * mule-charset.c (decoding_table_put_char): New inline function.
4059         (put_char_ccs_code_point): Use `decoding_table_put_char'.
4060
4061 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4062
4063         * mule-charset.c (CHARSET_BYTE_SIZE): New inline function.
4064         (XCHARSET_BYTE_SIZE): New macro.
4065         (decoding_table_remove_char): New inline function.
4066         (put_char_ccs_code_point): Use `XCHARSET_BYTE_SIZE'; use
4067         `decoding_table_remove_char'.
4068         (remove_char_ccs): Use `decoding_table_remove_char'.
4069         (Fset_charset_mapping_table): Use `CHARSET_BYTE_SIZE'.
4070
4071 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4072
4073         * mule-charset.c (Vcharacter_name_table): New variable.
4074         (Qname): New variable.
4075         (Fget_char_attribute): Use `Vcharacter_name_table' for `name'
4076         attribute.
4077         (Fput_char_attribute): Use function `put_char_ccs_code_point'; use
4078         `Vcharacter_name_table' for `name' attribute.
4079         (Fremove_char_attribute): Use function `remove_char_ccs'.
4080         (put_char_ccs_code_point): New function.
4081         (remove_char_ccs): New function.
4082         (syms_of_mule_charset): Add new symbol `name'.
4083         (vars_of_mule_charset): Setup `Vcharacter_name_table'.
4084
4085 2000-05-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4086
4087         * mule-charset.c (make_byte_table): Add new argument `older'.
4088         (make_char_id_table): Likewise.
4089         (copy_char_id_table): Comment out because it is not used.
4090         (put_char_id_table): Modify for `make_byte_table'.
4091         (Fput_char_attribute): Make encoding_table as older object;
4092         inherit older bit of `Vcharacter_composition_table'.
4093         (mark_charset): Don't mark `cs->encoding_table'.
4094         (vars_of_mule_charset): Make `Vcharacter_attribute_table' as a
4095         normal object; make `Vcharacter_composition_table' as an older
4096         object; delete staticpro for `Vcharacter_composition_table'; make
4097         `Vcharacter_variant_table' as a normal object.
4098
4099         * alloc.c (alloc_older_lcrecord): New function in UTF-2000.
4100         (mark_object): Don't check older object in UTF-2000.
4101
4102         * lrecord.h (struct lrecord_header): Add new member `older' in
4103         UTF-2000.
4104         (set_lheader_implementation): Setup `SLI_header->older' in
4105         UTF-2000.
4106         (set_lheader_older_implementation): New macro in UTF-2000.
4107         (OLDER_RECORD_P): New macro in UTF-2000.
4108         (OLDER_RECORD_HEADER_P): New macro in UTF-2000.
4109         (alloc_older_lcrecord): New prototype in UTF-2000.
4110         (alloc_older_lcrecord_type): New macro in UTF-2000.
4111
4112 2000-05-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4113
4114         * mule-charset.c (byte_table_description): Use
4115         `XD_LISP_OBJECT_ARRAY' instead of `XD_LISP_OBJECT'.
4116         (char_id_table_description): Delete bogus `, 1'.
4117         (Fget_char_attribute): Refer encoding_table of each coded-charset
4118         to get value of coded-charset attribute of a character.
4119         (Fput_char_attribute): Use `make_older_vector' instead of
4120         `make_vector'; use encoding_table of each coded-charset to store
4121         value of coded-charset attribute of a character.
4122         (Fremove_char_attribute): Use encoding_table of each coded-charset
4123         to store value of coded-charset attribute of a character.
4124         (mark_charset): Mark `cs->encoding_table'; don't mark
4125         `cs->decoding_table'.
4126         (charset_description): Add description of new member
4127         `encoding_table'.
4128         (make_charset): Initialize `encoding_table'.
4129
4130         * char-ucs.h (struct Lisp_Charset): Add new member
4131         `encoding_table'.
4132         (CHARSET_ENCODING_TABLE): New macro.
4133         (XCHARSET_ENCODING_TABLE): New macro.
4134         (charset_code_point): New implementation.
4135         (encode_char_1): Likewise.
4136
4137         * alloc.c (all_older_lcrecords): New variable in UTF-2000.
4138         (disksave_object_finalization_1): Call finalizers of
4139         `all_older_lcrecords' in UTF-2000.
4140         (make_older_vector): New function in UTF-2000.
4141         (reinit_alloc_once_early): Initialize `all_older_lcrecords' in
4142         UTF-2000.
4143
4144         * lisp.h (make_older_vector): New prototype in UTF-2000.
4145
4146 2000-05-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4147
4148         * lrecord.h (enum lrecord_type): Rename
4149         `lrecord_type_char_code_table' to `lrecord_type_char_id_table'.
4150
4151         * text-coding.c (COMPOSE_ADD_CHAR): Use `CHAR_ID_TABLE_P' and
4152         `get_char_id_table' instead of `CHAR_CODE_TABLE_P' and
4153         `get_char_code_table'.
4154
4155         * mule-charset.c (mark_char_id_table): Renamed from
4156         `mark_char_code_table'.
4157         (char_id_table_equal): Renamed from `char_code_table_equal'.
4158         (char_id_table_hash): Renamed from `char_code_table_hash'.
4159         (make_char_id_table): Renamed from `make_char_code_table'.
4160         (copy_char_id_table): Renamed from `copy_char_code_table'.
4161         (get_char_id_table): Renamed from `get_char_code_table'.
4162         (put_char_id_table): Renamed from `put_char_code_table'.
4163         (to_char_id): Renamed from `to_char_code'.
4164
4165         * char-ucs.h (struct Lisp_Char_ID_Table): Renamed from
4166         `Lisp_Char_Code_Table'.
4167         (char_id_table): Renamed from `char_code_table'.
4168         (XCHAR_ID_TABLE): Renamed from `XCHAR_CODE_TABLE'.
4169         (XSETCHAR_ID_TABLE): Renamed from `XSETCHAR_CODE_TABLE'.
4170         (CHAR_ID_TABLE_P): Renamed from `CHAR_CODE_TABLE_P'.
4171         (GC_CHAR_ID_TABLE_P): Renamed from `GC_CHAR_CODE_TABLE_P'.
4172         (get_char_id_table): Renamed from `get_char_code_table'.
4173
4174 2000-05-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4175
4176         * lrecord.h (enum lrecord_type): Rename
4177         `lrecord_type_char_byte_table' to `lrecord_type_byte_table'.
4178
4179         * mule-charset.c (mark_byte_table): Renamed from
4180         `mark_char_byte_table'.
4181         (byte_table_equal): Renamed from `char_byte_table_equal'.
4182         (byte_table_hash): Renamed from `byte_table_hash'.
4183         (make_byte_table): Renamed from `make_byte_table'.
4184         (copy_byte_table): Renamed from `copy_char_byte_table'.
4185
4186         * char-ucs.h (struct Lisp_Byte_Table): Renamed from
4187         `Lisp_Char_Byte_Table'.
4188         (byte_table): Renamed from `char_byte_table'.
4189         (XBYTE_TABLE): Renamed from `XCHAR_BYTE_TABLE'.
4190         (XSETBYTE_TABLE): Renamed from `XSET_CHAR_BYTE_TABLE'.
4191         (BYTE_TABLE_P): Renamed from `XBYTE_TABLE_P'.
4192         (GC_BYTE_TABLE_P): Renamed from `GC_CHAR_BYTE_TABLE_P'.
4193
4194 2000-05-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4195
4196         * buffer.c (dfc_convert_to_external_format): Modify for UTF-2000.
4197         (dfc_convert_to_internal_format): Likewise.
4198         
4199         * text-coding.c (Fcoding_system_canonical_name_p): New function.
4200         * text-coding.c (Fcoding_system_alias_p): New function.
4201         * text-coding.c (Fcoding_system_aliasee): New function.
4202         * text-coding.c (append_suffix_to_symbol): New function.
4203         * text-coding.c (dangling_coding_system_alias_p): New function.
4204         * text-coding.c (Ffind_coding_system):
4205         * text-coding.c (Fcopy_coding_system):
4206         * text-coding.c (encode_coding_no_conversion):
4207         * text-coding.c (syms_of_file_coding):
4208         * text-coding.c (vars_of_file_coding):
4209         Rewrite coding system alias code.
4210         Allow nested aliases, like symbolic links.
4211         Allow redefinition of coding system aliases.
4212         Prevent existence of dangling coding system aliases.
4213         Eliminate convert_to_external_format.
4214         Eliminate convert_to_internal_format.
4215         
4216         * text-coding.c: Change enum eol_type to eol_type_t.
4217
4218 2000-05-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4219
4220         * mule-charset.c (encode_builtin_char_1): Limit builtin-code-range
4221         of `mojikyo' to MIN_CHAR_MOJIKYO + 94 * 60 * 22.
4222
4223         * char-ucs.h (MAX_CHAR_MOJIKYO): Limit builtin-code-range to
4224         MIN_CHAR_MOJIKYO + 94 * 60 * 22.
4225
4226 2000-04-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4227
4228         * mule-charset.c (encode_builtin_char_1): Use `mojikyo' instead of
4229         `ideograph-daikanwa'.
4230
4231         * char-ucs.h (Vcharset_ucs): Deleted because it is not used.
4232         (Vcharset_ucs_bmp): Likewise.
4233         (Vcharset_mojikyo): Add new extern variable definition.
4234         (Vcharset_latin_iso8859_2): Deleted because it is not used.
4235         (Vcharset_latin_iso8859_3): Likewise.
4236         (Vcharset_latin_iso8859_4): Likewise.
4237         (Vcharset_latin_iso8859_9): Likewise.
4238         (Vcharset_latin_viscii_lower): Likewise.
4239         (Vcharset_latin_viscii_upper): Likewise.
4240         (DECODE_CHAR): If charset is `mojikyo-pj-N', corresponding
4241         `mojikyo' code-point is used to decode.
4242         (encode_char_2): New function [to convert `mojikyo' code-point to
4243         Mojikyo font encoding].
4244         (ENCODE_CHAR): Use `encode_char_2' instead of `encode_code_1'.
4245         (breakup_char_1): Likewise.
4246         (CHAR_CHARSET): Use `ENCODE_CHAR' instead of `BREAKUP_CHAR'.
4247
4248 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4249
4250         * text-coding.c (Fmake_coding_system): Add document about
4251         `disable-composition' property.
4252
4253 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4254
4255         * text-coding.c (Qdisable_composition): New variable; delete
4256         `Qcomposite'.
4257         (Fmake_coding_system): Add new property `disable-composite';
4258         delete property `composite'.
4259         (COMPOSE_ADD_CHAR): Use `CODING_SYSTEM_DISABLE_COMPOSITION'
4260         instead of `!CODING_SYSTEM_COMPOSITE'.
4261         (syms_of_file_coding): Add new symbol `disable-composition';
4262         delete symbol `composite'.
4263
4264         * file-coding.h (struct Lisp_Coding_System): Add
4265         `disable_composition'; delete `enable_composition'.
4266         (CODING_SYSTEM_DISABLE_COMPOSITION): New macro; delete
4267         `CODING_SYSTEM_COMPOSITE'.
4268         (XCODING_SYSTEM_DISABLE_COMPOSITION): New macro; delete
4269         `XCODING_SYSTEM_COMPOSITE'.
4270
4271 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4272
4273         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
4274         to 0.15.
4275
4276 2000-04-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4277
4278         * text-coding.c (Qcomposite): New variable.
4279         (Fmake_coding_system): Add new property `composite'.
4280         (struct decoding_stream): Add `combined_char_count',
4281         `combined_chars' and `combining_table' in UTF-2000.
4282         (COMPOSE_FLUSH_CHARS): New macro.
4283         (COMPOSE_ADD_CHAR): New macro.
4284         (reset_decoding_stream): Reset `str->combined_char_count' and
4285         `str->combining_table' in UTF-2000.
4286         (decode_coding_iso2022): Modify for character-decomposition.
4287         (syms_of_file_coding): Add new symbol `composite'.
4288
4289 2000-04-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4290
4291         * mule-charset.c (Vcharset_latin_tcvn5712): New variable.
4292         (Fput_char_attribute): Set up `Vcharacter_variant_table' instead
4293         of `Vcharacter_composition_table' if `->decomposition' property
4294         has only 1 element.
4295         (Qlatin_tcvn5712): New variable.
4296         (syms_of_mule_charset): Add new symbol `latin-tcvn5712'.
4297         (complex_vars_of_mule_charset): Add new coded-charset
4298         `latin-tcvn5712'.
4299
4300         * char-ucs.h (LEADING_BYTE_LATIN_TCVN5712): New macro.
4301
4302 2000-04-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4303
4304         * file-coding.h (struct Lisp_Coding_System): Add
4305         `enable_composition'.
4306         (CODING_SYSTEM_COMPOSITE): New macro.
4307         (XCODING_SYSTEM_COMPOSITE): New macro.
4308
4309 2000-03-17  MORIOKA Tomohiko  <tomo@m17n.org>
4310
4311         * mule-canna.c (c2mu): Fix problem with UTF-2000.
4312
4313 2000-03-16  MORIOKA Tomohiko  <tomo@m17n.org>
4314
4315         * mule-charset.c (Fput_char_attribute): Don't make mapping-table
4316         if ATTRIBUTE is `ucs' and character-id of CHARACTER = VALUE.
4317
4318 2000-02-24  MORIOKA Tomohiko  <tomo@m17n.org>
4319
4320         * mule-charset.c (Vcharset_mojikyo): New variable.
4321         (Fdefine_char): Don't use coded-charset which does not have
4322         non-builtin character range to allocate character-id.
4323         (Qmojikyo): New variable.
4324         (syms_of_mule_charset): Add new symbol `mojikyo'.
4325         (complex_vars_of_mule_charset): Add new coded-charset `mojikyo'.
4326
4327         * char-ucs.h (LEADING_BYTE_DAIKANWA_EKANJI): New macro.
4328         (LEADING_BYTE_MOJIKYO): New macro.
4329         (MIN_CHAR_MOJIKYO): New macro.
4330         (MIN_CHAR_DAIKANWA): Use `MIN_CHAR_MOJIKYO'.
4331         (MAX_CHAR_MOJIKYO): New macro.
4332
4333 2000-02-12  MORIOKA Tomohiko  <tomo@m17n.org>
4334
4335         * mule-charset.c (remove_char_attribute): Fixed.
4336
4337 2000-02-08  MORIOKA Tomohiko  <tomo@m17n.org>
4338
4339         * mule-charset.c (remove_char_attribute): New function.
4340         (Fremove_char_attribute): New function.
4341         (encode_builtin_char_1): Comment out builtin-support for
4342         greek-iso8859-7 and cyrillic-iso8859-5.
4343         (Fdecode_char): Check `code' is an integer.
4344         (syms_of_mule_charset): Add `remove-char-attribute'.
4345         (MIN_CHAR_GREEK): Deleted.
4346         (MAX_CHAR_GREEK): Likewise.
4347         (MIN_CHAR_CYRILLIC): Likewise.
4348         (MAX_CHAR_CYRILLIC): Likewise.
4349         (complex_vars_of_mule_charset): Don't use MIN_CHAR_GREEK and
4350         MAX_CHAR_GREEK for `greek-iso8859-7'.
4351
4352         * char-ucs.h (MIN_CHAR_GREEK): Comment out.
4353         (MAX_CHAR_GREEK): Likewise.
4354         (MIN_CHAR_CYRILLIC): Likewise.
4355         (MAX_CHAR_CYRILLIC): Likewise.
4356
4357 2000-02-02  MORIOKA Tomohiko  <tomo@m17n.org>
4358
4359         * mule-charset.c (Fdefine_char): Fix problem when new code-point
4360         format is used without `ucs' property.
4361         (Fdecode_char): Fix problem with GR representation.
4362         (complex_vars_of_mule_charset): Don't use `MIN_CHAR_CYRILLIC' and
4363         `MAX_CHAR_CYRILLIC' as range of builtin `cyrillic-iso8859-5'.
4364
4365 2000-01-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
4366
4367         * mule-charset.c (make_builtin_char): New function.
4368         (encode_builtin_char_1): Check ISO-2022-charset is defined or not.
4369         (Fset_charset_mapping_table): Modify for new representation of
4370         code-point.
4371         (Fdecode_char): New function.
4372         (syms_of_mule_charset): Add new builtin function `decode-char' in
4373         UTF-2000.
4374
4375         * char-ucs.h (make_builtin_char): New prototype.
4376         (DECODE_CHAR): New inline function.
4377         (MAKE_CHAR): Use `DECODE_CHAR'.
4378
4379 2000-01-28  MORIOKA Tomohiko  <tomo@m17n.org>
4380
4381         * text-coding.c (parse_charset_conversion_specs): Use
4382         `XCHARSET_CHARS' and `XCHARSET_DIMENSION' instead of
4383         `XCHARSET_TYPE'.
4384         (iso2022_designate): Likewise.
4385
4386         * chartab.c (decode_char_table_range): Use `XCHARSET_CHARS' and
4387         `XCHARSET_DIMENSION' instead of `XCHARSET_TYPE'.
4388
4389         * mule-charset.c (Vcharset_ucs): New variable.
4390         (print_charset): Change design; use `CHARSET_CHARS' and
4391         `CHARSET_DIMENSION' instead of `CHARSET_TYPE'.
4392         (make_charset): Change signature to specify `chars' and
4393         `dimension' instead of `type'.
4394         (range_charset_code_point): Modify for 256^n-set.
4395         (encode_builtin_char_1): Encode as `ucs' in default.
4396         (Fmake_charset): Modify for `make_charset'.
4397         (Fmake_reverse_direction_charset): Likewise.
4398         (Fsplit_char): Use `ENCODE_CHAR' instead of `BREAKUP_CHAR' in
4399         UTF-2000.
4400         (complex_vars_of_mule_charset): Add coded-charset `ucs'; modify
4401         for `make_charset'.
4402
4403         * char-ucs.h (Vcharset_ucs): New variable.
4404         (LEADING_BYTE_UCS): New macro.
4405         (struct Lisp_Charset): Delete `type'; change type of `dimension'
4406         and `chars' to `unsigned short' from `unsigned int'.
4407         (CHARSET_TYPE): Deleted.
4408         (XCHARSET_TYPE): Deleted.
4409
4410 2000-01-27  MORIOKA Tomohiko  <tomo@m17n.org>
4411
4412         * mule-charset.c (charset_code_point): Moved to char-ucs.h.
4413
4414         * char-ucs.h (charset_code_point): Moved from mule-charset.c.
4415         (ENCODE_CHAR): New macro.
4416
4417 2000-01-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
4418
4419         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
4420         to 0.14 (Kawachi-Katakami).
4421
4422 2000-01-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
4423
4424         * text-coding.c (char_encode_shift_jis): Modify for
4425         `charset_code_point'.
4426         (char_encode_iso2022): Likewise.
4427
4428         * mule-charset.c (Fput_char_attribute): Use <Lisp_Object>
4429         (integer) instead of list of <Lisp_Object>s (integers) as the
4430         format of code-point of a coded-charset.
4431         (range_charset_code_point): Return <int> instead of <Lisp_Object>.
4432         (encode_builtin_char_1): New function; delete
4433         `split_builtin_char'.
4434         (charset_code_point): Return <int> instead of <Lisp_Object>.
4435         (Fsplit_char): Don't use `SPLIT_CHAR'.
4436
4437         * char-ucs.h (encode_builtin_char_1): New prototype; delete
4438         prototype for `split_builtin_char'.
4439         (range_charset_code_point): Return <int> instead of <Lisp_Object>.
4440         (charset_code_point): Likewise.
4441         (encode_char_1): New inline function; delete `SPLIT_CHAR'.
4442         (breakup_char_1): Use `encode_char_1' instead of `SPLIT_CHAR'.
4443
4444 2000-01-20  MORIOKA Tomohiko  <tomo@m17n.org>
4445
4446         * mule-charset.c (complex_vars_of_mule_charset): Don't define
4447         `japanese-jisx0208-1990' in non-UTF-2000 Mule.
4448
4449 2000-01-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
4450
4451         * mule-charset.c (split_builtin_char): Don't support OBS_94x94.
4452
4453         * char-ucs.h (MIN_CHAR_OBS_94x94): Deleted.
4454         (MAX_CHAR_OBS_94x94): Deleted.
4455
4456 2000-01-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
4457
4458         * mule-charset.c (split_builtin_char): Use `MAX_CHAR_BMP'.
4459
4460         * char-ucs.h (MAX_CHAR_BMP): New macro.
4461
4462 2000-01-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
4463
4464         * text-coding.c: Sync with r21-2-24.
4465
4466 2000-01-08  MORIOKA Tomohiko  <tomo@etl.go.jp>
4467
4468         * file-coding.c: Modify for UTF-2000.
4469
4470 2000-01-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
4471
4472         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
4473         to 0.13 (Takaida).
4474
4475 2000-01-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
4476
4477         * mule-charset.c (split_builtin_char): Delete builtin support for
4478         `katakana-jisx0201'.
4479         (complex_vars_of_mule_charset): Don't map `katakana-jisx0201' to
4480         BMP area in builtin representation.
4481
4482         * char-ucs.h (MAKE_CHAR): Delete builtin support for
4483         `Vcharset_katakana_jisx0201'.
4484
4485 1999-12-24  MORIOKA Tomohiko  <tomo@etl.go.jp>
4486
4487         * mule-charset.c (Vcharset_mojikyo_pj_[1 .. 21]): New variable.
4488         (Qisolated): New variable.
4489         (Qinitial): New variable.
4490         (Qmedial): New variable.
4491         (Qfinal): New variable.
4492         (Qvertical): New variable.
4493         (Qsmall): New variable.
4494         (to_char_code): Use `Qisolated', `Qinitial', `Qmedial', `Qfinal',
4495         `Qvertical' and `Qsmall'.
4496         (Qmojikyo_pj_[1 .. 21]): New variable.
4497         (syms_of_mule_charset): Add new symbols `isolated', `initial',
4498         `medial', `final', `vertical', `small' and `mojikyo-pj-[1 .. 21]'.
4499         (complex_vars_of_mule_charset): Add new charset `mojikyo-pj-[1
4500         .. 21]'.
4501
4502 1999-11-23  MORIOKA Tomohiko  <tomo@etl.go.jp>
4503
4504         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x60.
4505         (LEADING_BYTE_MOJIKYO_PJ_[1 .. 21]): New macros.
4506         (MAX_LEADING_BYTE_PRIVATE): Changed to `(CHARSET_ID_OFFSET - 32)'.
4507
4508 1999-11-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
4509
4510         * mule-charset.c (Vcharset_japanese_jisx0208_1990): New variable.
4511         (Fdefine_char): Use Group 00 Plane 10 for non-coded variants of
4512         BMP.
4513         (Qjapanese_jisx0208_1990): New variable.
4514         (syms_of_mule_charset): Add new symbol `Qjapanese_jisx0208_1990'.
4515         (complex_vars_of_mule_charset): Add new coded-charset
4516         `japanese-jisx0208-1990'.
4517
4518         * char-ucs.h (LEADING_BYTE_JAPANESE_JISX0208_1990): New macro.
4519         (MIN_CHAR_JIS_X0208_1990): New macro.
4520         (MAX_CHAR_JIS_X0208_1990): New macro.
4521
4522 1999-11-16  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4523
4524         * text-coding.c (char_encode_iso2022): Output `~' if ISO 2022
4525         coded-charset is not found.
4526
4527 1999-11-16  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4528
4529         * mule-charset.c (Fget_char_attribute): Forgot to `CHECK_CHAR'.
4530         (Fdefine_char): Use `Fmake_char'.
4531
4532 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4533
4534         * mule-charset.c (Vcharset_ideograph_daikanwa): New variable.
4535         (Vcharset_hiragana_jisx0208): Deleted.
4536         (Vcharset_katakana_jisx0208): Deleted.
4537         (Qideograph_daikanwa): New variable.
4538         (Qhiragana_jisx0208): Deleted.
4539         (Qkatakana_jisx0208): Deleted.
4540         (split_builtin_char): Split `ideograph-daikanwa'.
4541         (Fsplit_char): New implementation for UTF-2000.
4542         (syms_of_mule_charset): Add new symbol `ideograph-daikanwa';
4543         delete symbol `hiragana-jisx0208' and `katakana-jisx0208'.
4544         (complex_vars_of_mule_charset): Add new coded-charset
4545         `ideograph-daikanwa'; delete coded-charset `hiragana-jisx0208' and
4546         `katakana-jisx0208'.
4547
4548         * char-ucs.h (LEADING_BYTE_DAIKANWA): New macro.
4549         (LEADING_BYTE_HIRAGANA_JISX0208): Deleted.
4550         (LEADING_BYTE_KATAKANA_JISX0208): Deleted.
4551         (MIN_CHAR_DAIKANWA): New macro.
4552         (MAX_CHAR_DAIKANWA): New macro.
4553
4554 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4555
4556         * data.c (Fstring_to_number): Don't recognize floating point if
4557         base is not 10.
4558
4559 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4560
4561         * mule-charset.c (Fput_char_attribute): Forgot to `CHECK_CHAR'.
4562
4563 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4564
4565         * mule-charset.c (Qsquare): New variable.
4566         (to_char_code): Add `Qsquare'.
4567         (syms_of_mule_charset): Add new symbol `square'.
4568
4569 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4570
4571         * mule-charset.c (Qcircle): New variable.
4572         (to_char_code): Add `Qcircle'.
4573         (syms_of_mule_charset): Add new symbol `circle'.
4574
4575 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4576
4577         * mule-charset.c (Qfont): New variable.
4578         (to_char_code): Add `Qfont'.
4579         (syms_of_mule_charset): Add new symbol `font'.
4580
4581 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4582
4583         * mule-charset.c (Qsub): New variable.
4584         (to_char_code): Add `Qsub'.
4585         (syms_of_mule_charset): Add new symbol `sub'.
4586
4587 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4588
4589         * mule-charset.c (Fput_char_attribute): Convert each element of
4590         VALUE to GL position if ATTRIBUTE is a GR-set,
4591
4592 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4593
4594         * mule-charset.c (Fput_char_attribute): Allow GR code-point if a
4595         coded-charset is a GR-set.
4596
4597 1999-11-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4598
4599         * mule-charset.c (Fput_char_attribute): Check each element of
4600         VALUE is a byte if ATTRIBUTE is a coded-charset or its name.
4601
4602 1999-11-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4603
4604         * mule-charset.c (Vcharset_ethiopic_ucs): New variable in
4605         UTF-2000.
4606         (Qethiopic_ucs): New variable in UTF-2000.
4607         (syms_of_mule_charset): Add new symbol `ethiopic-ucs' in UTF-2000.
4608         (complex_vars_of_mule_charset): Add new coded-charset
4609         `ethiopic-ucs' in UTF-2000.
4610
4611         * char-ucs.h (LEADING_BYTE_ETHIOPIC_UCS): New macro.
4612         (LEADING_BYTE_HIRAGANA_JISX0208): Changed to `(CHARSET_ID_OFFSET -
4613         9)'.
4614         (LEADING_BYTE_KATAKANA_JISX0208): Changed to `(CHARSET_ID_OFFSET -
4615         10)'.
4616         (LEADING_BYTE_PRIVATE): Changed to `(CHARSET_ID_OFFSET - 11)'.
4617
4618 1999-11-13  MORIOKA Tomohiko  <tomo@etl.go.jp>
4619
4620         * mule-charset.c (Fset_charset_mapping_table): Fix problem with
4621         `ascii'.
4622
4623 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4624
4625         * mule-charset.c (Vcharacter_variant_table): New variable.
4626         (Q_ucs): New variable.
4627         (Fchar_variants): New function.
4628         (Fput_char_attribute): Register `->ucs' value to
4629         `Vcharacter_variant_table'.
4630         (syms_of_mule_charset): Add new function `char-variants' and new
4631         symbol `->ucs'.
4632         (vars_of_mule_charset): Setup `Vcharacter_variant_table'.
4633
4634 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4635
4636         * mule-charset.c (get_char_code_table): Allow negative character
4637         code.
4638         (put_char_code_table): Likewise.
4639         (Vcharacter_composition_table): New variable.
4640         (Q_decomposition): New variable.
4641         (Qwide): New variable.
4642         (Qnarrow): New variable.
4643         (Qcompat): New variable.
4644         (QnoBreak): New variable.
4645         (Qsuper): New variable.
4646         (Qfraction): New variable.
4647         (to_char_code): New function.
4648         (Fget_composite_char): New function.
4649         (Fput_char_attribute): Register `->decomposition' value to
4650         `Vcharacter_composition_table'.
4651         (syms_of_mule_charset): Add new function `get-composite-char', new
4652         symbol `->decomposition', `wide', `narrow', `compat', `noBreak',
4653         `super' and `fraction'.
4654         (vars_of_mule_charset): Setup `Vcharacter_composition_table'.
4655
4656 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4657
4658         * mule-charset.c (Fchar_attribute_alist): Check the argument is a
4659         character; copy the return value.
4660
4661 1999-11-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
4662
4663         * char-ucs.h (SPLIT_CHAR): Use `split_builtin_char'.
4664
4665         * mule-charset.c (range_charset_code_point): Must use make_int.
4666         (split_builtin_char): New function.
4667
4668 1999-11-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
4669
4670         * mule-charset.c (char_byte_table): Change name from
4671         "char-code-table" to "char-byte-table".
4672         (mark_char_code_table): New function.
4673         (char_code_table_equal): New function.
4674         (char_code_table_hash): New function.
4675         (char_code_table_description): New constant.
4676         (char_code_table): New type.
4677         (make_char_code_table): New function.
4678         (copy_char_code_table): New function.
4679         (get_char_code_table): Modify for `char_code_table' type.
4680         (put_char_code_table): Likewise.
4681         (vars_of_mule_charset): Update `utf-2000-version' to 0.12
4682         (Kashiwara).
4683
4684         * char-ucs.h (char_code_table): New type.
4685         (XCHAR_CODE_TABLE): New macro.
4686         (XSETCHAR_CODE_TABLE): New macro.
4687         (CHAR_CODE_TABLE_P): New macro.
4688         (GC_CHAR_CODE_TABLE_P): New macro.
4689         (struct Lisp_Char_Code_Table): New structure.
4690
4691 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
4692
4693         * mule-charset.c (Fmake_charset): Setup byte_offset for
4694         {94|96}^n-set.
4695
4696 1999-11-09  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4697
4698         * mule-charset.c (Fdefine_char): Fix problem with non-UCS
4699         character.
4700
4701 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
4702
4703         * char-ucs.h (SPLIT_CHAR): Don't make new cell if a charset slot
4704         is found.
4705
4706 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
4707
4708         * mule-charset.c (Fget_char_attribute): If ATTRIBUTE is a name of
4709         charset, it is regarded as a charset.
4710         (put_char_attribute): New function in UTF-2000.
4711         (Fput_char_attribute): If ATTRIBUTE is a charset or a name of
4712         charset, mapping-table of the charset is modified.
4713         (Fdefine_char): New function in UTF-2000.
4714         (Fset_charset_mapping_table): Use `put_char_attribute' instead of
4715         `Fput_char_attribute'.
4716         (syms_of_mule_charset): Add new function `define-char' and new
4717         symbol `ucs' in UTF-2000.
4718         (vars_of_mule_charset): Update `utf-2000-version' to 0.11 (Shiki).
4719
4720 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
4721
4722         * mule-charset.c (Fcharset_name): Define `byte_offset' in
4723         non-UTF-2000 configuration.
4724
4725 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
4726
4727         * text-coding.c (char_encode_shift_jis): Use `charset_code_point'
4728         not to use `XCHARSET_ENCODING_TABLE (Vcharset_latin_jisx0201)'.
4729
4730         * mule-charset.c (mark_charset): `cs->encoding_table' has been
4731         deleted.
4732         (make_charset): Don't use `CHARSET_ENCODING_TABLE(cs)'.
4733         (Fset_charset_mapping_table): Likewise.
4734
4735         * char-ucs.h (struct Lisp_Charset): Delete `encoding_table'.
4736         (CHARSET_ENCODING_TABLE): Delete.
4737         (XCHARSET_ENCODING_TABLE): Delete.
4738         (charset_code_point): New interface.
4739
4740 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
4741
4742         * text-coding.c (char_encode_iso2022): Use `charset_code_point'
4743         instead of `charset_get_byte1' and `charset_get_byte2'.
4744
4745         * mule-charset.c, char-ucs.h (charset_get_byte1): Deleted.
4746         (charset_get_byte2): Deleted.
4747
4748 1999-10-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
4749
4750         * char-ucs.h (SPLIT_CHAR): New inline function.
4751         (breakup_char_1): Use `SPLIT_CHAR'.
4752
4753         * mule-charset.c (range_charset_code_point): New function.
4754         (charset_code_point): New function.
4755
4756         * char-ucs.h (range_charset_code_point): New interface.
4757         (breakup_char_1): Use `range_charset_code_point'.
4758
4759 1999-10-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
4760
4761         * mule-charset.c (Fmake_charset): Delete unused local variable
4762         `code_offset'.
4763
4764         * char-ucs.h (Vcharacter_attribute_table): New extern variable.
4765         (breakup_char_1): Find a charset and code-point in
4766         `Vcharacter_attribute_table'.
4767
4768 1999-10-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
4769
4770         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
4771         to 0.10 (Yao).
4772
4773 1999-10-25  MORIOKA Tomohiko  <tomo@etl.go.jp>
4774
4775         * mule-charset.c (Vcharacter_attribute_table): New variable.
4776         (Fchar_attribute_alist): New function.
4777         (Fget_char_attribute): New function.
4778         (Fput_char_attribute): New function.
4779         (Fset_charset_mapping_table): Setup `Vcharacter_attribute_table'
4780         too.
4781         (syms_of_mule_charset): Add new function `char-attribute-alist',
4782         `get-char-attribute' and `put-char-attribute'.
4783         (vars_of_mule_charset): Setup `Vcharacter_attribute_table'.
4784
4785 1999-10-19  MORIOKA Tomohiko  <tomo@etl.go.jp>
4786
4787         * mule-charset.c (Fmake_charset): Just use
4788         `get_unallocated_leading_byte'.
4789
4790         * char-ucs.h (LEADING_BYTE_*): Use ISO-IR numbers for official
4791         sets; don't use final-byte based number for private sets.
4792
4793 1999-10-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
4794
4795         * doprnt.c (emacs_doprnt_1): Fix problem with %0XXd for a negative
4796         integer.
4797
4798 1999-10-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
4799
4800         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
4801         to 0.9.
4802
4803 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4804
4805         * regex.c (compile_extended_range): Use `CHAR_CHARSET_ID' instead
4806         of `CHAR_LEADING_BYTE' in UTF-2000.
4807
4808         * insdel.c (find_charsets_in_bufbyte_string): Use
4809         `CHAR_CHARSET_ID' instead of `CHAR_LEADING_BYTE' in UTF-2000.
4810         (find_charsets_in_emchar_string): Likewise.
4811
4812         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use
4813         `CHAR_CHARSET_ID' instead of `CHAR_LEADING_BYTE' in UTF-2000.
4814
4815         * char-ucs.h (CHAR_LEADING_BYTE): Deleted.
4816         (CHAR_CHARSET_ID): New macro.
4817
4818 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4819
4820         * chartab.c (get_char_table): Don't use type `Charset_ID' for
4821         charset-id - MIN_LEADING_BYTE.
4822         (put_char_table): Likewise.
4823
4824 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4825
4826         * char-ucs.h (MIN_LEADING_BYTE): Changed to `-0x40'.
4827         (NUM_LEADING_BYTES): Changed to (80 * 3 - MIN_LEADING_BYTE).
4828         (CHARSET_LEADING_BYTE): Don't cast by `Bufbyte'.
4829         (CHARSET_ID_OFFSET): New macro.
4830         (LEADING_BYTE_CONTROL_1): Changed to (CHARSET_ID_OFFSET - 1).
4831         (LEADING_BYTE_UCS_BMP): Changed to (CHARSET_ID_OFFSET - 2).
4832         (LEADING_BYTE_LATIN_VISCII): Changed to (CHARSET_ID_OFFSET - 3).
4833         (LEADING_BYTE_HIRAGANA_JISX0208): Changed to (CHARSET_ID_OFFSET -
4834         4).
4835         (LEADING_BYTE_KATAKANA_JISX0208): Changed to (CHARSET_ID_OFFSET -
4836         5).
4837         (MIN_LEADING_BYTE_PRIVATE): Changed to `MIN_LEADING_BYTE'.
4838         (MAX_LEADING_BYTE_PRIVATE): Changed to (CHARSET_ID_OFFSET - 6).
4839         (CHARSET_ID_OFFSET_94): Changed to (CHARSET_ID_OFFSET - '0').
4840         (CHARSET_ID_OFFSET_96): Changed to (CHARSET_ID_OFFSET_94 + 80).
4841         (CHARSET_ID_OFFSET_94x94): Changed to (CHARSET_ID_OFFSET_96 + 80).
4842
4843 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4844
4845         * mule-charset.c (next_allocated_leading_byte): New variable in
4846         UTF-2000.
4847         (next_allocated_1_byte_leading_byte): Don't define in UTF-2000.
4848         (next_allocated_2_byte_leading_byte): Don't define in UTF-2000.
4849         (get_unallocated_leading_byte): Simply use
4850         `next_allocated_leading_byte' [ignore dimension] in UTF-2000.
4851         (vars_of_mule_charset): Setup `next_allocated_leading_byte' in
4852         UTF-2000.
4853
4854         * char-ucs.h (MIN_LEADING_BYTE_PRIVATE): New macro.
4855         (MAX_LEADING_BYTE_PRIVATE): New macro.
4856         (MIN_LEADING_BYTE_OFFICIAL_2): Deleted.
4857         (MAX_LEADING_BYTE_OFFICIAL_2): Deleted.
4858
4859 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4860
4861         * mule-charset.c (Fmake_charset): Allocate final-byte based
4862         charset-id for 94-set, 96-set and 94x94-set.
4863
4864 1999-10-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
4865
4866         * mule-charset.c (char_byte_table_equal): Fill braces to avoid
4867         ambiguous `else'.
4868         (Fmake_charset): Likewise.
4869         (complex_vars_of_mule_charset): Modify the font registry of
4870         `ucs-bmp' not to match `Ethiopic-Unicode'.
4871
4872 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4873
4874         * mule-charset.c (complex_vars_of_mule_charset): Add font
4875         registory of `ucs-bmp'.
4876
4877 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4878
4879         * text-coding.c (char_encode_iso2022): Ignore non-ISO-2022
4880         coded-charsets in `default-coded-charset-priority-list' when
4881         breaking up a character.
4882
4883         * mule-charset.c (Vcharset_latin_viscii): New variable.
4884         (Qlatin_viscii): New variable.
4885         (make_charset): Don't use `decoding_table'.
4886         (Fmake_charset): Regard graphic = 2 as 256^n-set; setup
4887         byte_offset.
4888         (Fset_charset_mapping_table): New implementation.
4889         (syms_of_mule_charset): Add new symbol `latin-viscii'.
4890         (complex_vars_of_mule_charset): Set `graphic' attribute of charset
4891         `ucs-bmp' and `latin_viscii' to 2; change font registry of charset
4892         `latin-viscii-lower' to "MULEVISCII-LOWER"; change font registry
4893         of charset `latin-viscii-upper' to "MULEVISCII-UPPER"; add new
4894         charset `latin_viscii'.
4895
4896         * char-ucs.h (LEADING_BYTE_LATIN_VISCII): New macro.
4897         (CHARSET_TYPE_94X94): Change to 1 from 2.
4898         (CHARSET_TYPE_96): Change to 2 from 1.
4899         (CHARSET_TYPE_128): New macro.
4900         (CHARSET_TYPE_128X128): Change to 5 from 4.
4901         (CHARSET_TYPE_256): New macro.
4902         (CHARSET_TYPE_256X256): Change to 7 from 5.
4903         (MAKE_CHAR): Use `XCHARSET_BYTE_OFFSET(charset)'.
4904
4905 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4906
4907         * text-coding.c (char_encode_shift_jis): Refer
4908         `XCHARSET_ENCODING_TABLE(Vcharset_latin_jisx0201)' instead of
4909         `XCHARSET_TO_BYTE1_TABLE(Vcharset_latin_jisx0201)'.
4910
4911         * mule-charset.c (mark_char_byte_table): New function in UTF-2000.
4912         (char_byte_table_equal): New function in UTF-2000.
4913         (char_byte_table_hash): New function in UTF-2000.
4914         (char_byte_table_description): New constant in UTF-2000.
4915         (char_byte_table): New type in UTF-2000.
4916         (make_char_byte_table): New function in UTF-2000.
4917         (copy_char_byte_table): New function in UTF-2000.
4918         (make_char_code_table): New macro in UTF-2000.
4919         (get_char_code_table): New function in UTF-2000.
4920         (put_char_code_table): New function in UTF-2000.
4921         (mark_charset): Mark `cs->encoding_table' in UTF-2000.
4922         (charset_description): Add setting in UTF-2000.
4923         (make_charset): Setup `CHARSET_ENCODING_TABLE(cs)' instead of
4924         `CHARSET_TO_BYTE1_TABLE(cs)'.
4925         (charset_get_byte1): Refer `XCHARSET_ENCODING_TABLE(charset)'
4926         instead of `XCHARSET_TO_BYTE1_TABLE(charset)'.
4927         (charset_get_byte2): Refer `XCHARSET_ENCODING_TABLE(charset)'
4928         instead of `XCHARSET_TO_BYTE2_TABLE(charset)'.
4929         (Fset_charset_mapping_table): Setup `CHARSET_ENCODING_TABLE(cs)'
4930         instead of `CHARSET_TO_BYTE1_TABLE(cs)' and
4931         `CHARSET_TO_BYTE2_TABLE(cs)'.
4932
4933         * char-ucs.h (char_byte_table): New type.
4934         (XCHAR_BYTE_TABLE): New macro.
4935         (XSETCHAR_BYTE_TABLE): New macro.
4936         (CHAR_BYTE_TABLE_P): New macro.
4937         (GC_CHAR_BYTE_TABLE_P): New macro.
4938         (struct Lisp_Char_Byte_Table): New structure.
4939         (get_char_code_table): New interface.
4940         (Emchar_to_byte_table): Deleted.
4941         (get_byte_from_character_table): Deleted.
4942         (struct Lisp_Charset): Add `encoding_table'; delete
4943         `to_byte1_table' and `to_byte2_table'.
4944         (CHARSET_ENCODING_TABLE): New macro.
4945         (CHARSET_TO_BYTE1_TABLE): Deleted.
4946         (CHARSET_TO_BYTE2_TABLE): Deleted.
4947         (XCHARSET_ENCODING_TABLE): New macro.
4948         (XCHARSET_TO_BYTE1_TABLE): Deleted.
4949         (XCHARSET_TO_BYTE2_TABLE): Deleted.
4950
4951 1999-10-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
4952
4953         * mule-charset.c (syms_of_mule_charset): Delete charset alias
4954         `vietnamese-viscii-*'.
4955
4956 1999-10-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
4957
4958         * mule-charset.c (Qvietnamese_viscii_lower): New variable.
4959         (Qvietnamese_viscii_upper): New variable.
4960         (Fdefine_charset_alias): New function.
4961         (syms_of_mule_charset): Add new function `define-charset-alias'.
4962         (syms_of_mule_charset): Rename charset `vietnamese-viscii-*' to
4963         `latin-viscii-*'; define `vietnamese-viscii-*' as aliases for
4964         `latin-viscii-*'.
4965
4966 1999-10-04  MORIOKA Tomohiko  <tomo@etl.go.jp>
4967
4968         * char-ucs.h (MIN_CHAR_OBS_94x94): New macro.
4969         (MAX_CHAR_OBS_94x94): New macro.
4970         (breakup_char_1): Support obsolete XEmacs-UCS private code space
4971         for 94x94 sets.
4972
4973         * mule-charset.c (put_byte_from_character_table): Change unit size
4974         from 128 to 256.
4975         (mark_charset): Don't mark `cs->decoding_table' if `UTF2000' is
4976         not defined.
4977         (Fmake_reverse_direction_charset): Modify dummy argument of
4978         `make_charset' for non-UTF-2000 environment.
4979
4980 1999-10-03  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4981
4982         * char-ucs.h (MAKE_CHAR): Allow nested decoding-table.
4983
4984         * mule-charset.c (destroy_byte_from_character_table): New macro.
4985         (latin_jisx0201_to_ucs): Deleted.
4986         (latin_iso8859_2_to_ucs): Deleted.
4987         (latin_iso8859_3_to_ucs): Deleted.
4988         (latin_iso8859_4_to_ucs): Deleted.
4989         (latin_iso8859_9_to_ucs): Deleted.
4990         (latin_viscii_lower_to_ucs): Deleted.
4991         (latin_viscii_upper_to_ucs): Deleted.
4992         (mark_charset): Mark `cs->decoding_table'.
4993         (Fcharset_mapping_table): Fix DOC-string.
4994         (Fset_charset_mapping_table): New function.
4995         (syms_of_mule_charset): Add nwe function
4996         `set-charset-mapping-table'.
4997         (complex_vars_of_mule_charset): Don't setup and use
4998         `latin_*_to_ucs'.
4999
5000 1999-10-01  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5001
5002         * char-ucs.h (MAKE_CHAR): Check the result for range-represented
5003         charset.
5004
5005 1999-09-30  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5006
5007         * mule-charset.c (Vcharset_hiragana_jisx0208): New variable.
5008         (Vcharset_katakana_jisx0208): New variable.
5009         (Qhiragana_jisx0208): New variable.
5010         (Qkatakana_jisx0208): New variable.
5011         (make_charset): Add new argument `byte_offset'.
5012         (charset_get_byte1): Modify for new coded-charset definition; use
5013         `XCHARSET_UCS_MIN', `XCHARSET_UCS_MAX', `XCHARSET_CODE_OFFSET' and
5014         `XCHARSET_BYTE_OFFSET'.
5015         (Fmake_charset): Modify for `make_charset'.
5016         (Fmake_reverse_direction_charset): Likewise.
5017         (syms_of_mule_charset): Add new symbols `hiragana-jisx0208' and
5018         `katakana-jisx0208'.
5019         (complex_vars_of_mule_charset): Modify for `make_charset'; quote
5020         `.'  in font registry of charset `katakana-jisx0201',
5021         `latin-jisx0201', `vietnamese-viscii-lower' and
5022         `vietnamese-viscii-upper'; modify DOC-string of charset
5023         `japanese-jisx0208-1978' and `japanese-jisx0208'; modify font
5024         registry of charset `japanese-jisx0208' not to use font for JIS
5025         X0208:1990; add new charset `hiragana-jisx0208' and
5026         `katakana-jisx0208'.
5027
5028         * char-ucs.h (LEADING_BYTE_HIRAGANA_JISX0208): New macro.
5029         (LEADING_BYTE_KATAKANA_JISX0208): New macro.
5030         (struct Lisp_Charset): Add `byte_offset'.
5031         (CHARSET_BYTE_OFFSET): New macro.
5032         (XCHARSET_UCS_MIN): New macro.
5033         (XCHARSET_UCS_MAX): New macro.
5034         (XCHARSET_CODE_OFFSET): New macro.
5035         (XCHARSET_BYTE_OFFSET): New macro.
5036         (MIN_CHAR_HIRAGANA): New macro.
5037         (MAX_CHAR_HIRAGANA): New macro.
5038         (MIN_CHAR_KATAKANA): New macro.
5039         (MAX_CHAR_KATAKANA): New macro.
5040         (MAKE_CHAR): Modify for new coded-charset definition; use
5041         `XCHARSET_UCS_MIN', `XCHARSET_UCS_MAX', `XCHARSET_CODE_OFFSET' and
5042         `XCHARSET_BYTE_OFFSET'.
5043
5044 1999-09-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
5045
5046         * mule-charset.c (CHAR96): Deleted.
5047         (latin_jisx0201_to_ucs): Type is changed from array of <Emchar> to
5048         <Lisp_Object>.
5049         (latin_iso8859_2_to_ucs): Likewise.
5050         (latin_iso8859_3_to_ucs): Likewise.
5051         (latin_iso8859_4_to_ucs): Likewise.
5052         (latin_iso8859_9_to_ucs): Likewise.
5053         (latin_viscii_lower_to_ucs): Likewise.
5054         (latin_viscii_upper_to_ucs): Likewise.
5055         (latin_tcvn5712_to_ucs): Commented out.
5056         (make_charset): Change type of argument `decoding_table' from
5057         <Emchar*> to <Lisp_Object> [vector of characters].
5058         (Fmake_charset): Modify for `make_charset'.
5059         (Fmake_reverse_direction_charset): Likewise.
5060         (Fcharset_mapping_table): New function in UTF-2000.
5061         (syms_of_mule_charset): Setup `Fcharset_mapping_table' in
5062         UTF-2000.
5063         (complex_vars_of_mule_charset): Modify for type change of
5064         `*_to_ucs'; modify for `make_charset'.
5065
5066         * char-ucs.h (struct Lisp_Charset): Change type of
5067         `decoding_table' from <Emchar*> to <Lisp_Object>.
5068         (MAKE_CHAR): Modify for new specification of `decoding_table'.
5069
5070 1999-09-23  MORIOKA Tomohiko  <tomo@etl.go.jp>
5071
5072         * mule-charset.c (Fmake_reverse_direction_charset): Fix compile
5073         error with non-UTF-2000-Mule.
5074
5075 1999-09-21  MORIOKA Tomohiko  <tomo@etl.go.jp>
5076
5077         * mule-charset.c (Vcharset_chinese_cns11643_3): Deleted [defined
5078         in lisp again].
5079         (Vcharset_chinese_cns11643_4): Likewise.
5080         (Vcharset_chinese_cns11643_5): Likewise.
5081         (Vcharset_chinese_cns11643_6): Likewise.
5082         (Vcharset_chinese_cns11643_7): Likewise.
5083         (Qchinese_cns11643_3): Likewise.
5084         (Qchinese_cns11643_4): Likewise.
5085         (Qchinese_cns11643_5): Likewise.
5086         (Qchinese_cns11643_6): Likewise.
5087         (Qchinese_cns11643_7): Likewise.
5088         (syms_of_mule_charset): Move definitions for `chinese-cns11643-3',
5089         `chinese-cns11643-4', `chinese-cns11643-5', `chinese-cns11643-6'
5090         and `chinese-cns11643-7' to lisp/mule/chinese.el.
5091         (complex_vars_of_mule_charset): Likewise.
5092
5093 1999-09-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
5094
5095         * mule-charset.c (charset_get_byte1): Fix bug about 94- and
5096         96-set.
5097         (Fmake_reverse_direction_charset): Inherit CHARSET_DECODING_TABLE,
5098         CHARSET_UCS_MIN, CHARSET_UCS_MAX and CHARSET_CODE_OFFSET.
5099
5100 1999-09-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
5101
5102         * char-ucs.h (MIN_CHAR_HALFWIDTH_KATAKANA): Changed to 0xFF61 from
5103         0xFF60.
5104         (MAKE_CHAR): Change offset for katakana-jisx0201 to 33 from 0x20.
5105         (breakup_char_1): Likewise.
5106
5107         * text-coding.c (char_encode_iso2022): Keep designated charsets if
5108         one of them includes the specified character.
5109
5110 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
5111
5112         * mule-charset.c: Update `utf-2000-version' to 0.8 (Kami).
5113
5114 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
5115
5116         * char-ucs.h (MAKE_CHAR): Fix problem in 2-dimension charset.
5117
5118 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
5119
5120         * mule-charset.c (latin_iso8859_2_to_ucs NULL): Add pseudo
5121         definition for non-UTF-2000 Mule.
5122         (latin_iso8859_3_to_ucs): Likewise.
5123         (latin_iso8859_4_to_ucs): Likewise.
5124         (latin_iso8859_9_to_ucs): Likewise.
5125         (latin_jisx0201_to_ucs): Likewise.
5126         (MIN_CHAR_THAI): Likewise.
5127         (MAX_CHAR_THAI): Likewise.
5128         (MIN_CHAR_GREEK): Likewise.
5129         (MAX_CHAR_GREEK): Likewise.
5130         (MIN_CHAR_HEBREW): Likewise.
5131         (MAX_CHAR_HEBREW): Likewise.
5132         (MIN_CHAR_HALFWIDTH_KATAKANA): Likewise.
5133         (MAX_CHAR_HALFWIDTH_KATAKANA): Likewise.
5134         (MIN_CHAR_CYRILLIC): Likewise.
5135         (MAX_CHAR_CYRILLIC): Likewise.
5136
5137 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
5138
5139         * char-ucs.h (breakup_char_1): Use
5140         `Vdefault_coded_charset_priority_list' for hebrew-iso8859-8,
5141         thai-tis620 and katakana-jisx0201 area.
5142
5143 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5144
5145         * char-ucs.h (breakup_char_1): Use
5146         `Vdefault_coded_charset_priority_list' for cyrillic-iso8859-5
5147         area.
5148
5149         * text-coding.c (reset_encoding_stream): Fixed.
5150         (char_encode_ucs4): Delete `& 255'.
5151
5152         * char-ucs.h (breakup_char_1): Use
5153         `Vdefault_coded_charset_priority_list' for greek-iso8859-7 area.
5154
5155 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5156
5157         * file-coding.c (Fmake_coding_system): Don't set up
5158         `codesys->fixed.size'.
5159         (encode_coding_no_conversion): Don't refer
5160         `str->codesys->fixed.size'.
5161
5162 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5163
5164         * mule-charset.c, char-ucs.h (latin_a_char_to_charset): Deleted.
5165         (latin_a_char_to_byte1): Deleted.
5166         (latin_a_char_to_byte2): Deleted.
5167
5168 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5169
5170         * mule-charset.c (make_charset): Add new argument `ucs_min',
5171         `ucs_max' and `code_offset'.
5172         (charset_get_byte1): New implementation [delete specific charset
5173         depended implementations].
5174         (Fmake_charset): Modify for `make_charset'.
5175         (Fmake_reverse_direction_charset): Likewise.
5176         (complex_vars_of_mule_charset): Likewise.
5177
5178         * char-ucs.h (struct Lisp_Charset): Add `ucs_min', `ucs_max' and
5179         `code_offset'.
5180         (CHARSET_UCS_MIN): New macro.
5181         (CHARSET_UCS_MAX): New macro.
5182         (CHARSET_CODE_OFFSET): New macro.
5183         (MAKE_CHAR): Delete charset depended definitions [except
5184         katakana-jisx0201].
5185
5186 1999-09-13  MORIOKA Tomohiko  <tomo@etl.go.jp>
5187
5188         * char-ucs.h (breakup_char_1): Use
5189         `Vdefault_coded_charset_priority_list' for C0-Controls,
5190         Basic-Latin, C1-Controls and Latin-1-Supplement area.
5191
5192 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5193
5194         * char-ucs.h (charset_get_byte1): New function.
5195         (XCHARSET_GET_BYTE1): Deleted.
5196         (charset_get_byte2): New function.
5197         (XCHARSET_GET_BYTE2): Deleted.
5198         (Vdefault_coded_charset_priority_list): New external variable.
5199         (breakup_char_1): Use `charset_get_byte1', `charset_get_byte2' and
5200         `Vdefault_preferred_coded_charset_list'.
5201
5202         * mule-charset.c (charset_get_byte1): New function.
5203         (charset_get_byte2): New function.
5204         (Vdefault_coded_charset_priority_list): New variable.
5205         (vars_of_mule_charset): Add new variable
5206         `default-coded-charset-priority-list'.
5207
5208 1999-09-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5209
5210         * char-ucs.h (XCHARSET_GET_BYTE1): New inline function.
5211         (XCHARSET_GET_BYTE2): New inline function.
5212         (breakup_char_1): Use `XCHARSET_GET_BYTE1' and
5213         `XCHARSET_GET_BYTE2'.
5214
5215 1999-09-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5216
5217         * mule-charset.c (make_charset): Initialize
5218         `CHARSET_TO_BYTE1_TABLE(cs)' and `CHARSET_TO_BYTE2_TABLE(cs)' by
5219         NULL if table is not defined.
5220
5221 1999-09-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5222
5223         * text-coding.c (char_encode_shift_jis): Use
5224         `XCHARSET_TO_BYTE1_TABLE' for `Vcharset_latin_jisx0201' instead of
5225         `ucs_to_latin_jisx0201'.
5226
5227         * mule-charset.c (ucs_to_latin_jisx0201): Deleted.
5228         (ucs_to_latin_iso8859_2): Deleted.
5229         (ucs_to_latin_iso8859_3): Deleted.
5230         (ucs_to_latin_iso8859_4): Deleted.
5231         (ucs_to_latin_iso8859_9): Deleted.
5232         (ucs_to_latin_viscii_lower): Deleted.
5233         (ucs_to_latin_viscii_upper): Deleted.
5234         (ucs_to_latin_tcvn5712): Deleted.
5235         (make_charset): Add new argument `decoding_table'; set up
5236         `CHARSET_DECODING_TABLE(cs)' in UTF-2000; set up
5237         `CHARSET_TO_BYTE1_TABLE(cs)' for 94-set and 96-set if
5238         `decoding_table' is defined in UTF-2000.
5239         (Fmake_charset): Modify for `make_charset'.
5240         (Fmake_reverse_direction_charset): Likewise.
5241         (complex_vars_of_mule_charset): Likewise; delete `GENERATE_94_SET'
5242         and `GENERATE_96_SET'.
5243
5244         * char-ucs.h (latin_jisx0201_to_ucs): Deleted.
5245         (ucs_to_latin_jisx0201): Deleted.
5246         (latin_iso8859_2_to_ucs): Deleted.
5247         (ucs_to_latin_iso8859_2): Deleted.
5248         (latin_iso8859_3_to_ucs): Deleted.
5249         (ucs_to_latin_iso8859_3): Deleted.
5250         (latin_iso8859_4_to_ucs): Deleted.
5251         (ucs_to_latin_iso8859_4): Deleted.
5252         (latin_iso8859_9_to_ucs): Deleted.
5253         (ucs_to_latin_iso8859_9): Deleted.
5254         (latin_viscii_lower_to_ucs): Deleted.
5255         (ucs_to_latin_viscii_lower): Deleted.
5256         (latin_viscii_upper_to_ucs): Deleted.
5257         (ucs_to_latin_viscii_upper): Deleted.
5258         (struct Lisp_Charset): Renamed `encoding_table' to
5259         `to_byte1_table'; add `to_byte2_table'.
5260         (CHARSET_DECODING_TABLE): New macro.
5261         (CHARSET_TO_BYTE1_TABLE): New macro.
5262         (CHARSET_TO_BYTE2_TABLE): New macro.
5263         (XCHARSET_DECODING_TABLE): New macro.
5264         (XCHARSET_TO_BYTE1_TABLE): New macro.
5265         (XCHARSET_TO_BYTE2_TABLE): New macro.
5266         (MAKE_CHAR): Use `XCHARSET_DECODING_TABLE'; don't use `*_to_ucs'
5267         tables.
5268         (breakup_char_1): Use `XCHARSET_TO_BYTE1_TABLE' if it is defined;
5269         don't use `ucs_to_*' tables.
5270
5271 1999-09-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5272
5273         * text-coding.c (Fmake_coding_system): Don't set up
5274         `codesys->fixed.size'.
5275         (encode_coding_no_conversion): Use `if' instead of `switch'.
5276
5277         * file-coding.h (struct Lisp_Coding_System): Delete `fixed.size'.
5278
5279 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
5280
5281         * mule-charset.c (make_charset): Delete argument `rep_bytes'.
5282         (Fmake_charset): Modify for `make_charset'.
5283         (Fmake_reverse_direction_charset): Likewise.
5284         (complex_vars_of_mule_charset): Likewise.
5285
5286 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
5287
5288         * text-coding.c (char_encode_shift_jis): Use table
5289         `ucs_to_latin_jisx0201' and BREAKUP_CHAR.
5290
5291 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
5292
5293         * text-coding.c (text_encode_generic): Use `if' instead of
5294         `switch'.
5295         (decode_coding_sjis): Use `MAKE_CHAR' and `DECODE_ADD_UCS_CHAR' to
5296         decode JIS-Latin.
5297
5298 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
5299
5300         * text-coding.c (encode_coding_sjis): Deleted.
5301         (char_encode_shift_jis): New function.
5302         (char_finish_shift_jis): New function.
5303         (reset_encoding_stream): Set up `encode_char' and `finish' for
5304         `CODESYS_UCS4' and `CODESYS_SHIFT_JIS'.
5305         (mule_encode): Use generic encoder for `CODESYS_SHIFT_JIS'.
5306         (char_encode_utf8): Treat `eol_type'.
5307
5308 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
5309
5310         * file-coding.c (decode_coding_iso2022): Use
5311         `DECODE_ADD_UCS_CHAR'; don't use `XCHARSET_REP_BYTES'.
5312
5313 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
5314
5315         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
5316         to 0.7 (Hirano).
5317
5318 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
5319
5320         * char-lb.h (CHAR_COLUMNS): New macro.
5321
5322 1999-09-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
5323
5324         * text-coding.c (char_encode_ucs4): New function.
5325         (char_finish_ucs4): New function.
5326         (encode_coding_ucs4): Deleted.
5327         (mule_encode): Use generic encoder for `CODESYS_UCS4'.
5328         (text_encode_generic): Delete local variable `charset' and `half'.
5329         (ucs_to_mule_table): Deleted.
5330         (mule_to_ucs_table): Deleted.
5331         (Fset_ucs_char): Deleted.
5332         (ucs_to_char): Deleted.
5333         (Fucs_char): Deleted.
5334         (Fset_char_ucs): Deleted.
5335         (Fchar_ucs): Deleted.
5336         (decode_ucs4): Deleted.
5337         (mule_char_to_ucs4): Deleted.
5338         (encode_ucs4): Deleted.
5339         (decode_coding_ucs4): Use `DECODE_ADD_UCS_CHAR'.
5340         (decode_coding_utf8): Likewise.
5341         (decode_coding_iso2022): Likewise; don't use `XCHARSET_REP_BYTES'.
5342         (char_encode_iso2022): Fixed.
5343         (syms_of_file_coding): Delete `Fset_ucs_char', `Fucs_char',
5344         `Fset_char_ucs' and `Fchar_ucs'.
5345         (complex_vars_of_file_coding): Don't initialize
5346         `ucs_to_mule_table'.
5347
5348         * objects-tty.c (tty_initialize_font_instance): Don't use
5349         `XCHARSET_COLUMNS'.
5350
5351         * mule-charset.c (make_charset): Don't set up CHARSET_REP_BYTES in
5352         UTF-2000.
5353
5354         * redisplay-tty.c (tty_output_display_block): Use `CHAR_COLUMNS'
5355         instead of `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
5356
5357         * insdel.c (bufbyte_string_displayed_columns): Use `CHAR_COLUMNS'
5358         instead of `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
5359         (emchar_string_displayed_columns): Likewise.
5360
5361         * indent.c (column_at_point): Use `CHAR_COLUMNS' instead of
5362         `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
5363         (string_column_at_point): Likewise.
5364         (Fmove_to_column): Likewise.
5365
5366         * char-ucs.h (struct Lisp_Charset): Delete `rep_bytes'; add
5367         `encoding_table' and `decoding_table'.
5368         (CHARSET_REP_BYTES): Deleted.
5369         (XCHARSET_REP_BYTES): Deleted.
5370         (XCHARSET_COLUMNS): Deleted.
5371         (CHAR_COLUMNS): New macro.
5372         (lookup_composite_char): Deleted unconditionally.
5373         (composite_char_string): Likewise.
5374
5375 1999-09-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
5376
5377         * char-ucs.h (Emchar_to_byte_table): New type.
5378         (get_byte_from_character_table): New function interface.
5379         (Vcharset_latin_jisx0201): New variable.
5380         (latin_jisx0201_to_ucs): New variable.
5381         (ucs_to_latin_jisx0201): New variable.
5382         (Vcharset_latin_iso8859_2): New variable.
5383         (latin_iso8859_2_to_ucs): New variable.
5384         (ucs_to_latin_iso8859_2): New variable.
5385         (Vcharset_latin_iso8859_3): New variable.
5386         (latin_iso8859_3_to_ucs): New variable.
5387         (ucs_to_latin_iso8859_3): New variable.
5388         (Vcharset_latin_iso8859_4): New variable.
5389         (latin_iso8859_4_to_ucs): New variable.
5390         (ucs_to_latin_iso8859_4): New variable.
5391         (Vcharset_latin_iso8859_9): New variable.
5392         (latin_iso8859_9_to_ucs): New variable.
5393         (ucs_to_latin_iso8859_9): New variable.
5394         (Vcharset_latin_viscii_lower): New variable.
5395         (latin_viscii_lower_to_ucs): New variable.
5396         (ucs_to_latin_viscii_lower): New variable.
5397         (Vcharset_latin_viscii_upper): New variable.
5398         (latin_viscii_upper_to_ucs): New variable.
5399         (ucs_to_latin_viscii_upper): New variable.
5400         (CHARSET_ID_OFFSET_94): Changed from 0x60 to 0x55.
5401         (LEADING_BYTE_LATIN_VISCII_LOWER): New macro.
5402         (LEADING_BYTE_LATIN_VISCII_UPPER): New macro.
5403         (MAKE_CHAR): Map `latin-iso8859-2', `latin-iso8859-3',
5404         `latin-iso8859-4', `latin-iso8859-9', `latin-jisx0201',
5405         `vietnamese-viscii-lower' and `vietnamese-viscii-upper' to BMP.
5406         (breakup_char_1): Use `ucs_to_latin_iso8859_2',
5407         `ucs_to_latin_iso8859_3', `ucs_to_latin_iso8859_4',
5408         `ucs_to_latin_iso8859_9', `ucs_to_latin_viscii_lower',
5409         `ucs_to_latin_viscii_upper' and `ucs_to_latin_jisx0201' tables.
5410
5411         * mule-charset.c (Vcharset_latin_viscii_lower): New variable.
5412         (Vcharset_latin_viscii_upper): New variable.
5413         (make_byte_from_character_table): New function.
5414         (put_byte_from_character_table): New function.
5415         (get_byte_from_character_table): New function.
5416         (CHAR96): New macro.
5417         (ucs_to_latin_jisx0201): New variable.
5418         (latin_jisx0201_to_ucs): New variable.
5419         (ucs_to_latin_iso8859_2): New variable.
5420         (latin_iso8859_2_to_ucs): New variable.
5421         (ucs_to_latin_iso8859_3): New variable.
5422         (latin_iso8859_3_to_ucs): New variable.
5423         (ucs_to_latin_iso8859_4): New variable.
5424         (latin_iso8859_4_to_ucs): New variable.
5425         (ucs_to_latin_iso8859_9): New variable.
5426         (latin_iso8859_9_to_ucs): New variable.
5427         (ucs_to_latin_viscii_lower): New variable.
5428         (latin_viscii_lower_to_ucs): New variable.
5429         (ucs_to_latin_viscii_upper): New variable.
5430         (latin_viscii_upper_to_ucs): New variable.
5431         (ucs_to_latin_tcvn5712): New variable.
5432         (latin_tcvn5712_to_ucs): New variable.
5433         (Qlatin_viscii_lower): New variable.
5434         (Qlatin_viscii_upper): New variable.
5435         (syms_of_mule_charset): Set up new symbol
5436         `vietnamese-viscii-lower' and `vietnamese-viscii-upper'.
5437         (complex_vars_of_mule_charset): Set up new charset
5438         `vietnamese-viscii-lower' and `vietnamese-viscii-upper'; new macro
5439         `GENERATE_94_SET' and `GENERATE_96_SET'; use them to generate
5440         `ucs_to_<CHARSET>' tables.
5441
5442 1999-09-08  MORIOKA Tomohiko  <tomo@etl.go.jp>
5443
5444         * text-coding.c: New file.
5445
5446 1999-09-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
5447
5448         * mule-charset.c (Fmake_char): Fix problem of 256-set.
5449
5450         * char-ucs.h (Vcharset_ucs_bmp): New variable.
5451         (MAKE_CHAR): Modify for `ucs-bmp'.
5452         (breakup_char_1): Return `ucs-bmp' and code point of BMP for
5453         non-MULE characters of BMP.
5454
5455 1999-09-06  MORIOKA Tomohiko  <tomo@etl.go.jp>
5456
5457         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
5458         to 0.6.
5459
5460 1999-09-05  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5461
5462         * lstream.h:
5463         - Include multibyte.h instead of character.h for `BYTE_ASCII_P'.
5464         - Include character.h for `CHAR_ASCII_P'.
5465
5466         * mb-multibyte.h (CHAR_MULTIBYTE_P): Moved from mule-charset.h.
5467
5468         * mule-charset.h (CHAR_MULTIBYTE_P): Moved to mb-multibyte.h.
5469         (CHAR_ASCII_P): Don't use `CHAR_MULTIBYTE_P'.
5470
5471         * mb-multibyte.h (BYTE_ASCII_P): Moved from char-ucs.h.
5472         (BYTE_C0_P): Likewise.
5473         (BYTE_C1_P): Likewise.
5474         (Lstream_get_emchar_1): Likewise.
5475         (Lstream_fput_emchar): Likewise.
5476         (Lstream_funget_emchar): Likewise.
5477         (copy_internal_to_external): Likewise.
5478         (copy_external_to_internal): Likewise.
5479
5480         * char-ucs.h (BYTE_ASCII_P): Moved to mb-multibyte.h.
5481         (BYTE_C0_P): Likewise.
5482         (BYTE_C1_P): Likewise.
5483         (Lstream_get_emchar_1): Likewise.
5484         (Lstream_fput_emchar): Likewise.
5485         (Lstream_funget_emchar): Likewise.
5486         (copy_internal_to_external): Likewise.
5487         (copy_external_to_internal): Likewise.
5488
5489         * mb-1byte.h (BYTE_ASCII_P): Moved from buffer.h.
5490         (REP_BYTES_BY_FIRST_BYTE): Likewise.
5491
5492         * buffer.h (REP_BYTES_BY_FIRST_BYTE): Moved to mb-1byte.h.
5493         (BYTE_ASCII_P): Moved to mb-1byte.h.
5494
5495 1999-09-04  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5496
5497         * mb-utf-8.h, mb-lb.h: Include mb-multibyte.h.
5498
5499         * multibyte.h: Include mb-1byte.h in unibyte-XEmacs.
5500         (MAX_EMCHAR_LEN): Moved to mb-1byte.h.
5501         (VALID_CHARPTR_P): Moved to mb-*byte.h.
5502         (VALIDATE_CHARPTR_BACKWARD): Likewise.
5503         (VALIDATE_CHARPTR_FORWARD): Likewise.
5504         (simple_charptr_emchar): Moved to mb-multibyte.h.
5505         (simple_set_charptr_emchar): Likewise.
5506         (simple_charptr_copy_char): Likewise.
5507         (non_ascii_charptr_emchar): Likewise.
5508         (non_ascii_set_charptr_emchar): Likewise.
5509         (non_ascii_charptr_copy_char): Likewise.
5510         (charptr_emchar): Moved to mb-*byte.h.
5511         (set_charptr_emchar): Likewise.
5512         (charptr_copy_char): Likewise.
5513
5514         * mb-1byte.h, mb-multibyte.h: New files.
5515
5516 1999-09-03  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5517
5518         * mb-utf-8.h (MULTIBYTE): New macro.
5519         (MAX_EMCHAR_LEN): Moved from buffer.h.
5520         (REP_BYTES_BY_FIRST_BYTE): Moved from char-ucs.h.
5521
5522         * char-ucs.h (REP_BYTES_BY_FIRST_BYTE): Moved to mb-utf-8.h.
5523
5524         * mb-lb.h, multibyte.h: New files.
5525
5526         * char-1byte.h (Charset_ID): Moved from buffer.h.
5527         (MIN_LEADING_BYTE): Likewise.
5528         (LEADING_BYTE_ASCII): Likewise.
5529         (NUM_LEADING_BYTES): Likewise.
5530         (CHARSETP): Likewise.
5531         (CHARSET_BY_LEADING_BYTE): Likewise.
5532         (XCHARSET_LEADING_BYTE): Likewise.
5533         (XCHARSET_GRAPHIC): Likewise.
5534         (XCHARSET_COLUMNS): Likewise.
5535         (XCHARSET_DIMENSION): Likewise.
5536         (CHAR_CHARSET): Likewise.
5537         (CHAR_LEADING_BYTE): Likewise.
5538         (BREAKUP_CHAR): Likewise.
5539         (Vcharset_ascii): Likewise.
5540
5541         * buffer.h: Include multibyte.h unconditionally.
5542         (VALID_CHARPTR_P): Moved to multibyte.h.
5543         (ASSERT_VALID_CHARPTR): Likewise.
5544         (REAL_INC_CHARPTR): Likewise.
5545         (REAL_INC_CHARBYTIND): Likewise.
5546         (REAL_DEC_CHARPTR): Likewise.
5547         (INC_CHARPTR): Likewise.
5548         (INC_CHARBYTIND): Likewise.
5549         (DEC_CHARPTR): Likewise.
5550         (VALIDATE_CHARPTR_BACKWARD): Likewise.
5551         (VALIDATE_CHARPTR_FORWARD): Likewise.
5552         (charptr_n_addr): Likewise.
5553         (MAX_EMCHAR_LEN): Moved to mb-*.h.
5554         (simple_charptr_emchar): Moved to multibyte.h.
5555         (simple_set_charptr_emchar): Likewise.
5556         (simple_charptr_copy_char): Likewise.
5557         (non_ascii_charptr_emchar): Likewise.
5558         (non_ascii_set_charptr_emchar): Likewise.
5559         (non_ascii_charptr_copy_char): Likewise.
5560         (charptr_emchar): Likewise.
5561         (set_charptr_emchar): Likewise.
5562         (charptr_copy_char): Likewise.
5563         (charptr_emchar_n): Likewise.
5564         (Charset_ID): Moved to char-1byte.h.
5565         (Vcharset_ascii): Likewise.
5566         (CHAR_CHARSET): Likewise.
5567         (CHAR_LEADING_BYTE): Likewise.
5568         (LEADING_BYTE_ASCII): Likewise.
5569         (NUM_LEADING_BYTES): Likewise.
5570         (MIN_LEADING_BYTE): Likewise.
5571         (CHARSETP): Likewise.
5572         (CHARSET_BY_LEADING_BYTE): Likewise.
5573         (XCHARSET_LEADING_BYTE): Likewise.
5574         (XCHARSET_GRAPHIC): Likewise.
5575         (XCHARSET_COLUMNS): Likewise.
5576         (XCHARSET_DIMENSION): Likewise.
5577         (BREAKUP_CHAR): Likewise.
5578
5579 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5580
5581         * character.h: Add document about interface for characters.
5582
5583         * char-ucs.h (CHAR_ASCII_P): Modify name of argument.
5584         (MAKE_CHAR): Delete comment about
5585         `FIELD2_TO_OFFICIAL_LEADING_BYTE' and
5586         `FIELD2_TO_PRIVATE_LEADING_BYTE'.
5587         (BREAKUP_CHAR): Modify name of arguments.
5588         (CHAR_CHARSET): Modify name of argument.
5589
5590         * buffer.h: Delete document about Emchar accessors.
5591
5592 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5593
5594         * character.h (CHAR_INTP): Moved from buffer.h
5595         (CHAR_OR_CHAR_INTP): Likewise.
5596         (XCHAR_OR_CHAR_INT): Likewise.
5597         (CHECK_CHAR_COERCE_INT): Likewise.
5598
5599         * buffer.h (CHAR_INTP): Moved to character.h
5600         (CHAR_OR_CHAR_INTP): Likewise.
5601         (XCHAR_OR_CHAR_INT): Likewise.
5602         (CHECK_CHAR_COERCE_INT): Likewise.
5603
5604 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5605
5606         * character.h:
5607         - Move definitions about UCS-2000 (UCS-4) to char-ucs.h.
5608         - Include char-1byte.h, char-lb.h or char-ucs.h.
5609
5610         * mb-utf-8.h (CHAR_ASCII_P): Moved to char-ucs.h.
5611
5612         * buffer.h: Include character unconditionally.
5613         (valid_char_p): Moved to char-*.h.
5614         (non_ascii_valid_char_p): Moved to char-lb.h.
5615
5616         * char-1byte.h, char-lb.h, char-ucs.h: New files.
5617
5618 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5619
5620         * mule-ccl.c (ccl_driver): Don't define `CCL_WriteMultibyteChar2'
5621         in UTF-2000 because it is not ported yet and not to use
5622         `FIELD2_TO_OFFICIAL_LEADING_BYTE', `MIN_LEADING_BYTE_OFFICIAL_2',
5623         `FIELD1_TO_OFFICIAL_LEADING_BYTE' and
5624         `FIELD1_TO_PRIVATE_LEADING_BYTE'.
5625
5626         * mb-utf-8.h (CHAR_MULTIBYTE_P): Moved from character.h.
5627         (CHAR_ASCII_P): Moved from character.h.
5628
5629         * character.h (CHAR_MULTIBYTE_P): Moved to mb-utf-8.h.
5630         (CHAR_ASCII_P): Likewise.
5631         (CHAR_FIELD1_MASK): Deleted.
5632         (CHAR_FIELD2_MASK): Deleted.
5633         (CHAR_FIELD3_MASK): Deleted.
5634         (MAX_CHAR_BASIC_LATIN): New macro.
5635         (CHAR_FIELD1): Deleted.
5636         (CHAR_FIELD2_INTERNAL): Deleted.
5637         (CHAR_FIELD3_INTERNAL): Deleted.
5638         (FIELD1_TO_PRIVATE_LEADING_BYTE): Deleted.
5639         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Deleted.
5640         (FIELD2_TO_PRIVATE_LEADING_BYTE): Deleted.
5641         (FIELD2_TO_OFFICIAL_LEADING_BYTE): Deleted.
5642         (MIN_CHAR_FIELD1_OFFICIAL): Deleted.
5643         (MAX_CHAR_FIELD1_OFFICIAL): Deleted.
5644         (MIN_CHAR_FIELD2_PRIVATE): Deleted.
5645         (MAX_CHAR_FIELD2_PRIVATE): Deleted.
5646         (MIN_CHAR_FIELD1_PRIVATE): Deleted.
5647         (MAX_CHAR_FIELD1_PRIVATE): Deleted.
5648         (MULE_CHAR_PRIVATE_OFFSET): Deleted.
5649         (MIN_CHAR_PRIVATE_TYPE9N): Deleted.
5650         (MAX_CHAR_PRIVATE_TYPE9N): Deleted.
5651         (MIN_CHAR_PRIVATE_TYPE9NX9N): Deleted.
5652         (MIN_CHAR_OFFICIAL_TYPE9NX9N): Deleted.
5653         (MIN_CHAR_COMPOSITION): Deleted.
5654         (breakup_char_1): Use `MAX_CHAR_BASIC_LATIN' instead of
5655         `CHAR_ASCII_P'; use `0x7f' instead of `CHAR_FIELD3_INTERNAL'.
5656
5657 1999-09-02  MORIOKA Tomohiko  <tomo@m17n.org>
5658
5659         * buffer.h: Include mb-utf-8.h in UTF-2000.
5660
5661         * character.h (BUFBYTE_FIRST_BYTE_P): Moved to mb-utf-8.h.
5662
5663         * mb-utf-8.h: New file.
5664
5665 1999-09-02  MORIOKA Tomohiko  <tomo@etl.go.jp>
5666
5667         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use `Charset_ID'
5668         instead of `int'.
5669
5670         * mule-charset.h, buffer.h (Charset_ID): New type.
5671
5672 1999-09-01  MORIOKA Tomohiko  <tomo@etl.go.jp>
5673
5674         * mule-canna.c (c2mu): Use `MAKE_CHAR',
5675         `Vcharset_japanese_jisx0212' and `Vcharset_japanese_jisx0208'
5676         instead of `MULE_CHAR_PRIVATE_OFFSET',
5677         `LEADING_BYTE_JAPANESE_JISX0212', `LEADING_BYTE_JAPANESE_JISX0208'
5678         and `FIELD1_TO_OFFICIAL_LEADING_BYTE'.
5679         (m2c): Use `BREAKUP_CHAR' and `XCHARSET_FINAL'.
5680
5681         * character.h (Vcharset_japanese_jisx0212): New variable
5682         definition.
5683
5684 1999-09-01  MORIOKA Tomohiko  <tomo@etl.go.jp>
5685
5686         * mule-charset.c (Vcharset_ucs_bmp): New variable in UTF-2000.
5687         (charset_by_attributes): Delete array about direction.
5688         (latin_a_char_to_charset): New variable in UTF-2000.
5689         (latin_a_char_to_byte1): New variable in UTF-2000.
5690         (latin_a_char_to_byte2): New variable in UTF-2000.
5691         (Qucs_bmp): New variable.
5692         (next_allocated_1_byte_leading_byte): Use `Charset_ID' instead of
5693         `Bufbyte'.
5694         (next_allocated_2_byte_leading_byte): Likewise.
5695         (non_ascii_set_charptr_emchar): Likewise.
5696         (make_charset): Likewise; add `CHARSET_TYPE_128X128' and
5697         `CHARSET_TYPE_256X256' in UTF-2000; modify for
5698         `charset_by_attributes'.
5699         (get_unallocated_leading_byte): Use `Charset_ID' instead of `int'.
5700         (char-charset): Use `CHAR_CHARSET' instead of `CHAR_LEADING_BYTE'
5701         and `CHARSET_BY_LEADING_BYTE'.
5702         (syms_of_mule_charset): Set up `ucs-bmp'; move setting of
5703         `utf-2000-version' to `vars_of_mule_charset'.
5704         (vars_of_mule_charset): Modify for `charset_by_attributes'; don't
5705         define `leading-code-private-11' in UTF-2000; move setting of
5706         `utf-2000-version' from `syms_of_mule_charset'.
5707         (complex_vars_of_mule_charset): Set up charset `ucs-bmp' in
5708         UTF-2000.
5709
5710         * character.h (Charset_ID): New type.
5711         (LEADING_BYTE_UCS_BMP): New macro.
5712         (LEADING_BYTE_CONTROL_1): Changed from 0x8F to 0x81.
5713         (CHARSET_ID_OFFSET_94): New macro.
5714         (MIN_CHARSET_ID_PRIVATE_94): New macro.
5715         (MAX_CHARSET_ID_PRIVATE_94): New macro.
5716         (LEADING_BYTE_ASCII): Changed to use CHARSET_ID_OFFSET_94 and
5717         final-byte.
5718         (LEADING_BYTE_KATAKANA_JISX0201): Likewise.
5719         (LEADING_BYTE_LATIN_JISX0201): Likewise.
5720         (CHARSET_ID_OFFSET_96): New macro.
5721         (LEADING_BYTE_LATIN_ISO8859_1): Changed to use
5722         CHARSET_ID_OFFSET_96 and final-byte.
5723         (LEADING_BYTE_LATIN_ISO8859_2): Likewise.
5724         (LEADING_BYTE_LATIN_ISO8859_3): Likewise.
5725         (LEADING_BYTE_LATIN_ISO8859_4): Likewise.
5726         (LEADING_BYTE_GREEK_ISO8859_7): Likewise.
5727         (LEADING_BYTE_ARABIC_ISO8859_6): Likewise.
5728         (LEADING_BYTE_HEBREW_ISO8859_8): Likewise.
5729         (LEADING_BYTE_CYRILLIC_ISO8859_5): Likewise.
5730         (LEADING_BYTE_LATIN_ISO8859_9): Likewise.
5731         (LEADING_BYTE_THAI_TIS620): Likewise.
5732         (MIN_LEADING_BYTE_PRIVATE_1): Changed from 0x0D0 to 0xD0.
5733         (MAX_LEADING_BYTE_PRIVATE_1): Changed from 0x11f to 0xDF.
5734         (CHARSET_ID_OFFSET_94x94): New macro.
5735         (LEADING_BYTE_CHINESE_BIG5_1): Changed to use
5736         CHARSET_ID_OFFSET_94x94 and final-byte.
5737         (LEADING_BYTE_CHINESE_BIG5_2): Likewise.
5738         (MIN_LEADING_BYTE_PRIVATE_2): Likewise.
5739         (MAX_LEADING_BYTE_PRIVATE_2): Likewise.
5740         (LEADING_BYTE_JAPANESE_JISX0208_1978): Likewise.
5741         (LEADING_BYTE_CHINESE_GB2312): Likewise.
5742         (LEADING_BYTE_JAPANESE_JISX0208): Likewise.
5743         (LEADING_BYTE_KOREAN_KSC5601): Likewise.
5744         (LEADING_BYTE_JAPANESE_JISX0212): Likewise.
5745         (LEADING_BYTE_CHINESE_CCITT_GB): Likewise.
5746         (LEADING_BYTE_CHINESE_CNS11643_*): Likewise.
5747         (LEADING_BYTE_KOREAN_KPS9566): Likewise.
5748         (CHARSET_TYPE_128X128): New macro.
5749         (CHARSET_TYPE_256X256): New macro.
5750         (XCHARSET_PRIVATE_P): Delete unconditionally.
5751         (charset_by_attributes): Delete array about direction.
5752         (CHARSET_BY_LEADING_BYTE): Use `Charset_ID' instead of `int'.
5753         (CHARSET_BY_ATTRIBUTES): Modify for `charset_by_attributes'.
5754         (MIN_CHAR_94): New macro.
5755         (MAX_CHAR_94): New macro.
5756         (MIN_CHAR_96): New macro.
5757         (MAX_CHAR_96): New macro.
5758         (MIN_CHAR_94x94): New macro.
5759         (MAX_CHAR_94x94): New macro.
5760         (MIN_CHAR_96x96): New macro.
5761         (MAX_CHAR_96x96): New macro.
5762         (FIELD1_TO_PRIVATE_LEADING_BYTE): Use `CHARSET_ID_OFFSET_94x94'.
5763         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Likewise.
5764         (FIELD2_TO_PRIVATE_LEADING_BYTE): Use `(MIN_LEADING_BYTE_PRIVATE_1
5765         - 32)'.
5766         (FIELD2_TO_OFFICIAL_LEADING_BYTE): Use `LEADING_BYTE_ASCII'.
5767         (MIN_CHAR_FIELD2_OFFICIAL): Deleted.
5768         (MAX_CHAR_FIELD2_OFFICIAL): Deleted.
5769         (MIN_CHAR_OFFICIAL_TYPE9N): Deleted.
5770         (MAX_CHAR_PRIVATE_TYPE9N): Changed.
5771         (MAKE_CHAR): Use `XCHARSET_FINAL' instead of
5772         `XCHARSET_LEADING_BYTE' to make code-point.
5773         (latin_a_char_to_charset): New variable.
5774         (latin_a_char_to_byte1): New variable.
5775         (latin_a_char_to_byte2): New variable.
5776         (breakup_char_1): Use `latin_a_char_to_{charset|byte1|byte2}' for
5777         Latin Extended-A; use `CHARSET_BY_ATTRIBUTES' instead of
5778         `CHARSET_BY_LEADING_BYTE' to get charset for ISO-2022 characters.
5779
5780         * insdel.c (find_charsets_in_bufbyte_string): Use `Charset_ID'
5781         instead of `unsigned char'; use `MIN_LEADING_BYTE' instead of 128.
5782         (find_charsets_in_emchar_string): Likewise.
5783         (vars_of_insdel): Don't define local variable `i' in UTF-2000.
5784
5785         * file-coding.c (Fdecode_big5_char): Use `Charset_ID' instead of
5786         `int'.
5787         (decode_coding_iso2022): Likewise.
5788
5789         * toolbar-x.c (x_output_toolbar_button): Use `Charset_ID' instead
5790         of `unsigned char'.
5791
5792         * redisplay.c (redisplay_text_width_emchar_string): Use
5793         `Charset_ID' instead of `unsigned char'.
5794         (redisplay_frame_text_width_string): Likewise.
5795
5796         * glyphs.c (glyph_height_internal): Use `Charset_ID' instead of
5797         `unsigned char'.
5798
5799         * faces.h, faces.c (ensure_face_cachel_complete): Use `Charset_ID'
5800         instead of `unsigned char'.
5801         (face_cachel_charset_font_metric_info): Likewise.
5802
5803         * chartab.c (print_char_table): Use `Charset_ID' instead of `int'.
5804         (get_non_ascii_char_table_value): Likewise.
5805         (get_char_table): Likewise.
5806         (put_char_table): Likewise.
5807         (map_over_other_charset): Likewise.
5808         (map_char_table): Likewise.
5809
5810         * buffer.h (find_charsets_in_bufbyte_string): Use `Charset_ID'
5811         instead of `unsigned char'.
5812
5813 1999-08-31  MORIOKA Tomohiko  <tomo@etl.go.jp>
5814
5815         * character.h (PRE_LEADING_BYTE_PRIVATE_1): Deleted.
5816         (PRE_LEADING_BYTE_PRIVATE_2): Deleted.
5817
5818         * mule-charset.c (leading_code_private_11): Don't define in
5819         UTF-2000.
5820
5821         * mule-ccl.c (ccl_driver): Don't define `CCL_ReadMultibyteChar2'
5822         in UTF-2000 because it is not ported yet and not to use
5823         `PRE_LEADING_BYTE_PRIVATE_1' and `PRE_LEADING_BYTE_PRIVATE_2'.
5824
5825 1999-08-30  MORIOKA Tomohiko  <tomo@etl.go.jp>
5826
5827         * character.h (LEADING_BYTE_COMPOSITE): Deleted.
5828
5829 1999-08-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
5830
5831         * regex.c (re_compile_fastmap): Don't use `LEADING_BYTE_PREFIX_P'
5832         in UTF-2000.
5833
5834         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use int instead
5835         of unsigned char to store leading-byte.
5836
5837         * chartab.c (get_non_ascii_char_table_value): Don't use
5838         `BREAKUP_CHAR_1_UNSAFE' in UTF-2000.
5839
5840         * file-coding.c (encode_coding_big5): Delete bogus implementation
5841         in UTF2000.
5842
5843         * character.h (LEADING_BYTE_*): Delete definition for
5844         non-UTF-2000.
5845         (LEADING_BYTE_PRIVATE_P): Deleted unconditionally.
5846         (LEADING_BYTE_PREFIX_P): Deleted.
5847         (PRIVATE_LEADING_BYTE_PREFIX): Deleted.
5848         (BUFBYTE_FIRST_BYTE_P): Delete definition for non-UTF-2000.
5849         (BUFBYTE_LEADING_BYTE_P): Deleted.
5850         (CHARSET_PRIVATE_P): Deleted unconditionally.
5851         (rep_bytes_by_first_byte): Deleted unconditionally.
5852         (REP_BYTES_BY_FIRST_BYTE): Delete definition for non-UTF-2000.
5853         (FIELD1_TO_PRIVATE_LEADING_BYTE): Likewise.
5854         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Likewise.
5855         (FIELD2_TO_PRIVATE_LEADING_BYTE): Likewise.
5856         (CHAR_FIELD2): Deleted.
5857         (CHAR_FIELD3): Deleted.
5858         (MAKE_CHAR): Delete definition for non-UTF-2000.
5859         (BREAKUP_CHAR_1_UNSAFE): Deleted.
5860         (breakup_char_1): New implementation.
5861         (CHAR_CHARSET): Use `BREAKUP_CHAR'.
5862         (CHAR_LEADING_BYTE): Use `CHAR_CHARSET'.
5863
5864 1999-08-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
5865
5866         * character.h (REP_BYTES_BY_FIRST_BYTE): Change order of
5867         condition.
5868
5869 1999-08-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
5870
5871         * character.h (LEADING_BYTE_PRIVATE_P): Don't define in UTF2000.
5872         (CHARSET_PRIVATE_P): Likewise.
5873         (XCHARSET_PRIVATE_P): Likewise.
5874         (MAKE_CHAR): Don't use XCHARSET_PRIVATE_P in UTF2000.
5875
5876         * file-coding.c (encode_coding_ucs4): Delete bogus implement in
5877         UTF2000.
5878         (decode_coding_iso2022): Don't use XCHARSET_PRIVATE_P in UTF2000.
5879
5880 1999-08-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
5881
5882         * character.h (LEADING_BYTE_*): Changed in UTF2000.
5883         (NUM_LEADING_BYTES): Changed from 128 to 256.
5884         (FIELD1_TO_PRIVATE_LEADING_BYTE): Change value to 0x80 in UTF2000.
5885         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Change value to 0x80 in
5886         UTF2000.
5887         (FIELD2_TO_PRIVATE_LEADING_BYTE): Change value to 0x80 in UTF2000.
5888
5889         * mule-charset.c (Vcharset_chinese_cns11643_3): New variable in
5890         UTF2000.
5891         (Vcharset_chinese_cns11643_4): New variable in UTF2000.
5892         (Vcharset_chinese_cns11643_5): New variable in UTF2000.
5893         (Vcharset_chinese_cns11643_6): New variable in UTF2000.
5894         (Vcharset_chinese_cns11643_7): New variable in UTF2000.
5895         (Qchinese_cns11643_3): New variable in UTF2000.
5896         (Qchinese_cns11643_4): New variable in UTF2000.
5897         (Qchinese_cns11643_5): New variable in UTF2000.
5898         (Qchinese_cns11643_6): New variable in UTF2000.
5899         (Qchinese_cns11643_7): New variable in UTF2000.
5900         (syms_of_mule_charset): Define `chinese-cns11643-3',
5901         `chinese-cns11643-4', `chinese-cns11643-5', `chinese-cns11643-6'
5902         and `chinese-cns11643-7' in UTF2000.
5903         (vars_of_mule_charset): Initialize
5904         next_allocated_2_byte_leading_byte by LEADING_BYTE_CHINESE_BIG5_2
5905         + 1 in UTF2000.
5906         (complex_vars_of_mule_charset): Setup charset
5907         `chinese-cns11643-3', `chinese-cns11643-4', `chinese-cns11643-5',
5908         `chinese-cns11643-6' and `chinese-cns11643-7' in UTF2000.
5909
5910 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
5911
5912         * mule-charset.c: Move setting for `leading-code-private-11' from
5913         `syms_of_mule_charset' to `vars_of_mule_charset'.
5914
5915 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
5916
5917         * mule-charset.h (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE'
5918         and `NUM_LEADING_BYTES' in assert.
5919
5920 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
5921
5922         * character.h (charset_by_leading_byte): Use `NUM_LEADING_BYTES'
5923         instead of 128.
5924         (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE' and
5925         `NUM_LEADING_BYTES' instead of 128.
5926
5927 1999-08-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
5928
5929         * mule-charset.h (charset_by_leading_byte): Use
5930         `NUM_LEADING_BYTES' instead of 128.
5931         (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE' instead of 128.
5932
5933         * mule-charset.c (charset_by_leading_byte): Use
5934         `NUM_LEADING_BYTES' instead of 128.
5935         (make_charset): Use `MIN_LEADING_BYTE' instead of 128.
5936
5937         * faces.h (FACE_CACHEL_FONT): Use `MIN_LEADING_BYTE' instead of
5938         128.
5939
5940 1999-08-25  MORIOKA Tomohiko  <tomo@etl.go.jp>
5941
5942         * mule-charset.c (syms_of_mule_charset): Update to
5943         0.4 (Shin-Imamiya).
5944
5945 1999-07-13 Daiki Ueno <ueno@ueda.info.waseda.ac.jp>
5946
5947         * file-coding.c (encode_coding_sjis): New implementation for
5948         UTF2000.  (decode_coding_sjis): Ditto.
5949
5950 1999-06-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
5951
5952         * mule-charset.c, character.h (Bytecount rep_bytes_by_first_byte):
5953         Don't define in UTF2000.
5954
5955         * character.h: Include mule-charset.h if CHAR_IS_UCS4 is not
5956         defined.
5957
5958         * redisplay-msw.c, objects-tty.c, objects-msw.c, mule-wnnfns.c,
5959         mule-ccl.c, lstream.h, buffer.h: Include character.h in every
5960         MULE.
5961
5962 1999-06-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
5963
5964         * config.h.in (CHAR_IS_UCS4): New macro.
5965
5966         * mule-charset.c (rep_bytes_by_first_byte): Modify for
5967         conventional MULE representation.
5968         (syms_of_mule_charset): Update to 0.3 (Imamiya).
5969
5970         * mule-charset.h: Reverted to original.
5971
5972         * redisplay-msw.c, objects-tty.c, objects-msw.c, mule-wnnfns.c,
5973         mule-ccl.c, lstream.h, buffer.h: Use "character.h" instead of
5974         "mule-charset.h" if CHAR_IS_UCS4 is defined.
5975
5976         * character.h: New file.
5977
5978         * file-coding.c (Fmake_coding_system): Set 1 to
5979         `codesys->fixed.size' if TYPE is `no-conversion' and UTF2000 is
5980         defined.
5981         (encode_coding_no_conversion): New implementation for UTF2000.
5982
5983         * file-coding.h (struct Lisp_Coding_System): Add new member
5984         `fixed.size'.
5985
5986 1999-06-16  MORIOKA Tomohiko  <tomo@etl.go.jp>
5987
5988         * file-coding.c (decode_coding_iso2022): Code-point arguments of
5989         `MAKE_CHAR' must be smaller than 0x80 in UTF2000.
5990         (encode_coding_iso2022): New implementation for UTF2000.
5991
5992 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
5993
5994         * mule-canna.c (c2mu): New implementation for UTF2000.
5995         (m2c): Likewise.
5996
5997 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
5998
5999         * file-coding.c (encode_coding_no_conversion): Modify for UTF2000.
6000
6001 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
6002
6003         * file-coding.c (reset_encoding_stream): Set 0 to
6004         `str->iso2022.current_char_boundary' in UTF2000.
6005         (encode_utf8): Don't define in UTF2000.
6006         (encode_coding_utf8): New implementation for UTF-8 representation
6007         of UTF2000.
6008         (complex_vars_of_file_coding): Define coding-system `utf-8'.
6009
6010 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
6011
6012         * mule.c (vars_of_mule): Provide `utf-2000' in UTF2000.
6013
6014         * mule-charset.h (BUFBYTE_FIRST_BYTE_P): Modify for UTF-8 in
6015         UTF2000.
6016         (REP_BYTES_BY_FIRST_BYTE): Likewise.
6017
6018         * buffer.h (non_ascii_valid_char_p): Don't define in UTF2000.
6019
6020         * mule-charset.c (non_ascii_set_charptr_emchar): Don't define
6021         local variables `lb', `c1', `c2' and `charset' in UTF2000; encode
6022         as UTF-8 in UTF2000.
6023         (non_ascii_charptr_emchar): Decode as UTF-8 in UTF2000.
6024         (non_ascii_valid_char_p): Don't define in UTF2000.
6025         (non_ascii_charptr_copy_char): Add case 5 and 6 in UTF2000.
6026         (Lstream_get_emchar_1): Likewise.
6027         (utf-2000-version): New variable in UTF2000.
6028
6029         * lread.c (read_escape): Add new reader `u'.
6030
6031         * insdel.c (three_to_one_table): Don't define in UTF2000.
6032         (bufpos_to_bytind_func): Use `buf->text->mule_size' instead of
6033         `buf->text->mule_shifter' and `buf->text->mule_three_p' in
6034         UTF2000.
6035         (bytind_to_bufpos_func): Likewise.
6036         (buffer_mule_signal_inserted_region): Likewise.
6037         (vars_of_insdel): Don't initialize `three_to_one_table'.
6038         (init_buffer_text): Use `buf->text->mule_size' instead of
6039         `buf->text->mule_shifter' and `buf->text->mule_three_p' in
6040         UTF2000.
6041
6042         * file-coding.c (DECODE_ADD_BINARY_CHAR): New implementation for
6043         UTF-8 representation in UTF2000.
6044         (DECODE_ADD_UCS_CHAR): New macro in UTF2000.
6045         (decode_ucs4): Use `DECODE_ADD_UCS_CHAR' in UTF2000.
6046         (decode_coding_iso2022): Don't define local variable `lb' in
6047         UTF2000; don't use LEADING_BYTE in UTF2000; use
6048         `DECODE_ADD_UCS_CHAR' in UTF2000.
6049         (convert_to_external_format): Decode as UTF-8 in UTF2000.
6050
6051         * config.h.in (UTF2000): New macro.
6052
6053         * buffer.h (struct buffer_text): Add new member `mule_size' and
6054         don't add `mule_shifter' and `mule_three_p' in UTF2000.
6055         (valid_char_p): Return always 1 in UTF2000.
6056         (MAX_EMCHAR_LEN): 6 in UTF2000.
6057         (three_to_one_table): Don't define in UTF2000.
6058         (real_bufpos_to_bytind): Modify for UTF-8 representation in
6059         UTF2000.
6060         (real_bytind_to_bufpos): Likewise.
6061
6062         * alloc.c (Fmake_string): Add case 5 and 6 for UTF2000.
6063
6064 1999-06-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
6065
6066         * mule-charset.c (rep_bytes_by_first_byte): Modified for character
6067         representation change.
6068         (Vutf_2000_version): New variable.
6069         (leading_code_private_11): New variable.
6070         (syms_of_mule_charset): Add new variables `utf-2000-version' and
6071         `leading-code-private-11'.
6072
6073         * mule-charset.h (LEADING_BYTE_CHINESE_CCITT_GB): New macro.
6074         (LEADING_BYTE_CHINESE_BIG5_1): Changed to 0x96 temporally.
6075         (LEADING_BYTE_CHINESE_CNS11643_1): Changed to 0x97.
6076         (LEADING_BYTE_CHINESE_CNS11643_2): Changed to 0x98.
6077         (LEADING_BYTE_CHINESE_CNS11643_3): New macro.
6078         (LEADING_BYTE_CHINESE_CNS11643_4): Likewise.
6079         (LEADING_BYTE_CHINESE_CNS11643_5): Likewise.
6080         (LEADING_BYTE_CHINESE_CNS11643_6): Likewise.
6081         (LEADING_BYTE_CHINESE_CNS11643_7): Likewise [but not used].
6082         (LEADING_BYTE_CHINESE_BIG5_2): Changed to 0x9D temporally.
6083         (LEADING_BYTE_KOREAN_KPS9566): New macro [but not used].
6084         (CHAR_FIELD1_MASK): Changed to (0x7F << 14).
6085         (MIN_CHAR_GREEK): New macro.
6086         (MAX_CHAR_GREEK): New macro.
6087         (MIN_CHAR_CYRILLIC): New macro.
6088         (MAX_CHAR_CYRILLIC): New macro.
6089         (MIN_CHAR_HEBREW): New macro.
6090         (MAX_CHAR_HEBREW): New macro.
6091         (MIN_CHAR_THAI): New macro.
6092         (MAX_CHAR_THAI): New macro.
6093         (MIN_CHAR_HALFWIDTH_KATAKANA): New macro.
6094         (MAX_CHAR_HALFWIDTH_KATAKANA): New macro.
6095         (CHAR_FIELD2_INTERNAL): New macro [renamed from `CHAR_FIELD2'.
6096         (CHAR_FIELD3_INTERNAL): New macro [renamed from `CHAR_FIELD3'.
6097         (FIELD1_TO_PRIVATE_LEADING_BYTE): Changed to 0xc0.
6098         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Changed to 0x50.
6099         (CHAR_FIELD2): New inline function.
6100         (CHAR_FIELD3): New inline function.
6101         (MULE_CHAR_PRIVATE_OFFSET): New macro.
6102         (MIN_CHAR_OFFICIAL_TYPE9N): Shifted to `MULE_CHAR_PRIVATE_OFFSET'.
6103         (MIN_CHAR_PRIVATE_TYPE9N): Likewise.
6104         (MIN_CHAR_PRIVATE_TYPE9NX9N): Likewise.
6105         (MIN_CHAR_OFFICIAL_TYPE9NX9N): Likewise.
6106         (MIN_CHAR_COMPOSITION): Likewise.
6107         (CHAR_LEADING_BYTE): Modified for character representation change.
6108         (MAKE_CHAR): Likewise.
6109
6110         * lisp.h (Vcharset_latin_iso8859_1): New variable.
6111         (Vcharset_greek_iso8859_7): Likewise.
6112         (Vcharset_cyrillic_iso8859_5): Likewise.
6113         (Vcharset_hebrew_iso8859_8): Likewise.
6114         (Vcharset_thai_tis620): Likewise.
6115         (Vcharset_katakana_jisx0201): Likewise.
6116
6117 2008-12-28  Vin Shelton  <acs@xemacs.org>
6118
6119         * XEmacs 21.4.22 is released
6120
6121 2008-12-27  Vin Shelton  <acs@xemacs.org>
6122
6123         * syswindows.h: Don't define wide character interfaces for Cygwin
6124         1.7 and up.
6125
6126 2008-03-05  Dominique Quatravaux  <domq@cpan.org>
6127
6128         * glyphs-gtk.c: Fixed compilation under gcc 4.x.
6129
6130 2008-11-01  Stephen J. Turnbull  <stephen@xemacs.org>
6131
6132         * regex.c (re_search_2): Fix at_dot by changing charpos to bytepos.
6133         From Julian Bradfield <18654.1143.304851.782755@krk.inf.ed.ac.uk>.
6134
6135 2008-12-25  Vin Shelton  <acs@xemacs.org>
6136
6137         * mule-ccl.c (ccl_driver): Fix off-by-one error.
6138         By Julian Bradfield in
6139         <18691.16568.526264.972026@krk.inf.ed.ac.uk>.
6140
6141         * mule-ccl.c (ccl_driver): 
6142
6143 2007-10-07  Vin Shelton  <acs@xemacs.org>
6144
6145         * XEmacs 21.4.21 is released
6146
6147 2007-08-14  Marcus Crestani  <crestani@xemacs.org>
6148
6149         * s/sol2.h: Fix for GCC lossage not needed with SunOS 5.10.
6150
6151 2007-02-17  Stephen J. Turnbull  <stephen@xemacs.org>
6152
6153         * glyphs-eimage.c (png_instantiate_unwind): Avoid recursion.
6154         (png_instantiate): Initialize setjmp_buffer early, and avoid
6155         recursive entry to error handler.
6156
6157 2007-06-23  Stephen J. Turnbull  <stephen@xemacs.org>
6158
6159         * linuxplay.c (linux_play_data_or_file): More 64-bit tweaking, and
6160         a typo fix.
6161
6162 2007-05-12  Aidan Kehoe  <kehoea@parhasard.net>
6163
6164         * event-Xt.c (x_reset_modifier_mapping):
6165         * event-gtk.c (gtk_reset_modifier_mapping):
6166         Zero out the device's modifier map once we've freed it, to prevent
6167         a double free on a re-entrant call. 
6168
6169 2007-05-17  Vin Shelton  <acs@xemacs.org>
6170
6171         * linuxplay.c (linux_play_data_or_file): Fix playing sound on
6172         64-bit linux.  Patch from Hans de Graaff.
6173
6174 2007-05-02  Vin Shelton  <acs@xemacs.org>
6175
6176         * dumper.c (pdump): Don't close pdump_fd (already closed by
6177         fclose() call.  Patch from Steve Higham.
6178         * callproc.c (Fold_call_process_internal): Don't close fd1 if it's
6179         already closed.  Patch inspired by Steve Higham.
6180
6181 2007-05-01  Vin Shelton  <acs@xemacs.org>
6182
6183         * nt.c (mswindows_stat): Tie _S_IEXEC permission to read access.
6184         (mswindows_fstat): Ditto.
6185         * sysfile.h: Under Windows, define X_OK to be the same as R_OK.
6186
6187 2007-02-08  Adrian Aichner  <adrian@xemacs.org>
6188
6189         * postgresql.c: Update Steve Baur's email address by his request.
6190         * postgresql.h: Ditto.
6191
6192 2007-01-04  Vin Shelton  <acs@xemacs.org>
6193
6194         * fileio.c (check_writable): Check old-style readonly bit only for
6195         non-directories.
6196
6197 2006-12-25  Benson I. Margulies  <benson@dchbk.us>
6198
6199         * src/fileio.c (check_writable): 
6200         Cope with the fact that the read-only attribute trumps Windows NTFS
6201         ACLS.
6202
6203
6204 2006-12-09  Vin Shelton  <acs@xemacs.org>
6205
6206         * XEmacs 21.4.20 is released
6207
6208 2006-12-08  Nelson Ferreira  <njsf@sxemacs.org>
6209
6210         * src/fns.c (XMALLOC_OR_ALLOCA,free_malloced_ptr,XMALLOC_UNBIND):
6211         relocated the definitions to be used sooner in file.
6212         (concat,plists_differ,mapcar1,Fmapconcat,Fmapcar): Use
6213         XMALLOC_OR_ALLOCA macro instead of alloca to prevent stack
6214         overflow.
6215
6216 2006-11-29  Aidan Kehoe  <kehoea@parhasard.net>
6217
6218         * sound.c (init_native_sound):
6219         Only X11 and GTK devices can possibly not be on the console of the
6220         associated machine. Fixes a crash when init_native_sound is called
6221         on a msprinter device. 
6222
6223 2006-11-14  Stephen J. Turnbull  <stephen@xemacs.org>
6224
6225         * buffer.c (buffer-file-name): Document invariant.
6226         (buffer-file-truename): Sync wording to buffer-file-name.
6227         Thanks to Nelson Ferreira <nelson.ferreira@ieee.org> for report
6228         and discussion.
6229
6230 2006-11-19  Benson Margulies  <benson@dchbk.us>
6231
6232         * fileio.c: Add code to use full Win32 API to check for write
6233         access.  Win32 has the general design policy that you aren't
6234         supposed to ask this question, since security checks change
6235         depending on asynchronous processes.  Nonetheless, there is a way,
6236         by acting as if we are a server doing interpretive access
6237         control.
6238
6239 2006-07-31  Aidan Kehoe <kehoea@parhasard.net>
6240
6241         * bytecode.c: Use xnew_array instead of alloca.
6242
6243 2006-07-04  Vin Shelton  <acs@xemacs.org>
6244
6245         * redisplay-msw.c: Fix tiny, but crucial typo.
6246
6247 2006-06-22  Jerry James  <james@xemacs.org>
6248
6249         * EmacsShell-sub.c (ChangeManaged):
6250         * device-x.c (x_IO_error_handler): Do not dereference d if it is
6251         NULL.
6252         * dgif_lib.c (DGifCloseFile): Do not dereference GifFile before
6253         checking if it is NULL.  Also fix a memory leak.
6254         * dialog-x.c (dbox_selection_callback): Ensure f is non-NULL, then
6255         dereference it, not the other way around.
6256         * dumper.c (pdump_register_object): Fix off-by-one array bounds
6257         overflow check.
6258         * dumper.c (pdump_register_struct): Ditto.
6259         * editfns.c (Ftemp_directory): Don't let a copy from (long) path
6260         to (short) warnpath overflow warnpath.
6261         * extents.c (detach_all_extents): Call extent_list_delete_all with
6262         a non-NULL parameter only.
6263         * glyphs-widget.c (widget_query_geometry): Guard against possibly
6264         NULL width and height.
6265         * input-method-xlib.c (XIM_SetGeometry): Do not dereference f or
6266         xic before checking if they are NULL.
6267         * keymap.c (where_is_recursive_mapper): Don't throw away the newly
6268         allocated array.
6269         * md5.c (Fmd5): Check whether Lstream_read encountered an error.
6270         * nas.c (Err): Fix a memory leak.
6271         * redisplay-gtk.c (gtk_output_display_block): Fix a Dynarr leak.
6272         Don't create the buffer if there is nothing to do.
6273         * redisplay-msw.c (mswindows_output_display_block): Ditto.
6274         * redisplay-output.c (redisplay_output_layout): Ditto.
6275         * redisplay-tty.c (tty_output_display_block): Ditto.
6276         * redisplay-x.c (x_output_display_block): Ditto.
6277         * scrollbar-gtk.c (gtk_free_scrollbar_instance): Do not
6278         dereference instance->scrollbar_data if it is NULL.
6279         * scrollbar-x.c (x_free_scrollbar_instance): Ditto.
6280         * scrollbar-msw.c (mswindows_free_scrollbar_instance): Ditto, but
6281         for sb->scrollbar_data.
6282         * sound.c (init_native_sound): Avoid a buffer overflow by
6283         allocating a buffer with the appropriate size.
6284
6285 2006-05-08  Stephen J. Turnbull  <stephen@xemacs.org>
6286
6287         * EmacsShell-sub.c (RootGeometryManager):
6288         Change garbage to useful messages under DEBUG_GEOMETRY_MANAGEMENT.
6289         Based on a suggestion by Francois L'Archeveque.
6290
6291 2006-03-21  Malcolm Purvis  <malcolmp@xemacs.org>
6292
6293         * regex.c: Bump INIT_FAILURE_ALLOC and re_max_failures to the
6294         current values found in GNU Emacs.
6295
6296 2006-03-17  Vin Shelton  <acs@xemacs.org>
6297
6298         * dialog-msw.c (handle_directory_dialog_box): Don't declare
6299         Q_title here.  LOCAL_FILE_FORMAT_TO_TSTR requires an lvalue.
6300
6301         * glyphs-msw.c (read_bitmap_data): change 'initialized' to
6302         'hex_initialized' because it conflicts with 'initialized' in
6303         lisp.h.
6304
6305 2006-01-28  Vin Shelton  <acs@xemacs.org>
6306
6307         * XEmacs 21.4.19 is released
6308
6309 2006-01-20  Rick Rankin <rrankin1424-xemacs@yahoo.com>
6310
6311         * sysdir.h: Workaround missing d_ino field from 'struct dirent'.
6312
6313 2005-12-24  Aidan Kehoe  <kehoea@parhasard.net>
6314
6315         * objects-gtk.c (MAX_FONT_COUNT): Increase MAX_FONT_COUNT from
6316         5000 to INT_MAX.
6317
6318 2005-12-05  Dr. Volker Zell  <Dr.Volker.Zell@oracle.com>
6319
6320         * database.c: Suppress compiler warning under Cygwin.
6321         * database.c: Removed __FreeBSD__ check, should be handled by
6322         HAVE_U_xxx_T defines.
6323
6324 2005-12-18  Malcolm Purvis  <malcolmp@xemacs.org>
6325
6326         * console.c (stuff_buffered_input): Compile body only if
6327         HAVE_TTY.
6328
6329 2005-05-10  Aidan Kehoe  <kehoea@parhasard.net>
6330
6331         * callproc.c: #include sysdir.h, so that any appropriate Mule
6332         magic happens with the chdir() call when calling a subprocess. 
6333
6334 2005-12-06  Aidan Kehoe  <kehoea@parhasard.net>
6335
6336         * mule-ccl.c (POSSIBLE_LEADING_BYTE_P): Add.
6337         * mule-ccl.c: Check that a character set exists before using it
6338         to create a character. 
6339
6340 2005-12-06  Vin Shelton  <acs@xemacs.org>
6341
6342         * objects-x.c (MAX_FONT_COUNT): Increase MAX_FONT_COUNT from 5000
6343         to INT_MAX.
6344
6345 2005-12-03  Vin Shelton <acs@xemacs.org>
6346
6347         * XEmacs 21.4.18 is released
6348
6349 2005-11-27  Kean Johnston <kean@armory.com>
6350
6351         * redisplay-tty.c (set_tty_modes):
6352         (reset_tty_modes): disable auto-margins if the terminal supports
6353         them.
6354         (init_tty_for_redisplay): fix cursor shape.
6355
6356 2005-04-05  Aidan Kehoe  <kehoea@parhasard.net>
6357
6358         * mule-ccl.c (ccl_driver): Calculate the charset and position code
6359         for control-1 characters properly, both when reading multibyte
6360         characters and writing them. 
6361
6362 2005-03-12  Aidan Kehoe  <kehoea@parhasard.net>
6363
6364         * config.h.in: Make HAVE_XTREGISTERDRAWABLE available. 
6365         * select-x.c (x_reply_selection_request): Use it; fix the bug we
6366         were seeing with incremental selection transfer failing. 
6367
6368 2005-11-26  Vin Shelton  <acs@xemacs.org>
6369
6370         * callproc.c (Fold_call_process_internal): Create the buffer if it
6371         does not already exist.  The original patch came from Ben Wing in
6372         http://list-archive.xemacs.org/xemacs-patches/200205/msg00117.html
6373
6374 2002-05-13  Adrian Aichner  <adrian@xemacs.org>
6375
6376         * callproc.c: Process-related docstring improvements spurred by
6377         Norbert Koch.
6378
6379 2005-11-25  Vin Shelton  <acs@xemacs.org>
6380
6381         * depend: Regenerated.
6382
6383 2005-07-11  Malcolm Purvis  <malcolmp@xemacs.org>
6384
6385         * glyphs-gtk.c:  Rename a local static variable because gcc 4.0
6386         says it clashes with a global with the same name.
6387
6388 2005-07-11  Atanu Ghosh <atanu@icsi.berkeley.edu>
6389
6390         * sysdll.c (dll_open): Under MacOS X return NULL under the
6391         filename is NULL.  Fixes problems finding local symbols under 10.4
6392         (Tiger)
6393
6394 2005-11-15  Dr. Volker Zell  <Dr.Volker.Zell@oracle.com>
6395         
6396         * config.h.in: New HAVE_U_INT*_T defines.
6397         
6398         * database.c: Only use u_int*_t typedefs if not already
6399         defined.
6400
6401 2005-04-07 15:08  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
6402
6403         * src/process-unix.c (unix_open_network_stream): moved
6404           'portbuf' buffer out of an inner block as it is used in the
6405           entire function. With gcc4, the stack may get corrupted
6406           after leaving this block. This patches adjusts the size of
6407           the used buffer also; static '128' bytes are far too much
6408           currently and might not suffice for future architectures
6409           (e.g. for 512 bit ones ;)). Instead of, use only the really
6410           required space (max octets * ln(256)/ln(10) chars + space
6411           for '\0' and the sign)
6412
6413 2005-04-08  Aidan Kehoe  <kehoea@parhasard.net>
6414
6415         * callproc.c: Include sysdir.h, so any necessary Mule processing
6416         is done on the current directory name before starting a new
6417         process.
6418
6419 2005-04-06  Stephen J. Turnbull  <stephen@xemacs.org>
6420
6421         * chartab.c (Fchar_table_p):
6422         (Fget_range_char_table):
6423         (Fput_char_table):
6424         (Fmap_char_table):
6425         Describe range representation and fix typo.
6426
6427 2005-02-12  Vin Shelton  <acs@xemacs.org>
6428
6429         * emacs.c (shut_down_emacs): Advise users to send email to the
6430         xemacs-beta list instead of crashes@xemacs.org.
6431
6432 2005-02-03  David Evers  <extsw@appliedgenerics.com>
6433
6434         * process-unix.c (unix_send_process): Flush the last chunk, even
6435         when the pipe is blocked.
6436
6437 2005-02-06  Vin Shelton <acs@xemacs.org>
6438
6439         * XEmacs 21.4.17 is released
6440
6441 2005-01-31  Ben Wing  <ben@xemacs.org>
6442
6443         * emacs.c:
6444         Define assert_failed() always.
6445         * lisp.h:
6446         Always define ABORT().
6447
6448 2005-01-25  Ben Wing  <ben@xemacs.org>
6449
6450         * Makefile.in.in:
6451         * Makefile.in.in (%.o):
6452         Don't compile executable as Windows (-mwindows) under Cygwin.
6453         Semi-recent changes to Cygwin's executable-startup handling make
6454         it impossible to access the TTY this way.
6455
6456         Don't use special linker file under Cygwin (cygwin.sc) except
6457         when non-PDUMP (even in this case it is highly questionable); you
6458         get errors like
6459
6460       1 [main] temacs 1364 fhandler_console::fixup_after_exec: error opening input console handle after exec, errno 13, Win32 error 5
6461    5820 [main] temacs 1364 fhandler_console::fixup_after_exec: error opening output console handle after exec, errno 13, Win32 error 5
6462
6463 2005-01-29  Ben Wing  <ben@xemacs.org>
6464
6465         Port this: 2003-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
6466
6467         * mule-charset.c (get_unallocated_leading_byte): Compiler quietus.
6468
6469 2005-01-29  Ben Wing  <ben@xemacs.org>
6470
6471         * bytecode.c (optimize_compiled_function):
6472         * print.c (FROB):
6473         * print.c (long_to_string):
6474         Add casts to avoid warning.
6475         
6476         * glyphs-eimage.c:
6477         Some really nasty hacks to allow TIFF and JPEG to both be compiled.
6478         #### The better solution is to move the TIFF and JPEG code to
6479         different files.
6480         
6481         * glyphs-msw.c (mswindows_xbm_instantiate):
6482         Define __STDC__ to avoid problems with compface.h.
6483         
6484         * EmacsFrame.c (EmacsFrameRecomputeCellSize):
6485         * EmacsShell-sub.c:
6486         * EmacsShell-sub.c (ABORT):
6487         * EmacsShell-sub.c (SuperClassRootGeometryManager):
6488         * EmacsShell-sub.c (RootGeometryManager):
6489         * EmacsShell.c:
6490         * EmacsShell.c (ABORT):
6491         * EmacsShell.c (EmacsShellUpdateSizeHints):
6492         * alloc.c (free_lcrecord):
6493         * alloca.c (i00afunc):
6494         * buffer.c (delete_from_buffer_alist):
6495         * buffer.c (MARKED_SLOT):
6496         * bytecode.c (execute_rare_opcode):
6497         * bytecode.c (optimize_byte_code):
6498         * bytecode.c (Ffetch_bytecode):
6499         * chartab.c (char_table_type_to_symbol):
6500         * chartab.c (Freset_char_table):
6501         * chartab.c (decode_char_table_range):
6502         * chartab.c (Fget_range_char_table):
6503         * chartab.c (check_valid_char_table_value):
6504         * chartab.c (map_char_table):
6505         * chartab.c (slow_map_char_table_fun):
6506         * chartab.c (chartab_instantiate):
6507         * cm.c (cmcheckmagic):
6508         * console-msw.c (DHEADER):
6509         * console.c (MARKED_SLOT):
6510         * data.c (finish_marking_weak_lists):
6511         * data.c (encode_weak_list_type):
6512         * debug.h (DASSERT):
6513         * device-gtk.c (gtk_init_device):
6514         * device-msw.c (mswindows_get_default_margin):
6515         * device-tty.c (tty_init_device):
6516         * device-x.c (get_device_from_display):
6517         * device-x.c (x_get_visual_depth):
6518         * doprnt.c (parse_doprnt_spec):
6519         * doprnt.c (get_doprnt_args):
6520         * dumper.c (pdump_get_indirect_count):
6521         * dumper.c (pdump_register_sub):
6522         * dumper.c (pdump_register_object):
6523         * dumper.c (pdump_register_struct):
6524         * dumper.c (pdump_dump_data):
6525         * dumper.c (pdump_reloc_one):
6526         * elhash.c (print_hash_table):
6527         * elhash.c (make_standard_lisp_hash_table):
6528         * elhash.c (hash_table_instantiate):
6529         * emacs.c:
6530         * emacs.c (Fforce_debugging_signal):
6531         * emacs.c (sort_args):
6532         * emacs.c (main):
6533         * emacs.c (assert_failed):
6534         * eval.c (throw_or_bomb_out):
6535         * eval.c (signal_1):
6536         * eval.c (Fsignal):
6537         * event-Xt.c:
6538         * event-Xt.c (emacs_Xt_mapping_action):
6539         * event-Xt.c (Xt_process_to_emacs_event):
6540         * event-msw.c:
6541         * event-stream.c (check_event_stream_ok):
6542         * event-stream.c (Fadd_timeout):
6543         * event-stream.c (Fadd_async_timeout):
6544         * event-stream.c (Fdiscard_input):
6545         * event-stream.c (execute_internal_event):
6546         * event-stream.c (Frecent_keys):
6547         * event-stream.c (extract_this_command_keys_nth_mouse_event):
6548         * event-stream.c (lookup_command_event):
6549         * event-unixoid.c (poll_fds_for_input):
6550         * events.c:
6551         * events.c (mark_event):
6552         * events.c (event_equal):
6553         * events.c (event_hash):
6554         * events.c (Fmake_event):
6555         * events.c (Fdeallocate_event):
6556         * events.c (event_chain_find_previous):
6557         * events.c (event_to_character):
6558         * events.c (format_event_object):
6559         * events.c (Fevent_type):
6560         * events.c (event_pixel_translation):
6561         * events.c (Fevent_properties):
6562         * extents.c (extent_in_region_p):
6563         * extents.c (print_extent):
6564         * extents.c (process_extents_for_insertion_mapper):
6565         * extents.c (report_extent_modification_mapper):
6566         * extents.c (glyph_layout_to_symbol):
6567         * faces.c (face_validate):
6568         * file-coding.c (eol_type_to_symbol):
6569         * file-coding.c (subsidiary_coding_system):
6570         * file-coding.c (Fcoding_system_type):
6571         * file-coding.c (Fcoding_system_property):
6572         * file-coding.c (mule_decode):
6573         * file-coding.c (mule_encode):
6574         * file-coding.c (encode_coding_ucs4):
6575         * file-coding.c (encode_coding_utf8):
6576         * file-coding.c (parse_iso2022_esc):
6577         * file-coding.c (encode_coding_iso2022):
6578         * fileio.c:
6579         * fns.c (concat):
6580         * fns.c (Fsubseq):
6581         * fns.c (mapcar1):
6582         * fns.c (Fbase64_encode_region):
6583         * fns.c (Fbase64_encode_string):
6584         * fns.c (Fbase64_decode_region):
6585         * fns.c (Fbase64_decode_string):
6586         * font-lock.c (find_context):
6587         * font-lock.c (context_to_symbol):
6588         * frame-gtk.c (gtk_set_frame_pointer):
6589         * frame-gtk.c (gtk_update_frame_external_traits):
6590         * frame-x.c (x_wm_mark_shell_size_user_specified):
6591         * frame-x.c (x_wm_mark_shell_position_user_specified):
6592         * frame-x.c (x_wm_set_shell_iconic_p):
6593         * frame-x.c (x_wm_set_cell_size):
6594         * frame-x.c (x_wm_set_variable_size):
6595         * frame-x.c (x_wm_store_class_hints):
6596         * frame-x.c (x_wm_maybe_store_wm_command):
6597         * frame-x.c (x_initialize_frame_size):
6598         * frame-x.c (x_update_frame_external_traits):
6599         * frame.c:
6600         * frame.c (delete_frame_internal):
6601         * frame.c (mouse_pixel_position_1):
6602         * frame.c (change_frame_size_1):
6603         * free-hook.c (check_free):
6604         * free-hook.c (check_realloc):
6605         * free-hook.c (note_block_input):
6606         * free-hook.c (log_gcpro):
6607         * gccache-gtk.c (gc_cache_lookup):
6608         * glyphs-eimage.c (tiff_memory_write):
6609         * glyphs-gtk.c (gtk_finalize_image_instance):
6610         * glyphs-gtk.c (init_image_instance_from_gdk_pixmap):
6611         * glyphs-gtk.c (init_image_instance_from_xbm_inline):
6612         * glyphs-gtk.c (gtk_xpm_instantiate):
6613         * glyphs-gtk.c (gtk_unmap_subwindow):
6614         * glyphs-gtk.c (gtk_map_subwindow):
6615         * glyphs-gtk.c (gtk_button_redisplay):
6616         * glyphs-msw.c:
6617         * glyphs-msw.c (init_image_instance_from_xbm_inline):
6618         * glyphs-x.c (init_image_instance_from_xbm_inline):
6619         * glyphs-x.c (extract_xpm_color_names):
6620         * glyphs-x.c (x_xpm_instantiate):
6621         * glyphs.c (get_image_instantiator_governing_domain):
6622         * glyphs.c (print_image_instance):
6623         * glyphs.c (image_instance_equal):
6624         * glyphs.c (image_instance_hash):
6625         * glyphs.c (encode_image_instance_type):
6626         * glyphs.c (make_image_instance_1):
6627         * glyphs.c (inherit_instantiate):
6628         * glyphs.c (image_instantiate):
6629         * glyphs.c (allocate_glyph):
6630         * glyphs.c (Fglyph_type):
6631         * glyphs.c (redisplay_subwindow):
6632         * glyphs.c (display_table_entry):
6633         * gtk-glue.c (xemacs_list_to_gtklist):
6634         * gtk-glue.c (xemacs_gtklist_to_list):
6635         * gtk-glue.c (xemacs_list_to_array):
6636         * gutter.c (SET_GUTTER_WAS_VISIBLE_FLAG):
6637         * gutter.c (gutter_was_visible):
6638         * gutter.c (get_gutter_coords):
6639         * input-method-xlib.c (get_XIM_input):
6640         * insdel.c (bufpos_to_bytind_func):
6641         * insdel.c (bytind_to_bufpos_func):
6642         * insdel.c (move_gap):
6643         * intl.c (x_get_composed_input):
6644         * keymap.c (keymap_lookup_directly):
6645         * keymap.c (keymap_delete_inverse_internal):
6646         * keymap.c (ensure_meta_prefix_char_keymapp):
6647         * keymap.c (accessible_keymaps_mapper_1):
6648         * keymap.c (where_is_recursive_mapper):
6649         * lisp.h:
6650         * lisp.h (ABORT):
6651         * lread.c (read_atom):
6652         * lstream.c (Lstream_delete):
6653         * lstream.c (make_lisp_buffer_stream_1):
6654         * macros.c (pop_kbd_macro_event):
6655         * malloc.c (malloc):
6656         * malloc.c (free):
6657         * marker.c (bi_marker_position):
6658         * marker.c (set_bi_marker_position):
6659         * menubar-gtk.c (menu_descriptor_to_widget_1):
6660         * menubar-msw.c (prune_menubar):
6661         * menubar-x.c (set_frame_menubar):
6662         * mule-charset.c (get_unallocated_leading_byte):
6663         * mule-charset.h (CHAR_LEADING_BYTE):
6664         * native-gtk-toolbar.c (SET_TOOLBAR_WAS_VISIBLE_FLAG):
6665         * nt.c (init_environment):
6666         * nt.c (generate_inode_val):
6667         * ntproc.c (delete_child):
6668         * ntproc.c (_sys_read_ahead):
6669         * ntproc.c (create_child):
6670         * objects.c (color_instantiate):
6671         * objects.c (font_instantiate):
6672         * objects.c (face_boolean_instantiate):
6673         * print.c (printing_major_badness):
6674         * process-nt.c (nt_send_process):
6675         * process-unix.c (unix_send_process):
6676         * process.c (get_process):
6677         * ralloc.c (obtain):
6678         * ralloc.c (relinquish):
6679         * ralloc.c (relocate_blocs):
6680         * ralloc.c (resize_bloc):
6681         * ralloc.c (r_alloc_free):
6682         * ralloc.c (r_re_alloc):
6683         * ralloc.c (r_alloc_thaw):
6684         * ralloc.c (init_ralloc):
6685         * ralloc.c (Free_Addr_Block):
6686         * ralloc.c (r_alloc):
6687         * redisplay-gtk.c (gtk_output_display_block):
6688         * redisplay-msw.c (mswindows_output_display_block):
6689         * redisplay-output.c (get_next_display_block):
6690         * redisplay-output.c (get_cursor_size_and_location):
6691         * redisplay-output.c (redisplay_output_layout):
6692         * redisplay-output.c (redisplay_clear_region):
6693         * redisplay-tty.c (tty_output_display_block):
6694         * redisplay-x.c (x_output_display_block):
6695         * redisplay.c (add_propagation_runes):
6696         * redisplay.c (add_glyph_rune):
6697         * redisplay.c (create_text_block):
6698         * redisplay.c (add_margin_runes):
6699         * redisplay.c (create_left_glyph_block):
6700         * redisplay.c (create_right_glyph_block):
6701         * redisplay.c (create_string_text_block):
6702         * redisplay.c (regenerate_window):
6703         * redisplay.c (REGEN_INC_FIND_START_END):
6704         * redisplay.c (redisplay_frame):
6705         * redisplay.c (point_in_line_start_cache):
6706         * regex.c:
6707         * regex.c (ABORT):
6708         * regex.c (re_compile_fastmap):
6709         * regex.c (re_match_2_internal):
6710         * regex.c (regerror):
6711         * scrollbar-gtk.c (gtk_scrollbar_loop):
6712         * scrollbar-gtk.c (scrollbar_cb):
6713         * scrollbar-gtk.c (gtk_update_frame_scrollbars):
6714         * scrollbar-msw.c (mswindows_handle_scrollbar_event):
6715         * scrollbar-x.c (x_update_scrollbar_instance_status):
6716         * scrollbar-x.c (x_scrollbar_loop):
6717         * scrollbar-x.c (x_update_frame_scrollbars):
6718         * search.c (search_command):
6719         * search.c (Fmatch_data):
6720         * select-x.c (motif_clipboard_cb):
6721         * signal.c (interrupt_signal):
6722         * specifier.c (specifier_add_spec):
6723         * specifier.c (specifier_instance_from_inst_list):
6724         * specifier.c (specifier_instance):
6725         * specifier.h:
6726         * specifier.h (struct specifier_methods):
6727         * strftime.c (add_num_time_t):
6728         * sunplay.c (init_device):
6729         * symbols.c (Fsetplist):
6730         * symbols.c (do_symval_forwarding):
6731         * symbols.c (store_symval_forwarding):
6732         * symbols.c (Fset):
6733         * symbols.c (Fbuilt_in_variable_type):
6734         * symbols.c (decode_magic_handler_type):
6735         * symbols.c (handler_type_from_function_symbol):
6736         * syntax.c (update_syntax_cache):
6737         * sysdep.c (init_baud_rate):
6738         * toolbar-gtk.c (SET_TOOLBAR_WAS_VISIBLE_FLAG):
6739         * toolbar-msw.c (SET_TOOLBAR_WAS_VISIBLE_FLAG):
6740         * toolbar-x.c (SET_TOOLBAR_WAS_VISIBLE_FLAG):
6741         * toolbar.c (get_toolbar_coords):
6742         * ui-gtk.c (build_gtk_boxed):
6743         * ui-gtk.c (describe_gtk_arg):
6744         * ui-gtk.c (gtk_type_to_lisp):
6745         * ui-gtk.c (lisp_to_gtk_type):
6746         * ui-gtk.c (lisp_to_gtk_ret_type):
6747         * ui-gtk.c (lisp_to_flag):
6748         * unexnt.c (read_in_bss):
6749         * unexnt.c (map_in_heap):
6750         * window.c (real_window):
6751         * window.c (window_display_lines):
6752         * window.c (window_display_buffer):
6753         * window.c (set_window_display_buffer):
6754         * window.c (window_modeline_height):
6755         * window.c (unshow_buffer):
6756         * window.c (window_loop):
6757         * window.c (Fget_lru_window):
6758         * window.c (Fsplit_window):
6759         * window.c (Fset_window_configuration):
6760         * window.c (saved_window_index):
6761         * xgccache.c (gc_cache_lookup):
6762         abort() -> ABORT().  Eliminate preprocessor games with abort()
6763         since it creates huge problems in VC7, solvable only by including
6764         massive amounts of files in every compile (and not worth it).
6765
6766         * sysdep.c:
6767         * sysproc.h:
6768         Inclusion of process.h does not need to be before lisp.h any more.
6769         Move later and remove comment about abort().
6770
6771 2005-01-26  Arnaud Giersch  <arnaud.giersch@free.fr>
6772
6773         * regex.c (re_match_2_internal):
6774         Correctly initialize loop which clears uninitialized registers.
6775
6776 2005-01-28  Vin Shelton  <acs@xemacs.org>
6777
6778         * sheap.c (more_static_core): Applied Ben's version of the long
6779         string patch.
6780
6781 2005-01-24  Vin Shelton  <acs@xemacs.org>
6782
6783         * sheap.c (more_static_core): Reformatted printf string so
6784         gcc-3.3.3 will compile this on Cygwin.
6785
6786 2004-02-22  Stephen J. Turnbull  <stephen@xemacs.org>
6787
6788         * console.c (function_key_map): Reference `key-binding'.
6789
6790         * keymap.c (Vkey_translation_map): Improve docstring.
6791
6792 2004-03-30  Zajcev Evgeny  <zevlg@yandex.ru>
6793
6794         * window.c: Declare `allow_deletion_of_last_visible_frame' extern.
6795         * window.c (window_loop): [fix] Take into account
6796         `allow-deletion-of-last-visible-frame' variable.
6797         * window.c (replace-buffer-in-windows): Ditto.
6798
6799 2004-12-15  Stephen J. Turnbull  <stephen@xemacs.org>
6800
6801         * EmacsManager.c (EmacsManagerChangeSize): Respect XtGeometryNo.
6802
6803 2005-01-20  Malcolm Purvis  <malcolmp@xemacs.org>
6804
6805         * event-gtk.c: Recognise AltGr as a valid modifier.
6806
6807 2005-01-12  Ville Skyttä  <scop@xemacs.org>
6808
6809         * console-x.h: #include X11/keysym.h before xintrinsic.h.
6810
6811 2005-01-13  Stephen J. Turnbull  <stephen@xemacs.org>
6812
6813         Fix backreference bug caught by test suite.
6814
6815         * regex.c (regex_compile):
6816         Make backref duplicate internal register.
6817
6818 2005-01-13  Stephen J. Turnbull  <stephen@xemacs.org>
6819
6820         Documentation, code clarification, and warning suppression.
6821         
6822         * regex.c (regex_compile):
6823         Improve comments.
6824         (re_match_2_internal):
6825         Improve comments and avoid redundant braces.  [Most of the big hunk
6826         at l. 4710 is indentation; use diff -w to see the real changes.]
6827         (alt_match_null_string_p):
6828         (common_op_match_null_string_p):
6829         Avoid shadowing global on Mac OS X 10.4, at least.
6830
6831 2004-09-08  Stephen J. Turnbull  <stephen@xemacs.org>
6832
6833         * regex.c (regcomp): Fix "unsigned comparison" warning (maybe
6834         introduced with shy groups fix).  [Already applied, probably
6835         with the second "fix shy groups" patch of 2004-10-07.] 
6836
6837 2005-01-10  Steve Youngs  <steve@sxemacs.org>
6838
6839         From Andrey Slusar <anrays@gmail.com>:
6840
6841         * unexelf.c: define `Elfw(type)' for FreeBSD alpha and amd64.
6842
6843 2004-11-21  Malcolm Purvis  <malcolmp@xemacs.org>
6844
6845         * Makefile (RECURSIVE_MAKE): Removed.
6846         * Makefile (RECURSIVE_MAKE_ARGS): New.  The new method for
6847         handling parallel builds.
6848
6849 2004-09-08  Malcolm Purvis  <malcolmp@xemacs.org>
6850
6851         * Makefile.in.in: Enable support for parallel builds.
6852
6853 2005-01-09  Steve Youngs  <steve@sxemacs.org>
6854
6855         From Andrey Slusar <anrays@gmail.com>:
6856
6857         * s/freebsd.h (LIBS_SYSTEM): Only set to "-lutil -lxpg4" if
6858         FreeBSD version is >= 199701 _and_ < 600006.
6859
6860 2005-01-06  Zajcev Evgeny <zevlg@yandex.ru>
6861
6862         * scrollbar.c (compute_scrollbar_instance_usage):
6863         Only call device method compute_scrollbar_instance_usage() if it
6864         is defined.
6865
6866 2004-12-05  Vin Shelton <acs@xemacs.org>
6867
6868         * XEmacs 21.4.16 is released
6869
6870 2004-12-04  Vin Shelton  <acs@xemacs.org>
6871
6872         * depend: Regenerated.
6873
6874 2004-10-07  Stephen J. Turnbull  <stephen@xemacs.org>
6875
6876         * regex.c (re_match_2_internal): Map internal to external
6877         registers.  Fixes bug identified by Steve Youngs 2004-09-30
6878         <microsoft-free.87ekkjhj7t.fsf@youngs.au.com>.
6879
6880 2004-09-02  Yoshiki Hayashi  <yoshiki@xemacs.org>
6881
6882         * buffer.c (Frecord_buffer): Make sure the argument is buffer
6883         to fix a crash.  Also, check the buffer is live and it
6884         really exists in buffer_list.  If the buffer is not in the list,
6885         prepend it.
6886
6887 2004-09-08  Stephen J. Turnbull  <stephen@xemacs.org>
6888
6889         Fix shy groups by implementing recording of all groups for
6890         repetition and backtracking.  Backport from 21.5.
6891         
6892         * regex.h (struct re_pattern_buffer): Add members re_ngroups,
6893         external_to_internal_register, external_to_internal_register_size,
6894         and update comments for re_nsub.
6895
6896         * regex.c (re_opcode_t): Update comments.
6897         (print_compiled_pattern): Ouput external_to_internal_register,
6898         external_to_internal_register_size, and re_ngroups for debugging.
6899         (INIT_REG_TRANSLATE_SIZE): New manifest constant.
6900         (regex_compile): Update header comment.
6901         Ensure that all groups are recorded so that repeat matches and
6902         backtracking work correctly.  Comment related warning for groups >
6903         255.
6904         (re_search_2): Construct map of API indexes (which count only
6905         nonshy groups) to internal register numbers, and keep it updated.
6906
6907 2004-07-27  Malcolm Purvis  <malcolmp@xemacs.org>
6908
6909         * frame-gtk.c (gtk_make_frame_visible):
6910         * frame-gtk.c (gtk_make_frame_invisible): Use map/unmap instead of
6911         show/hide.  This is what X uses and is prevents previously hidden
6912         widgets from suddenly reappearing.
6913         * gtk-xemacs.c (gtk_xemacs_paint):
6914         * gtk-xemacs.c (gtk_xemacs_draw):
6915         * gtk-xemacs.c (gtk_xemacs_expose): Only operate if the widget is
6916         drawable.
6917         * scrollbar-gtk.c (gtk_update_scrollbar_instance_status): Force
6918         size and location changes so that they can be seen before the next
6919         idle event.  Without this rapid changes to scrollbar properties
6920         are not seen.
6921
6922 2004-07-02  Malcolm Purvis  <malcolmp@xemacs.org>
6923
6924         * console-gtk.h:
6925         * console-gtk.h (struct gtk_frame):
6926         * console-gtk.h (FRAME_GTK_WIDGET_INSTANCE_HASH_TABLE):
6927           Add hash tables track tab_control callback data.
6928           Added #defines for GTK object data names.
6929           Declaration of gtk_widget_to_frame().
6930         * event-gtk.c (enqueue_gtk_dispatch_event) No longer static:
6931         * frame-gtk.c (gtk_widget_to_frame): New.
6932         * frame-gtk.c (gtk_create_widgets):
6933         * frame-gtk.c (allocate_gtk_frame_struct):
6934         * frame-gtk.c (gtk_mark_frame):
6935         Manage frame callbakc hash tables.
6936         * glyphs-gtk.c (gtk_map_subwindow): Fix size and moving bugs.
6937         * glyphs-gtk.c (gtk_redisplay_widget): Use correct size for widgets.
6938         * glyphs-gtk.c (gtk_widget_instantiate_1): Force reconsideration
6939         of widget size.
6940         * glyphs-gtk.c (gtk_widget_query_geometry): New
6941         * glyphs-gtk.c (gtk_register_gui_item): New
6942         * glyphs-gtk.c (gtk_add_tab_item): New
6943         * glyphs-gtk.c (gtk_tab_control_callback): New
6944         * glyphs-gtk.c (gtk_tab_control_instantiate): New
6945         * glyphs-gtk.c (gtk_tab_control_redisplay): Set notebook page.
6946         Use correct list when loading item.
6947         * glyphs-gtk.c (image_instantiator_format_create_glyphs_gtk):
6948         Register new methods.
6949         * gtk-xemacs.c (gtk_xemacs_size_allocate): Use XEmacs size, not
6950         default size, for widgets.
6951         * gui-x.c:  Improved comment.
6952         * menubar-gtk.c (__generic_button_callback): Use
6953         gtk_widget_to_frame instead of __get_channel.
6954         * scrollbar-gtk.c:
6955         * ui-gtk.c: Use symbolic names for GTK object data.
6956
6957 2004-06-23  Ilya N. Golubev <gin@mo.msk.ru>
6958
6959         * s/usg5-4.h (NSIG): Define only inside emacs binary.
6960
6961 2002-03-04  Stephen J. Turnbull  <stephen@xemacs.org>
6962
6963         * fileio.c (Fwrite_region_internal): Document use of start == Qnil.
6964
6965 2004-06-16  Malcolm Purvis  <malcolmp@xemacs.org>
6966
6967         * malloc.c (morecore): siz is a long because in some architectures
6968         (eg ia-64) an int cannot hold the address range.  Additional patch
6969         from the SuSe distribution.
6970
6971 2004-06-13  Malcolm Purvis  <malcolmp@xemacs.org>
6972
6973         * emacs.c:
6974         * malloc.c: lim_data is a long because in some architectures
6975         (eg ia-64) an int cannot hold the address range.
6976         * mem-limits.h: lim-data is a long.  Linux uses getrlimit()
6977         instead of ulimit() because ulimit() always returns -1.
6978
6979 2004-06-09  Stephen J. Turnbull  <stephen@xemacs.org>
6980
6981         * search.c: Reenable an ansync semaphore.  Remove bogus comments.
6982
6983 2004-06-11  David Kastrup  <dak@gnu.org>
6984
6985         * search.c (match_limit): Don't flag an error if match-data
6986         exceeding the allocated search_regs.num_regs gets requested, just
6987         return Qnil.
6988
6989 2003-07-21  Malcolm Purvis  <malcolmpurvis@optushome.com.au>
6990
6991         * glyphs-gtk.c (gtk_xpm_instantiate): Rewrite the XPM data to
6992         replace symbolic color entries with the real colors specified in
6993         xpm-color-symbols, before passing the XPM to gtk.
6994         * glyphs-gtk.h: Use the generic pixmap_image_instance.mask for masks,
6995         instead of a GTK specific field, so that it is used in by generic
6996         code.
6997
6998 2004-05-05  Chuck Hines <chuck.hines@baesystems.com>
6999
7000        * dgif_lib.c (DGifSlurp): Changed do-while to while to stop
7001         coredump from deref of NULL ptr (ExtData)
7002
7003 2004-04-19  Jerry James  <james@xemacs.org>
7004
7005         * data.c (sign_extend_lisp_int): Use INT_VALBITS instead of
7006         VALBITS to compute the location of the sign bit.
7007         * event-stream.c (Fcurrent_event_timestamp): Replace incorrect use
7008         of VALBITS with EMACS_INT_MAX.
7009         * events.c (Fevent_timestamp): Ditto.
7010         * events.c (TIMESTAMP_HALFSPACE): Change VALBITS to INT_VALBITS to
7011         compute the halfway point to timestamp wraparound.
7012         * floatfns.c (float_to_int): Compare against EMACS_INT_MAX and
7013         EMACS_INT_MIN instead of using VALBITS.
7014         * floatfns.c (Flogb): Use EMACS_INT_MIN instead of building an
7015         incorrect number with VALBITS.
7016         * fns.c (Frandom): Correct number of integer bits in docstring.
7017         Use INT_VALBITS instead of VALBITS to compute the denominator.
7018         * sysdep.c (get_random): Use INT_VALBITS instead of VALBITS to
7019         build random numbers.
7020
7021 2004-03-23  Malcolm Purvis  <malcolmpurvis@optushome.com.au>
7022         * event-gtk.c:
7023         * event-gtk.c (gtk_event_to_emacs_event):
7024         * menubar-gtk.c:
7025         * menubar-gtk.c (gtk_xemacs_menubar_class_init):
7026         * menubar-gtk.c (gtk_xemacs_menubar_size_request):
7027         * menubar-gtk.c (gtk_xemacs_accel_label_get_type):
7028         * menubar-gtk.c (gtk_xemacs_set_accel_keys):
7029         * menubar-gtk.c (__activate_menu):
7030         * menubar-gtk.c (convert_underscores):
7031         * menubar-gtk.c (remove_underscores):
7032         * menubar-gtk.c (menu_convert):
7033         * menubar-gtk.c (menu_descriptor_to_widget_1):
7034         * menubar-gtk.c (menu_descriptor_to_widget):
7035         * menubar-gtk.c (menu_can_reuse_widget):
7036         * menubar-gtk.c (menu_create_menubar):
7037         * menubar-gtk.c (gtk_popup_menu):
7038         * menubar-gtk.c (Fgtk_build_xemacs_menu):
7039         Added support for Gtk menu bar and menu item mnemonics.
7040
7041 2004-03-23  Malcolm Purvis  <malcolmpurvis@optushome.com.au>
7042
7043         * sysdll.c: (dll_function): Added support for finding symbols in
7044         Darwin shared libraries as well in Darwin bundles.
7045         * sysdll.c (image_for_address): New
7046         * sysdll.c (my_find_image): New
7047         * sysdll.c (search_linked_libs): New
7048
7049 2004-03-23  Malcolm Purvis  <malcolmpurvis@optushome.com.au>
7050
7051         * ui-gtk.c (__internal_callback_marshal): Marshalling data to
7052         return to GTK requires a different API to marshalling data to use
7053         as GTK parameters.
7054         * ui-gtk.c (lisp_to_gtk_ret_type): New.
7055
7056 2004-03-08  Lutz Euler  <lutz.euler@freenet.de>
7057
7058         * lstream.c (Lstream_pseudo_close): Fix test for LSTREAM_FL_IS_OPEN.
7059
7060 2004-02-19  Stephen J. Turnbull  <stephen@xemacs.org>
7061
7062         * glyphs.c (process_image_string_instantiator):
7063         (Fset_console_type_image_conversion_list):
7064         Stop GCC from warning about shadowing of `exp'.
7065
7066         * redisplay-x.c (x_output_string): Fix unsigned lossage.
7067
7068 2004-02-19  Stephen J. Turnbull  <stephen@xemacs.org>
7069
7070         * regex.c (re_match_2_internal): Shut up GCC about syn1, syn2.
7071
7072 2004-02-03  Vin Shelton  <acs@xemacs.org>
7073
7074         * glyphs.c (image_instance_layout): Remove pointless assertion.
7075         * regex.c (regex_grow_registers): Return type is void.
7076
7077 2004-02-02  Vin Shelton <acs@xemacs.org>
7078
7079         * XEmacs 21.4.15 is released
7080
7081 2004-01-30  Glynn Clements  <glynn.clements@virgin.net>
7082
7083         * device-x.c (x_error_handler): Don't call stderr_out
7084
7085 2003-11-07  Katsumi Yamaoka <yamaoka@jpl.org>
7086
7087         * buffer.c (other-buffer): Clarify documentation of order of
7088         arguments for FSF Emacs.
7089
7090 2003-10-11  Olivier Galibert  <galibert@pobox.com>
7091
7092         * window.c (Fdelete_window): Dirty the mirror structure _before_
7093         marking the window deleted.
7094
7095 2003-09-15  Jerry James  <james@xemacs.org>
7096
7097         * event-msw.c (debug_mswin_messages): Conditionally compile
7098         messages missing from the Cygwin headers.
7099
7100 2003-06-16  Stephen J. Turnbull  <stephen@xemacs.org>
7101
7102         * data.c (eq_with_ebola_notice): Fix typo in comment.
7103         (Ftrue_list_p): Improve docstring.
7104
7105 2003-10-13  Stephen J. Turnbull  <stephen@xemacs.org>
7106
7107         * frame-x.c (x_update_frame_external_traits): Fix XtSetArg idiom.
7108
7109 2003-09-27  Stephen J. Turnbull  <stephen@xemacs.org>
7110
7111         * search.c (trivial_regexp_p): Regexps containing "\{" are
7112         nontrivial.  Thanks to Manfred Bartz for reporting the bug and
7113         Stefan Monnier for suggesting a diagnosis.
7114
7115 2003-09-25  Stephen J. Turnbull  <stephen@xemacs.org>
7116
7117         * elhash.c (make-hash-table): Clarify use of :test #'equal.
7118
7119 2003-09-12  Stephen J. Turnbull  <stephen@xemacs.org>
7120
7121         * search.c (Fsearch_forward):
7122         (Fsearch_backward):
7123         Document negative count.
7124
7125 2003-09-13  Stephen J. Turnbull  <stephen@xemacs.org>
7126
7127         * regex.c (re_max_failures): Bump to 20000 for REGEX_MALLOC, too.
7128
7129 2003-09-13  Martin Buchholz  <martin@xemacs.org>
7130
7131         * s/sol2.h: Use OS_RELEASE=os_release_major*100+os_release_minor
7132
7133 2003-09-15  Vin Shelton  <acs@xemacs.org>
7134
7135         * .gdbinit (pobj): Remove Ilya's fix that was only intended for
7136         21.5.
7137
7138 2003-09-12  Yoshiki Hayashi  <yoshiki@xemacs.org>
7139
7140         * regex.c (TRANSLATE_EXTENDED_UNSAFE): Remove.
7141         (re_search_2): Match the first byte of Bufbyte, not Emchar.
7142         (re_match_2_internal): Use TRANSLATE instead of
7143         TRANSLATE_EXTENDED_UNSAFE.  The latter was a hack to bypass
7144         non-ASCII char case conversion.
7145
7146 2003-09-08  Mike Sperber  <mike@xemacs.org>
7147
7148         * symbols.c (Fvariable_binding_locus): Add, as per suggestion from
7149         RMS at: http://article.gmane.org/gmane.emacs.pretest.bugs/1010
7150
7151 2003-06-14  Ilya N. Golubev  <gin@mo.msk.ru>
7152
7153        * .gdbinit (pobj): fix printing of symbol name.
7154
7155 2003-08-01  Ilya N. Golubev  <gin@mo.msk.ru>
7156
7157         * frame-x.c (x_layout_widgets): When resizing is about to cause
7158         frame size slip, mark it for redisplay.
7159
7160 2003-08-18  Jerry James  <james@xemacs.org>
7161
7162         * opaque.h: Remove unused (X)OPAQUE_MARKFUN definitions.
7163
7164 2003-09-03  Vin Shelton <acs@xemacs.org>
7165
7166         * XEmacs 21.4.14 is released
7167
7168 2003-08-15  Stephen J. Turnbull  <stephen@xemacs.org>
7169
7170         * config.h.in (REGEX_MALLOC): Make it configure'able.
7171
7172 2003-08-14  Andrew Begel  <abegel@CS.Berkeley.EDU>
7173
7174         * config.h.in: Add HAVE_DYLD to indicate Darwin/MacOSX dynamic
7175         linking.
7176         * sysdll.c (dll_init):
7177         * sysdll.c (dll_open):
7178         * sysdll.c (dll_close):
7179         * sysdll.c (dll_function):
7180         * sysdll.c (dll_variable):
7181         * sysdll.c (dll_error):
7182         Add support for loading bundles using Darwin/MacOSX
7183         native API.
7184
7185 2003-08-12  Stephen J. Turnbull  <stephen@xemacs.org>
7186
7187         * process.c (start-process-internal): Document coding systems.
7188
7189 2003-07-30  Jerry James  <james@xemacs.org>
7190
7191         * sysdll.c: configure sets HAVE_DLD_INIT, not HAVE_INIT_DLD.
7192
7193 2003-07-31  René Kyllingstad  <listmailxemacs@kyllingstad.com>
7194
7195         * event-msw.c (mswindows_enqueue_mouse_button_event):
7196         * event-msw.c (mswindows_wnd_proc):
7197           enqueue button event when scrollwheel event isn't handled by 
7198           mswindows_handle_mousewheel_event, such as when the scrollbars
7199           are not showing.
7200
7201 2003-07-29  Stephen J. Turnbull  <stephen@xemacs.org>
7202
7203         * EmacsFrame.c (emacsFrameClassRec): Motif groks not XtCompress*.
7204
7205 2003-03-24  Stephen J. Turnbull  <stephen@xemacs.org>
7206
7207         * database.c (Fopen_database): Don't use DB_AUTO_COMMIT.
7208
7209 2003-03-21  Stephen J. Turnbull  <stephen@xemacs.org>
7210
7211         * regex.c (re_match_2_internal): Fix matching degenerate word
7212         boundaries.
7213
7214 2003-05-25  XEmacs Build Bot <builds@cvs.xemacs.org>
7215
7216         * XEmacs 21.4.13 is released
7217
7218 2003-03-20  Stephen J. Turnbull  <stephen@xemacs.org>
7219
7220         * config.h.in (INTPTR_T_IN_CYGWIN_TYPES_H): 
7221         * lisp.h (<inttypes.h>):
7222         Cygwin defines these types in <cygwin/types.h>.  Don't duplicate
7223         the definition.
7224
7225 2003-03-15  Martin Buchholz  <martin@xemacs.org>
7226
7227         * dumper.c (pdump_load): Pdump'ed XEmacs can't find its .dmp file.
7228         Scenario: Prepend ~/bin to PATH; then `mkdir ~/bin/xemacs'
7229         Result: "temacs can only be run in -batch mode."
7230         Fix: Check xemacs executable candidate for directory-ness.
7231
7232 2003-03-03  Robert Pluim  <rpluim@bigfoot.com>
7233
7234         * database.c: Don't use the u_int8_t etc typedefs on FreeBSD,
7235           they conflict with <sys/types.h>.
7236
7237 2003-02-14  Martin Buchholz  <martin@xemacs.org>
7238
7239         * database.c: Berkeley DB wants __STDC__ to be defined.
7240
7241 2003-02-13  Martin Buchholz  <martin@xemacs.org>
7242
7243         * EmacsFrame.c: Use symbolic name `NotUseful' in lieu of `0'.
7244
7245 2003-02-01  Martin Buchholz  <martin@xemacs.org>
7246
7247         * process-unix.c (unix_send_process): Fix C++ compile error.
7248
7249 2003-02-25  Andrew Begel  <abegel@cs.berkeley.edu>
7250
7251         * Added .dylib as an acceptable shared library file extension
7252         * to support MacOSX.
7253
7254 2003-02-01  Martin Buchholz  <martin@xemacs.org>
7255
7256         * EmacsFrameP.h (EmacsFramePart):
7257         Kludge to allow compiling with Motif1, but linking with Motif2.
7258
7259 2003-01-28  Martin Buchholz  <martin@xemacs.org>
7260
7261         * config.h.in (_ALL_SOURCE): Guard against multiple definition.
7262
7263
7264 2003-02-23  Stephen J. Turnbull  <stephen@xemacs.org>
7265
7266         * config.h.in (DLSYM_NEEDS_UNDERSCORE): Define on darwin.
7267
7268 2003-02-06  Andrew Begel  <abegel@CS.Berkeley.EDU>
7269
7270         * sysdll.c: Included lisp.h to define needed alloca_array.
7271
7272 2003-02-13  Martin Buchholz  <martin@xemacs.org>
7273
7274         Make XEmacs redisplay 10 times faster.
7275         If, that is, you're using a slow X connection and MoveOpaque.
7276         Use compress_exposure = XtExposeCompressMaximal | XtExposeNoRegion.
7277         Use compress_motion = TRUE.
7278         * EmacsFrame.c (emacsFrameClassRec): 
7279         * EmacsShell-sub.c (EMACS_SHELL_CLASS_REC):
7280         * EmacsManager.c (emacsManagerClassRec):
7281         * xintrinsicp.h: Make sure XtExposeNoRegion is defined.
7282
7283 2003-01-30  Vin Shelton  <acs@xemacs.org>
7284
7285         * s/linux.h (ORDINARY_LINK): define ORDINARY_LINK for linux.
7286
7287 2003-01-17  Stephen J. Turnbull  <stephen@xemacs.org>
7288
7289         * glyphs-eimage.c (tiff_memory_seek): Lobotomize unsigned typedef.
7290         Patch by Martin Buchholz.
7291
7292 2003-01-16  Stephen J. Turnbull  <stephen@xemacs.org>
7293
7294         * glyphs-eimage.c (tiff_instantiate): Fix unsigned comparison.
7295         Thanks to icc for warning and Martin Buchholz for reporting.
7296
7297 2003-01-29  Vin Shelton <acs@xemacs.org>
7298
7299         Patch courtesy of Andrew Begel <abegel@cs.berkeley.edu>
7300
7301         * dynarr.c (Dynarr_realloc): memcpy copies number of bytes, so
7302         remember to multiply by the element size.
7303
7304 2003-01-15  Stephen J. Turnbull  <stephen@xemacs.org>
7305
7306         * XEmacs 21.4.12 "Portable Code" is released.
7307
7308 2003-01-14  Sergey Okhapkin <sos@prospect.com.ru>
7309
7310         * Makefile.in.in (ldflags): re-order sections for gcc 3.2.
7311         * s/cygwin.sc: new linker file.
7312
7313 2003-01-14  Stephen J. Turnbull  <stephen@xemacs.org>
7314
7315         Build fixes courtesy Martin Buchholz <martin@xemacs.org>:
7316
7317         * redisplay-x.c (x_output_string): Use X11-specified types.
7318         * syntax.c, syntax.h (SYNTAX_CODE): Use enum syntaxcode, not int.
7319         * emacs.c (__free_hook): Use typeof with Intel compiler.
7320         * config.h.in (alloca.h): Quick safe hack to please Intel compiler.
7321
7322 2003-01-08  Andy Piper  <andy@xemacs.org>
7323
7324         * unexcw.c (copy_executable_and_dump_data_section): Set the stack
7325         reserve size during unexec().
7326
7327 2003-01-07  Daiki Ueno  <daiki@xemacs.org>
7328
7329         * process-unix.c (unix_create_process): Don't let outchannel block.
7330
7331 2003-01-05  Rick Rankin  <rick_rankin@yahoo.com>
7332
7333         * emacs.c: Include "syswindows.h" when compiling under Cygwin.
7334         Needed for IsBadReadPtr().
7335
7336 2003-01-03  Stephen J. Turnbull  <stephen@xemacs.org>
7337
7338         * XEmacs 21.4.11 "Native Windows TTY Support" is released.
7339
7340 2002-12-14  Ben Wing  <ben@xemacs.org>
7341
7342         * callint.c: Declaration error.
7343         * dumper.c (pdump):
7344         * dumper.c (pdump_load): Warning fix.
7345         * process.c: GCPRO error.
7346         * glyphs.c (unmap_subwindow):
7347         * glyphs.c (map_subwindow): Parenthesizing errors with ! and &&.
7348         * event-stream.c (maybe_kbd_translate): Wrong argument to
7349         character_to_event().
7350
7351         * alloc.c (garbage_collect_1):
7352         * emacs.c:
7353         * emacs.c (debug_can_access_memory):
7354         * emacs.c (fatal_error_signal):
7355         * emacs.c (mswindows_handle_hardware_exceptions):
7356         * emacs.c (main_1):
7357         * emacs.c (main):
7358         * emacs.c (assert_failed):
7359         * emacs.c (syms_of_emacs):
7360         * lisp.h:
7361         * print.c:
7362         * print.c (std_handle_out_va):
7363         * print.c (write_string_to_stdio_stream):
7364         * print.c (write_fmt_string):
7365         * print.c (printing_badness):
7366         * print.c (printing_major_badness):
7367         * print.c (print_internal):
7368         * print.c (debug_print_no_newline):
7369         * print.c (debug_backtrace):
7370         Be more defensive in handling bad values when printing.  Add code
7371         from trunk involving inhibit_non_essential_printing_operations.
7372         When going down or in debug_print(), don't do external conversion
7373         and such and try really, really hard when printing to avoid core
7374         dumping.  Add force-debugging-signal, debug_break().
7375
7376 2002-12-12  Stephen J. Turnbull  <stephen@xemacs.org>
7377
7378         * dumper.c (pdump_load): Include sysdep.h; retry with truename.
7379         Analysis and original patch by Vin Shelton <acs@xemacs.org>.
7380
7381 2002-12-02  Greg Allen  <greg_allen@westlb-systems.co.uk>
7382
7383         * database.c: Fix open_database. Berkeley DB API has changed in
7384         4.1. see: http://www.sleepycat.com/docs/ref/upgrade.4.1/fop.html
7385
7386 2002-11-26  Stephen J. Turnbull  <stephen@xemacs.org>
7387
7388         * specifier.c (Fvalid_specifier_type_p): Typo in comment.
7389
7390 2002-11-13  Stephen J. Turnbull  <stephen@xemacs.org>
7391
7392         * event-Xt.c (Xt_timeout):
7393         (Xt_timeout_callback):
7394         (emacs_Xt_add_timeout):
7395         (emacs_Xt_remove_timeout):
7396         (Xt_timeout_to_emacs_event):
7397         Turn completed_timeouts from a stack into a queue.  Fixes
7398         deadlocks <15829.21626.171573.994716@sinisa.nasamreza.org>.
7399
7400 2002-11-07  Wolfram Gloger  <wg@malloc.de>
7401
7402         * alloc.c (reinit_alloc_once_early): Disable mmap in Doug Lea malloc.
7403         * emacs.c (main): Assert that mmap'd allocation is disabled.
7404
7405 2002-10-14  Andy Piper  <andy@xemacs.org>
7406
7407         * glyphs-widget.c (layout_query_geometry): add in fiddle
7408         factor. Include border text in width layout calculation.
7409         (layout_layout): use BORDER_FIDDLE_FACTOR instead of 10.
7410
7411 2002-11-02  Stephen J. Turnbull  <stephen@xemacs.org>
7412
7413         * XEmacs 21.4.10 "Military Intelligence" is released.
7414
7415 2002-10-17  Raymond Toy  <toy@rtp.ericsson.se>
7416
7417         * nas.c: Update for NAS 1.6 and later, from Jon Trulson.  Was
7418         using the NAS private array SoundFileInfo that no longer exists in
7419         NAS 1.6 and later.  Preserve backward compatibility with NAS 1.5a
7420         and earlier.  This is broken for some versions between 1.5a and
7421         1.5f.
7422
7423 2002-10-10  Stephen J. Turnbull  <stephen@xemacs.org>
7424
7425         * realpath.c (win32_readlink): Try to fix truename of wildcard bug.
7426
7427         * emacs.c (shut_down_emacs): Improve crash message.
7428
7429 2002-10-09  Stephen J. Turnbull  <stephen@xemacs.org>
7430
7431         * file-coding.c (determine_real_coding_system): Check for coding
7432         cookie in first LINES_TO_CHECK lines (currently 2).  Cater to
7433         shebangs and Python PEP 263.
7434
7435 2002-10-08  Andy Piper  <andy@xemacs.org>
7436
7437         * glyphs-widget.c (layout_query_geometry): only resize dynamically
7438         if static sizes haven't been set.
7439
7440 2002-08-30  Mike Alexander  <mta@arbortext.com>
7441
7442         * event-msw.c (winsock_closer): Use closesocket, not CloseHandle
7443         to close a socket.
7444
7445 2002-10-03  Stephen J. Turnbull  <stephen@xemacs.org>
7446
7447         * callproc.c (child_setup): 21.4 doesn't have retry_close.
7448
7449 2002-09-20  Mike Sperber <mike@xemacs.org>
7450
7451         (This partially gets back my patch from 2002-07-20 without the
7452         bug.)
7453         * callproc.c (child_setup): Remove Ben's comment noting confusion
7454         over the file descriptors >= 3: close_process_descs() doesn't
7455         close those.  Fix fd range to go up to MAXDESC-1 instead of 64.
7456         * process-unix.c (unix_create_process): Call
7457         begin_dont_check_for_quit to inhibit unwanted interaction (and
7458         thus breaking of X event synchronicity) in the child.
7459
7460 2002-09-26  Golubev I. N.  <gin@mo.msk.ru>
7461
7462         * frame-x.c (x_delete_frame): do not call XtDisplay on a destroyed
7463         widget.
7464
7465 2002-08-20  Ben Sigelman  <bhsigelm@cs.brown.edu>
7466
7467         * event-Xt.c (drain_X_queue): loop over while(XEventsQueued())
7468         instead of while(XtAppPending()&XtIMXEvent).  Upon a gdm logout,
7469         the xemacs process did not exit, but looped infinitely here.  This
7470         fixes that problem.
7471
7472 2002-09-28  Stephen J. Turnbull  <stephen@xemacs.org>
7473
7474         * font-lock.c (SYNTAX_START_STYLE, SYNTAX_END_STYLE): Quiet GCC.
7475         (find_context): Improve comments.
7476
7477         * regex.c (re_compile_fastmap):  Gratuitous #ifdef comment fixes.
7478         (re_match_2): An XCHAR_TABLE operation was missing.
7479
7480         Many of the following changes were inspired by Andy Piper's (now
7481         obsolete) patch to make syntax-table text property lookup optional.
7482
7483         [Documentation]
7484
7485         * syntax.h (top level): Document semantics of syntax flags.
7486         * syntax.c (comstr_start, Fforward_comment): Improve comments.
7487         * syntax.c, syntax.h (top level): Document syntax cache better in
7488         comments.
7489
7490         [Instrument syntax caching (temporary change)]
7491
7492         * syntax.h (enum syntax_cache_statistics_functions, struct
7493         syntax_cache_statistics, SCS_STATISTICS_SET_FUNCTION,
7494         SYNTAX_CACHE_STATISTICS_COUNT_INIT): New types and macros.
7495         * syntax.c (scan_words, Fforward_comment, scan_lists,
7496         Fbackward_prefix_characters):
7497         * font-lock.c (find_context):
7498         Use them to instrument syntax caching. 
7499         * syntax.c (struct syntax_cache_statistics, scs_statistics,
7500         syntax_cache_statistics_function_names): New type and variables.
7501         * syntax.c (update_syntax_cache): Update and report statistics.
7502
7503         [Major syntax cache optimizations]
7504
7505         syntax.c (lookup_syntax_properties): Default off.
7506
7507         * syntax.h (UPDATE_SYNTAX_INTERNAL): New, implements UPDATE_SYNTAX*.
7508         * syntax.c (update_syntax_cache):
7509         Move init test from update_syntax_cache to UPDATE_SYNTAX_INTERNAL.
7510
7511         [Minor syntax cache optimizations and code clarifications]
7512
7513         * syntax.h (SYNTAX_COMMENT_BITS, SYNTAX_START_P, SYNTAX_END_P,
7514         SYNTAX_STYLES_MATCH_START_P, SYNTAX_STYLES_MATCH_1CHAR_P,
7515         SYNTAX_STYLES_MATCH_END_P, STYLE_FOUND_1CHAR_P, STYLE_FOUND_P,
7516         SYNTAX_COMMENT_MASK_END, SYNTAX_COMMENT_MASK_START,
7517         SYNTAX_COMMENT_1CHAR_MASK): Remove redundant argument `table'.
7518         (Code clarification.)
7519
7520         * syntax.c (scan_words, find_end_of_comment, scan_sexps_forward,
7521         scan_lists): Compute code from syncode, use Boolean macros instead
7522         of redundant masking operations.  (Code clarification; any decent
7523         compiler can do this optimization.)
7524
7525         * syntax.c (scan_lists): Rearrange switches (case Sstring_fence)
7526         for clarity.
7527
7528         * syntax.h, syntax.c (NEXT_SINGLE_PROPERTY_CHANGE,
7529         PREVIOUS_SINGLE_PROPERTY_CHANGE, update_syntax_cache): Conditionally
7530         use F*_single_property_change instead of F*_extent_change.
7531         Currently F*_single_property_change is _much_ less efficient.
7532
7533         * dired.c (Fdirectory_files): Qt not valid in syntax_cache.object.
7534         * syntax.h (SETUP_SYNTAX_CACHE_FOR_OBJECT):  Initialize
7535         syntax_cache.object properly, don't leave Qt or Qnil.
7536         (SYNTAX_CACHE_BYTE_TO_CHAR): Use SETUP_SYNTAX_CACHE_FOR_OBJECT.
7537         * syntax.c (update_syntax_cache): Use BUFFERP and STRINGP, not
7538         tests for Qt or Qnil.
7539
7540 2002-09-21  Stephen J. Turnbull  <stephen@xemacs.org>
7541
7542         * redisplay.c (point_in_line_start_cache): 
7543         * extents.c (print_extent_1):
7544         Fix warnings.
7545
7546         * extents.c (Fset_extent_property): Document `syntax-table' property.
7547
7548         * extents.h (Fnext_single_property_change): EXFUN it.
7549
7550 2002-09-09  Stephen J. Turnbull  <stephen@xemacs.org>
7551
7552         * search.c (clear_unused_search_regs): New static function.
7553         (search_buffer): 
7554         (simple_search): 
7555         (boyer_moore):
7556         Use it.  Fixes "stale match data" bug reported by Martin Stjernholm.
7557         Minor clarifications in comments.
7558
7559         * regex.c (re_match_2_internal): Ensure no stale submatches.
7560
7561 2002-09-09  Stephen J. Turnbull  <stephen@xemacs.org>
7562
7563         * event-Xt.c (enqueue_focus_event): Add missing prototype.
7564
7565 2002-08-29  Jerry James  <james@xemacs.org>
7566
7567         * lisp.h: structrures -> structures.
7568
7569 2002-06-03  Andy Piper  <andy@xemacs.org>
7570
7571         * frame.c (frame_conversion_internal): add conversion appropriate
7572         for setting frame dimensions in pixels.
7573
7574         * console.h (struct console_methods): add device-specific widget
7575         layout functions.
7576
7577         * emacs.c (main_1): initialize glyph vars.
7578
7579         * event-Xt.c (handle_focus_event_1): call handle_focus_event_2
7580         (handle_focus_event_2): new function. Allow focus to
7581         be set to a particular window and widget.
7582         (enqueue_focus_event): new function. Create a
7583         synthetic focus event.
7584         (emacs_Xt_handle_magic_event): call
7585         handle_focus_event_2.
7586
7587         * frame.c (Fset_frame_pixel_height): new function. Allow
7588         pixel-based sizing. Does the right thing on character-oriented
7589         displays.
7590         (Fset_frame_pixel_width): ditto.
7591         (Fset_frame_pixel_size): ditto.
7592         (syms_of_frame): declare.
7593
7594         * general-slots.h: add :vertically-justify and
7595         :horizontally-justify.
7596
7597         * glyphs-msw.c (xbm_create_bitmap_from_data): warning fix.
7598         (mswindows_widget_border_width): new function.
7599         (mswindows_combo_box_instantiate): set border widths.
7600         (console_type_create_glyphs_mswindows): declare.
7601
7602         * glyphs-widget.c:
7603         (check_valid_justification): allow vertical and horizontal
7604         justification.
7605         (widget_border_width): new function. Call device methods.
7606         (widget_instance_border_width): ditto.
7607         (logical_unit_height): new function. Determine the height of a
7608         logical-unit. Logical units are intended to provide grid-like
7609         layout for subcontrols in a layout. If the layout is
7610         :vertically-justify top then subcontrols will be positioned on
7611         logical-unit boundaries, thus allowing adjacent subcontrols to
7612         line up.
7613         (widget_logical_unit_height): ditto for widgets.
7614         (redisplay_widget): misc cleanup.
7615         (widget_spacing): new function. Call device specific
7616         methods. Intended to be the default gap between adjacent widgets.
7617         (widget_query_geometry): use new spacing functions to determine
7618         appropriate geometry.
7619         (initialize_widget_image_instance): initialize horizontal and
7620         vertical justification.
7621         (widget_instantiate): use logica-units where appropriate for
7622         sizing large widgets.
7623         (button_query_geometry): use widget_instance_border_width.
7624         (tree_view_query_geometry): ditto.
7625         (tab_control_query_geometry): ditto.
7626         (edit_field_query_geometry): new function.
7627         (layout_update): pick up :justify, :horizontally-justify and
7628         :vertically-justify none of which worked previously. :justify is
7629         used as a fallback for both horizontal and vertical justification.
7630         (layout_query_geometry): use logical units to size appropriately.
7631         (layout_layout): ditto.
7632         (Fwidget_logical_to_character_width): new function. Allow users to
7633         convert from logical units to characters so that frame sizes can
7634         be set appropriately.
7635         (Fwidget_logical_to_character_height): ditto.
7636         (syms_of_glyphs_widget): declare.
7637         (image_instantiator_edit_fields): add edit_field_query_geometry.
7638         (VALID_LAYOUT_KEYWORDS): declare :vertically-justify and
7639         :horizontally-justify.
7640         (specifier_vars_of_glyphs_widget): new function. Declare
7641         Vwidget_border_width which is not yet used.
7642
7643         * glyphs-x.c (x_map_subwindow): enqueue appropriate focus events.
7644         (x_widget_border_width): new function.
7645         (x_widget_instantiate): create a sensible name for widgets.
7646         (console_type_create_glyphs_x): declare x_widget_border_width.
7647
7648         * glyphs.h (DEFAULT_WIDGET_BORDER_WIDTH): new macro.
7649         (struct Lisp_Image_Instance): add :vertically-justify and
7650         :horizontally-justify.
7651         (LAYOUT_JUSTIFY_TOP): new.
7652         (IMAGE_INSTANCE_SUBWINDOW_H_JUSTIFY): new.
7653         (ROUND_UP): new macro. Round argument up to next integral
7654         interval.
7655
7656         * redisplay-output.c (redisplay_output_layout): misc formatting.
7657
7658         * symsinit.h: declare specifier_vars_of_glyphs_widget.
7659
7660 2002-08-23  Stephen J. Turnbull  <stephen@xemacs.org>
7661
7662         * XEmacs 21.4.9 "Informed Management" is released.
7663
7664 2002-08-19  Andy Piper  <andy@xemacs.org>
7665
7666         * fileio.c (Ffile_truename): on cygwin using win32 normalize to
7667         win32 format.
7668
7669         * realpath.c (xrealpath): normalize drive spec also so that dir
7670         sep chars are not mixed on cygwin.
7671
7672 2002-08-06  Jerry James  <james@xemacs.org>
7673
7674         * window.c (Fsplit_window): Count only half of the divider width
7675         against the left window when splitting horizontally. 
7676
7677 2002-06-24  Andy Piper  <andy@xemacs.org>
7678
7679         * toolbar-gtk.c (GTK_OUTPUT_BUTTONS_LOOP): output button if whole
7680         toolbar was cleared.
7681
7682         * toolbar-msw.c (mswindows_clear_frame_toolbars): new
7683         function. Split out from mswindows_output_frame_toolbars.
7684         (mswindows_output_frame_toolbars): move clear pieces to
7685         mswindows_output_frame_toolbars.
7686
7687         * toolbar-gtk.c (gtk_clear_frame_toolbars): new function. Split
7688         out from gtk_output_frame_toolbars.
7689         (gtk_output_frame_toolbars): move clear pieces to
7690         gtk_clear_frame_toolbars.
7691
7692         * toolbar-x.c (X_OUTPUT_BUTTONS_LOOP): always output buttons when
7693         the frame is cleared. How this ever worked before is a mystery.
7694         (x_output_frame_toolbars): Only output toolbars.
7695         (x_clear_frame_toolbars): new. Clear previous toolbar locations.
7696
7697         * gutter.c (update_gutter_geometry):
7698         Mark frame layout changed.
7699         (update_frame_gutter_geometry, update_frame_gutters):
7700         Respect frame_layout_changed.
7701
7702         * console.h (struct console_methods): add
7703         clear_frame_toolbars_method.
7704
7705         * redisplay.c (redisplay_frame): call
7706         update_frame_toolbars_geometry and re-order update_frame_toolbars.
7707
7708         * toolbar.h: declare update_frame_toolbars_geometry.
7709
7710         * toolbar.c (update_frame_toolbars_geometry): new function. Split
7711         out from update_frame_toolbars.  Call clear_frame_toolbars.
7712         (update_frame_toolbars): only output, do not change geometry.
7713
7714         * redisplay.c: add frame_layout_changed.
7715
7716         * redisplay.h: add frame_layout_changed.
7717         (CLASS_RESET_CHANGED_FLAGS): set it.
7718         (GLOBAL_RESET_CHANGED_FLAGS): ditto.
7719         (CLASS_REDISPLAY_FLAGS_CHANGEDP): test it.
7720         (GLOBAL_REDISPLAY_FLAGS_CHANGEDP): ditto.
7721
7722         * device.h (struct device): add frame_layout_changed.
7723         (MARK_DEVICE_FRAME_LAYOUT_CHANGED): new.
7724
7725         * frame.h (struct frame): add frame_layout_changed.
7726         (MARK_FRAME_LAYOUT_CHANGED): new.
7727
7728 2002-06-30  Mike Alexander  <mta@arbortext.com>
7729
7730         * event-msw.c (mswindows_need_event): Don't wait for a new message
7731         if the queue is not empty.  Suggested by Paul Moore.
7732
7733 2002-06-12  Andy Piper  <andy@xemacs.org>
7734
7735         * frame-msw.c (msprinter_init_frame_3): calculate the frame size
7736         for printing on accurately.
7737
7738 2002-06-09  Rick Rankin <rick_rankin@yahoo.com>
7739
7740         * event-msw.c (mswindows_wnd_proc): Add a handler for the
7741         WM_ACTIVATE message. Make sure that the frame is visible if the
7742         window is visible. This seemss to fix the problem where XEmacs
7743         appears to freeze after switching desktops with certain virtual
7744         window managers.
7745         (debug_output_mswin_message): Added code to output message
7746         parameters for WM_WINDOWPOSCHANGED, 
7747         WM_WINDOWPOSCHANGING, WM_MOVE, and WM_SIZE messages.
7748
7749 2002-05-25  Andy Piper  <andy@xemacs.org>
7750
7751         * select-x.c (vars_of_select_x): Fix docstring of
7752         x-selection-strict-motif-ownership
7753
7754 2002-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
7755
7756         * keymap.c (get_keymap):
7757         Add comment about do_autoload GCPROs own args.
7758
7759 2002-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
7760
7761         * bytecode.c (execute_optimized_program): check_opcode ifdef
7762         ERROR_CHECK_BYTE_CODE.
7763
7764 2002-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
7765
7766         Thanks to Ben Wing and Michael Sperber.
7767
7768         * eval.c (Fcommand_execute):
7769         (Feval):
7770         (Ffuncall):
7771         (Fmacroexpand_internal):
7772         (function_argcount):
7773         callint.c (Fcall_interactively):
7774         Add comment about do_autoload GCPROs own args.
7775
7776         * (do_autoload): GCPRO both args as well as local Lisp_Object.
7777
7778         * eval.c (Ffuncall): Extra braces to placate GCC.
7779
7780 2002-08-10  Stephen J. Turnbull  <stephen@xemacs.org>
7781
7782         * backtrace.h (grow_specpdl):
7783         (SPECPDL_RESERVE):
7784         * EmacsFrame.c (EmacsFrameSetValues):
7785         * eval.c (grow_specpdl):
7786         * ExternalShell.c (hack_event_masks_1):
7787         * glyphs-x.c (convert_EImage_to_XImage): 
7788         (x_finalize_image_instance):
7789         * ralloc.c (page_size):
7790         (r_alloc_sbrk):
7791         * xgccache.c (gc_cache_hash):
7792         Fix unsigned comparison warnings.
7793
7794 2002-07-29  Jerry James  <james@xemacs.org>
7795
7796         * lread.c (locate_file): Any nonnegative return value indicates
7797         success if MODE is nonnegative.
7798
7799 2002-08-03  Brian A Palmer  <bpalmer@rescomp.Stanford.EDU>
7800
7801         * emacs.c (Fsplit_string_by_char): Make 2nd arg SEPCHAR a required
7802         argument. 
7803
7804 2002-07-17  Stephen J. Turnbull  <stephen@xemacs.org>
7805
7806         * process-unix.c (unix_send_process): #ifdef the coding_stream member.
7807
7808         * dumper.c (pdump_get_indirect_count):
7809         (pdump_scan_by_alignment):
7810         (pdump_dump_root_struct_ptrs):
7811         (pdump_dump_rtables):
7812         (pdump_dump_root_objects):
7813         (pdump):
7814         * nas.c (WaveOpenDataForReading):
7815         * fns.c (print_bit_vector):
7816         * font-lock.c (SINGLE_SYNTAX_STYLE):
7817         * glyphs.c (check_for_ignored_expose):
7818         (find_matching_subwindow):
7819         * glyphs-eimage.c:
7820         * imgproc.c (get_histogram):
7821         * redisplay.c (point_in_line_start_cache):
7822         * redisplay-output.c (redisplay_unmap_subwindows):
7823         * symbols.c (defsymbol_massage_name_1):
7824         (defkeyword_massage_name):
7825         (deferror_massage_name_and_message):
7826         * redisplay-x.c (x_output_string): 
7827         * emacs.c (run_temacs_argv_size, run_temacs_args_size):
7828         * frame.h (struct frame):
7829         * filelock.c (current_lock_owner):
7830         * doprnt.c (emacs_doprnt_1):
7831         * lisp.h (struct Lisp_Bit_Vector):
7832         (DO_REALLOC):
7833         Fix warnings.
7834
7835 2002-02-13  Ben Wing  <ben@xemacs.org>
7836
7837         * event-stream.c (reset_key_echo):
7838         * event-stream.c (reset_this_command_keys):
7839         * event-stream.c (execute_command_event):
7840         If console is dead as a result of C-x 5 0, then post-command stuff
7841         needs to be careful and do only non-console-specific stuff.
7842
7843 2002-07-01  Mike Sperber <mike@xemacs.org>
7844
7845         * process-unix.c (unix_send_process): Mark coding_outstream as
7846         non-open upon SIGPIPE.
7847
7848         * event-stream.c (Fnext_event): Reorder switch cases to something
7849         that makes sense.
7850
7851 2001-08-13  Dmitry Astapov  <adept@umc.com.ua>
7852
7853         * event-Xt.c (maybe_define_x_key_as_self_inserting_character):
7854         Don't bogusly reinitialize ascii_character property.
7855
7856 2002-07-08  Mike Sperber <mike@xemacs.org>
7857
7858         * process.c (Fstart_process_internal): Do error checking before we
7859         fork off the child, so the child can't muck with the state of the
7860         parent.
7861
7862 2002-07-08  Mike Sperber <mike@xemacs.org>
7863
7864         * ralloc.c (init_ralloc): Allocate properly for pdump.
7865
7866 2002-06-12  Andy Piper  <andy@xemacs.org>
7867
7868         * glyphs.c (query_string_geometry): check the string.
7869
7870         * glyphs-widget.c (widget_logical_unit_height): cope with nil
7871         widget names.
7872
7873 2002-06-17  Jerry James  <james@xemacs.org>
7874
7875         * sysdll.c: Remove RTLD_GLOBAL initialization.
7876         * sysdll.c (dll_open): Do not use RTLD_GLOBAL.
7877
7878 2002-06-25  Stephen J. Turnbull  <stephen@xemacs.org>
7879
7880         * search.c (skip_chars): Port Ben's crash fix and efficiency patch.
7881
7882 2002-05-16  Mathias Grimmberger  <mgri@zaphod.sax.de>
7883
7884         * sysdep.c (sys_rename): Make sys_rename work for the case where
7885         Windows rename sets errno to EACCES if target file exists.
7886
7887 2002-05-21  Jonathan Harris  <jonathan@xemacs.org>
7888
7889         * device-msw.c (mswindows_handle_page_setup_dialog_box):
7890         Fix detection of metric units to work on Win95
7891
7892 2002-05-21  Stephen J. Turnbull  <stephen@xemacs.org>
7893
7894         * syswindows.h: #define LOCALE_RETURN_NUMBER.  Why, I don't know.
7895
7896 2002-04-25  Andy Piper  <andy@xemacs.org>
7897
7898         * redisplay.c (create_text_block): Remove extra comment trailer.
7899
7900 2002-04-24  Andy Piper  <andy@xemacs.org>
7901
7902         * redisplay.c (create_text_block): Don't actually add propagation
7903         data if the line ends after we have added a glyph.
7904
7905 2002-04-22  Andy Piper  <andy@xemacs.org>
7906
7907         * extents.c (extent_fragment_update): check for glyphs we have
7908         previously displayed.
7909         * extents.c (print_extent_1): warning removal.
7910         * extents.h: change prototype.
7911         * redisplay-output.c (redisplay_normalize_glyph_area): calculate
7912         widths correctly for wide glyphs.
7913         * redisplay.c (position_redisplay_data_type): add end_glyph_width.
7914         * redisplay.c (prop_type): add PROP_GLYPH.
7915         * redisplay.c (struct prop_block): add glyph type
7916         * redisplay.c (add_glyph_rune): when adding part of a glyph add it
7917         to the propagation data.
7918         * redisplay.c (create_text_block): if there is a glyph in the
7919         propagation data use it to salt extent_fragment_update.
7920         * redisplay.c (create_string_text_block): ditto.
7921
7922 2002-04-13  Nix  <nix@esperi.demon.co.uk>
7923
7924         * redisplay.h (struct rune): Add ascent, descent, and yoffset fields.
7925         * redisplay-output.c (compare_runes): Compare them.
7926         * redisplay.c: Update copyright date.
7927         * redisplay.c (pos_data): Add need_baseline_computation field.
7928         * redisplay.c (add_glyph_rune): Update ascent, descent, and
7929         need_baseline_computation; zero yoffset. Set max_pixmap_height
7930         for all pixmaps, not just automatically positioned ones.
7931         * redisplay.c (calculate_yoffset): New, compute yoffset values.
7932         * redisplay.c (calculate_baseline): New, compute textual baseline.
7933         * redisplay.c (add_glyph_rune): Call them.
7934         * redisplay.c (create_text_block): Likewise.
7935         * redisplay.c (create_overlay_glyph_block): Likewise.
7936         * redisplay.c (add_margin_runes): Likewise.
7937         * redisplay.c (create_string_text_block): Likewise. Fix tabdamage.
7938
7939         * redisplay.h: (redisplay_calculate_display_boxes): Change prototype.
7940         * redisplay-output.c (redisplay_calculate_display_boxes): Use yoffset.
7941         * redisplay-msw.c (mswindows_output_blank): Pass 0 as yoffset.
7942         * redisplay-msw.c (mswindows_output_string): Likewise.
7943         * redisplay-msw.c (mswindows_output_display_block): Pass yoffset.
7944         * redisplay-gtk.c (gtk_output_display_block): Likewise.
7945         * redisplay-x.c (x_output_display_block): Likewise.
7946
7947 2002-03-28  Ben Wing  <ben@xemacs.org>
7948
7949         * redisplay.c: Fixed bug in redisplay
7950         w.r.t. hscroll/truncation/continuation glyphs causing jumping up
7951         and down of the lines, since they're bigger than the line
7952         size. (It was seen most obviously when there's a horizontal scroll
7953         bar, e.g. do C-h a glyph or something like that.) The problem was
7954         that the glyph-contrib-p setting on glyphs was ignored even if it
7955         was set properly, which it wasn't until now.
7956
7957 2002-04-24  Andy Piper  <andy@xemacs.org>
7958
7959         * lisp.h (Dynarr_end): Fix definition.
7960
7961 2002-02-06  Adrian Aichner  <adrian@xemacs.org>
7962
7963         * redisplay.c (mark_redisplay): Remove call to
7964         update_frame_window_mirror.
7965
7966 2001-11-15  Andy Piper  <andy@xemacs.org>
7967
7968         * win32.c (Fmswindows_shell_execute): fix handling of URL's under
7969         cygwin (again).
7970
7971 2002-02-13  Andy Piper  <andy@xemacs.org>
7972
7973         * event-msw.c (mswindows_wnd_proc): only mark the frame visible if
7974         we did in fact enqueue the XM_MAPFRAME event.
7975
7976 2002-01-15  Adrian Aichner  <adrian@xemacs.org>
7977
7978         * event-msw.c (mswindows_wnd_proc): Add handling of WM_SHOWWINDOW
7979         to fix problem switching between virtual desktops under virtuawin
7980         virtual window manager.
7981
7982 2001-07-30  Adrian Aichner  <adrian@xemacs.org>
7983
7984         * event-msw.c: Typo fix.
7985         * event-msw.c (mswindows_wnd_proc): Set FRAME_VISIBLE_P after
7986         magic XM_MAPFRAME event has been sent.
7987
7988 2001-11-23  Andy Piper  <andy@xemacs.org>
7989
7990         * event-msw.c (mswindows_wnd_proc): Don't pump mousewheel events.
7991
7992 2001-11-21  Andy Piper  <andy@xemacs.org>
7993
7994         * scrollbar-msw.c (mswindows_handle_mousewheel_event): cope with
7995         mouse events outside the frame.
7996
7997 2002-03-20  Andy Piper  <andy@xemacs.org>
7998
7999         * menubar-msw.c (mswindows_popup_menu): warning removal.
8000         * dialog-msw.c (dialog_popped_down): ditto.
8001
8002 2001-12-11  Andy Piper  <andy@xemacs.org>
8003
8004         * dialog-msw.c (dialog_popped_down): new function. unset popup_up_p.
8005         * dialog-msw.c (mswindows_make_dialog_box_internal): set
8006         popup_up_p.
8007         * menubar-msw.c (unsafe_handle_wm_initmenupopup_1): ditto.
8008         * menubar-msw.c (mswindows_handle_wm_command): ditto.
8009         * menubar-msw.c (mswindows_popup_menu): ditto.
8010
8011 2001-10-29  Andy Piper  <andy@xemacs.org>
8012
8013         * dialog-msw.c (handle_directory_dialog_box): quit if the user
8014         cancels.
8015
8016 2002-01-03  Andy Piper  <andy@xemacs.org>
8017
8018         * realpath.c (ABS_LENGTH): dtrt for cygwin systems using drive
8019         letters.
8020         (xrealpath): ditto.
8021
8022 2002-03-29  Jonathan Harris  <jonathan@xemacs.org>
8023
8024         * device-msw.c (plist_get_margin): Add arg specifying mm or inches
8025         * device-msw.c (plist_set_margin): Fix multiplicand used for mm
8026         * device-msw.c (mswindows_handle_page_setup_dialog_box):
8027         Detect and handle case where machine is set up for metric units
8028
8029 2002-04-02  Andy Piper  <andy@xemacs.org>
8030
8031         * dired-msw.c (mswindows_get_files): 
8032         * nt.c (mswindows_stat): SetErrorMode() so that file errors are
8033         completely handled by XEmacs. Suggested by Thomas Vogler
8034         <mail@thomas-vogler.de>.
8035
8036 2001-11-14  Andy Piper  <andy@xemacs.org>
8037
8038         * nt.c (REG_ROOT): change registry key to XEmacs.
8039
8040 2002-04-27  Andy Piper  <andy@xemacs.org>
8041
8042         * glyphs-msw.c (mswindows_widget_instantiate): remove dead-code.
8043
8044 2002-04-26  Andy Piper  <andy@xemacs.org>
8045
8046         * glyphs-msw.c (mswindows_map_subwindow): observe :initial-focus
8047         behavior.
8048
8049 2002-03-14  Mike Alexander  <mta@arbortext.com>
8050
8051         * event-msw.c (mswindows_unwait_process): New, remove process from
8052         wait list
8053         * process-nt.c (nt_finalize_process_data): Call
8054         mswindows_unwait_process
8055         * console-msw.h: Declare mswindows_unwait_process
8056
8057 2002-05-14  Stephen J. Turnbull  <stephen@xemacs.org>
8058
8059         * editfns.c (Fdecode_time):
8060         (Fformat_time_string):
8061         Check for invalid time.  Thanks to Nick Pakoulin <npak@ispras.ru>.
8062         (make_time): Warning elimination (change arg name).
8063
8064 2001-11-24  Andy Piper  <andy@xemacs.org>
8065
8066         * window.c (Fsplit_window): Doc return type.
8067
8068 2002-04-01  Andy Piper  <andy@xemacs.org>
8069
8070         * emacs.c (Fkill_emacs): Only output message box in interactive
8071         mode.
8072
8073 2002-04-26  Andy Piper  <andy@xemacs.org>
8074  
8075         * config.h.in: pull in 21.5.x change to stop alloca warnings under
8076         cygwin.
8077
8078 2002-03-18  Gregory Steuck  <greg-xemacs-patch@nest.cx>
8079
8080         * unexelf.c:  Use ELFSIZE or define from _LP64 to indicate a 64
8081         bit platform.
8082
8083 2002-05-09  Stephen J. Turnbull  <stephen@xemacs.org>
8084
8085         * XEmacs 21.4.8 "Honest Recruiter" is released.
8086
8087 2002-05-07  Nix  <nix@esperi.demon.co.uk>
8088
8089         Supersedes 2002-04-17 patch.
8090
8091         * process.h (PROCESS_LIVE_P): Use the process status as
8092         evidence of health, not the state of the input stream.
8093         (PROCESS_READABLE_P): Say if the process is readable
8094         from. (It may be dead nonetheless.)
8095         (CHECK_READABLE_PROCESS): Test for that condition.
8096
8097         * process.c (create_process): Use PROCESS_READABLE_P.
8098         (read_process_output, set_process_filter): Likewise.
8099
8100         * process.c (Fprocess_input_coding_system): Use CHECK_READABLE_PROCESS.
8101         (Fset_process_input_coding_system, Fprocess_coding_system): Likewise.
8102
8103         This code is #if 0'd, this is not the time to add new functions:
8104
8105         * process.c (Fprocess_readable_p): Report readability status.
8106         * process.c (Qprocess_readable_p): New, associated symbol...
8107         * process.c (syms_of_process): ... initialize it.
8108
8109 2002-05-04  Stephen J. Turnbull  <stephen@xemacs.org>
8110
8111         * XEmacs 21.4.7 "Economic Science" is released.
8112
8113 2002-04-17  Nix  <nix@esperi.demon.co.uk>
8114
8115         * process.h (PROCESS_LIVE_P): Use the process status as
8116         evidence of health, not the state of the input stream.
8117
8118 2002-04-30  Charles G. Waldman <cgw@xemacs.org>
8119
8120         * sysdep.c (sys_siglist): change "signum" to "signal"
8121
8122 2001-04-21  Martin Buchholz  <martin@xemacs.org>
8123
8124         * s/darwin.h: New file.
8125         Thanks to Greg Parker <gparker@cs.stanford.edu>.
8126         
8127 2002-04-23  Andreas Jaeger  <aj@suse.de>
8128
8129         * s/linux.h (LIB_STANDARD): Define correctly for x86-64 and s390x
8130         which use lib64 for 64-bit libs.
8131         (START_FILES): Likewise.
8132
8133 2002-02-11  Mike Sperber  <mike@xemacs.org>
8134
8135         * device-x.c: 
8136         (x_IO_error_handler):
8137         (x_init_device): Temporarily keep device in static variable
8138         `device_being_initialized' so we can recover gracefully from
8139         internal XOpenDevice failure.  (XOpenDevice is documented to
8140         return NULL on failure, but sometimes calls the IO error handler
8141         instead.)
8142
8143 2002-01-31  John H. Palmieri  <palmieri@math.washington.edu>
8144
8145         * dired.c (Ffile_name_all_completions): Change documentation --
8146         remove reference to completion-ignored-extensions.
8147         * dired.c (vars_of_dired): Change documentation for
8148         completion-ignored-extensions -- remove reference to
8149         file-name-all-completions.
8150
8151 2002-03-06  Jerry James  <james@xemacs.org>
8152
8153         * emodules.c (emodules_load): Fix multiple loading of same module.
8154
8155 2002-01-25  Andrew Begel <abegel@cs.berkeley.edu>
8156         * sysdll.c (dll_open): Changed to use RTLD_NOW instead of
8157         RTLD_LAZY to avoid incorrect symbol binding when using nested
8158         shared libraries on Solaris.
8159
8160 2002-02-12  Stephen J. Turnbull  <stephen@xemacs.org>
8161
8162         * fileio.c (Ffind_file_name_handler): Improve docstring.
8163
8164 2002-01-20  Stephen J. Turnbull  <stephen@xemacs.org>
8165
8166         * fns.c (Fmapconcat): Improve docstring.
8167
8168 2002-01-03  Eric Gillespie, Jr.  <epg@pretzelnet.org>
8169
8170         * device-gtk.c: Add prototype for
8171         emacs_gtk_selection_clear_event_handle.
8172         (gtk_init_device): Call gtk_selection_add_target for CLIPBOARD
8173         selection.  Setup signal handler for "selection_clear_event"
8174         (emacs_gtk_selection_clear_event_handle).
8175
8176         * select-gtk.c (emacs_gtk_selection_clear_event_handle): Handle
8177         other applications owning the clipboard (based on
8178         x_handle_selection_clear).
8179
8180 2001-12-23  William M. Perry  <wmperry@gnu.org>
8181
8182         * menubar-gtk.c (gtk_popup_menu)  Add sanity checks, fix crash.
8183         
8184 2002-01-04  Martin Buchholz  <martin@xemacs.org>
8185
8186         * keymap.c (define_key_alternate_name): Parenthesize EQ.
8187
8188 2001-12-17  Stephen J. Turnbull  <stephen@xemacs.org>
8189
8190         * XEmacs 21.4.6 "Common Lisp" is released.
8191
8192 2001-12-16  Torsten Duwe  <duwe@caldera.de>
8193
8194         * search.c (Freplace_match): Add missing sub-expression functionality.
8195
8196         * buffer.c (decode_buffer): Add a check for pointer type to
8197         decode_buffer, before gcc's CSE optimization reorders a
8198         dereference in front of the allow_string test.
8199
8200 2001-11-16  Darryl Okahata  <darrylo@xemacs.org>
8201
8202         * window.c (window_loop): Fix bug that sometimes prevented
8203         window_loop() from iterating across multiple devices.  Also, at
8204         Ben's request, changed infloop-detecting code to abort() instead
8205         of silently terminating window_loop().
8206
8207 2001-11-21  Stephen J. Turnbull  <stephen@xemacs.org>
8208
8209         Based on analysis and patch by Simon Josefson <jas@extundo.com>.
8210         * editfns.c (make_time): New function.
8211         (Fencode_time): Use it instead of wasteful_word_to_lisp.
8212         * lisp.h (make_time): Prototype and comment it.
8213         * dired.c (wasteful_word_to_lisp): Deprecate.
8214         (Ffile_attributes): Use make_time() instead of wasteful_word_to_lisp().
8215
8216 2001-10-31  Kyle Jones  <kyle_jones@wonderworks.com>
8217
8218         * fileio.c (auto_save_1): Use current coding system, not
8219         escape-quoted.
8220
8221 2001-11-13  Ben Wing  <ben@xemacs.org>
8222
8223         * window.c:
8224         * window.c (window_truncation_on):
8225         * window.c (syms_of_window):
8226         truncate-partial-width-windows should respect the buffer being
8227         displayed, like other redisplay vars.
8228
8229 2001-11-13  Hirokazu FUKUI  <hfukui@sannet.ne.jp>
8230
8231         * event-stream.c (Fread_key_sequence): save current buffer.
8232
8233 2001-10-29  Andrew Begel  <abegel@eecs.berkeley.edu>
8234
8235         * ntheap.c (_heap_init): Don't redefine in VS.NET (MSC >= 1300).
8236
8237 2001-10-29  Andrew Begel  <abegel@eecs.berkeley.edu>
8238
8239         * alloc.c (lcrecord_stats): Add space for types defined in modules.
8240
8241 2001-10-26  Mike Alexander  <mta@arbortext.com>
8242
8243         * event-msw.c (slurper_free_shared_data_maybe): Free the pipe handle.
8244
8245 2001-10-25  Andy Piper  <andy@xemacs.org>
8246
8247         * ChangeLog:
8248         * dialog-msw.c (handle_directory_proc): new function.
8249          (handle_directory_dialog_box): new fucntion.
8250          (handle_file_dialog_box): use new directory dialog support.
8251          (mswindows_make_dialog_box_internal): ditto.
8252         * event-msw.c (mswindows_wnd_proc): minor fix to scrollbar event
8253         handling.
8254         (mswindows_find_frame): make global.
8255         * fileio.c (Fexpand_file_name): build fix.
8256         * general-slots.h: add Qdirectory.
8257         * scrollbar-msw.c (mswindows_handle_scrollbar_event): fix focus
8258         handling.
8259         * syswindows.h (LOCAL_TO_WIN32_FILE_FORMAT): fix problem with
8260         cygwin not leaving win32 paths unchanged.
8261         * win32.c (Fmswindows_cygwin_to_win32_path): new function. Use the
8262         cygwin runtime to do path conversion.
8263         (Fmswindows_shell_execute): fix cygwin handling of URLs.
8264         (syms_of_win32): add new function.
8265         * window.c (window_loop): build fix.
8266
8267 2001-10-15  Andy Piper  <andy@xemacs.org>
8268
8269         (Fmswindows_shell_execute): fix handling of URL's under cygwin.
8270
8271 2001-10-23  Stephen J. Turnbull  <stephen@xemacs.org>
8272
8273         * XEmacs 21.4.5 "Civil Service" is released.
8274
8275 2001-04-08  Danny Colascione  <qtmstr@optonline.net>
8276
8277         * glyphs-x.c: Force buffer-tab highlight update when moving the
8278         buffer, avoiding an ugly black border, used for keyboard focus
8279         indication, on a widget that can never have keyboard focus, the
8280         buffer tab.
8281
8282 2001-08-30  Daiki Ueno  <ueno@unixuser.org>
8283
8284         * process-unix.c (unix_open_multicast_group): Remove too much
8285         conversion between host and network byte order.
8286
8287 2001-09-10  Nix  <nix@esperi.demon.co.uk>
8288
8289         * src/buffer.c (kill_buffer): Undedicate windows showing BUF
8290         before replacing them.
8291
8292         * src/window.c (window_loop): Implement new UNDEDICATE_BUFFER
8293         operation.
8294
8295         * src/window.c (undedicate_windows): Use it.
8296         * src/window.h: Add prototype.
8297
8298 2001-09-17  Ben Wing  <ben@xemacs.org>
8299
8300         * fileio.c (normalize_filename):
8301         * fileio.c (Fexpand_file_name):
8302         Fix various C++ compile errors in Andy's recent code.
8303         
8304         * callint.c (Fcall_interactively):
8305         * editfns.c (Ftemp_directory):
8306         * editfns.c (Fuser_full_name):
8307         * emacs.c (argmatch):
8308         * lread.c (locate_file_map_suffixes):
8309         * redisplay-x.c (x_ring_bell):
8310         Fix sign-compare warnings.
8311         
8312 2001-09-08  Andy Piper  <andy@xemacs.org>
8313
8314         * fileio.c (normalize_filename): copied from nt.c
8315         * (Ffile_name_directory): enable win32 paths under cygwin.
8316         * (Ffile_name_nondirectory): ditto.
8317         * (directory_file_name): ditto.
8318         * (Fexpand_file_name): ditto.
8319         * (Ffile_truename): ditto.
8320         * (Fsubstitute_in_file_name): ditto.
8321         * (Ffile_name_absolute_p): ditto.
8322         * (Ffile_readable_p): ditto.
8323
8324 2001-09-08  Andy Piper  <andy@xemacs.org>
8325
8326         * device-msw.c (mswindows_finish_init_device): remove dde
8327         initialization.
8328         * device-msw.c (mswindows_init_dde): factor out from
8329         mswindows_finish_init_device()
8330         * device-msw.c (init_mswindows_very_early): new function
8331         initialize but don't enable dde.
8332         * emacs.c (main_1): call init_mswindows_very_early.
8333         * event-msw.c:
8334         * event-msw.c (mswindows_dde_callback): only execute when we are
8335         ready.
8336         * symsinit.h: declare init_mswindows_very_early.
8337
8338 2001-05-02  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
8339
8340         [sjt: This has been in 21.5 for months with no complaints.]
8341
8342         * console.h (struct console_methods): Added flags member.
8343         (CONSOLE_IMPLEMENTATION_FLAGS): Defined.
8344         (CONMETH_IMPL_FLAG):
8345         (CONSOLE_IMPL_FLAG): Macro to check implememntation flags.
8346         Defined XDEVIMPF_DONT_PREEMPT_REDISPLAY.
8347
8348         * device.c (window_system_pixelated_geometry): Use the above macros.
8349
8350         * device.h (DEVICE_IMPL_FLAG): Macro to check a device
8351         implememntation flag.
8352         * device.h (DEVICE_DISPLAY_P): Use it.
8353
8354         * frame.c (delete_frame_internal): Use the above macro.
8355
8356         * redisplay.c (redisplay_device): Use it.
8357         (redisplay_device): Obey XDEVIMPF_DONT_PREEMPT_REDISPLAY.
8358         (redisplay_frame): Ditto.
8359
8360         * device-msw.c (mswindows_device_implementation_flags): Removed.
8361         (msprinter_device_implementation_flags): Removed.
8362         (console_type_create_device_mswindows): Removed references to
8363         implementation_flags methods, set implementation flags here.
8364         (console_type_create_device_mswindows): Added XDEVIMPF_DONT_PREEMPT.
8365
8366         * device-gtk.c (gtk_device_implementation_flags): Removed method.
8367         (console_type_create_device_gtk): Removed method declaration.
8368         Added commented out statement which semantically matches the
8369         commented out statement in the above removed method.
8370
8371 2001-04-14  Gordon Sadler  <gbsadler1@lcisp.com>
8372
8373         The attached patch fixes a few warnings. 
8374
8375         * src/emacs.c: prototype console_type_create_select_gtk for GTK only
8376         * src/frame-gtk.c: guard against GNOME calls in GTK only
8377         * src/redisplay-gtk.c: include <sys/poll.h> #ifdef HAVE_POLL
8378         * src/select-gtk.c: prototype lisp_to_time
8379
8380 2001-06-08  Ben Wing  <ben@xemacs.org>
8381
8382         ------ gc-in-window-procedure fixes ------
8383         
8384         * alloc.c:
8385         * alloc.c (struct post_gc_action):
8386         * alloc.c (register_post_gc_action):
8387         * alloc.c (run_post_gc_actions):
8388         * alloc.c (garbage_collect_1):
8389         Create "post-gc actions", to avoid those dreaded "GC during window
8390         procedure" problems.
8391
8392         * event-msw.c:
8393         Abort, clean and simple, when GC in window procedure.  We want
8394         to flush these puppies out.
8395
8396         * glyphs-msw.c:
8397         * glyphs-msw.c (finalize_destroy_window):
8398         * glyphs-msw.c (mswindows_finalize_image_instance):
8399         Use a post-gc action when destroying subwindows.
8400
8401         * lisp.h:
8402         Declare register_post_gc_action().
8403
8404         * scrollbar-msw.c:
8405         * scrollbar-msw.c (unshow_that_mofo):
8406         Use a post-gc action when unshowing scrollbar windows, if in gc.
8407
8408         * redisplay.c (mark_redisplay):
8409         Add comment about the utter evilness of what's going down here.
8410
8411         ------ cygwin setitimer fixes ------
8412         
8413         * Makefile.in.in (sheap_objs):
8414         * Makefile.in.in (profile_objs):
8415         * Makefile.in.in (objs):
8416         Compile profile.c only when HAVE_SETITIMER.
8417         
8418         * nt.c (mswindows_sigset):
8419         * nt.c (mswindows_sighold):
8420         * nt.c (mswindows_sigrelse):
8421         * nt.c (mswindows_sigpause):
8422         * nt.c (mswindows_raise):
8423         * nt.c (close_file_data):
8424         Style fixes.
8425         
8426         * nt.c:
8427         Move setitimer() emulation to win32.c, because Cygwin needs it too.
8428         
8429         * profile.c:
8430         * profile.c (Fstart_profiling):
8431         * profile.c (Fstop_profiling):
8432         Make sure we don't compile if no setitimer().  Use qxe_setitimer()
8433         instead of just plain setitimer().
8434         
8435         * signal.c:
8436         * signal.c (set_one_shot_timer):
8437         * signal.c (alarm):
8438         Define qxe_setitimer() as an encapsulation around setitimer() --
8439         call setitimer() directly unless Cygwin or MS Win, in which case
8440         we use our simulated version in win32.c.
8441         
8442         * systime.h:
8443         * systime.h (struct itimerval):
8444         * systime.h (ITIMER_REAL):
8445         Prototype mswindows_setitimer() and qxe_setitimer().  Long
8446         comment about "qxe" and the policy regarding encapsulation.
8447
8448         * win32.c:
8449         * win32.c (setitimer_helper_proc):
8450         * win32.c (setitimer_helper_period):
8451         * win32.c (setitimer_helper):
8452         * win32.c (mswindows_setitimer):
8453         Move setitimer() emulation here, so Cygwin can use it.
8454         Rename a couple of functions and variables to be longer and more
8455         descriptive.  In setitimer_helper_proc(), send the signal
8456         using either mswindows_raise() or (on Cygwin) kill().  If for
8457         some reason we are still getting lockups, we'll change the kill()
8458         to directly invoke the signal handlers.
8459
8460         ------ windows shell fixes ------
8461         
8462         * callproc.c:
8463         * ntproc.c:
8464         Comments about how these two files must die.
8465
8466         * callproc.c (init_callproc):
8467         On MS Windows, init shell-file-name from SHELL, then COMSPEC,
8468         not just COMSPEC. (more correct and closer to FSF.) Don't
8469         force a value for SHELL into the environment. (Comments added
8470         to explain why not.)
8471         
8472         * nt.c (init_user_info):
8473         Don't shove a fabricated SHELL into the environment.  See above.
8474
8475 2001-06-01  Ben Wing  <ben@xemacs.org>
8476
8477         * Makefile.in.in (ldflags):
8478         eliminate that pesky "defaulting to 00401000" warning.
8479         * nt.h:
8480         eliminate warnings.
8481
8482 2001-06-15  Golubev I. N.  <gin@mo.msk.ru>
8483
8484         * s/sco5.h (FORCE_ALLOCATE_PTY_THE_OLD_FASHIONED_WAY): #define.
8485         * process-unix.c (allocate_pty): #ifndef "modern" pty allocation.
8486
8487 2001-04-24  Jerry James <james@xemacs.org>
8488
8489         * faces.h: pass parameters to Fadd_spec_to_specifier in the
8490         correct order.
8491
8492 2001-06-01  Ben Wing  <ben@xemacs.org>
8493
8494         * event-msw.c (debug_mswin_messages):
8495         conditionalize the messages that were causing compile errors.
8496         (if only macros could generate #ifdef statements ...)
8497
8498 2001-07-28  Stephen J. Turnbull  <stephen@xemacs.org>
8499
8500         * XEmacs 21.4.4 "Artificial Intelligence" is released.
8501
8502 2001-07-22  Stephen J. Turnbull  <stephen@xemacs.org>
8503
8504         * event-msw.c (mswindows_wnd_proc): Add GC debugging assert.
8505
8506 2001-07-22  Stephen J. Turnbull  <stephen@xemacs.org>
8507
8508         * config.h.in (IPV6_CANONICALIZE): New #define for --with-ipv6-lookup.
8509         * process-unix.c (unix_canonicalize_host_name):
8510         sysdep.c (init_system_name):
8511         Use it to conditionally support IPv6 canonicalization.
8512
8513 2001-05-31  Paul Stodghill  <stodghil@cs.cornell.edu>
8514
8515         * event-msw.c:
8516         Cygwin does not define WM_IME_xxx. Modify the #if's accordingly.
8517
8518 2001-05-19  Paul Krause  <paulkrause1@mediaone.net>
8519
8520         * scrollbar-msw.c: Fixes a crash that occurs on Windows when an
8521         attempt is made to scroll when no scroll bar is available.
8522
8523 2001-04-19  Glynn Clements  <glynn.clements@virgin.net>
8524
8525         * input-method-motif.c (XIM_delete_frame): New callback.
8526         (XIM_init_frame): Register it.  (Reapplied by SJT, it somehow
8527         got deleted from 21.4.3.)
8528
8529 2001-06-01  Ben Wing  <ben@xemacs.org>
8530
8531         * nt.c (mswindows_utime):
8532         * nt.c (close_file_data):
8533         fix off-by-one-indirection error.
8534
8535 2001-05-29  Adrian Aichner  <adrian@xemacs.org>
8536
8537         * fileio.c: Include nt.h.  Remove lisp_string_set_file_times()
8538         because set_file_times() now takes Lisp_Object path, instead of
8539         char*.
8540         * nt.c: Include buffer.h.
8541         * nt.c (convert_from_time_t): New.
8542         * nt.c (mswindows_utime): New.  Use utime, since SetFileTime does
8543         not set mtime correctly.
8544         * nt.h: Declare mswindows_utime().
8545         * sysdep.c (set_file_times): set_file_times() now takes Lisp_Object
8546         path, instead of char*.
8547         * systime.h: Include <sys/utime.h> on WIN32_NATIVE.
8548
8549 2001-05-30  Ben Wing  <ben@xemacs.org>
8550
8551         For 21.4:
8552
8553         (Stephen, just take all event-msw.c patches.  This includes
8554         the "iconify" fix below.)
8555
8556         * event-msw.c:
8557         * event-msw.c (mswindows_dequeue_dispatch_event):
8558         * event-msw.c (assert):
8559         * event-msw.c (emacs_mswindows_quit_p):
8560         * event-msw.c (debug_mswin_messages):
8561         * event-msw.c (debug_output_mswin_message):
8562         * event-msw.c (vars_of_event_mswindows):
8563         Fix yet more problems with C-g handling.
8564         Implement debug-mswindows-events.
8565         
8566 2001-05-24  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
8567
8568         * event-msw.c (WM_DROPFILES): Use correct type for OLE characters.
8569         
8570 2001-05-23  Ben Wing  <ben@xemacs.org>
8571
8572         * event-msw.c (winsock_writer):
8573         * event-msw.c (winsock_closer):
8574         prior kludgy code was clobbering the buffer, thinking it was
8575         "unused" space to store an unneeded return value; instead, use
8576         the variable we've already got staring us in the face.
8577
8578 2001-05-17  Andy Piper  <andy@xemacs.org>
8579
8580         * sysfile.h: don't assume that file attributes are boolean
8581
8582 2001-05-23  Ben Wing  <ben@xemacs.org>
8583
8584         * device-msw.c (msprinter_init_device):
8585         signal an error rather than crash with an unavailable network
8586         printer (from Mike Alexander).
8587         
8588         * event-msw.c:
8589         * event-msw.c (struct winsock_stream):
8590         * event-msw.c (winsock_writer):
8591         * event-msw.c (winsock_closer):
8592         * event-msw.c (make_winsock_stream_1):
8593         cleanup headers.  fix (hopefully) an error with data corruption
8594         when sending to a network connection.
8595
8596         * fileio.c (Fexpand_file_name): Fix evil code that attempts
8597         to handle the ~user prefix by (a) always assuming we're referencing
8598         ourselves and not even verifying the user -- hence any file with
8599         a tilde as its first char is invalid! (b) if there wasn't a slash
8600         following the filename, the pointer was set *past* the end of
8601         file and we started reading from uninitialized memory.  Now we
8602         simply treat these as files, always.
8603
8604         * buffer.c (common_init_complex_vars_of_buffer): comment change.
8605         
8606 2001-05-19  Ben Wing  <ben@xemacs.org>
8607
8608         * eval.c: doc comment about gcpro'ing in record_unwind_protect.
8609
8610         * process-nt.c:
8611         * process-nt.c (vars_of_process_nt):
8612         remove unused mswindows-quote-process-args.  rec for 21.4.
8613         
8614 2001-05-12  Ben Wing  <ben@xemacs.org>
8615
8616         * event-msw.c (mswindows_dde_callback):
8617         * event-msw.c (mswindows_wnd_proc):
8618         eliminate cygwin warnings.
8619
8620 2001-05-06  Ben Wing  <ben@xemacs.org>
8621
8622         * console-msw.h:
8623         * device-msw.c:
8624         * device-msw.c (print_dialog_worker):
8625         * device-msw.c (mswindows_handle_print_dialog_box):
8626         * device-msw.c (syms_of_device_mswindows):
8627         * dialog-msw.c (mswindows_make_dialog_box_internal):
8628         * general-slots.h:
8629         implement printing the selection when it's selected.
8630
8631 2001-05-20  Drazen Kacar  <dave@arsdigita.com>
8632
8633         * glyphs-gtk.c (gtk_resource_instantiate): C++ comment -> #if 0
8634
8635 2001-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
8636
8637         * lisp.h (EMACS_INT_MAX): This should be one bit less since
8638         EMACS_INT is signed.
8639
8640 2001-04-15  Michael Lausch  <mla@1012surf.net>
8641
8642         * scrollbar-gtk.c (gtk_create_scrollbar_instance): Call
8643         gtk_widget_request_size() to give scrollbar >0 width for
8644         GTK >1.2.8.
8645
8646 2001-05-30  William M. Perry  <wmperry@gnu.org>
8647
8648         * event-gtk.c: Check for buttons as modifier keys.
8649
8650 2001-05-25  Craig Lanning  <CraigL@Knology.net>
8651
8652         * s\mingw32.h:
8653         Properly find MinGW's <process.h> inside Cygwin's restructured
8654         include directories.  Don't try to include <cygwin/version.h>
8655         since we are dropping support for MinGW in versions of Cygwin
8656         earlier than b21.
8657         * nt.c:
8658         Drop support for MinGW in versions of Cygwin before b21.
8659         * sysdep.c:
8660         Properly find MinGW's <process.h> inside Cygwin's restructured
8661         include directories.
8662         * syswindows.h:
8663         Drop support for MinGW in versions of Cygwin before b21.
8664         * unexcw.c:
8665         Even though a.out.h is no longer detected by configure, allow
8666         MinGW to use it until we figure out how to do the job with Win32.
8667
8668 2001-07-11  Matt Tucker  <tuck@whistlingfish.net>
8669
8670         * syntax.c (find_start_of_comment):
8671         Fix `unbalanced parentheses' bug when dealing with mixed comment
8672         styles in c++/java/etc. mode
8673
8674 2001-05-29  Mike Alexander  <mta@arbortext.com>
8675
8676         * console-msw.h (FRAME_MSPRINTER_CHARHEIGHT): Unswap
8677         FRAME_MSPRINTER_CHARWIDTH and FRAME_MSPRINTER_CHARHEIGHT
8678
8679 2001-05-17  Andrew Begel  <abegel@eecs.berkeley.edu>
8680
8681         * lrecord.h (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): Add needed cast.
8682
8683 2001-03-31  Mike Sperber <mike@xemacs.org>
8684
8685         * search.c (Freplace_match): Support FSF-style specification of
8686         match subexpression when applied to a buffer.
8687
8688 2001-05-27  Karl M. Hegbloom  <karlheg@hegbloom.net>
8689
8690         * event-stream.c (is_scrollbar_event): add missing semicolon
8691
8692 2001-05-22  Isaac Hollander  <ysh@mindspring.com>
8693
8694         * Makefile.in.in: Use TAR macro instead of hardcoding
8695           tar.  Allows use of GNU tar instead of system tar
8696
8697 2001-05-27  Karl M. Hegbloom  <karlheg@hegbloom.net>
8698
8699         * event-stream.c (is_scrollbar_event): add missing semicolon
8700
8701 2001-05-17  Stephen J. Turnbull  <stephen@xemacs.org>
8702
8703         * XEmacs 21.4.3 "Academic Rigor" is released.
8704
8705 2001-05-17  Stephen J. Turnbull  <stephen@xemacs.org>
8706
8707         * regex.c: Define DECLARE_NOTHING when "lisp.h" is not included.
8708
8709 2001-05-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
8710
8711         * buffer.c (Vcase_fold_search): Remove obsolete
8712           comment about non ASCII case-fold-search.  This
8713           bug has been fixed by case-table changes.
8714
8715 2001-05-11  Stephen J. Turnbull  <stephen@xemacs.org>
8716
8717         * event-msw.c: Restore include of events-mod.h.
8718
8719 2001-04-22   zhaoway  <zw@debian.org>
8720
8721         * event-stream.c (is_scrollbar_event): Noop returning 0 if
8722         !HAVE_SCROLLBARS.
8723
8724 2001-05-10  Stephen J. Turnbull  <stephen@xemacs.org>
8725
8726         * XEmacs 21.4.2 "Developer-Friendly Unix APIs" is released.
8727
8728 2001-05-08  Yoshiaki Kasahara  <kasahara@nc.kyushu-u.ac.jp>
8729
8730         * mule-charset.c (Fmake_charset): Add missing else.
8731
8732 2001-04-23  Ben Wing  <ben@xemacs.org>
8733
8734         * event-msw.c (FAKE_MOD_QUIT):
8735         * event-msw.c (mswindows_dequeue_dispatch_event):
8736         * event-msw.c (mswindows_wnd_proc):
8737         * event-msw.c (emacs_mswindows_quit_p):
8738         Get critical quit working.
8739
8740 2001-05-05  Ben Wing  <ben@xemacs.org>
8741
8742         * console-msw.h:
8743         * device-msw.c:
8744         * device-msw.c (mswindows_get_default_margin):
8745         * frame-msw.c (mswindows_size_frame_internal):
8746         * frame-msw.c (msprinter_init_frame_1):
8747         * frame-msw.c (vars_of_frame_mswindows):
8748         Change top/bottom margin defaults to 0.5 inches.
8749
8750 2001-05-01  Martin Buchholz  <martin@xemacs.org>
8751
8752         Fix link error with gcc 3.0 on Linux.
8753         * terminfo.c (UP): Remove.
8754         * terminfo.c (BC): Remove.
8755         * terminfo.c (PC): Remove.
8756         They weren't used, and in any case, these symbols should be
8757         defined in the *library*.
8758
8759 2001-05-03  Martin Buchholz  <martin@xemacs.org>
8760
8761         * s/aix4.h: Fix crash with xlc -O3.
8762         Improve comment explaining how -O3 works.
8763
8764 2001-04-15  Ben Wing  <ben@xemacs.org>
8765
8766         * event-stream.c:
8767         * event-stream.c (Fnext_event):
8768         * event-stream.c (is_scrollbar_event):
8769         * event-stream.c (execute_command_event):
8770         Better fix for Yoshiki's `C-x @ h <scrollbar-drag> x causes a
8771         crash' problem.  His fix introduces other problems.  We filter
8772         out scrollbar events specifically, making them somewhat invisible
8773         to command-building, and not appearing in `this-command-keys'.
8774         More work is still needed (see comments in event-stream.c), but
8775         this fixes all the major problems.
8776
8777 2001-04-20  Ben Wing  <ben@xemacs.org>
8778
8779         * .cvsignore: Added stuff for Windows.
8780
8781 2001-04-28  Ben Wing  <ben@xemacs.org>
8782
8783         * buffer.c (Ferase_buffer):
8784         * editfns.c (buffer_insert1):
8785         * editfns.c (Finsert_before_markers):
8786         * editfns.c (Finsert_string):
8787         * editfns.c (Finsert_char):
8788         * editfns.c (Fdelete_region):
8789         * editfns.c (Fwiden):
8790         * editfns.c (Fnarrow_to_region):
8791         remove bogus lines setting zmacs_region_stays to 0.
8792         
8793 2001-04-15  Gunnar Evermann  <ge204@eng.cam.ac.uk>
8794
8795         * process-unix.c (unix_open_network_stream): If connect() fails
8796         invalidate file descriptor after closing it.
8797
8798 2001-03-08  Mike Alexander  <mta@arbortext.com>
8799
8800         * event-msw.c (mswindows_need_event_in_modal_loop):
8801         Don't dispatch a message if we didn't get one.
8802         (mswindows_need_event):
8803         Terminate the correct process when one exits instead of the first
8804         one on Vprocess_list and look for process termination when in
8805         mswindows_protect_modal_loop.
8806
8807 2001-04-19  Stephen J. Turnbull  <stephen@xemacs.org>
8808
8809         * XEmacs 21.4.1 "Copyleft" is released.
8810
8811 2001-04-19  Glynn Clements  <glynn.clements@virgin.net>
8812
8813         * input-method-motif.c (XIM_delete_frame): New callback.
8814         (XIM_init_frame): Register it.
8815
8816 2001-04-16  Stephen J. Turnbull  <stephen@xemacs.org>
8817
8818         * XEmacs 21.4.0 "Solid Vapor" is released.
8819
8820 2001-04-15  Ben Wing  <ben@xemacs.org>
8821
8822         * cmdloop.c (call_command_loop):
8823         Fix braino in bit-rotting code.
8824         
8825 2001-04-07  Hrvoje Niksic  <hniksic@arsdigita.com>
8826
8827         * extents.c (Fset_extent_endpoints): Force creation of extent info
8828         in buffer_or_string.
8829
8830         * extents.c (process_extents_for_insertion_mapper): Correctly
8831         check for open-open zero-length extents.
8832
8833 2001-04-16  Stephen J. Turnbull  <stephen@xemacs.org>
8834
8835         * lisp.h: New typedefs Memory_count, Element_count.
8836         * regex.c:
8837         * regex.h:
8838         Sign-compare warning elimination: several unsigned -> signed.
8839         Based on work by Ben Wing <ben@xemacs.org>.
8840
8841 2001-04-14  Stephen J. Turnbull  <stephen@xemacs.org>
8842
8843         * XEmacs 21.2.47 "Zephir" is released.
8844
8845 2001-04-02  Jan Vroonhof  <jan@xemacs.org>
8846
8847         * redisplay.c (add_bufbyte_string_runes): Update data->bytepos
8848
8849 2001-04-03  Mike Sperber <mike@xemacs.org>
8850
8851         * search.c: Revert previous patch due because of release.
8852
8853 2001-03-30  Ben Wing  <ben@xemacs.org>
8854
8855         * s\cygwin32.h:
8856         Add missing killpg prototype.
8857
8858         * elhash.c:
8859         Add a comment about fixing problems when a new entry is added
8860         while mapping.
8861
8862         * frame-msw.c (mswindows_init_frame_1):
8863         Fix compile warnings.
8864
8865         * menubar.c (vars_of_menubar):
8866         Provide `menu-accelerator-support' to indicate that we properly
8867         support %_ in menu specifications, so that package code can
8868         conditionalize on this (and remove %_ from menu specifications
8869         on older versions).
8870
8871         * event-msw.c:
8872         * scrollbar-msw.c:
8873         * scrollbar-msw.c (can_scroll):
8874         * scrollbar-msw.h:
8875         Fix handling of mouse wheel under Windows to follow standards --
8876         now scrolls window under pointer, not selected window.
8877
8878 2001-03-31  Mike Sperber <mike@xemacs.org>
8879
8880         * search.c (Freplace_match): Support FSF-style specification of
8881         match subexpression when applied to a buffer.
8882
8883 2001-03-15  Martin Buchholz  <martin@xemacs.org>
8884
8885         * keymap.c (Fmap_keymap): map-keymap explicitly allows a mapping
8886         function to modify KEYMAP, so map over a copy of the hash table.
8887
8888 2001-03-21  Martin Buchholz <martin@xemacs.org>
8889
8890         * XEmacs 21.2.46 "Urania" is released.
8891
8892 2001-03-20  Dan Holmsand  <dan@eyebee.com>
8893
8894         * realpath.c (xrealpath): Make file-truename work with symlinks to
8895         /cygdrive paths on cygwin. Always lowercase drive-letters on
8896         native windows.
8897         (cygwin_readlink): Don't try to find canonical filename unless
8898         file exists.
8899
8900 2001-03-15  Stephen J. Turnbull  <stephen@xemacs.org>
8901
8902         * ChangeLog: Log GTK merge.
8903
8904         * dumper.c:
8905         * select-x.c:
8906         * specifier.c:
8907         * symeval.h:
8908         Revert gratuitous whitespace changes from GTK merge.
8909
8910         * emacs.c: Document end of complex #ifdef @ l. 1495.
8911
8912
8913 2001-03-12  Andy Piper  <andy@xemacs.org>
8914
8915         * mingw32.h: unfortunately cygnus changed mingw32 -> mingw so we
8916         have to do likewise.
8917
8918 2001-03-12  Andy Piper  <andy@xemacs.org>
8919
8920         * sysdep.c: we only support mingw now.
8921
8922 2001-03-09  Andy Piper  <andy@xemacs.org>
8923
8924         * unexcw.c (copy_executable_and_dump_data_section): making approx
8925         overrun a warning only.
8926
8927 2001-03-10  William M. Perry  <wmperry@aventail.com>
8928
8929         * faces.c (complex_vars_of_faces): Rewrote the font mucking to
8930         satisfy Stephen's identical-after-cpp plea.
8931
8932 2001-03-02  Ben Wing  <ben@xemacs.org>
8933
8934         * cmds.c:
8935         * cmds.c (Fforward_char):
8936         * syntax.c:
8937         * window.c:
8938
8939         Augment documentation of the most common motion commands to make
8940         note of the shifted-motion support.
8941         
8942 2001-03-02  Ben Wing  <ben@xemacs.org>
8943
8944         * nt.c (mswindows_fstat):
8945         * nt.c (mswindows_stat):
8946         * search.c (boyer_moore):
8947         Fix compile warnings under Windows.
8948         
8949         * sysdep.c (sys_readdir):
8950         Fix buggy filename-conversion code under Mule.
8951
8952 2001-03-09  William M. Perry  <wmperry@aventail.com>
8953
8954         * Makefile.in.in:
8955         * config.h.in:
8956         * console.c:
8957         * console.h:
8958         * device.c:
8959         * device.h:
8960         * dragdrop.c:
8961         * emacs.c:
8962         * event-stream.c:
8963         * events.c:
8964         * events.h:
8965         * faces.c:
8966         * frame.h:
8967         * general-slots.h:
8968         * glyphs.c:
8969         * gutter.c:
8970         * inline.c:
8971         * lisp.h:
8972         * lrecord.h:
8973         * make-src-depend:
8974         * redisplay-output.c:
8975         * redisplay.c:
8976         * symsinit.h:
8977         * sysfile.h:
8978         * toolbar.c:
8979         * window.c:
8980         The Great GTK Merge.
8981
8982         * ChangeLog.GTK:
8983         * console-gtk.c:
8984         * console-gtk.h:
8985         * device-gtk.c:
8986         * emacs-marshals.c:
8987         * emacs-widget-accessors.c:
8988         * event-gtk.c:
8989         * frame-gtk.c:
8990         * gccache-gtk.c:
8991         * gccache-gtk.h:
8992         * glade.c:
8993         * glyphs-gtk.c:
8994         * glyphs-gtk.h:
8995         * gtk-glue.c:
8996         * gtk-xemacs.c:
8997         * gtk-xemacs.h:
8998         * gui-gtk.c:
8999         * gui-gtk.h:
9000         * menubar-gtk.c:
9001         * native-gtk-toolbar.c:
9002         * objects-gtk.c:
9003         * objects-gtk.h:
9004         * redisplay-gtk.c:
9005         * scrollbar-gtk.c:
9006         * scrollbar-gtk.h:
9007         * select-gtk.c:
9008         * toolbar-gtk.c:
9009         * ui-byhand.c:
9010         * ui-gtk.c:
9011         * ui-gtk.h:
9012         The Great GTK Merge: new files.
9013
9014 2001-02-26  Ben Wing  <ben@xemacs.org>
9015
9016         Reapplied Lstream change.
9017
9018 2001-02-26  Ben Wing  <ben@xemacs.org>
9019
9020         Undid the last change, since it is more controversial than I
9021         thought.  It should be back in at some point soon.
9022         
9023 2001-02-25  Ben Wing  <ben@xemacs.org>
9024
9025         * buffer.c:
9026         * callproc.c (Fold_call_process_internal):
9027         * event-msw.c (ntpipe_slurp_reader):
9028         * event-msw.c (ntpipe_shove_writer):
9029         * event-msw.c (winsock_reader):
9030         * event-msw.c (winsock_writer):
9031         * file-coding.c:
9032         * file-coding.c (detect_eol_type):
9033         * file-coding.c (detect_coding_type):
9034         * file-coding.c (determine_real_coding_system):
9035         * file-coding.c (Fdetect_coding_region):
9036         * file-coding.c (decoding_reader):
9037         * file-coding.c (decoding_writer):
9038         * file-coding.c (mule_decode):
9039         * file-coding.c (Fdecode_coding_region):
9040         * file-coding.c (encoding_reader):
9041         * file-coding.c (encoding_writer):
9042         * file-coding.c (mule_encode):
9043         * file-coding.c (Fencode_coding_region):
9044         * file-coding.c (detect_coding_sjis):
9045         * file-coding.c (decode_coding_sjis):
9046         * file-coding.c (encode_coding_sjis):
9047         * file-coding.c (detect_coding_big5):
9048         * file-coding.c (decode_coding_big5):
9049         * file-coding.c (encode_coding_big5):
9050         * file-coding.c (detect_coding_ucs4):
9051         * file-coding.c (decode_coding_ucs4):
9052         * file-coding.c (encode_coding_ucs4):
9053         * file-coding.c (detect_coding_utf8):
9054         * file-coding.c (decode_coding_utf8):
9055         * file-coding.c (encode_coding_utf8):
9056         * file-coding.c (detect_coding_iso2022):
9057         * file-coding.c (decode_coding_iso2022):
9058         * file-coding.c (encode_coding_iso2022):
9059         * file-coding.c (decode_coding_no_conversion):
9060         * file-coding.c (encode_coding_no_conversion):
9061         * glyphs-x.c (write_lisp_string_to_temp_file):
9062         * gpmevent.c (tty_get_foreign_selection):
9063         * lisp.h:
9064         * lstream.c:
9065         * lstream.c (Lstream_flush_out):
9066         * lstream.c (Lstream_adding):
9067         * lstream.c (Lstream_write_1):
9068         * lstream.c (Lstream_write):
9069         * lstream.c (Lstream_raw_read):
9070         * lstream.c (Lstream_read_more):
9071         * lstream.c (Lstream_read):
9072         * lstream.c (Lstream_unread):
9073         * lstream.c (Lstream_fputc):
9074         * lstream.c (stdio_reader):
9075         * lstream.c (stdio_writer):
9076         * lstream.c (filedesc_reader):
9077         * lstream.c (filedesc_writer):
9078         * lstream.c (lisp_string_reader):
9079         * lstream.c (struct fixed_buffer_stream):
9080         * lstream.c (make_fixed_buffer_input_stream):
9081         * lstream.c (make_fixed_buffer_output_stream):
9082         * lstream.c (fixed_buffer_reader):
9083         * lstream.c (fixed_buffer_writer):
9084         * lstream.c (struct resizing_buffer_stream):
9085         * lstream.c (resizing_buffer_writer):
9086         * lstream.c (dynarr_writer):
9087         * lstream.c (lisp_buffer_reader):
9088         * lstream.c (lisp_buffer_writer):
9089         * lstream.h:
9090         * lstream.h (lstream_implementation):
9091         * lstream.h (struct lstream):
9092         * md5.c (Fmd5):
9093         * process-nt.c (nt_send_process):
9094         * process-unix.c (unix_send_process):
9095         
9096         Correct Lstream lossage due to mixing of signed and unsigned
9097         quantities.  All Lstream uses of size_t and ssize_t are now a
9098         single signed data type Lstream_data_count.  This fixes problems
9099         under Windows with sending large quantities of data to a process,
9100         and may well fix other subtle bugs.
9101
9102 2001-02-23  Martin Buchholz <martin@xemacs.org>
9103
9104         * XEmacs 21.2.45 "Thelxepeia" is released.
9105
9106 2001-02-21  Martin Buchholz  <martin@xemacs.org>
9107
9108         * lisp-union.h (XSETINT): 
9109         (XSETCHAR):
9110         (XSETOBJ): 
9111         Reverse previous change of 2001-02-06.
9112
9113 2001-02-20  Matt Tucker  <tuck@whistlingfish.net>
9114
9115         Fix `VALID_BYTIND_P' crashes in regex.c when using narrowed
9116         buffers.
9117         * syntax.h (SYNTAX_CACHE_BYTE_TO_CHAR):
9118         * syntax.h (SYNTAX_CACHE_OBJECT_BYTE_TO_CHAR):
9119         Add `BI_BUF_BEGV' to bytepos before calculating bufpos.
9120         * regex.c (POS_AS_IN_BUFFER): removed
9121         * regex.c (re_search_2):
9122         * regex.c (re_match_2):
9123         Don't use an offset of 1 when calculating buffer positions, since
9124         `BI_BUF_BEGV' does it already.
9125
9126 2001-02-18  Wim Dumon  <wim@easics.be>
9127
9128         * insdel.c (prepare_to_modify_buffer): Also check for
9129         supersession when clash-detection is enabled. 
9130
9131 2001-02-17  Matt Tucker  <tuck@whistlingfish.net>
9132
9133         * regex.c (re_match_2_internal):
9134         Convert temp characters from 'const unsigned char' to 're_char'.
9135         Fix crashing bug with extended characters under mule.
9136         * syntax.c (Qsyntax_table): Moved from vars_of_syntax to
9137         syms_of_syntax. Use defsymbol to define. Fixes hanging bug with
9138         font-lock, pdump, and new syntax-table code.
9139         * syntax.c (find_start_of_comment):
9140         (find_end_of_comment):
9141         (forward-comment):
9142         Fix crashing bugs involving moving beyond end of buffer.
9143         * syntax.c (find_start_of_comment):
9144         Fixed logic to allow proper detection of cases where the same
9145         character is used to end both a two-char comment start and a
9146         two-char comment end sequence. Fixes `(forward-comment -1)'.
9147         * syntax.c (find_start_of_comment):
9148         Return position just past last comment-end character for all cases
9149         (previously was only done for two-char comment-end sequences).
9150         * syntax.c (forward-comment):
9151         Take value returned from `find_end_of_comment', rather than
9152         incrementing it.
9153         * syntax.h (SYNTAX_CACHE_BYTE_TO_CHAR):
9154         Properly deal with BUFFERP (syntax_cache.object)
9155
9156 2001-02-17  Martin Buchholz  <martin@xemacs.org>
9157
9158         * alloc.c (Fgarbage_collect): 
9159         * alloc.c (make_bit_vector_from_byte_vector):
9160         -Wsign-compare-correctness.
9161
9162 2001-02-16  Martin Buchholz  <martin@xemacs.org>
9163
9164         * lisp-union.h (XSETINT): Eliminate unnecessary temp var.
9165         (XSETCHAR): Likewise.
9166         (XSETOBJ): Likewise.
9167
9168 2001-02-15  Martin Buchholz  <martin@xemacs.org>
9169
9170         * mule-canna.c (canna-func-delete_previous): 
9171         Rename to canna-func-delete-previous.
9172
9173 2001-02-14  Martin Buchholz  <martin@xemacs.org>
9174
9175         * mule-ccl.c (ccl_driver): Warning suppression.  Use countof.
9176
9177 2001-02-13  Matt Tucker  <tuck@whistlingfish.net>
9178
9179         * font-lock.c (find_context): Fix C++ compile errors introduced by
9180         recent patch
9181
9182 2001-02-13  Martin Buchholz  <martin@xemacs.org>
9183
9184         * s/aix4.h: Later versions of IBM C compiler need a bug workaround
9185         pragma, but earlier ones barf on the same pragma.
9186
9187 2001-02-06  Mike Sperber <mike@xemacs.org>
9188
9189         * emacs.c (complex_vars_of_emacs): Add `mule-lisp-directory' and
9190         `configure-mule-lisp-directory'.
9191
9192 2001-02-12  Martin Buchholz  <martin@xemacs.org>
9193
9194         Make sure dump-id.c is compiled in the same way as other .c's.
9195         Fixes pdump compilation failure with HP's cc, which defaults to K&R.
9196         * dump-id.h: Remove.
9197         * emacs.c: Move dump-id.h into dumper.h.
9198         * dumper.h: Move dump-id.h into dumper.h.
9199         * Makefile.in.in:
9200         Use standard .c.o rule for building dump-id.o.
9201         Remove preprocessor flags from link command.
9202         Add dump-id.o to ${otherobjs} if PDUMP.
9203
9204 2001-02-07  Matt Tucker  <tuck@whistlingfish.net>
9205
9206         Port FSF 20.7 syntax table improvements.
9207         * syntax.c.
9208         * syntax.h.
9209
9210         Fixups for new syntax table stuff.
9211         * dired.c: Include syntax.c.
9212         (Fdirectory_files): Initialize regex_match_object and
9213         regex_emacs_buffer.
9214         * extents.h: EXFUN Fnext_extent_change, Fprevious_extent_change,
9215         and Fget_char_property.
9216
9217         Use ported FSF 20.7 syntax table improvements.
9218         * font-lock.c.
9219         * regex.c.
9220         * search.c.
9221         
9222 2001-02-09  Martin Buchholz  <martin@xemacs.org>
9223
9224         * regex.c (Boolean): Renamed to `re_bool', to avoid conflict with
9225         Unixware's enum boolean from sys/types.h.
9226
9227 2001-02-10  Martin Buchholz  <martin@xemacs.org>
9228
9229         Fix support for building with latest Purify.
9230         * Makefile.in.in (PURIFY_LIBS): Remove thread flags.
9231         (PURIFY_FLAGS): Likewise.
9232
9233 2001-02-09  Martin Buchholz  <martin@xemacs.org>
9234
9235         * fileio.c (lisp_string_set_file_times): New.
9236         * fileio.c (Fcopy_file): Use it.
9237         Fixes bug:
9238         (copy-file filename non-ascii-filename t t)
9239         ==> No such file or directory, non-ascii-filename
9240
9241 2001-02-10  Martin Buchholz  <martin@xemacs.org>
9242
9243         * glyphs-x.c (generate_cursor_fg_bg): Avoid a warning.
9244         USHRT_MAX seems clearer than ~0 anyways.
9245
9246 2001-02-09  Martin Buchholz  <martin@xemacs.org>
9247
9248         dumper improvements.  Inspired by Olivier.
9249         * dumper.c (pdump_max_align): New.
9250         * dumper.c (pdump_add_entry): Use pdump_max_align.
9251         * dumper.c (pdump_get_entry_list): Likewise.
9252         * dumper.c (pdump_scan_by_alignment): Likewise.
9253         Don't iterate through unnecessary alignments.
9254         * dumper.c (pdump_file_get): No need to align result of malloc().
9255         * dumper.c (pdump_mallocadr): Remove.  
9256         The result of malloc() is guaranteed to be maximally aligned.
9257         * dumper.c: s/elmt/elt/g;
9258         * dumper.c (pdump_object_table): Allocate dynamically, not statically.
9259         * dumper.c (pdump_alert_undump_object): Likewise.
9260         * dumper.c (pdump_align_table): 
9261         Don't support alignments > 64.
9262         Store ALIGNOF's, not shift counts, in table.
9263
9264 2001-02-09  Martin Buchholz  <martin@xemacs.org>
9265
9266         * s/mingw32.h (HAVE_STRUCT_UTIMBUF): Remove.
9267         * s/windowsnt.h (HAVE_STRUCT_UTIMBUF): Remove.
9268         * systime.h: Use HAVE_UTIME.
9269         * sysdep.c (struct utimbuf): Remove.
9270         * sysdep.c (set_file_times): Prefer utime() to utimes().
9271         * config.h.in (HAVE_UTIME): New.
9272         * config.h.in (HAVE_UTIME_H): Remove.
9273         * config.h.in (HAVE_STRUCT_UTIMBUF): Remove.
9274
9275 2001-02-09  Martin Buchholz  <martin@xemacs.org>
9276
9277         * s/aix4.h: Hide #pragmas inside #ifndef NOT_C_CODE.
9278
9279 2001-02-08  Martin Buchholz  <martin@xemacs.org>
9280
9281         * s/irix6-0.h: Use the standard system memmove, not bcopy.
9282
9283 2001-02-08  Martin Buchholz <martin@xemacs.org>
9284
9285         * XEmacs 21.2.44 "Thalia" is released.
9286
9287 2001-02-06  Martin Buchholz  <martin@xemacs.org>
9288
9289         Fixes crashes in kill-emacs on some systems.
9290         * process-unix.c (unix_kill_child_process):
9291         It's OK for kill() to fail with ESRCH.
9292
9293 2001-02-07  Martin Buchholz  <martin@xemacs.org>
9294
9295         Contortions to make .gdbinit tricks work on most systems.
9296         * alloc.c (dbg_inhibit_dbg_symbol_deletion): Keep debugger info.
9297         * alloc.c (dbg_valmask): Make non-const.
9298         * alloc.c (dbg_typemask): Make non-const.
9299         * alloc.c (dbg_USE_UNION_TYPE): Make non-const.
9300         * alloc.c (dbg_valbits): Make non-const.
9301         * alloc.c (dbg_gctypebits): Make non-const.
9302         * .gdbinit (decode_object): Make it work with AIX cc.
9303
9304 2001-02-06  Martin Buchholz  <martin@xemacs.org>
9305
9306         * elhash.c (make_general_lisp_hash_table):
9307         Use simpler and more efficient calloc to clear entries.
9308
9309 2001-02-07  Martin Buchholz  <martin@xemacs.org>
9310
9311         * window.c (window_scroll): Work around an AIX C compiler bug.
9312         Fixes 'scroll-up' does nothing problem with xlC.
9313
9314 2001-02-05  Martin Buchholz  <martin@xemacs.org>
9315
9316         * .gdbinit: Remove obsolete comment.
9317
9318 2001-01-31  Mike Alexander  <mta@arbortext.com>
9319
9320         * select.c (Fown_selection_internal): Set owned_p for device
9321         method correctly.
9322
9323 2001-02-01  Martin Buchholz  <martin@xemacs.org>
9324
9325         Port to g++ 2.97.
9326         "not" cannot be used as a macro name as it is an operator in C++
9327         * config.h.in: Stop #defining `not'.
9328         * chartab.c (check_category_char): not ==> not_p
9329         * chartab.h: Likewise.
9330         * regex.c (re_match_2_internal): Likewise.
9331
9332 2001-02-02  Martin Buchholz  <martin@xemacs.org>
9333
9334         * lisp-disunion.h: Fix up comments.
9335
9336 2001-01-31  Martin Buchholz  <martin@xemacs.org>
9337
9338         * keymap.c (define_key_check_and_coerce_keysym):
9339         (syms_of_keymap):
9340         Support mouse-6 and mouse-7 bindings in the obvious way.
9341
9342 2001-02-01  Martin Buchholz  <martin@xemacs.org>
9343
9344         * m/hp9000s300.h (UNEXEC): Check for HPUX, not !BSD.
9345
9346 2001-01-30  Martin Buchholz  <martin@xemacs.org>
9347
9348         Previous patch changing DEFVAR_INT to use EMACS_INT was incomplete.
9349         Previous patch missed DEFVAR_INT_MAGIC.
9350         Make sure future DEFVAR_foo use correct types.
9351         * symeval.h (DEFVAR_SYMVAL_FWD_FIXNUM): New.
9352         * (DEFVAR_SYMVAL_FWD_INT): Add type checking.
9353         * (DEFVAR_SYMVAL_FWD_OBJECT): Add type checking.
9354         * (DEFVAR_INT_MAGIC): Use DEFVAR_SYMVAL_FWD_FIXNUM.
9355         * (DEFVAR_INT): Likewise.
9356         * redisplay.c (vertical_clip): Should be of type Fixnum.
9357         * redisplay.c (horizontal_clip): Likewise.
9358         * lisp.h (dump_add_opaque_int): New.
9359         (dump_add_opaque_fixnum): New.
9360
9361 2001-01-29  Andy Piper  <andy@xemacs.org>
9362
9363         * glyphs-widget.c (check_valid_int_or_function): allow symbols
9364         since they can be eval'ed
9365
9366 2001-01-29  Martin Buchholz  <martin@xemacs.org>
9367
9368         * lisp.h (ALIGNOF): Make it work on non-gcc C++ compilers.
9369         Oops, XEmacs redefines `class'.  Use `typename' instead.
9370
9371 2001-01-28  Martin Buchholz  <martin@xemacs.org>
9372
9373         * dumper.c: Fix C++ compile errors.
9374
9375 2001-01-29  Martin Buchholz  <martin@xemacs.org>
9376
9377         * tparam.c: Use correct prototypes.
9378
9379 2001-01-28  Martin Buchholz  <martin@xemacs.org>
9380
9381         * sysproc.h: #include util.h for NetBSD's openpty.
9382
9383 2001-01-27  Martin Buchholz  <martin@xemacs.org>
9384
9385         More 64-bit correctness.
9386         The C value of a DEFVAR_INT should be of type EMACS_INT, not int.
9387         Use a typedef `fixnum' for the type used for DEFVAR_INT.
9388         Fix up comments.
9389         This finally finishes the 64-bit SGI port.
9390         Fixes things like (let ((gc-cons-threshold most-positive-fixnum)) ...).
9391         * symbols.c: Fix up comments and type casts.
9392         * symbols.c (do_symval_forwarding): s/int/Fixnum/g
9393         * symbols.c (store_symval_forwarding): s/int/Fixnum/g
9394         * symeval.h (Fixnum): New type.
9395         * symeval.h (symbol_value_type): Fix up comment.
9396
9397         * commands.h:
9398         * nt.c:
9399         * emacs.c:
9400         * data.c:
9401         * redisplay.c:
9402         * abbrev.c:
9403         * dired-msw.c:
9404         * event-Xt.c:
9405         * eldap.c:
9406         * window.c:
9407         * sound.c:
9408         * event-stream.c:
9409         * eval.c:
9410         * buffer.c:
9411         * mule-canna.c: A million DEFVAR_INTs here...
9412         * mule-canna.c (count_char): s/int */Fixnum */g in arglist.
9413         * extents.c:
9414         * cmdloop.c:
9415         * lisp.h:
9416         * select-x.c:
9417         * console-x.h:
9418         * event-msw.c:
9419         * mule-wnnfns.c:
9420         * hpplay.c:
9421         * ralloc.c:
9422         * alloc.c:
9423         * keymap.c:
9424         * profile.c:
9425         s/int/Fixnum/g in DEFVAR_INT declarations.
9426
9427 2001-01-26  Martin Buchholz  <martin@xemacs.org>
9428
9429         Port pdump to SGI alignment-sensitive environment.
9430         Lisp Object sizeof methods now return aligned sizes.  Rely on that.
9431         Eliminate is_lrecord since Lisp_Objects sizeof methods are now all
9432         properly aligned.
9433         Define and use aligned reading and writing macros.
9434         Use buffered stdio instead of posix i/o for faster dumping.
9435         Eliminate kludgy 256 byte space for header.
9436         Read and write from dump file using structs for alignment safety.
9437         * dumper.c (pdump_align_stream): New.
9438         * dumper.c (PDUMP_ALIGN_OUTPUT): New.
9439         * dumper.c (PDUMP_READ_ALIGNED): New.
9440         * dumper.c (PDUMP_WRITE_ALIGNED): New.
9441         * dumper.c (pdump_static_Lisp_Object): New struct.
9442         * dumper.c (pdump_static_pointer): New struct.
9443         * dumper.c (pdump_entry_list_element): Remove is_lrecord member.
9444         * dumper.c (pdump_add_entry): Remove is_lrecord parameter.
9445         * dumper.c (pdump_dump_data): Rely on sizeof method alignment.
9446         * dumper.c (pdump_allocate_offset): Rely on sizeof method alignment.
9447
9448         * dumper.c (pdump_backtrace):
9449         * dumper.c (pdump_get_indirect_count):
9450         * dumper.c (pdump_register_object):
9451         * dumper.c (pdump_register_struct):
9452         * dumper.c (pdump_reloc_one):
9453         * dumper.c (pdump_scan_by_alignment):
9454         * dumper.c (pdump_dump_from_root_struct_ptrs):
9455         * dumper.c (pdump_dump_opaques):
9456         * dumper.c (pdump_dump_rtables):
9457         * dumper.c (pdump_dump_from_root_objects):
9458         * dumper.c (pdump):
9459         * dumper.c (pdump_load_finish):
9460         Use aligned reading and writing.
9461
9462         * dumper.c (pdump_free): Make static.
9463         * dumper.c (pdump_hFile): Likewise.
9464         * dumper.c (pdump_hMap): Likewise.
9465
9466 2001-01-26  Martin Buchholz <martin@xemacs.org>
9467
9468         * XEmacs 21.2.43 "Terspichore" is released.
9469
9470 2001-01-25  Martin Buchholz  <martin@xemacs.org>
9471
9472         Type fiddling for window_config.saved_windows_count
9473         * window.c (struct window_config): 
9474         Make saved_windows_count member unsigned.
9475         * window.c (sizeof_window_config_for_n_windows): 
9476         Make parameter unsigned.
9477         * window.c (mark_window_config):
9478         * window.c (window_config_equal):
9479         * window.c (free_window_configuration):
9480         * window.c (Fset_window_configuration):
9481         * window.c (count_windows):
9482         * window.c (Fcurrent_window_configuration):
9483         * window.c (reinit_vars_of_window):
9484         Update all callers and users.
9485
9486 2001-01-25  Martin Buchholz  <martin@xemacs.org>
9487
9488         Alignment correctness for flexible arrays.
9489         * lisp.h (FLEXIBLE_ARRAY_STRUCT_SIZEOF):
9490         Make alignment-correct. Add interesting comments.
9491         * alloc.c (size_vector):
9492         * alloc.c (make_vector_internal):
9493         * alloc.c (make_bit_vector_internal):
9494         * alloc.c (sweep_bit_vectors_1):
9495         * fns.c (size_bit_vector):
9496         Update all callers of FLEXIBLE_ARRAY_STRUCT_SIZEOF to add new arg.
9497         * window.c (sizeof_window_config_for_n_windows): 
9498         Use FLEXIBLE_ARRAY_STRUCT_SIZEOF.
9499
9500 2001-01-24  Martin Buchholz  <martin@xemacs.org>
9501
9502         * lread.c (read1): Rename `fexp', which is #defined in SGI's math.h
9503
9504 2001-01-23  Andy Piper  <andy@xemacs.org>
9505
9506         * select.c (Fown_selection_internal): pass owned_p
9507
9508         * select-msw.c (mswindows_own_selection): New Signature.
9509
9510         * console.h (struct console_methods): add owned_p to
9511         _own_selection.
9512
9513         * select-x.c (x_own_selection): pass owned_p
9514         (hack_motif_clipboard_selection): use owned_p
9515         (vars_of_select_x): new variable -
9516         x_selection_strict_motif_ownership.
9517
9518 2001-01-23  Martin Buchholz  <martin@xemacs.org>
9519
9520         * specifier.h (specifier_data_offset): Remove pointless parens.
9521         * glyphs.h (IMAGE_SPECIFIER_DATA): Likewise.
9522
9523 2001-01-24  Martin Buchholz  <martin@xemacs.org>
9524
9525         Make Lisp_Object sizeof methods be alignment-correct.
9526         pdump must restore objects to the same alignment as the C compiler
9527         assumes.  It really matters on SGIs.
9528         * lstream.c (aligned_sizeof_lstream): New.
9529         (sizeof_lstream): Use aligned_sizeof_lstream.
9530         (Lstream_new): Likewise.
9531         * opaque.c (aligned_sizeof_opaque): New.
9532         (sizeof_opaque): Use aligned_sizeof_opaque.
9533         (make_opaque): Likewise.
9534         * specifier.c (aligned_sizeof_specifier): New.
9535         (sizeof_specifier): Use aligned_sizeof_specifier.
9536         (make_specifier_internal): Likewise.
9537
9538 2001-01-23  Martin Buchholz  <martin@xemacs.org>
9539
9540         * lstream.h (struct lstream): Use max_align_t for trailing data.
9541         * specifier.h (struct Lisp_Specifier): Likewise.
9542
9543 2001-01-22  Martin Buchholz  <martin@xemacs.org>
9544
9545         * mule-ccl.c (CCL_Extension): Renamed from CCL_Extention.
9546         (CCL_SUCCESS): Kludge to prevent Sun cc compiler warnings.
9547         (CCL_SUSPEND): Likewise.
9548         (CCL_INVALID_CMD): Likewise.
9549         (CCL_CALL_FOR_MAP_INSTRUCTION): Likewise.
9550         (ccl_driver): Likewise.
9551         (CCL_WRITE_CHAR): Macro hygiene.
9552         (CCL_WRITE_STRING): Macro hygiene.
9553
9554 2001-01-22  Martin Buchholz  <martin@xemacs.org>
9555
9556         Port "portable" dumper to SunOS 4 and HP-UX.
9557         * s/aix4.h (AIX4): Move MAP_FAILED definition elsewhere.
9558         * emacs.c (main): PDUMP implies no RUN_TIME_REMAP.
9559         * dumper.c (pdump_file_get): Define MAP_FAILED if not already defined.
9560
9561 2001-01-22  Martin Buchholz  <martin@xemacs.org>
9562
9563         * lisp.h (ALIGNOF): A better definition for C++.
9564
9565 2001-01-20  Martin Buchholz  <martin@xemacs.org>
9566
9567         Macro hygiene.
9568         Fix printf warnings: int format, long int arg.
9569         * regex.c (DECLARE_DESTINATION): Use DECLARE_NOTHING.
9570         (PUSH_FAILURE_POINT): Use correct printf formats.
9571         (POP_FAILURE_POINT): Use correct printf formats.  
9572         Use do {...} while (0)
9573
9574 2001-01-20  Martin Buchholz <martin@xemacs.org>
9575
9576         * XEmacs 21.2.42 "Poseidon" is released.
9577
9578 2001-01-20  Martin Buchholz  <martin@xemacs.org>
9579
9580         * console-x.h: typo fix du jour.  Remove #if 0'ed code.
9581
9582 2001-01-19  Martin Buchholz  <martin@xemacs.org>
9583
9584         De-kludgify FIXED_TYPE free list frobbing.
9585         Fix crashes on 64-bit platforms introduced by my patch of 2001-01-13.
9586         * alloc.c (DECLARE_FIXED_TYPE_ALLOC): Use Lisp_Free.
9587         * alloc.c (ALLOCATE_FIXED_TYPE_1): Use new definitions.
9588         * alloc.c (Lisp_Free): New pseudo lisp object definition.
9589         * alloc.c (LRECORD_FREE_P): New.
9590         * alloc.c (MARK_LRECORD_AS_FREE): New.
9591         * alloc.c (MARK_LRECORD_AS_NOT_FREE): New.
9592         * alloc.c (STRUCT_FREE_P): Deleted.
9593         * alloc.c (MARK_STRUCT_AS_FREE): Deleted.
9594         * alloc.c (MARK_STRUCT_AS_NOT_FREE): Deleted.
9595         * alloc.c (STRING_CHARS_FREE_P): New.
9596         * alloc.c (MARK_STRING_CHARS_AS_FREE): New.
9597         * alloc.c (PUT_FIXED_TYPE_ON_FREE_LIST): Use new definitions.
9598         * alloc.c (FREE_FIXED_TYPE): Use new definitions.
9599         * alloc.c (STRING_CHARS_FREE_P): Use new definitions.
9600         * alloc.c (resize_string): Use new definitions.
9601         * alloc.c (SWEEP_FIXED_TYPE_BLOCK): Use new definitions.
9602         * alloc.c (verify_string_chars_integrity): Use new definitions.
9603         * alloc.c (compact_string_chars): Use new definitions.
9604         * alloc.c: Update monster comments.
9605         * lrecord.h (lrecord_type): Add some new lrecord types for
9606         alloc.c's use.
9607
9608 2001-01-18  Martin Buchholz  <martin@xemacs.org>
9609
9610         Improve alignment hackery.
9611         * lisp.h (ALIGNOF): Better definition for the non-gcc case.
9612         (max_align_t): Moved from opaque.h - general purpose.
9613         (ALIGN_PTR): Use size_t, not long.
9614         * opaque.h (max_align_t): Move to lisp.h.
9615
9616 2001-01-18  Norbert Koch  <nk@LF.net>
9617
9618         * gui.h: Fix and add prototypes to fix build problems.
9619
9620 2001-01-18  Martin Buchholz  <martin@xemacs.org>
9621
9622         temacs is going away, so `dump-temacs' is now a bad name.
9623         * .dbxrc (dump-temacs): Rename to `dmp'.
9624         * .gdbinit (dump-temacs): Rename to `dmp'.
9625
9626 2001-01-17  Andy Piper  <andy@xemacs.org>
9627
9628         * glyphs.c (print_image_instance): comment to make martin happy.
9629
9630         * glyphs-x.c (x_redisplay_widget): update faces after a frame
9631         change.
9632
9633         * glyphs-msw.c (mswindows_redisplay_widget): add code to cope with
9634         activation.
9635         (mswindows_tab_control_redisplay): warning suppression.
9636
9637         * glyphs-widget.c (widget_update): re-write to cope with updated
9638         items.
9639         (widget_instantiate): use new gui_item functions.
9640         (tab_control_update): deleted.
9641         (progress_gauge_update): deleted.
9642         (image_instantiator_progress_guage): take out update reference.
9643         (image_instantiator_tree_view): ditto.
9644         (image_instantiator_tab_control): ditto.
9645
9646         * gui.c (widget_gui_parse_item_keywords): new function. Do things
9647         Right the new way.
9648         (gui_item_add_keyval_pair): re-write to cope with descriptors and
9649         return whether anything was changed.
9650         (update_gui_item_keywords): as it sounds.
9651
9652         * gui.h: declare widget_gui_parse_item_keywords.
9653
9654         * fns.c (safe_copy_tree): new function taken from Fcopy_tree.
9655         (Fcopy_tree): use it. Stops infloop death in bogus instantiators.
9656
9657 2001-01-17  Martin Buchholz <martin@xemacs.org>
9658
9659         * XEmacs 21.2.41 "Polyhymnia" is released.
9660
9661 2001-01-16  Didier Verna  <didier@xemacs.org>
9662
9663         * glyphs.c (image_instantiate): don't use fallbacks when
9664         instantiating a face's background pixmap by inheritance.
9665
9666 2001-01-14  Mike Sperber <mike@xemacs.org>
9667
9668         * sysdep.c (start_of_data): PDUMP implies ORDINARY_LINK.
9669         Conditionalize accordingly.
9670
9671 2001-01-16  Martin Buchholz  <martin@xemacs.org>
9672
9673         * dumper.c (pdump_file_get): Fix a compiler warning.
9674
9675 2001-01-15  Martin Buchholz  <martin@xemacs.org>
9676
9677         Make Purify happy when pdumping.
9678         * symbols.c (Fmake_variable_buffer_local): Make Purify happy, by
9679         iniitalizing all bits of new lisp object memory.
9680         * symbols.c (Fmake_local_variable): Likewise.
9681         * symbols.c (Fdontusethis_set_symbol_value_handler): Likewise.
9682         * symbols.c (Fdefvaralias): Likewise.
9683         * mule-charset.c (vars_of_mule_charset): Likewise.
9684
9685 2001-01-15  Martin Buchholz  <martin@xemacs.org>
9686         Add the `-nd' flag when running pre-dump operations under the debugger.
9687         * .dbxrc (run-temacs): Add `-nd'.
9688         * .dbxrc (update-elc): Likewise.
9689         * .dbxrc (dump-temacs): Likewise.
9690         * .gdbinit (run-temacs): Likewise.
9691         * .gdbinit (check-temacs): Likewise.
9692         * .gdbinit (update-elc): Likewise.
9693         * .gdbinit (dump-temacs): Likewise.
9694
9695 2001-01-14  Martin Buchholz  <martin@xemacs.org>
9696
9697         Allow building 64-bit executables on AIX with GNU malloc, e.g.
9698         export OBJECT_MODE=64
9699         configure --pdump --use-union-type=no
9700         * m/ibmrs6000.h (DATA_START): Define for 64-bit world.
9701         * gmalloc.c (__default_morecore): Remove pre-ANSI cruft.
9702
9703         * miscplay.c (sndcnv8U_2mono):
9704         Avoid two uses of `++' in the same expression.
9705         Suppresses a GCC warning.
9706
9707 2001-01-13  Martin Buchholz  <martin@xemacs.org>
9708
9709         Make sure future compilers don't miscompile alloc.c.
9710         * alloc.c:
9711         (MARK_STRUCT_AS_FREE): Make aliasing-optimization-resistant.
9712         (MARK_STRUCT_AS_NOT_FREE): Make aliasing-optimization-resistant.
9713
9714 2001-01-12  Martin Buchholz  <martin@xemacs.org>
9715
9716         * dumper.c: A little post-pdump-rename comment fixup.
9717
9718 2001-01-09  Jerry James  <james@eecs.ku.edu>
9719
9720         * lisp-disunion.h: Change LISP_TO_CVOID arg to match its use.
9721
9722 2001-01-13  Martin Buchholz  <martin@xemacs.org>
9723
9724         * *.[ch]: Globally rename symbols using the following `pdump-rename'
9725         script:
9726         #!/bin/sh
9727         replace_symbol () {
9728           (findn texi$; findn [ch]$) | xargs g -lw "$1" | xargs global-replace 's/(?<!_)\b'$1'\b(?!_)/'$2'/g'
9729         }
9730
9731         replace_symbol pdump_wire_lists pdump_weak_object_chains
9732         replace_symbol pdump_wire_list dump_add_weak_object_chain
9733
9734         replace_symbol pdump_wires pdump_root_objects
9735         replace_symbol pdump_wire dump_add_root_object
9736
9737         replace_symbol pdump_dump_wired pdump_dump_from_root_objects
9738         replace_symbol pdump_dump_structs pdump_dump_from_root_struct_ptrs
9739
9740         replace_symbol dumpstructinfos pdump_root_struct_ptrs
9741         replace_symbol dumpstructinfo_dynarr pdump_root_struct_ptr_dynarr
9742         replace_symbol dumpstructinfo pdump_root_struct_ptr
9743         replace_symbol dumpstruct dump_add_root_struct_ptr
9744
9745         replace_symbol dumpopaque dump_add_opaque
9746         replace_symbol dumpopaqueinfo_dynarr pdump_opaque_dynarr
9747         replace_symbol dumpopaqueinfos pdump_opaques
9748         replace_symbol dumpopaqueinfo pdump_opaque
9749
9750         replace_symbol nb_structdump nb_root_struct_ptrs
9751         replace_symbol nb_opaquedump nb_opaques
9752
9753         replace_symbol align_table pdump_align_table
9754         replace_symbol dump_header pdump_header
9755
9756         replace_symbol DUMP_SIGNATURE_LEN PDUMP_SIGNATURE_LEN
9757         replace_symbol DUMP_SIGNATURE PDUMP_SIGNATURE
9758
9759
9760 2001-01-12  Martin Buchholz  <martin@xemacs.org>
9761
9762         * s/aix4.h: Keep the C for AIX compiler from overaggressively
9763         optimizing bytecount_to_charcount().
9764
9765 2001-01-06  Golubev I. N.  <gin@mo.msk.ru>
9766
9767         * config.h.in:
9768         (HAVE_DLFCN_H): Removed.
9769         * sysdll.c: Remove HAVE__DLOPEN, HAVE_DLFCN_H.
9770
9771 2001-01-06  Martin Buchholz  <martin@xemacs.org>
9772
9773         Portable dumper maintainability improvements.
9774         * alloc.c (staticpro):
9775         * alloc.c (staticpro_nodump):
9776         * alloc.c (garbage_collect_1):
9777         * alloc.c (reinit_alloc_once_early):
9778         * alloc.c (init_alloc_once_early):
9779         * alloc.c: Move dumper functions to alloc.c.
9780         * dumper.c (pdump_backtrace):
9781         * dumper.c (pdump_dump_structs):
9782         * dumper.c (pdump_dump_opaques):
9783         * dumper.c (pdump_dump_rtables):
9784         * dumper.c (pdump_dump_wired):
9785         * dumper.c (pdump):
9786         * dumper.c (pdump_load_check):
9787         * dumper.c (pdump_load_finish):
9788         * dumper.c (pdump_file_unmap):
9789         * dumper.c (pdump_file_get):
9790         * dumper.c (pdump_resource_free):
9791         * dumper.c (pdump_resource_get):
9792         * dumper.c (pdump_file_free):
9793         * dumper.c (pdump_file_try):
9794         * dumper.c (pdump_load):
9795         Remove fixed size limits on staticpro(), staticpro_nodump(),
9796         dumpopaque(), dumpstruct() by using Dynarrs instead of static C arrays.
9797         Remove custom code for dumping lrecord_implementations_table - use
9798         dumpopaque instead.
9799         Remove (most of the) custom code for dumping staticpros - dump it
9800         like any other dynarr.
9801
9802         * alloc.h: Removed.  No longer useful, since dumper now more self-contained.
9803         * dumper.c: Moved functions from alloc.c.
9804         * alloc.c (dumpstruct): Moved to dumper.c.
9805         * alloc.c (dumpopaque): Likewise.
9806         * alloc.c (pdump_wire): Likewise.
9807         * alloc.c (pdump_wire_list): Likewise.
9808
9809         * lisp.h (Dynarr_sizeof): New.
9810         * lisp.h (Dynarr_begin): New.  Very slightly C++oid.
9811         * lisp.h (Dynarr_end): New.  Very slightly C++oid.
9812         * lisp.h (Lisp_Object_ptr_dynarr): New.  For staticpros.
9813
9814         * lisp.h (dumpstruct): Define to nothing if not PDUMPing.
9815         * lisp.h (dumpopaque): ditto.
9816         * lisp.h (pdump_wire): ditto.
9817         * lisp.h (pdump_wire_list): ditto.
9818
9819 2001-01-09  Martin Buchholz  <martin@xemacs.org>
9820
9821         * make-src-depend (PrintPatternDeps):
9822         Use `sort' to make output independent of perl version.
9823
9824 2001-01-08  Martin Buchholz  <martin@xemacs.org>
9825
9826         Port to Netbsd 1.5.
9827         * unexelf.c: Remove (never used) bogus Netbsd-specific cruft.
9828         * s/netbsd.c: Use unexelf.o if __ELF__ is defined.
9829
9830 2001-01-03  Didier Verna  <didier@xemacs.org>
9831
9832         * event-stream.c (emacs_handle_focus_change_preliminary): ensure
9833         that `focus_frame' is alive before thinking of calling
9834         `redisplay_redraw_cursor' on it.
9835
9836 2001-01-08  Martin Buchholz <martin@xemacs.org>
9837
9838         * XEmacs 21.2.40 is released.
9839
9840 2001-01-06  Golubev I. N.  <gin@mo.msk.ru>
9841
9842         * regex.c: Replace PREFETCH with REGEX_PREFETCH.
9843
9844 2001-01-06  Martin Buchholz  <martin@xemacs.org>
9845
9846         * alloc.c (dbg_valmask): Make const.
9847         * alloc.c (dbg_typemask): Make const.
9848         * alloc.c (dbg_USE_UNION_TYPE): Make const.
9849         * alloc.c (dbg_valbits): Make const.
9850         * alloc.c (dbg_gctypebits): Make const.
9851
9852 2001-01-06  Stephen J. Turnbull  <stephen@xemacs.org>
9853
9854         * redisplay-x.c (x_bevel_area):
9855         redisplay.h (struct rune):
9856         Typo fixes in comments.
9857
9858 2001-01-05  Andy Piper  <andy@xemacs.org>
9859
9860         * glyphs-x.c (x_redisplay_widget): use size changed for offset
9861         adjustment.
9862
9863         * menubar.c (menubar_visible_p_changed): don't mark frame changed.
9864
9865 2001-01-05  Martin Buchholz  <martin@xemacs.org>
9866
9867         * alloc.c (pure-bytes-used): Remove unused mendacious variable.
9868
9869         * mule-ccl.c (stack_idx_of_map_multiple):
9870         Non const global data must not be initialized!
9871         Found by MIYASHITA Hisashi.
9872
9873 2001-01-02  Andy Piper  <andy@xemacs.org>
9874
9875         * frame.c (change_frame_size): make sure frame size is always
9876         marked as changed.
9877
9878         * glyphs.c (image_instance_layout): minor code reuse.
9879
9880         * window.c (Fcurrent_window_configuration): revert previous
9881         change.
9882
9883 2001-01-02  Martin Buchholz  <martin@xemacs.org>
9884
9885         * glyphs.h:
9886         * glyphs.c (make_image_instance_cache_hash_table): Use ANSI prototypes.
9887
9888 2000-12-31  Andy Piper  <andy@xemacs.org>
9889
9890         * glyphs-x.c (x_unmap_subwindow): return focus to enclosing frame
9891         when widget gets unmapped.
9892
9893         * event-Xt.c (emacs_Xt_handle_widget_losing_focus): new
9894         function. Make sure widgets losing focus don't just drop it.
9895         (handle_focus_event_1): record the widget with focus.
9896
9897 2000-12-31  Andy Piper  <andy@xemacs.org>
9898
9899         * window.c (allocate_window): use
9900         make_image_instance_cache_hash_table.
9901         (make_dummy_parent): ditto.
9902         (Fset_window_configuration): ditto.
9903
9904         * glyphs.h (INSTANTIATOR_TYPE): new macro.  declare new functions.
9905
9906         * glyphs.c (process_image_string_instantiator): use
9907         INSTANTIATOR_TYPE.
9908         (get_image_instantiator_governing_domain): ditto.
9909         (normalize_image_instantiator): ditto.
9910         (instantiate_image_instantiator): ditto.
9911         (make_image_instance_1): ditto.
9912         (image_instantiate): ditto. Key on glyph *and* instantiator type.
9913         (instantiator_eq_equal): new function for use with instance hash
9914         tables.
9915         (instantiator_eq_hash): ditto.
9916         (make_image_instance_cache_hash_table): create a suitable hash
9917         table for storing image instances.
9918
9919         * elhash.h (hash_table_weakness): new internal weakness type
9920         HASH_TABLE_KEY_CAR_VALUE_WEAK.
9921         declare new functions.
9922
9923         * elhash.c (finish_marking_weak_hash_tables): introduce yet
9924         another weakness type for glyphs.
9925         (make_standard_lisp_hash_table): new function split out from
9926         make_general_lisp_hash_table.
9927         (make_lisp_hash_table): call make_standard_lisp_hash_table.
9928         (hash_table_instantiate): ditto.
9929         (Fmake_hash_table): ditto.
9930
9931 2000-12-31  Martin Buchholz <martin@xemacs.org>
9932
9933         * XEmacs 21.2.39 is released.
9934
9935 2000-12-29  Andy Piper  <andy@xemacs.org>
9936
9937         * menubar.c (menubar_visible_p_changed): signal the frame changed.
9938
9939         * glyphs-x.c (x_redisplay_widget): Re-calculate widget offsets if
9940         the frame has changed so that we pick up geometry changes such as
9941         menubar visibility.
9942
9943 2000-12-28  Andy Piper  <andy@xemacs.org>
9944
9945         * lastfile.c (my_ebss): make a char array so we can pad the
9946         bss. Fixes cygwin unexec.
9947
9948         * unexcw.c: invert BROKEN_GDB to NO_DEBUG.
9949
9950 2000-12-26  Andy Piper  <andy@xemacs.org>
9951
9952         * event-Xt.c (emacs_Xt_force_event_pending): add some verbose
9953         comments and try and be more precise about a non-/SIGIO world.
9954         (emacs_Xt_event_pending_p): use XtAppPending under cygwin and non
9955         SIGIO.
9956
9957         * redisplay-output.c (redisplay_normalize_glyph_area): make sure
9958         we don't normalize to zero width or height.
9959
9960 2000-12-24  Andy Piper  <andy@xemacs.org>
9961
9962         * Makefile.in.in (ldflags): add -mwindows when appropriate.
9963
9964 2000-08-18  Golubev I. N.  <gin@mo.msk.ru>
9965
9966         * s/sco5.h: SCO 5 has pty support.
9967
9968 2000-07-20  Kazuyuki IENAGA <ienaga@xemacs.org>
9969
9970         * input-method-xlib.c: supports both XIM_XLIB and USE_XFONTSET.
9971         input-method-xlib.c contains whole contents of input-method-xfs.c,
9972         so we can use input-method-xlib.c's code for USE_XFONTSET
9973         using #ifdefs.
9974         * input-method-xfs.c: removed.
9975
9976 2000-12-20  Stephen Turnbull  <stephen@xemacs.org>
9977
9978         * file-coding.h (enum coding_category_type): reorder enumerators to
9979         make autodetection safer.  Make CODING_CATEGORY_LAST an enumerator
9980         (now one greater than largest real coding_category_type enumerator).
9981         * file-coding.c (coding_category_symbol, coding_category_by_priority,
9982         coding_category_system, fcd_descriptihon_1, decode_coding_category,
9983         Fcoding_category_list, Fset_coding_priority_list,
9984         Fcoding_priority_list, coding_system_from_mask, Fdetect_coding_region,
9985         vars_of_file_coding): adjust for change in CODING_CATEGORY_LAST.
9986
9987 2000-12-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
9988
9989         * redisplay-output.c (redisplay_clear_top_of_window): Remove static.
9990         * redisplay-output.c (redisplay_output_window): Clear top of window
9991         when face is changed.
9992         * redisplay-x.c (x_redraw_exposed_window): Call
9993         redisplay_clear_top_of_window.
9994         * redisplay.h: Publish redisplay_clear_top_of_window.
9995
9996 2000-12-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
9997
9998         * buffer.c (Fkill_buffer): Map over all devices.
9999         * window.c (window_loop): Remove UNSHOW_BUFFER code.
10000         (list_windows): New function.
10001         (list_all_windows): Ditto.
10002         (Freplace_buffer_in_windows): Use them.
10003
10004 2000-02-02   Daiki Ueno <ueno@ueda.info.waseda.ac.jp>
10005
10006         * database.c (berkdb_subtype): Recognize new subtype `queue'.
10007         (Fopen_database): Use `db_create' instead of `db_open'.
10008         (syms_of_database): Initialize Qqueue.
10009
10010 2000-12-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
10011
10012         * buffer.c (common_init_complex_vars_of_buffer): Initialize
10013         buffer_local_face_property.
10014         * buffer.h (struct buffer): New member buffer_local_face_property.
10015         * window.c (Fset_window_buffer):  Mark window's face as changed
10016         when buffer has buffer local face.
10017         * window.h (MARK_WINDOW_FACES_CHANGED): New macro.
10018         * objects.c (color_after_change): Set buffer_local_face_property
10019         when locale of face specifier is buffer.
10020         * objects.c (font_after_change): Ditto.
10021         * objects.c (face_boolean_after_change): Ditto.
10022         * glyphs.c (image_after_change): Ditto.
10023
10024 2000-12-09  Dan Holmsand  <dan@eyebee.com>
10025
10026         * nt.c (mswindows_fstat): Report file permissions, volume serial
10027         number, etc. Code adapted from FSF Emacs 20.7.
10028
10029 2000-12-09  Dan Holmsand  <dan@eyebee.com>
10030
10031         * sysfile.h (lstat): Make lstat an alias for xemacs_stat instead
10032         of stat when we don't have symbolic links, to make sure
10033         mswindows_stat is called on mswindows.
10034
10035 2000-12-12  Yoshiki Hayashi  <yoshiki@xemacs.org>
10036
10037         * alloca.c: Define malloc to xmalloc only when built with XEmacs.
10038
10039 2000-12-12  Martin Buchholz  <martin@xemacs.org>
10040
10041         * doprnt.c (emacs_doprnt_1): More printing fixes.
10042         Make printing of numbers compatible with libc and FSF Emacs.
10043         BUG was: (format "%6.3f" 1.2) ==>"1.200000"
10044         Use the system printf to do most of the hard work of formatting,
10045         instead of doprnt_1().
10046         Calculate memory to allocate for format string.
10047         Remove arbitrary limit on precision, e.g. (format "%.1000f" 3.14)
10048         (doprnt_1): Cleaner code and documentation.
10049
10050 2000-12-01  Jerry James  <james@eecs.ukans.edu>
10051
10052         * Makefile.in.in: Use the loop variable to install headers.
10053
10054 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
10055
10056         * window.c (Fsplit_window): Don't invalidate face cache.
10057
10058 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
10059
10060         * minibuf.c (Fall_completions): Undo the previous change
10061         which removed checking elements start with space.
10062
10063 2000-12-06  Stephen Turnbull  <stephen@xemacs.org>
10064
10065         * mule-canna.c: Didier suppression.
10066
10067 2000-12-06  Stephen Turnbull  <stephen@xemacs.org>
10068
10069         * mule-canna.c: rename static unsigned char buf[] to key_buffer
10070         (warning suppression).  Add English comment translations.
10071
10072 2000-12-05  Martin Buchholz  <martin@xemacs.org>
10073
10074         * unexelfsgi.c (unexec): Better test for mmap failure.
10075
10076 2000-12-05  Martin Buchholz <martin@xemacs.org>
10077
10078         * XEmacs 21.2.38 is released.
10079
10080 2000-12-05  Martin Buchholz  <martin@xemacs.org>
10081
10082         * redisplay.c (bar-cursor): Make a user variable.
10083
10084         * symsinit.h: Add init_postgresql_from_environment.
10085
10086 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
10087
10088         * regex.c: Convert to clean C.
10089
10090 2000-12-05  Dan Holmsand  <dan@eyebee.com>
10091
10092         * realpath.c:
10093         Don't #include sysfile.h. Revert to duplicating PATH_MAX
10094         initialization.
10095         (sys_readlink): renamed to system_readlink to avoid conflict with
10096         the other sys_readlink.
10097
10098 2000-12-04  Hiroaki Abe  <h-abe@pc.highway.ne.jp>
10099
10100         * dumper.c (pdump_file_get): Correct uses of pdump_fd.
10101
10102 2000-12-04  Stephen J. Turnbull  <stephen@xemacs.org>
10103
10104         * postgresql.c (init_postgresql_from_environment): new function.
10105         (vars_of_postgresql): Move code initializing Lisp variables out and
10106         into init_postgresql_from_environment.
10107         emacs.c (main_1): Call init_postgresql_from_environment if and only
10108         if running a dumped XEmacs.
10109
10110 2000-08-31  Dan Holmsand  <dan@eyebee.com>
10111
10112         * buffer.c: Make find-file-compare-truenames default to true on
10113         windows.
10114
10115         * realpath.c (win32_abs_start):
10116         (cygwin_readlink):
10117         (win32_readlink): New functions.
10118         (xrealpath): Return really real filenames on windows.
10119
10120         * fileio.c (Ffile_truename): Make file-truename work on windows.
10121
10122 2000-11-29  Didier Verna  <didier@xemacs.org>
10123
10124         * faces.c (MAYBE_UNFROB_BACKGROUND_PIXMAP): new macro.
10125         * faces.c (update_face_cachel_data): use it.
10126         * faces.c (add_face_cachel): use it. Complete background pixmap
10127         frobbing in face cache if `update_face_cachel_data' has not done so.
10128
10129 2000-11-29  Yoshiki Hayashi  <yoshiki@xemacs.org>
10130
10131         * search.c (string_match_1): Don't set last_thing_searched
10132         when search failed.
10133
10134 2000-11-27  Yoshiki Hayashi  <yoshiki@xemacs.org>
10135
10136         * buffer.c: Include casetab.h
10137         (common_init_complex_vars_of_buffer): Use new case-table object.
10138         * buffer.h: Include casetab.h
10139         * buffer.h (MAKE_TRT_TABLE): Use generic char-table.
10140         (DOWNCASE_TABLE_OF): Ditto.
10141         * bufslots.h: Remove char-tables and add case-table.
10142         * casetab.c: Include casetab.h
10143         (CASE_TABLE_P): Removed.
10144         (mark_case_table): New function.
10145         (allocate_case_table): New function.
10146         (Fcase_table_p): Use new case-table.
10147         (case_table_char): New function.
10148         (Fget_case_table): Ditto.
10149         (Fput_case_table): Ditto.
10150         (Fput_case_table_pair): Ditto.
10151         (Fcopy_case_table): Ditto.
10152         (Fcurrent_case_table): Return case-table.
10153         (Fstandard_case_table): Return case-table.
10154         (Fset_case_table): Fix doc-string.
10155         (set_case_table): Use case-table
10156         (syms_of_casetab): DEFSUBR new functions.
10157         (complex_vars_of_casetab): Set up standard case-table.
10158         * casetab.h: New file.
10159         * editfns.c: Include casetab.h
10160         (Fcompare_buffer_substrings): Use case-table.
10161         * inline.c: Include casetab.h
10162         * lisp.h: Remove bogus extern.
10163         * lrecord.h (lrecord_type): Add lrecord_type_case_table.
10164         * search.c: Include casetab.h
10165         (TRANSLATE_ASCII): Removed.
10166         (TRANSLATE): Unconditionally translate character.
10167         (looking_at_1): Use case-table.
10168         (string_match_1): Ditto.
10169         (fast_string_match): Ditto.
10170         (search_command): Ditto.
10171         (search_buffer): Separate boyer_moore.  Check whether
10172         boyer_moore is possible.
10173         (simple_search): New function.
10174         (boyer_moore): Separated from search_buffer. Translate char.
10175
10176 2000-11-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
10177
10178         * regex.c (RE_TR_ASCII): Removed.
10179         (RE_TRANSLATE): Unconditionally use TRT_TABLE.
10180         (PATFETCH): Call PATFETCH_RAW.
10181         (PATFETCH_RAW): Fetch Emchar.
10182         (PATUNFETCH): Decrement charptr.
10183         (GET_BUFFER_SPACE): Rename b to buf_end.
10184         (BUF_PUSH): Ditto.
10185         (BUF_PUSH_2): Ditto.
10186         (BUF_PUSH_3): Ditto.
10187         (EXTEND_BUFFER): Ditto.
10188         (SET_LIST_BIT): Ditto.
10189         (regex_compile): Ditto.  Translate non ASCII char.
10190         (compile_range): Ditto.
10191         (re_search_2): Ditto.
10192         (re_match_2_internal): Compare Emchar.
10193         (bcmp_translate): Ditto.
10194
10195 2000-11-29  Stephen J. Turnbull  <turnbull@xemacs.org>
10196
10197         * lisp.h (basic char/int typedefs):  comment improvement.
10198
10199 2000-11-24  Stephen J. Turnbull  <turnbull@xemacs.org>
10200
10201         * emacs.c (main_1):  unconditional pdump unstomping; don't save and
10202         unstomp inhibit_site_lisp.  Improve comments.
10203
10204 2000-11-22  Stephen J. Turnbull  <turnbull@xemacs.org>
10205
10206         * mule-charset.c (Fcharset_property):  improve type checking, comments.
10207
10208 2000-11-28  Andy Piper  <andy@xemacs.org>
10209
10210         * redisplay-output.c (redisplay_output_subwindow): make sure we do
10211         clipped display for windows in the gutter also.
10212         (redisplay_display_boxes_in_window_p): change semantics of return
10213         codes to be more intuitive.
10214
10215         * gutter.h: declare display_boxes_in_gutter_p.
10216
10217         * gutter.c (display_boxes_in_gutter_p): new function for
10218         redisplay.
10219
10220 2000-11-22  Andy Piper  <andy@xemacs.org>
10221
10222         * glyphs-x.c (image_instantiator_format_create_glyphs_x): change
10223         autodetect domain.
10224
10225 2000-11-21  Yoshiki Hayashi  <yoshiki@xemacs.org>
10226
10227         * callproc.c (Fold_call_process_internal):
10228         * gpm.c (Freceive_gpm_event):
10229         (tty_get_foreign_selection): Might be just warning supression.
10230         * fileio.c (Fwrite_region_internal):
10231         (Fset_visited_file_modtime):
10232         * keymap.c (event_matches_key_specifier_p):
10233         Initialize GCPROed variable.
10234
10235         * menubar-x.c (command_builder_find_menu_accelerator):
10236         Initialize before use.
10237
10238 2000-11-23  Andy Piper  <andy@xemacs.org>
10239
10240         * unexcw.c (unexec): make the resulting executable executable.
10241
10242 2000-11-21  Martin Buchholz  <martin@xemacs.org>
10243
10244         * doc.c (get_doc_string):
10245         Use size_t, not int, for result of XSTRING_LENGTH.
10246
10247         * cmds.c (Fdelete_char):
10248         * cmds.c (Fpoint_at_eol):
10249         * cmds.c (Fself_insert_command):
10250         Use EMACS_INT, not int, for result of XINT.
10251         Someday, someone will want to insert more than 2**31 identical characters.
10252
10253         * cmds.c (Fdelete_char):
10254         * cmds.c (Fdelete_backward_char):
10255         * syntax.c (Fforward_word):
10256         * syntax.c (Fforward_comment):
10257         Make COUNT argument optional, for consistency with forward-char et al.
10258
10259 2000-11-22  Martin Buchholz  <martin@xemacs.org>
10260
10261         * lisp.h:
10262         * print.c (long_to_string):
10263         Return a useful value: the pointer at end of data written.
10264
10265         * doprnt.c:
10266         Use `static const char * const' for constant strings.
10267         (union printf_arg): Delete `i', `ui' members.
10268         (get_doprnt_args):
10269         (emacs_doprnt_1):
10270         Fix LP64 platform bug: (format "%d" most-positive-fixnum) ==> "-1"
10271         Do all printf-ing via the `l' specifier.
10272         Use EMACS_INT instead of int.
10273         Optimize.
10274
10275 2000-11-20  Didier Verna  <didier@xemacs.org>
10276
10277         * faces.c (update_face_cachel_data): don't frob the background
10278         pixmap when the window is being created. The face is needed but
10279         does not exist yet.
10280
10281 2000-11-20  Andy Piper  <andy@xemacs.org>
10282
10283         * unexcw.c (copy_executable_and_dump_data_section): Only do bss
10284         messing with a debug environment.
10285
10286 2000-11-20  Martin Buchholz  <martin@xemacs.org>
10287
10288         * emacs.c (__sti__iflPNGFile_c___): Pedantically correct prototype.
10289
10290 2000-11-20  Martin Buchholz  <martin@xemacs.org>
10291
10292         * casetab.c (Fcase_table_p): Fix compile error and crash.
10293
10294 2000-11-18  Philip Aston  <philipa@mail.com>
10295
10296         * s/cygwin32.h: Cygwin has SVR4-like pty support.
10297
10298 2000-11-18  Martin Buchholz  <martin@xemacs.org>
10299
10300         * fileio.c (Fexpand_file_name): GCPRO bug!  Protect `handler'.
10301         * filelock.c (lock_file): GCPRO bug! Initialize all GCPROed vars!
10302
10303 2000-11-17  Martin Buchholz  <martin@xemacs.org>
10304
10305         * config.h.in: Define HAVE_ELF_H if elf.h exists.
10306         * unexelf.c: Use HAVE_ELF_H.
10307         * unexelfsgi.c: Fix bug with dumped xemacs stdout/stderr not working.
10308         I copied FSF Emacs 20.7 unexelf.c to unexelfsgi.c and ANSIfied it.
10309         Max Matveev <makc@sgi.com> removed non-SGI-relevant parts and tested.
10310         Greg Harrington <greg_harrington@hotmail.com> provided a machine
10311         for testing.
10312         So this is an unexelfsgi.c from a different line of development.
10313
10314 2000-11-16  Yoshiki Hayashi  <yoshiki@xemacs.org>
10315
10316         * regex.c (RE_TR_ASCII): New function.
10317         (RE_TRANSLATE): Call it.
10318
10319 2000-11-16  Yoshiki Hayashi  <yoshiki@xemacs.org>
10320
10321         * buffer.h (TRT_TABLE_OF): Remove assert.
10322         (IN_TRT_TABLE_DOMAIN): Removed.
10323
10324 2000-11-16  Gunnar Evermann  <ge204@eng.cam.ac.uk>
10325
10326         * free-hook.c (log_gcpro):
10327         (show_gcprohist): Add support for GCPRO5.
10328
10329 2000-11-08  Stephen J. Turnbull  <stephen@xemacs.org>
10330
10331         * emacs.c (main_1): Improve -sd error message when --pdump=no.
10332
10333 2000-11-16  Olivier Galibert  <galibert@xemacs.org>
10334
10335         * symeval.h: Declare flush_all_buffer_local_cache.
10336
10337         * symbols.c: Change XD_LO_RESET_NIL into XD_LISP_OBJECTs.
10338         (flush_buffer_local_cache): Added.
10339         (flush_all_buffer_local_cache): Added.
10340
10341         * lrecord.h: Remove unused XD_LO_RESET_NIL.
10342
10343         * dumper.c (pdump_register_sub): Remove unused XD_LO_RESET_NIL.
10344         (pdump_dump_data): Ditto.
10345         (pdump_reloc_one): Ditto.
10346         (pdump): Remove unused pdump_qnil.  Flush buffer local caches
10347         before dumping.
10348
10349
10350 2000-11-14  Yoshiki Hayashi  <yoshiki@xemacs.org>
10351
10352         * buffer.c: Remove if 0'ed entry.
10353         * buffer.h: Rewrite TRT to use char-table.
10354         * bufslots.h: Remove mirror tables.
10355         * casetab.c: Remove mirror tables.
10356         (CASE_TABLE_P): New macro.
10357         (Fcase_table_p): Element of a case table is string or char-table.
10358         (make_mirror_trt_table): Removed.
10359         (set_case_table): Setup char-table from strings for backward
10360         compatibility.
10361         * dired.c (Fdirectory_files):
10362         * dired-msw.c: (mswindows_get_files):
10363         * lisp.h: Change prototype of re_pattern_buffer.
10364         * regex.c: (RE_TRANSLATE): New macro.
10365         (TRANSLATE_P): Ditto.
10366         Change translate to type RE_TRANSLATE_TYPE.
10367         * regex.h: Define RE_TRANSLATE_TYPE
10368         * search.c (TRANSLATE): New macro.
10369         (TRANSLATE_ASCII): New macro.
10370         Translate table is changed to Lisp_Object.
10371         (signal_failure): Inhibit return.
10372
10373 2000-11-14  Yoshiki Hayashi  <yoshiki@xemacs.org>
10374
10375         * device-msw.c:
10376         * eldap.c:
10377         * event-Xt.c:
10378         * event-stream.c:
10379         * print.c:
10380         Do UNGCPRO before return.
10381
10382 2000-11-14  Martin Buchholz <martin@xemacs.org>
10383
10384         * XEmacs 21.2.37 is released.
10385
10386 2000-11-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
10387
10388         * fileio.c (Finsert_file_contents_internal): UNGCPRO before return.
10389         Add comments about discarded return value.
10390
10391 2000-11-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
10392
10393         * callint.c:
10394         * event-stream.c: Fix comments.  Remove some #if 0'ed part.
10395
10396 2000-10-27  Andy Piper  <andy@xemacs.org>
10397
10398         * gutter.c (Fset_default_gutter_position): default left and right
10399         gutters to visible.
10400         (calculate_gutter_size): calculate resonable heuristic for left
10401         and right gutter sizes.
10402         (specifier_vars_of_gutter): change left and right gutter sizes to
10403         autodetect.
10404         (calculate_gutter_size_from_display_lines): new function.
10405         (output_gutter): check for resizing on left and right gutters.
10406         (clear_gutter): don't special case top and left gutters.
10407         (specifier_vars_of_gutter): use new signature for
10408         set_specifier_caching.
10409
10410         * glyphs-x.c (x_redisplay_widget): spelling fix.
10411         * glyphs.c (specifier_vars_of_glyphs):
10412         * menubar.c (specifier_vars_of_menubar):
10413         * redisplay.c (specifier_vars_of_redisplay):
10414         * toolbar.c (specifier_vars_of_toolbar):
10415         * window.c (specifier_vars_of_window):
10416         * scrollbar.c (specifier_vars_of_scrollbar):
10417         (complex_vars_of_scrollbar): use new signature for
10418         set_specifier_caching.
10419
10420         * specifier.c (set_specifier_caching): include recompute flag.
10421         (recompute_one_cached_specifier_in_window): always recompute if
10422         flag set.
10423         (recompute_one_cached_specifier_in_frame): ditto.
10424
10425         * specifier.h (struct specifier_caching): add recompute flag.
10426
10427 2000-10-24  Andy Piper  <andy@xemacs.org>
10428
10429         * unexcw.c (copy_executable_and_dump_data_section): add new
10430         BSS_PAD_SIZE so that we can re-instate a mini-bss. This keeps gdb
10431         5.0 happy.
10432
10433 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
10434
10435         * console-x.h (x_device): New member modifier_release_time.
10436         * event-Xt.c (x_handle_sticky_modifiers):
10437         Bound interval modifier keys are sticky.
10438         * event-stream.c (Vmodifier_keys_sticky_time): New variable.
10439         * events.h: extern it.
10440
10441 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
10442
10443         * cmdloop.c (Fcommand_loop_1): Just add C-g to event queue.
10444
10445 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
10446
10447         * event-stream.c (execute_command_event): Preserve current_events
10448         and the like when event is misc-user-event.
10449         Inhibit quit during the call to maybe_echo_keys.
10450
10451 2000-10-31  Yoshiki Hayashi  <yoshiki@xemacs.org>
10452
10453         * filelock.c (lock_buffer): Cope with kill-buffer. Don't create a
10454         symlink when buffer is killed.
10455         (inhibit_clash_detection): New variable.
10456
10457 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
10458
10459         * console.c (Fset_input_method): Trigger redisplay on tty.
10460
10461 2000-11-07  Martin Buchholz  <martin@xemacs.org>
10462
10463         * process.c (Fprocess_status): Revert to previous behavior:
10464         (process-status "nosuchprocess") ==> nil
10465
10466 2000-11-06  Martin Buchholz  <martin@xemacs.org>
10467
10468         * mule-charset.h (CHARSET_BY_LEADING_BYTE):
10469         Work around another GCC 2.95.2 optimizer bug.
10470
10471 2000-11-02  Martin Buchholz  <martin@xemacs.org>
10472
10473         * process.c (Fget_process): Use LIST_LOOP_2.
10474         (kill_buffer_processes): Use LIST_LOOP_2.
10475
10476         * minibuf.c (Fall_completions):
10477         Delete old non-functional code for FSF fourth argument.
10478
10479         * frame.c (frame_matches_frame_spec):
10480         Renamed from `frame_matches_frametype'.  Update all callers.
10481         (device_matches_device_spec):
10482         Renamed from 'device_matches_console_spec'.  Update all callers.
10483
10484         * doc.c (Fsubstitute_command_keys):
10485         Remove buffer overflow crash.  Small code cleanups.
10486
10487         * casetab.c (check_case_table): Simpler code.
10488
10489         * window.c (Freplace_buffer_in_windows):
10490         Give this the same WHICH-FRAMES and WHICH-DEVICES parameters
10491         (and similar implementation) as Fdelete_windows_on.
10492         Update all callers.
10493
10494         * alloc.c (Fmake_list):
10495         * alloc.c (make_vector):
10496         * alloc.c (Fmake_vector):
10497         * alloc.c (make_bit_vector):
10498         * alloc.c (Fmake_bit_vector):
10499         * alloc.c (Fbit_vector):
10500         * alloc.c (Fmake_string):
10501         * alloc.c (Fpurecopy):
10502         * alloc.c (Fmemory_limit):
10503         * buffer.c:
10504         * buffer.c (Fget_buffer):
10505         * buffer.c (Fkill_buffer):
10506         * buffer.c (complex_vars_of_buffer):
10507         * bytecode.c (Fcompiled_function_stack_depth):
10508         * callint.c (Fprefix_numeric_value):
10509         * event-stream.c:
10510         * event-stream.c (Fread_key_sequence):
10511         * casetab.c:
10512         * casetab.c (Fcase_table_p):
10513         * casetab.c (check_case_table):
10514         * casetab.c (Fset_case_table):
10515         * casetab.c (Fset_standard_case_table):
10516         * chartab.c:
10517         * chartab.c (Fchar_table_type):
10518         * chartab.c (Freset_char_table):
10519         * chartab.c (Fget_char_table):
10520         * chartab.c (Fget_range_char_table):
10521         * chartab.c (Fput_char_table):
10522         * chartab.c (Fmap_char_table):
10523         * chartab.c (Fcategory_table_p):
10524         * chartab.c (Fcheck_category_at):
10525         * chartab.c (Fchar_in_category_p):
10526         * chartab.c (Fcategory_table):
10527         * chartab.c (Fcopy_category_table):
10528         * chartab.c (Fset_category_table):
10529         * chartab.c (Fcategory_designator_p):
10530         * chartab.c (Fcategory_table_value_p):
10531         * cmds.c (Fdelete_char):
10532         * cmds.c (Fdelete_backward_char):
10533         * cmds.c (Fself_insert_command):
10534         * cmds.c (Fself_insert_internal):
10535         * console.c (Fvalid_console_type_p):
10536         * console.c (Fcdfw_console):
10537         * console.c (Fconsole_type):
10538         * console.c (Fconsole_name):
10539         * console.c (Fconsole_device_list):
10540         * console.c (Fconsole_on_window_system_p):
10541         * data.c:
10542         * data.c (Feq):
10543         * data.c (Fold_eq):
10544         * data.c (Fsubr_interactive):
10545         * data.c (Fchar_to_int):
10546         * data.c (Fint_to_char):
10547         * data.c (Fsetcar):
10548         * data.c (Fsetcdr):
10549         * data.c (Fnumber_to_string):
10550         * data.c (Fstring_to_number):
10551         * data.c (Frem):
10552         * database.c (mark_database):
10553         * database.c (finalize_database):
10554         * database.c (Fdatabase_live_p):
10555         * database.c (Fdatabasep):
10556         * device-x.c (Fx_get_resource):
10557         * device.c (Fdfw_device):
10558         * dired.c:
10559         * dired.c (Ffile_name_completion):
10560         * dired.c (Ffile_name_all_completions):
10561         * dired.c (Fuser_name_completion):
10562         * dired.c (Fuser_name_completion_1):
10563         * dired.c (Fuser_name_all_completions):
10564         * doc.c (Fdocumentation):
10565         * doc.c (Fdocumentation_property):
10566         * doc.c (Fsubstitute_command_keys):
10567         * editfns.c:
10568         * editfns.c (Fchar_to_string):
10569         * editfns.c (Fstring_to_char):
10570         * editfns.c (Ftemp_directory):
10571         * editfns.c (Finsert_char):
10572         * editfns.c (Fbuffer_substring_no_properties):
10573         * editfns.c (Fnarrow_to_region):
10574         * editfns.c (Fchar_equal):
10575         * editfns.c (Fchar_Equal):
10576         * editfns.c (Ftranspose_regions):
10577         * emacs.c (Fdump_emacs):
10578         * eval.c (Fthrow):
10579         * eval.c (Fcommand_execute):
10580         * eval.c (Fautoload):
10581         * eval.c (Fbacktrace):
10582         * eval.c (Fbacktrace_frame):
10583         * events.c:
10584         * events.c (Fcopy_event):
10585         * events.c (Fcharacter_to_event):
10586         * events.c (Fevent_button):
10587         * events.c (Fevent_process):
10588         * extents.c:
10589         * extents.c (Fnext_extent_change):
10590         * extents.c (Fextent_property):
10591         * faces.c (Ffacep):
10592         * faces.c (Fmake_face):
10593         * file-coding.c:
10594         * file-coding.c (Fencode_shift_jis_char):
10595         * file-coding.c (Fencode_big5_char):
10596         * fileio.c (Ffile_name_directory):
10597         * fileio.c (Ffile_name_nondirectory):
10598         * fileio.c (Ffile_name_as_directory):
10599         * fileio.c (Fdirectory_file_name):
10600         * fileio.c (Ffile_truename):
10601         * fileio.c (Fsubstitute_in_file_name):
10602         * fileio.c (Ffile_modes):
10603         * fileio.c (Fset_file_modes):
10604         * fileio.c (Fset_default_file_modes):
10605         * fileio.c (Fverify_visited_file_modtime):
10606         * floatfns.c (Facos):
10607         * floatfns.c (Fasin):
10608         * floatfns.c (Fatan):
10609         * floatfns.c (Fcos):
10610         * floatfns.c (Fsin):
10611         * floatfns.c (Ftan):
10612         * floatfns.c (Fbessel_j0):
10613         * floatfns.c (Fbessel_j1):
10614         * floatfns.c (Fbessel_jn):
10615         * floatfns.c (Fbessel_y0):
10616         * floatfns.c (Fbessel_y1):
10617         * floatfns.c (Fbessel_yn):
10618         * floatfns.c (Ferf):
10619         * floatfns.c (Ferfc):
10620         * floatfns.c (Flog_gamma):
10621         * floatfns.c (Fexp):
10622         * floatfns.c (Fexpt):
10623         * floatfns.c (Flog):
10624         * floatfns.c (Flog10):
10625         * floatfns.c (Fsqrt):
10626         * floatfns.c (Fcube_root):
10627         * floatfns.c (Facosh):
10628         * floatfns.c (Fasinh):
10629         * floatfns.c (Fatanh):
10630         * floatfns.c (Fcosh):
10631         * floatfns.c (Fsinh):
10632         * floatfns.c (Ftanh):
10633         * floatfns.c (Fabs):
10634         * floatfns.c (Ffloat):
10635         * floatfns.c (Flogb):
10636         * floatfns.c (Fceiling):
10637         * floatfns.c (Ffloor):
10638         * floatfns.c (Fround):
10639         * floatfns.c (Ftruncate):
10640         * floatfns.c (Ffceiling):
10641         * floatfns.c (Fffloor):
10642         * floatfns.c (Ffround):
10643         * floatfns.c (Fftruncate):
10644         * fns.c (Fstring_equal):
10645         * fns.c (Fstring_lessp):
10646         * fns.c (concat2):
10647         * fns.c (concat3):
10648         * fns.c (vconcat2):
10649         * fns.c (vconcat3):
10650         * fns.c (Fsubstring):
10651         * fns.c (Fassoc):
10652         * fns.c (Fold_assoc):
10653         * fns.c (assoc_no_quit):
10654         * fns.c (Fassq):
10655         * fns.c (Fold_assq):
10656         * fns.c (assq_no_quit):
10657         * fns.c (Frassoc):
10658         * fns.c (Fold_rassoc):
10659         * fns.c (Frassq):
10660         * fns.c (Fold_rassq):
10661         * fns.c (rassq_no_quit):
10662         * fns.c (Fremassoc):
10663         * fns.c (remassoc_no_quit):
10664         * fns.c (Fremassq):
10665         * fns.c (remassq_no_quit):
10666         * fns.c (Fremrassoc):
10667         * fns.c (Fremrassq):
10668         * fns.c (remrassq_no_quit):
10669         * fns.c (Fsort):
10670         * fns.c (Fplist_get):
10671         * fns.c (Fplist_put):
10672         * fns.c (Fplist_remprop):
10673         * fns.c (Fplist_member):
10674         * fns.c (Flax_plist_get):
10675         * fns.c (Flax_plist_put):
10676         * fns.c (Flax_plist_remprop):
10677         * fns.c (Flax_plist_member):
10678         * fns.c (Fequal):
10679         * fns.c (Fold_equal):
10680         * fns.c (Frequire):
10681         * fns.c (Fbase64_encode_region):
10682         * fns.c (Fbase64_encode_string):
10683         * fns.c (Fbase64_decode_region):
10684         * frame.c:
10685         * frame.c (frame_matches_frame_spec):
10686         * frame.c (device_matches_device_spec):
10687         * frame.c (next_frame):
10688         * frame.c (previous_frame):
10689         * frame.c (Fnext_frame):
10690         * frame.c (Fprevious_frame):
10691         * frame.c (Fframe_property):
10692         * frame.c (Fset_frame_height):
10693         * frame.c (Fset_frame_size):
10694         * frame.h:
10695         * glyphs.c:
10696         * glyphs.c (if):
10697         * glyphs.c (decode_error_behavior_flag):
10698         * glyphs.c (Fmake_image_instance):
10699         * indent.c (Findent_to):
10700         * intl.c (Fignore_defer_gettext):
10701         * keymap.c (Fkeymapp):
10702         * keymap.c (Flookup_key):
10703         * lread.c:
10704         * lread.c (Fload_internal):
10705         * lread.c (Feval_buffer):
10706         * lread.c (Feval_region):
10707         * macros.c (Fexecute_kbd_macro):
10708         * marker.c (set_marker_internal):
10709         * marker.c (Fset_marker):
10710         * marker.c (set_marker_restricted):
10711         * marker.c (Fcopy_marker):
10712         * marker.c (noseeum_copy_marker):
10713         * menubar.c:
10714         * menubar.c (Fpopup_menu):
10715         * minibuf.c:
10716         * mule-charset.c (Fcharset_name):
10717         * mule-charset.c (Fchar_charset):
10718         * mule-charset.c (Fchar_octet):
10719         * mule-charset.c (Fsplit_char):
10720         * mule-wnnfns.c (Fwnn_open):
10721         * mule-wnnfns.c (Fwnn_dict_comment):
10722         * mule-wnnfns.c (Fwnn_quit_henkan):
10723         * mule-wnnfns.c (Fwnn_word_toroku):
10724         * mule-wnnfns.c (Fwnn_word_sakujo):
10725         * mule-wnnfns.c (Fwnn_word_use):
10726         * mule-wnnfns.c (Fwnn_hindo_set):
10727         * objects.c:
10728         * objects.c (Fmake_color_instance):
10729         * objects.c (Fmake_font_instance):
10730         * print.c (Fwrite_char):
10731         * process.c:
10732         * process.c (mark_process):
10733         * process.c (print_process):
10734         * process.c (get_process_from_usid):
10735         * process.c (Fprocessp):
10736         * process.c (Fprocess_live_p):
10737         * process.c (Fget_process):
10738         * process.c (Fget_buffer_process):
10739         * process.c (get_process):
10740         * process.c (Fprocess_id):
10741         * process.c (Fprocess_name):
10742         * process.c (Fprocess_command):
10743         * process.c (init_process_io_handles):
10744         * process.c (start_process_unwind):
10745         * process.c (Fstart_process_internal):
10746         * process.c (Fopen_multicast_group_internal):
10747         * process.c (Fset_process_window_size):
10748         * process.c (read_process_output):
10749         * process.c (send_process):
10750         * process.c (Fprocess_tty_name):
10751         * process.c (Fset_process_buffer):
10752         * process.c (Fprocess_buffer):
10753         * process.c (Fprocess_mark):
10754         * process.c (set_process_filter):
10755         * process.c (Fset_process_filter):
10756         * process.c (Fprocess_filter):
10757         * process.c (Fprocess_send_region):
10758         * process.c (Fprocess_send_string):
10759         * process.c (exec_sentinel):
10760         * process.c (Fset_process_sentinel):
10761         * process.c (Fprocess_sentinel):
10762         * process.c (status_notify):
10763         * process.c (Fprocess_status):
10764         * process.c (Fprocess_exit_status):
10765         * process.c (process_send_signal):
10766         * process.c (Fprocess_send_eof):
10767         * process.c (deactivate_process):
10768         * process.c (remove_process):
10769         * process.c (Fdelete_process):
10770         * process.c (kill_buffer_processes):
10771         * process.c (Fprocess_kill_without_query):
10772         * process.c (Fprocess_kill_without_query_p):
10773         * rangetab.c:
10774         * rangetab.c (Fget_range_table):
10775         * rangetab.c (Fput_range_table):
10776         * rangetab.c (Fremove_range_table):
10777         * rangetab.c (Fclear_range_table):
10778         * search.c:
10779         * search.c (Fskip_chars_forward):
10780         * search.c (Fskip_chars_backward):
10781         * search.c (Fskip_syntax_forward):
10782         * search.c (Fskip_syntax_backward):
10783         * search.c (search_command):
10784         * search.c (Freplace_match):
10785         * search.c (Fregexp_quote):
10786         * select.c (Fown_selection_internal):
10787         * select.c (Fselection_owner_p):
10788         * select.c (Fselection_exists_p):
10789         * select.c (Fget_selection_internal):
10790         * specifier.c:
10791         * symbols.c:
10792         * symbols.c (Fintern):
10793         * symbols.c (Fintern_soft):
10794         * symbols.c (Funintern):
10795         * symbols.c (Fapropos_internal):
10796         * symbols.c (Fset_default):
10797         * syntax.c:
10798         * syntax.c (Fsyntax_table_p):
10799         * syntax.c (Fcopy_syntax_table):
10800         * syntax.c (Fset_syntax_table):
10801         * syntax.c (Fchar_syntax):
10802         * syntax.c (syntax_match):
10803         * syntax.c (Fmatching_paren):
10804         * syntax.c (Fforward_word):
10805         * syntax.c (scan_lists):
10806         * syntax.c (Fscan_lists):
10807         * syntax.c (Fscan_sexps):
10808         * syntax.c (Fparse_partial_sexp):
10809         * toolbar.c (Fcheck_toolbar_button_syntax):
10810         * tooltalk.doc:
10811         * window.c:
10812         * window.c (Fwindowp):
10813         * window.c (Fwindow_live_p):
10814         * window.c (Fwindow_point):
10815         * window.c (Fdelete_window):
10816         * window.c (Fnext_window):
10817         * window.c (Fprevious_window):
10818         * window.c (Fother_window):
10819         * window.c (window_loop):
10820         * window.c (Fget_lru_window):
10821         * window.c (Fsplit_window):
10822         * window.c (Fenlarge_window):
10823         * window.c (Fenlarge_window_pixels):
10824         * window.c (Fshrink_window):
10825         * window.c (Fshrink_window_pixels):
10826         * window.c (change_window_height):
10827         * window.c (Fwindow_configuration_p):
10828         * window.c (Fcurrent_window_configuration):
10829         * window.h:
10830         * casefiddle.c (casify_object):
10831         * casefiddle.c (Fupcase):
10832         * casefiddle.c (Fdowncase):
10833         * casefiddle.c (Fcapitalize):
10834         * casefiddle.c (Fupcase_initials):
10835         * casefiddle.c (casify_region_internal):
10836         * casefiddle.c (casify_region):
10837         * casefiddle.c (Fupcase_region):
10838         * casefiddle.c (Fdowncase_region):
10839         * casefiddle.c (Fcapitalize_region):
10840         * casefiddle.c (Fupcase_initials_region):
10841         * casefiddle.c (Fupcase_word):
10842         * casefiddle.c (Fdowncase_word):
10843         * casefiddle.c (Fcapitalize_word):
10844         Docstring arglist/Texinfo fixes.  See man/ChangeLog for details.
10845         Replace 0 with '\0' when working with bytes.
10846         Replace initial "(" with "\(" in docstrings.
10847
10848 2000-11-01  Martin Buchholz  <martin@xemacs.org>
10849
10850         * config.h.in: Handle alloca with Compaq C on Alpha Linux.
10851
10852         * m/alpha.h: Let configure handle SYSTEM_MALLOC on Linux.
10853
10854 2000-10-31  Martin Buchholz  <martin@xemacs.org>
10855
10856         * eldap.c (print_ldap): 64-bit cleaner.  Fixes warning.
10857
10858 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
10859
10860         * doprnt.c (emacs_do_prnt_1): Format (format "%01.2d" 10)
10861         correctly.
10862
10863 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
10864
10865         * fileio.c (Vauto_save_list_file_prefix): Moved from startup.el.
10866         (inhibit_auto_save_session): New variable.
10867         (vars_of_fileio): Declare and initialize them.
10868         * fileio.c (Fdo_auto_save): Don't create session file if
10869         Vinhibit_auto_save_session or Vauto_save_list_file_prefix is non-nil.
10870
10871 2000-10-31  Martin Buchholz  <martin@xemacs.org>
10872
10873         * sgiplay.c (play_internal): C++ compilability.
10874         * alloc.c (SWEEP_FIXED_TYPE_BLOCK): Remove unused var `SFTB_prev'.
10875         * callproc.c (Fold_call_process_internal):
10876         Remove unused vars `env', `first'.
10877         * scrollbar.c (update_scrollbar_instance):
10878         #### unused var `current_window'.
10879         * redisplay-tty.c: Put currently unused vars insert_mode_on,
10880         etc. within #ifdef NOT_YET.
10881         * emacs.c: #### unused vars `initial_argc', `initial_argv'.
10882         * dialog-x.c (dbox_descriptor_to_widget_value): ### unused var `title'.
10883         * specifier.c (specifier_instance):
10884         #### unused var `tag'.
10885         Use WINDOW_BUFFER, FRAME_DEVICE instead of their expansion.
10886
10887 2000-10-27  Martin Buchholz  <martin@xemacs.org>
10888
10889         * fns.c (Fbutlast):
10890         * fns.c (list_sort):
10891         * fns.c (Ffillarray):
10892         * fns.c (bytecode_nconc2):
10893         * fns.c (Fnconc):
10894         * fns.c (mapcar1):
10895         * fns.c (Fmapconcat):
10896         Be pedantically 64-bit correct.  For the time when someone will
10897         want to have a list with length > 2**32.
10898
10899         * lisp.h (PRIVATE_EXTERNAL_LIST_LOOP_6):
10900         Work around MIPSpro compiler bug.
10901
10902         * process-unix.c (unix_kill_child_process): Add snarky comment.
10903         * process-unix.c (try_to_initialize_subtty):  Oops, `=' ==> `=='
10904
10905         * config.h.in: Oops, _getpt ==> _getpty
10906
10907 2000-10-26  Martin Buchholz  <martin@xemacs.org>
10908
10909         * config.h.in:
10910         * regex.c:
10911         Use void*, not char*, as return type of alloca().
10912
10913         * alloc.c (free_marker): Side effect inside assert expression!
10914
10915 2000-10-16  MIYASHITA Hisashi  <himi@m17n.org>
10916
10917         * mule-charset.c (Fset_charset_ccl_program): To check
10918         if the given ccl program is valid, use setup_ccl_program()
10919         instead of CHECK_VECTOR().
10920         (Fmake_charset): Likewise.
10921
10922 2000-10-20  Golubev I. N.  <gin@mo.msk.ru>
10923
10924         * faces.c (get_extent_fragment_face_cache_index):
10925         Fix cachel.merged_faces memory leak.
10926
10927 2000-10-14  MIYASHITA Hisashi  <himi@m17n.org>
10928
10929         * mule-ccl.c (ccl_driver)<CCL_DECODE_SJIS>:
10930         Reset MSB of octets obtained by DECODE_SJIS
10931         because of the incompatibility with Emacs.
10932         (ccl_driver)<CCL_ENCODE_SJIS>:
10933         Set MSB of octets before passing them to
10934         ENCODE_SJIS because of the incompatibility
10935         with Emacs.
10936
10937 2000-10-18   Daiki Ueno  <ueno@unixuser.org>
10938
10939         * lrecord.h (DECLARE_TYPECHECK_LRECORD): Abolish.
10940         (DECLARE_LRECORD): Undo the last change.
10941         (DECLARE_EXTERNAL_LRECORD): Expand typechecking stuff.
10942
10943 2000-10-17   Daiki Ueno  <ueno@unixuser.org>
10944
10945         * lrecord.h (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): Connect
10946         the implementation to lrecord_implementations_table.
10947
10948 2000-10-14   Daiki Ueno  <ueno@unixuser.org>
10949
10950         * lrecord.h (MAKE_EXTERNAL_LRECORD_IMPLEMENTATION): Don't set the
10951         initial value of `lrecord_type_##c_name' and
10952         `lrecord_##c_name.lrecord_type_index'; discard "const" qualifier.
10953         (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): New macro.
10954         [ERROR_CHECK_TYPECHECK] (DECLARE_TYPECHECK_LRECORD): New macro.
10955         [ERROR_CHECK_TYPECHECK] (DECLARE_LRECORD): Use it.
10956         [ERROR_CHECK_TYPECHECK] (DECLARE_EXTERNAL_LRECORD): Use it.
10957
10958 2000-10-17  Martin Buchholz  <martin@xemacs.org>
10959
10960         * miscplay.c (sndcnv8S_2mono):
10961         (sndcnv2monounsigned):
10962         (sndcnvULaw_2linear):
10963         (sndcnv16swap):
10964         Remove implementation-defined behavior.
10965
10966 2000-10-12  Martin Buchholz  <martin@xemacs.org>
10967
10968         * input-method-xlib.c: Warning suppression.
10969
10970 2000-10-05  MIYASHITA Hisashi  <himi@m17n.org>
10971
10972         * mule-ccl.c: Sync up with Emacs 21.0.90.
10973         (ccl_driver)<CCL_TranslateCharacter>: Disabled.
10974         Do nothing.
10975         (ccl_driver)<CCL_TranslateCharacterConstTbl>:
10976         Likewise.
10977         (ccl_driver[WriteMultibyteChar2]): Bug fix.
10978         Use MAX_LEADING_BYTE_OFFICIAL_2 instead of
10979         MIN_LEADING_BYTE_OFFICIAL_2 to check whether the
10980         leading char belongs to official 2-dimensional charset.
10981         (CCL_WRITE_CHAR): When CCL_MODE_ENCODING,
10982         write the given character as is.  Otherwise,
10983         if it is a multibyte char, convert it by
10984         non_ascii_set_charptr_emchar, then write it.
10985         (CCL_WRITE_STRING): Likewise.
10986         (ccl_get_compiled_code): New function.
10987         (setup_ccl_program): When ccl_prog is invalid,
10988         return -1.
10989         (Fregister_code_conversion_map): New function.
10990         (syms_of_mule_ccl): defsubr Fregister_code_conversion_map.
10991
10992         * mule-ccl.h: Sync up with Emacs 21.0.90.
10993         (Fregister_ccl_program): export it.
10994
10995         * redisplay-msw.c (separate_textual_runs):
10996         If ccl program is not valid, don't do ccl conversion.
10997
10998         * redisplay-x.c (separate_textual_runs): Ditto.
10999
11000         * file-coding.c (Fmake_coding_system):
11001         When type is ccl and value is vector, register it
11002         with a proper symbol.  And checks whether the
11003         given ccl program is valid.
11004         (mule_decode): When calling ccl_driver, if src indicates
11005         NULL pointer, set an empty string instead.
11006         (mule_encode): Likewise.
11007
11008 2000-10-11  Martin Buchholz  <martin@xemacs.org>
11009
11010         The following large batch of changes gets us back to a state of
11011         C++ compilability.  Extbyte is now a char, which means that
11012         Extbyte * and Bufbyte * cannot be freely interchanged - a win!
11013
11014         * tooltalk.c (Fset_tooltalk_message_attribute): Type correctness.
11015
11016         * sound.c (Fplay_sound): Type correctness.
11017
11018         * select-x.c (hack_motif_clipboard_selection): Type correctness.
11019         (x_get_window_property): Type correctness.
11020         (receive_incremental_selection): unsigned char ==> Extbyte
11021         (selection_data_to_lisp_data): unsigned char ==> Extbyte
11022         (Fx_get_cutbuffer_internal): unsigned char ==> Extbyte
11023         (Fx_store_cutbuffer_internal): Type correctness.
11024
11025         * process-unix.c (try_to_initialize_subtty): Type correctness.
11026
11027         * objects-x.c (x_print_color_instance): Type correctness.
11028         (x_print_font_instance): Type correctness.
11029         (x_list_fonts): SExtbyte ==> Extbyte.
11030         (valid_x_font_name_p): SExtbyte ==> Extbyte.
11031         (x_find_charset_font): SExtbyte ==> Extbyte.
11032         Use TO_INTERNAL_FORMAT.  build_string ==> make_string.
11033         (truename_via_XListFonts): SExtbyte ==> Extbyte.
11034         (x_font_instance_properties): Use TO_INTERNAL_FORMAT.
11035         Use bufbyte_strcmp.
11036
11037         * mule-charset.h (LEADING_BYTE_PREFIX_P): unsigned char ==> Bufbyte
11038         (PRIVATE_LEADING_BYTE_PREFIX): Add paranoia cast.
11039         (BYTE_ASCII_P): Use bit ops for char-signedness safety.
11040         (BYTE_C0_P): Use bit ops for char-signedness safety.
11041         (BYTE_C1_P): Use bit ops for char-signedness safety.
11042         (CHARSET_BY_LEADING_BYTE):
11043         (CHARSET_BY_ATTRIBUTES):
11044         Always use inline function.
11045         Use type_checking_assert.
11046         Hide chlook.
11047
11048         * mule-charset.c (non_ascii_charptr_copy_char):
11049         Modify to work with both ASCII and non-ASCII characters.
11050         Improve docs and variable names.
11051         Replace over-clever fall-through switch with a simple loop.
11052         (Lstream_get_emchar_1):
11053         Replace over-clever fall-through switch with a simple loop.
11054
11055         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
11056         Warning suppression.
11057
11058         * lstream.h (Lstream_get_emchar): BYTE_ASCII_P cannot be used on
11059         the return value of Lstream_getc, which could be EOF as well.
11060
11061         * lstream.c (Lstream_raw_read): Now returns ssize_t, not int.
11062
11063         * lisp.h: Make Extbyte a char, not unsigned char, so that external
11064         APIs can be used on Extbytes without casts.  Risky!
11065         (SExtbyte): Remove.
11066         (UExtbyte): Remove.
11067
11068         * input-method-xlib.c (XIM_init_device):
11069         Use Xlib.h instead of IntrinsicP.h.
11070         Use HAVE_XREGISTERIMINSTANTIATECALLBACK instead of THIS_IS_X11R6,
11071         which will break in X11R7.
11072         Use XREGISTERIMINSTANTIATECALLBACK_NONSTANDARD_PROTOTYPE,
11073         to call XRegisterIMInstantiateCallback with correct types.
11074
11075         * gui-x.c (button_item_to_widget_value): Type correctness.
11076
11077         * glyphs.c (bitmap_to_lisp_data):  Type correctness.
11078
11079         * glyphs-x.c (pixmap_from_xbm_inline): Type correctness.
11080         (xbm_instantiate_1): Type correctness.
11081         (BUILD_GLYPH_INST):  Type correctness.
11082
11083         * fileio.c (Fsubstitute_in_file_name): Type correctness.
11084
11085         * file-coding.c:
11086         (decode_coding_sjis):
11087         (decode_coding_big5):
11088         (decode_coding_ucs4):
11089         (decode_coding_utf8):
11090         (decode_coding_iso2022):
11091         (decode_coding_no_conversion):
11092         Make all decoding functions take an Extbyte * arg.
11093         (encode_coding_sjis):
11094         (encode_coding_big5):
11095         (encode_coding_ucs4):
11096         (encode_coding_utf8):
11097         (encode_coding_iso2022):
11098         (encode_coding_no_conversion):
11099         Make all encoding functions take a Bufbyte * arg.
11100         Use size_t instead of unsigned int for memory sizes.
11101         Only cast to unsigned char whenever dereferencing Extbyte *.
11102
11103         * doc.c (unparesseuxify_doc_string): Type correctness.
11104
11105         * console-x.c (split_up_display_spec):
11106         Rewrite without using details of internal string representation.
11107         (x_semi_canonicalize_device_connection): Type correctness.
11108
11109         * config.h.in:
11110         (HAVE_XREGISTERIMINSTANTIATECALLBACK): New.
11111         (XREGISTERIMINSTANTIATECALLBACK_NONSTANDARD_PROTOTYPE): New.
11112         (HAVE_XFREE386): Removed.
11113
11114         * buffer.h (DEC_CHARPTR): `const' correctness.
11115         (bufbyte_strcmp): New.
11116         (bufbyte_memcmp): New.
11117
11118         * buffer.c (dfc_convert_to_internal_format): Extbyte ==> Bufbyte
11119
11120         * buffer.h (XCHAR_OR_CHAR_INT):
11121         Always use inline function.
11122         Remove redundant type checking assert() - XINT will abort quite nicely.
11123
11124 2000-10-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
11125
11126         * search.c (Freplace_match): Set newtext to an empty string.
11127
11128 2000-10-10  Martin Buchholz  <martin@xemacs.org>
11129
11130         * s/decosf1-3.h: Remove #include of stropts.h
11131         * s/ptx.h: Remove #include of stropts.h
11132         * s/usg5-4.h: Remove #include of stropts.h
11133         * sysproc.h:
11134         * config.h.in:
11135         Use stropts.h, not sys/stropts.h.
11136         Use strtio.h, not sys/strtio.h.
11137
11138 2000-10-04  Martin Buchholz <martin@xemacs.org>
11139
11140         * XEmacs 21.2.36 is released.
11141
11142 2000-09-21  Andy Piper  <andy@xemacs.org>
11143
11144         * glyphs-x.c (x_redisplay_widget): make sure non-structural
11145         changes still involve copying the widget tree.
11146         (update_widget_face): make sure a change is register in the widget
11147         tree. Call update_tab_widget_face appropriately.
11148         (update_tab_widget_face): ditto.
11149         (x_tab_control_redisplay): make sure non-structural changes still
11150         involve copying the widget tree.
11151
11152 2000-08-31   Daiki Ueno  <ueno@unixuser.org>
11153
11154         * lread.c (locate_file): Check the path element is non-nil.
11155
11156 2000-10-02  Martin Buchholz  <martin@xemacs.org>
11157
11158         * lisp.h: Warning suppression for SCO compilers.
11159
11160         * redisplay-tty.c (reset_tty_modes): Fix crash.
11161         E.g. from xemacs running on X: (delete-device (make-device 'tty nil))
11162
11163 2000-09-27  Martin Buchholz  <martin@xemacs.org>
11164
11165         Big signal/process handling overhaul.  Bugs fixed:
11166         M-x shell, type `sleep 10000', M-x comint-interrupt-subjob and
11167         M-x comint-kill-subjob should work for both values nil and t of
11168         process-connection-type. It was broken on most platforms.
11169         Testing on Irix and Cygwin still needed.  Other plaforms tested.
11170         * sysdep.c: Move #include of stropts.h into sysproc.h.  Use pid_t.
11171         * process-unix.c: Signal/Process handling overhaul.
11172         (pty_name): make 64 bytes, as `expect' does, for paranoia.
11173         (allocate_pty): Use all available modern methods of allocating
11174         ptys, falling back to old style BSD allocation as a last resort.
11175         Use allegedly more secure Unix98 pty allocation by default.
11176         (allocate_pty_the_old_fashioned_way): New. the last resort.
11177         (unix_create_process): Push ptem, ldterm, ttcompat where
11178         available.  Autoconfiscate.
11179         (try_to_initialize_subtty): New.
11180         (unix_kill_child_process): Proper signal handling for ptys on most
11181         platforms, using special knowledge of AIX, BSD, etc...
11182         (unix_create_process): Always disconnect_controlling_terminal() for
11183         subprocesses, whether using ptys or not.
11184         * process.h: Remove old getpt-dependent PTY code.
11185         * process.c (Fprocess_send_signal): New, obvious generic function.
11186         (decode_signal): New.
11187         (Finterrupt_process):
11188         (Fkill_process):
11189         (Fquit_process):
11190         (Fstop_process):
11191         (Fcontinue_process):
11192         (Fsignal_process): Use decode_signal.
11193         (process_send_signal):
11194         Many docstring corrections.
11195         Allow any signal to be sent to a process object.
11196         * config.h.in: Add symbols for big signal/process overhaul.
11197         * syssignal.h (EMACS_KILLPG): Use HAVE_KILLPG. Use `pid', not `gid'.
11198         * sysproc.h: Include process-related headers, where available:
11199         sys/stropts.h sys/strtio.h pty.h libutil.h
11200         * s/irix4-0.h:
11201         * s/irix5-0.h:
11202         * s/cygwin32.h:
11203         * s/gnu.h:
11204         * s/linux.h:
11205         * s/hpux.h:
11206         * s/aix3-1.h:
11207         Remove old S&M pty stuff.
11208         * console-tty.c (tty_init_console): Use pid_t, not int, for pids.
11209         * systty.h: Simplify cpp hackery, improve comments.
11210         Favor BSD ioctl(TIOCGPGRP) over Posix tcgetpgrp().
11211
11212         * editfns.c (Fformat_time_string):
11213         Be a little more paranoid with the return value of ctime.
11214
11215         * fileio.c (check_executable):
11216         (check_writable):
11217         Use symbolic constants X_OK, W_OK.
11218
11219         * console-x.c (split_up_display_spec): Fix a warning.
11220
11221 2000-10-02  Martin Buchholz  <martin@xemacs.org>
11222
11223         * gui-x.c (add_accel_and_to_external): strlen ==> XSTRING_LENGTH
11224         * ntproc.c (sys_spawnve): make_string ==> build_string
11225         Small clarity improvements.
11226
11227 2000-09-30  Martin Buchholz  <martin@xemacs.org>
11228
11229         * events.c (WRONG_EVENT_TYPE_FOR_PROPERTY): Warning removal.
11230
11231         * s/windowsnt.h (HAVE_STRCASECMP): Remove.
11232
11233         * config.h.in (HAVE_STRCASECMP): Remove.
11234
11235 2000-09-29  Martin Buchholz  <martin@xemacs.org>
11236
11237         * redisplay-output.c (redisplay_output_pixmap):
11238         Cleaner and possibly more 64-bit correct code.
11239
11240 2000-09-28  Stephen J. Turnbull  <stephen@xemacs.org>
11241
11242         * dumper.c (pdump_load_finish): move restoration of
11243         `noninteractive1' to emacs.c (main_1).
11244         * emacs.c (main_1): protect LISP-visible command-line flags
11245         from pdump_load().
11246
11247 2000-09-26  Stephen J. Turnbull  <stephen@xemacs.org>
11248
11249         * Makefile.in.in (versionclean):  Use EXE_TARGET and
11250         DUMP_TARGET instead of literal program names.
11251
11252 2000-09-20  Martin Buchholz  <martin@xemacs.org>
11253
11254         * Makefile.in.in: Recent purify's require absolute paths for cache-dir.
11255
11256 2000-09-19  Martin Buchholz  <martin@xemacs.org>
11257
11258         * *: Spelling mega-patch
11259
11260 2000-09-19  Martin Buchholz  <martin@xemacs.org>
11261
11262         * fns.c (bad_bad_turtle):
11263         Delete "Eek!" comment, since we fixed the bug to which it refers.
11264
11265 2000-09-16  Martin Buchholz  <martin@xemacs.org>
11266
11267         * alloca.c: Replace REGISTER with register.
11268
11269 2000-09-16   Daiki Ueno  <ueno@unixuser.org>
11270
11271         * file-coding.c (ucs_to_char): Use countof.
11272
11273 2000-09-16  Martin Buchholz  <martin@xemacs.org>
11274
11275         * file-coding.c: (ucs_to_char):
11276         (complex_vars_of_file_coding):
11277         Use countof instead of sizeof.
11278         Use CHECK_NATNUM instead of CHECK_INT.
11279
11280         * sysdep.c (strcasecmp): Remove.
11281         * device-x.c (ascii_strcasecmp): New.
11282         * device-x.c (Fx_get_resource): Use ascii_strcasecmp.
11283         Avoid using non-standard non-portable strcasecmp.
11284
11285 2000-09-16  Martin Buchholz  <martin@xemacs.org>
11286
11287         * Makefile.in.in (mostlyclean): remove reference to prefix-args.
11288         * font-lock.c: remove reference to emacsfns.h.
11289         * search.c: small doc improvement.
11290         * event-Xt.c: correct file names in comments.
11291         * console-x.h Correct file names in comments.
11292         * frame.c: Correct file names in comments.
11293         * event-stream.c: remove Energize from comments.
11294
11295 2000-09-15  Martin Buchholz  <martin@xemacs.org>
11296
11297         * symeval.h (DEFERROR_STANDARD):
11298         (DEFERROR):
11299         (DEFSYMBOL):
11300         (DEFSYMBOL_NO_DUMP):
11301         (DEFSYMBOL_MULTIWORD_PREDICATE):
11302         (DEFSYMBOL_MULTIWORD_PREDICATE_NO_DUMP):
11303         (DEFKEYWORD):
11304         The construct &##name is not sensible C.
11305         Fixes compilation errors with Unixware native compiler.
11306
11307 2000-09-14  Martin Buchholz  <martin@xemacs.org>
11308
11309         * frame.c (device_matches_console_spec): no longer takes a `frame' arg
11310         (next_frame_internal): Removed.  We now just have next_frame.
11311         (next_frame):
11312         Write a simpler and cleaner one-pass algorithm.
11313         Remove called_from_delete_device arg and #ifdefed-out code.
11314         (previous_frame):
11315         Renamed from prev_frame.  Update callers.
11316         Cleaned up to have an analogous implementation to next_frame.
11317         (other_visible_frames_internal): Remove the
11318         called_from_delete_device bogus arg, and hence, remove this
11319         function.  Just use other_visible_frames().
11320
11321         * window.c (Fnext_window):
11322         Prettify docstring.
11323         Since next_frame() is guaranteed to return a frame, remove check
11324         for nil inserted in previous patch.
11325         (Fprevious_window):
11326         Prettify docstring.
11327         Make code look more like Fnext_window.
11328         (window_loop):
11329         Respect the `console' arg when iterating through windows.
11330         Fixes bug: (get-buffer-window buffer t device) not respecting
11331         the `device' arg.
11332         This function needs more work, as others have pointed out.
11333
11334         * frame.h: Rename prev_frame to previous_frame.
11335         device_matches_console_spec no longer takes a `frame' arg.
11336
11337         * s/gnu.h:
11338         * s/linux.h:
11339         * s/hpux.h:
11340         Use EMACS_BLOCK_SIGNAL instead of sigblock.
11341         From "Golubev I. N." <gin@mo.msk.ru>.
11342
11343         * make-src-depend: Fix typo.
11344
11345 2000-09-13  Martin Buchholz  <martin@xemacs.org>
11346
11347         * window.c (Fnext_window):
11348         next_frame() might return nil, not a frame.
11349         Fixes this crash:
11350         (gdb) run -eval '(progn  (make-device (quote x) "polgar:0") (next-window (minibuffer-window) t (quote visible) (second (device-list))))'
11351
11352         * frame.c (next_frame_internal):
11353         We've passed a frame if we've passed its device.
11354         Fixes this crash:
11355         (gdb) run -eval '(progn (make-frame nil (make-device (quote x) "polgar:0")) (next-window (minibuffer-window) t (quote visible) (second (device-list))))'
11356 Fatal error: assertion failed, file /project/xemacs/ws/dev/src/frame.h, line 245, RECORD_TYPEP (obj, lrecord_type_frame)
11357
11358 2000-09-11  Jonathan Harris  <jhar@tardis.ed.ac.uk>
11359
11360         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
11361         Allow option to suppress accelerators in menu/dialog items.
11362         (populate_or_checksum_helper): Pass dialog title through above.
11363
11364 2000-09-10  Jonathan Harris  <jhar@tardis.ed.ac.uk>
11365
11366         * event-msw.c (mswindows_key_to_emacs_keysym):
11367         Add "pause" key, fix "menu" key.
11368
11369 2000-09-09  Martin Buchholz  <martin@xemacs.org>
11370
11371         * eval.c (reinit_vars_of_eval):
11372         Increase max_lisp_eval_depth to 1000,
11373         required for thai-xtis.el to byte-compile under some circumstances.
11374
11375 2000-09-04  Martin Buchholz  <martin@xemacs.org>
11376
11377         * event-Xt.c (x_to_emacs_keysym): Increase size of `buffer' to 513.
11378         From Kenichi Handa.
11379
11380 2000-09-01  Martin Buchholz  <martin@xemacs.org>
11381
11382         * make-src-depend: Make the generated Makefiles smaller.
11383
11384         * s/hpux.h (SETUP_SLAVE_PTY):
11385         Provide a %d in the format string for the errno argument.
11386
11387         * editfns.c (Ftemp_directory):
11388         Warning fix.
11389         Avoid buffer overrun on very long file name.
11390
11391         * input-method-xlib.c (XIM_init_device):
11392         6th parameter of XRegisterIMInstantiateCallback has different
11393         pointer types on different OSes, so simply cast to (void *).
11394
11395         * unexhp9k800.c: Warning fixes.  Fiddly changes.
11396
11397         * sysdll.c (dll_open):
11398         shl_load will hang hard if passed a NULL filename.
11399         Simply return NULL for compatibility with dlopen.
11400         * sysdll.c: Conform to XEmacs coding standards.
11401
11402         * sysdep.c (get_pty_max_bytes):
11403         Support pty input lines longer than 512 bytes on HP-UX 10.20.
11404
11405 2000-08-31  Martin Buchholz  <martin@xemacs.org>
11406
11407         * tooltalk.c: Add #include <syssignal.h>
11408
11409 2000-08-12  Alexandre Oliva  <aoliva@redhat.com>
11410
11411         * s/hpux.h: Don't use undefined function sigunblock().
11412
11413 2000-08-31  Martin Buchholz  <martin@xemacs.org>
11414
11415         * config.h.in: Add HAVE_BALLOON_HELP.
11416         * emacs.c: Use HAVE_BALLOON_HELP.
11417         * Makefile.in.in (x_objs):
11418         Make Balloon Help conditional on finding shape.h.
11419
11420 2000-08-23  Yoshiki Hayashi  <yoshiki@xemacs.org>
11421
11422         * syntax.c (regex_emacs_buffer_p): New variable.
11423         * syntax.h (regex_emacs_buffer_p): extern.
11424         * search.c (looking_at_1):
11425         (string_match_1):
11426         (fast_string_match):
11427         (search_buffer): Set regex_emacs_buffer_p.
11428         * regex.c (re_match_2_internal): Reference regex_emacs_buffer_p
11429         when before_dot, at_dot, after_dot.
11430
11431 2000-08-23  Andy Piper  <andy@xemacs.org>
11432
11433         * gui-x.c (popup_selection_callback): Only set action_occurred
11434         when we really have an image instance.
11435         * gui-msw.c (mswindows_handle_gui_wm_command): ditto.
11436
11437 2000-08-23  Andy Piper  <andy@xemacs.org>
11438
11439         * gui-msw.c (mswindows_handle_gui_wm_command): set
11440         action_occurred.
11441         * gui-x.c (popup_selection_callback): ditto.
11442
11443         * glyphs.h (IMAGE_INSTANCE_WIDGET_ACTION_OCCURRED): new accessor.
11444         (XIMAGE_INSTANCE_WIDGET_ACTION_OCCURRED): ditto.
11445         (struct Lisp_Image_Instance): add action_occurred flag.
11446
11447         * glyphs.c (redisplay_subwindow): use action_occurred flag.
11448         (image_instance_changed): ditto.
11449         (reset_frame_subwindow_instance_cache): only unmap windows - do
11450         not remove them from the cache also.
11451
11452         * glyphs-widget.c (tab_control_update): better debug.
11453         (progress_gauge_update): ditto.
11454         (layout_update): ditto.
11455         (layout_instantiate): ditto.
11456         (tab_control_order_only_changed): cope with null pending items.
11457
11458         * glyphs-msw.c (mswindows_tab_control_redisplay): add better
11459         debug. Force selection of an item when an action occurred. Cope
11460         with null pending_items.
11461         (mswindows_progress_gauge_redisplay): better debug.
11462         * glyphs-x.c (x_tab_control_redisplay): ditto.
11463
11464         * redisplay.c (redisplay_frame): reset the frame cache if the
11465         frame is garbaged.
11466
11467         * window.c (Fset_window_configuration): potentially re-enable
11468         frame cache reset.
11469         (window_unmap_subwindows): need to finalize instances here since
11470         it is only used in mark_window_as_deleted.
11471
11472 2000-08-22  Stephen J. Turnbull  <stephen@xemacs.org>
11473
11474         * nas.c (SndOpenDataForReading):
11475         nas.c (WaveOpenDataForReading):
11476         nas.c (readChunk): {BIG,LITTLE}_ENDIAN -> NAS_{BIG,LITTLE}_ENDIAN.
11477         Somehow escaped from the 2000-08-14 patch.
11478
11479 2000-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
11480
11481         * nas.c:  Preprocessor trickery to use NAS_LITTLE_ENDIAN instead
11482         of LITTLE_ENDIAN (conflicts with glibc, at least) in NAS <= 1.2p5.
11483
11484 2000-08-21  Andy Piper  <andy@xemacs.org>
11485
11486         * glyphs-x.c (x_map_subwindow): Minor optimization - only map the
11487         window if it is not already displayed.
11488
11489         * glyphs-msw.c (mswindows_map_subwindow): only map the window if
11490         it is not already displayed.
11491
11492         * window.c (Fset_window_configuration): don't reset the frame
11493         cache.
11494
11495         * glyphs.c (unmap_subwindow_instance_cache_mapper): only remove
11496         instances from the frame cache if we are actually finalizing them.
11497         (reset_frame_subwindow_instance_cache): reset frame cache only
11498         after unmapping everything.
11499         (map_subwindow): set displayed flag after mapping.
11500
11501 2000-08-21  Martin Buchholz  <martin@xemacs.org>
11502
11503         * data.c (indirect_function):
11504         Rename ERRORP to non-misleading VOID_FUNCTION_ERRORP.
11505
11506         * eval.c (function_argcount):
11507         Use original function when signaling errors.
11508
11509 2000-08-18  Andy Piper  <andy@xemacs.org>
11510
11511         * frame.c (delete_frame_internal): use new
11512         free_frame_subwindow_instances name.
11513
11514         * glyphs-msw.c (mswindows_tab_control_instantiate): verify index.
11515         (add_tab_item): make return type correct.
11516         (mswindows_tab_control_instantiate): assert index of tab.
11517         (mswindows_tab_control_redisplay): Re-code to use
11518         gui_item_equal_sans_selected and gui_item_list_find_selected.
11519
11520         * glyphs-widget.c (tab_control_update): Correct comment.
11521
11522         * window.c (window_unmap_subwindows): use new
11523         unmap_subwindow_instance_cache_mapper.
11524         (window_unmap_subwindows_cache_mapper): deleted.
11525         (Fset_window_configuration): comparisons should now be with
11526         EQ. Preserve the subwindow instance cache across configuration
11527         changes.
11528         (allocate_window): ditto.
11529         (make_dummy_parent): ditto.
11530
11531         * glyphs.c (free_frame_subwindow_instances): rename from
11532         free_frame_subwindow_instance_cache. finalize all instances rather
11533         than just those in the display cache.
11534         (finalize_all_subwindow_instances): walk windows unmapping and
11535         finalizing subwindows.
11536         (unmap_subwindow_instance_cache_mapper): moved from
11537         window.c. Allow finalization as well as unmapping.
11538
11539         * gui.c (gui_item_list_find_selected): new function.
11540
11541         * gui.h (gui_item_list_find_selected): declare.
11542
11543         * glyphs-x.c (x_tab_control_redisplay): pick tab
11544         explicitly. Re-code to use gui_item_equal_sans_selected and
11545         gui_item_list_find_selected.
11546
11547         * glyphs-x.h: add lwlib-utils.h
11548
11549         * buffer.c (Frecord_buffer): undo previous change.
11550
11551 2000-08-09  Vin Shelton  <acs@xemacs.org>
11552
11553         * config.h.in, s/gnu.h, s/hpux.h, s/linux.h: Use UNIX98 PTYs if
11554         possible.  Create temporary files more securely.  The patch was
11555         generated by Torsten Duwe <duwe@caldera.de>, Florian Weimer
11556         <Florian.Weimer@RUS.Uni-Stuttgart.DE> and Olaf Kirch.  See
11557         http://www.xemacs.org/list-archives/xemacs-patches/200007/msg00123.html
11558         for details.
11559
11560 2000-08-07  Ben Wing  <ben@xemacs.org>
11561
11562         * getloadavg.c: remove duplicate (and windows-breaking)
11563         includes of fcntl.h and sys/file.h.
11564
11565         * nt.c: remove duplicate getloadavg() definition.
11566
11567         * sysdll.h (Qdll_filename_encoding): add missing stand-in
11568         encodings.
11569
11570 2000-08-07  Gunnar Evermann  <ge204@eng.cam.ac.uk>
11571
11572         * eval.c (function_argcount): If function needs to be autoloaded
11573         actually use the loaded definition.
11574         GCPRO function.
11575
11576 2000-08-05  Ben Wing  <ben@xemacs.org>
11577
11578         * getloadavg.c: add prototype for getloadavg().  remove
11579         duplicate WIN32_NATIVE/CYGWIN code (already in the middle
11580         of the code).  remove duplicate header includes.
11581
11582         * s\cygwin32.h, s\mingw32.h: remove stray NO_ARG_ARRAY.
11583
11584         * s\cygwin32.h, s\mingw32.h, m\windowsnt.h:
11585         don't define LOAD_AVE_TYPE/LOAD_AVE_CVT because we have no
11586         useful load average.
11587
11588         * alloc.c (reinit_alloc_once_early): removed references to
11589         VIRT_ADDR_VARIES, malloc_sbrk_used/free, and data-bytes-used/free.
11590         the lisp vars are the only things referencing the malloc_sbrk_*
11591         vars, and they were already if 0'd out.  these vars only exist
11592         in the older malloc.c, which is basically unused, and they're
11593         only for informational purposes.
11594
11595         * m\*.h: removed useless VIRT_ADDR_VARIES.
11596
11597         * m\powerpc.h: removed stray NO_ARG_ARRAY.
11598
11599 2000-04-26  IKEYAMA Tomonori  <tomonori@suiyokai.org>
11600
11601         * redisplay-msw.c (mswindows_output_dibitmap): Set foreground
11602         color if the image is a mono pixmap.
11603
11604 2000-07-30  Ben Wing  <ben@xemacs.org>
11605
11606         * Makefile.in.in (release):
11607         Remove stray @.
11608
11609         * buffer.c (directory_is_current_directory):
11610         * dired-msw.c (mswindows_get_files):
11611         * dired.c:
11612         * dired.c (Fdirectory_files):
11613         * dired.c (file_name_completion_stat):
11614         * dired.c (Ffile_attributes):
11615         [[[[1]]]]: Rename stat() -> xemacs_stat() and eliminate nasty
11616         preprocessor tricks, to avoid problems on some machines
11617         (e.g. SCO).
11618
11619         * callproc.c (egetenv): GC docs.
11620
11621         * console-msw.h:
11622         * console-msw.h (struct mswindows_dialog_id):
11623         * lrecord.h (lrecord_type):
11624         New object for use with MSW dialogs.
11625
11626         * console.h (struct console_methods):
11627         New enable/disable frame methods, for proper modal dialogs.
11628
11629         * device-msw.c (msprinter_default_printer): Fix to follow
11630         proper Mule conventions.
11631
11632         * device-msw.c:
11633         * device-msw.c (signal_open_printer_error):
11634         * device-msw.c (msprinter_init_device):
11635         * device-msw.c (ensure_not_printing):
11636         * device-msw.c (plist_get_margin):
11637         * device-msw.c (Fmsprinter_select_settings):
11638         * device-msw.c (finalize_devmode):
11639         * device-msw.c (Fmsprinter_settings_despecialize):
11640         * device-msw.c (signal_enum_priner_error):
11641         * extents.c (decode_extent):
11642         * extents.c (decode_map_extents_flags):
11643         * extents.c (decode_extent_at_flag):
11644         * extents.c (Fextent_at):
11645         * extents.c (Fextents_at):
11646         * extents.c (symbol_to_glyph_layout):
11647         [[[[2]]]] Use structured errors.
11648
11649         * dialog-msw.c:
11650         * dialog-msw.c (mswindows_is_dialog_msg):
11651         * dialog-msw.c (mark_mswindows_dialog_id):
11652         * dialog-msw.c (dialog_proc):
11653         * dialog-msw.c (handle_question_dialog_box):
11654         * dialog-msw.c (syms_of_dialog_mswindows):
11655         Define new object to clean up marking; use it as a dialog identifier.
11656         Call new delete-dialog-box-hook.
11657
11658         * dialog-x.c (dbox_selection_callback):
11659         * dialog-x.c (dbox_descriptor_to_widget_value):
11660         * dialog-x.c (x_make_dialog_box_internal):
11661         Call new delete-dialog-box-hook.
11662         Return an id.
11663
11664         * dialog.c:
11665         * dialog.c (syms_of_dialog):
11666         * dialog.c (vars_of_dialog):
11667         Define new delete-dialog-box-hook, for use w/modal dialog boxes.
11668
11669         * eval.c:
11670         * eval.c (signal_call_debugger):
11671         when noninteractive, output stack traces on the console instead
11672         of in a (never-seen) buffer.
11673
11674         * eval.c (signal_type_error):
11675         * eval.c (invalid_argument_2):
11676         * lisp.h:
11677         new funs for use w/structured errors.
11678
11679         * event-Xt.c:
11680         * event-Xt.c (x_to_emacs_keysym):
11681         * event-Xt.c (describe_event):
11682         * event-Xt.c (emacs_Xt_event_handler):
11683         * event-Xt.c (vars_of_event_Xt):
11684         * event-msw.c:
11685         * event-msw.c (mswindows_wnd_proc):
11686         * event-msw.c (vars_of_event_mswindows):
11687         rename {x,mswindows}-debug-events to debug-{}-events for
11688         consistency with other debug-foo variables.
11689
11690         * event-stream.c:
11691         document next-event more clearly.
11692
11693         * fileio.c (Ffile_name_directory):
11694         * fileio.c (Ffile_name_nondirectory):
11695         * fileio.c (Funhandled_file_name_directory):
11696         * fileio.c (file_name_as_directory):
11697         * fileio.c (Ffile_name_as_directory):
11698         * fileio.c (directory_file_name):
11699         * fileio.c (Fdirectory_file_name):
11700         * fileio.c (Fmake_temp_name):
11701         * fileio.c (Ffile_truename):
11702         * fileio.c (Fsubstitute_in_file_name):
11703         * fileio.c (expand_and_dir_to_file):
11704         * fileio.c (barf_or_query_if_file_exists):
11705         * fileio.c (check_executable):
11706         * fileio.c (Ffile_exists_p):
11707         * fileio.c (Ffile_writable_p):
11708         * fileio.c (Ffile_directory_p):
11709         * fileio.c (Ffile_regular_p):
11710         * fileio.c (Ffile_modes):
11711         * fileio.c (Ffile_newer_than_file_p):
11712         * fileio.c (Fverify_visited_file_modtime):
11713         * fileio.c (Fset_visited_file_modtime):
11714         * fileio.c (auto_save_1):
11715         (1). (2).
11716         fix up gcpro's.
11717
11718         * frame-msw.c:
11719         * frame-msw.c (mswindows_init_frame_1):
11720         * frame-msw.c (mswindows_enable_frame):
11721         * frame-msw.c (error_frame_unsizable):
11722         * frame-msw.c (msprinter_init_frame_1):
11723         * frame-msw.c (msprinter_init_frame_3):
11724         * frame-msw.c (console_type_create_frame_mswindows):
11725         (2).
11726         implement new enable/disable frame methods.
11727
11728         * frame-x.c:
11729         * frame-x.c (x_enable_frame):
11730         * frame-x.c (console_type_create_frame_x):
11731         implement new enable/disable frame methods.
11732
11733         * frame.c:
11734         * frame.c (Fdisable_frame):
11735         * frame.c (syms_of_frame):
11736         * frame.h (struct frame):
11737         implement new enable/disable frame methods/functions.
11738
11739         * general-slots.h:
11740         add initial-focus.
11741
11742         * glyphs-msw.c (mswindows_widget_instantiate):
11743         comment that initial-focus should be implemented.
11744
11745         * glyphs-widget.c:
11746         * glyphs-widget.c (check_valid_instantiator):
11747         * glyphs-widget.c (check_valid_orientation):
11748         * glyphs-widget.c (check_valid_tab_orientation):
11749         * glyphs-widget.c (check_valid_justification):
11750         * glyphs-widget.c (check_valid_border):
11751         * glyphs-widget.c (check_valid_callback):
11752         * glyphs-widget.c (check_valid_int_or_function):
11753         * glyphs-widget.c (check_valid_string_or_vector):
11754         * glyphs-widget.c (check_valid_item_list_1):
11755         * glyphs-widget.c (widget_validate):
11756         * glyphs-widget.c (combo_box_validate):
11757         * glyphs-widget.c (widget_instantiate):
11758         * glyphs-widget.c (syms_of_glyphs_widget):
11759         * glyphs-widget.c (VALID_WIDGET_KEYWORDS):
11760         * glyphs-widget.c (image_instantiator_combo_box):
11761         * glyphs-widget.c (image_instantiator_scrollbar):
11762         * glyphs-widget.c (image_instantiator_tab_control):
11763         * glyphs-widget.c (VALID_LAYOUT_KEYWORDS):
11764         (2).
11765         support (unimplemented) keyword initial-focus.
11766         reindent long macros.
11767
11768         * glyphs-x.c (x_redisplay_widget):
11769         * glyphs-x.c (x_button_instantiate):
11770         * glyphs-x.c (x_button_redisplay):
11771         * glyphs-x.c (x_progress_gauge_instantiate):
11772         * glyphs-x.c (x_edit_field_instantiate):
11773         * glyphs-x.c (x_combo_box_instantiate):
11774         * glyphs-x.c (x_tab_control_instantiate):
11775         * glyphs-x.c (x_label_instantiate):
11776         * gui-x.c:
11777         * gui-x.c (button_item_to_widget_value):
11778         * gui-x.c (gui_items_to_widget_values_1):
11779         * gui-x.c (gui_item_children_to_widget_values):
11780         * gui-x.c (gui_items_to_widget_values):
11781         * gui-x.h:
11782         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
11783         add new flag to gui-parsing routines to indicate whether
11784         accelerator specs should be supported.
11785
11786         * glyphs.c (syms_of_glyphs): use DEFSYMBOL.
11787
11788         * glyphs.h (struct Lisp_Image_Instance):
11789         * glyphs.h (IMAGE_INSTANCE_WANTS_INITIAL_FOCUS):
11790         add initial-focus flag.
11791
11792         * gui.c:
11793         * gui.c (syms_of_gui):
11794         * gui.c (vars_of_gui):
11795         clean up menu-no-selection-hook.
11796
11797         * gui.h:
11798         support delete-dialog-box-hook.
11799
11800         * lread.c (Fload_internal):
11801         * lread.c (locate_file_in_directory_mapper):
11802         (1).
11803
11804         * lrecord.h:
11805         * lrecord.h (struct toolbar_button):
11806         * lrecord.h (syms_of_toolbar):
11807         document how to create a new object.
11808
11809         * menubar-msw.c (mswindows_char_is_accelerator):
11810         may be called on frames w/o menus.
11811
11812         * menubar.c (vars_of_menubar):
11813         clean up :filter docs.
11814
11815         * nt.c (readdir):
11816         * ntproc.c:
11817         (1).
11818
11819         * process-nt.c:
11820         * process-nt.c (validate_signal_number):
11821         * process-nt.c (signal_cannot_launch):
11822         * process-nt.c (nt_create_process):
11823         * process-nt.c (nt_send_process):
11824         * process-nt.c (nt_kill_child_process):
11825         * process-nt.c (nt_open_network_stream):
11826         * process-nt.c (syms_of_process_nt):
11827         (2).
11828         delete quote-handling.  call new lisp code that does it better.
11829
11830         * process-unix.c (connect_to_file_descriptor):
11831         * process-unix.c (allocate_pty):
11832         * process-unix.c (unix_send_process):
11833         * process-unix.c (unix_kill_child_process):
11834         * process-unix.c (unix_open_network_stream):
11835         * process-unix.c (unix_open_multicast_group):
11836         (1). (2).
11837
11838         * process.c:
11839         * process.c (Fstart_process_internal):
11840         (2).  need to canonicalize process path even if absolute.
11841
11842         * select-msw.c (symbol_to_ms_cf):
11843         * select-msw.c (ms_cf_to_symbol):
11844         * select-msw.c (cf_is_autofreed):
11845         * select-msw.c (mswindows_destroy_selection):
11846         * select.c:
11847         * select.c (syms_of_select):
11848         * select.h:
11849         support dibv5, fix bugs. (from Mike Alexander)
11850
11851         * select.c (Fget_selection_internal):
11852         * select.c (select_convert_out):
11853
11854         * sysdep.c:
11855         * sysdep.c (xemacs_stat):
11856         renamed.
11857
11858         * sysdep.c (mkdir):
11859         * sysdep.c (rmdir):
11860         but keep original stat() here because we provide encapsulation
11861         around these funs.
11862
11863         * sysfile.h:
11864         * sysfile.h (fstat):
11865         remove stat garbage.
11866
11867         * syswindows.h:
11868         fix X/MSW conflict.
11869         don't include tchar.h.  it's inappropriate because it makes
11870         compile-time distinctions when we want runtime distinctions.
11871         (we provide our own tchar replacements)
11872
11873         * toolbar.c:
11874         use default object printer for toolbar-button.
11875
11876         * unexcw.c:
11877         make sure we don't encapsulate.
11878
11879         * window.c (vars_of_window):
11880         emphasize that temp-buffer-show-hook is obsolete.
11881
11882 2000-08-05  Martin Buchholz  <martin@xemacs.org>
11883
11884         * glyphs.c (image_instance_hash): HASH2 wants EMACS_INT args.
11885         (Fimage_instance_subwindow_id): make_int wants EMACS_INT arg.
11886
11887         * events.c (Fevent_timestamp_lessp):
11888         Not 64-bit clean.  Use EMACS_INT, not int.
11889
11890 2000-06-05  Andrew Begel <abegel@cs.berkeley.edu>
11891
11892         * lrecord.h (lrecord_types): Changed lrecord_type_count to an
11893         unsigned int and changed the last enum to
11894         lrecord_type_last_built_in_type.
11895         (lrecord_implementations_table): changed prototype to know how
11896         long the array is supposed to be.
11897         (lrecord_type_count): new unsigned int to keep track of the
11898         current number of lisp lrecord types.
11899         (DEFINE_EXTERNAL_LRECORD):
11900         (DECLARE_EXTERNAL_LRECORD): Added these two for external
11901         dynamic-modules to declare new lisp types. They are the same
11902         as the non-EXTERNAL forms, but declare an lrecord_type unsigned
11903         int for each new type, and increment lrecord_type_count by 1.
11904
11905         * alloc.c (lrecord_implementations_table): Changed to reference
11906         lrecord_type_last_built_in_type for the size of the array.
11907         Moved MODULE_DEFINABLE_TYPE_COUNT to lrecord.h.
11908
11909 2000-08-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
11910
11911         * glyphs.h (check_valid_item_list): Renamed from
11912         check_valid_item_list_1.
11913
11914 2000-08-01 Alastair J. Houghton <ajhoughton@lineone.net>
11915
11916         * select.c (Qselect_coerce): New.
11917         * select.c (Vselection_coercion_alist): New.
11918         * select.c (syms_of_select): Declare.
11919         * select.c (get-selection-internal): Use it.
11920         Use the new select-coerce functionality.
11921
11922         * select.c (select_coerce): New.
11923         * select.h (select_coerce): Declare.
11924         New function to coerce one type of data into another.
11925
11926 2000-08-03  Martin Buchholz  <martin@xemacs.org>
11927
11928         * callproc.c (Fcall_process_internal):
11929         (Fcall_process_internal):
11930         * process-unix.c (unix_create_process):
11931         Save and restore the value of errno, so that error messages are accurate.
11932
11933 2000-08-01  Martin Buchholz  <martin@xemacs.org>
11934
11935         * elhash.c (print_hash_table):
11936         Fix printing of hash tables to also use `key-and-value' instead of `t'.
11937         Prettify docstrings and indentation.
11938
11939 2000-07-31  Yoshiki Hayashi  <yoshiki@xemacs.org>
11940
11941         * window.c (Fwindow_pixel_edges): Subtract frame border and
11942         gutter size.
11943
11944 2000-07-31  Andy Piper  <andy@xemacs.org>
11945
11946         * buffer.c (Frecord_buffer): make absolutely sure that redisplay
11947         will acknowledge the change.
11948
11949         * glyphs.h: declare tab_control_order_only_changed.
11950
11951         * glyphs-x.c (x_tab_control_redisplay): use
11952         tab_control_order_only_changed.
11953
11954         * glyphs-widget.c (tab_control_order_only_changed): new function.
11955
11956         * glyphs-msw.c (mswindows_tab_control_redisplay): use
11957         tab_control_order_only_changed.
11958
11959         * gui.c (gui_item_equal_sans_selected): new function.
11960         (gui_item_equal): use it.
11961
11962         * glyphs-msw.c (mswindows_combo_box_instantiate): deprecate
11963         :properties in favor of :items..
11964
11965         * glyphs-widget.c (check_valid_item_list): rename from
11966         check_valid_item_list_1.
11967         (check_valid_item_list_1): renamed.
11968         (combo_box_validate): deprecate :properties in favor of :items.
11969         (widget_instantiate): ditto.
11970         (tab_control_update): ditto.
11971         (image_instantiator_combo_box): ditto.
11972         (image_instantiator_tree_view): ditto.
11973         (image_instantiator_tab_control): ditto.
11974         (layout_post_instantiate): remove dead code.
11975
11976         * print.c (debug_print_no_newline): only write to debugger if in
11977         WIN32_NATIVE.
11978
11979         * elhash.c (Fmake_hash_table): update doc string.
11980
11981         * event-msw.c (mswindows_wnd_proc): don't allow processing of
11982         messages whilst in GC. This at least stops XEmacs crashing but has
11983         the potential for wierd behaviour.
11984
11985 2000-07-31  Martin Buchholz  <martin@xemacs.org>
11986
11987         * config.h.in:
11988         Make existence of s&m files optional.
11989
11990         * s/bsd386.h: Remove HAVE_GETLOADAVG.
11991         * s/freebsd.h: Remove HAVE_GETLOADAVG.
11992         * s/gnu.h: Remove HAVE_GETLOADAVG.
11993         * s/netbsd.h: Remove HAVE_GETLOADAVG.
11994         * s/sol2.h: Remove HAVE_GETLOADAVG.
11995         * lisp.h: Remove getloadavg() declaration.
11996         * fns.c:
11997         Include <sys/loadavg.h> if available.
11998         Don't declare our own getloadavg() if HAVE_GETLOADAVG.
11999         * config.h.in:  Group together getloadavg()-related macros.
12000         Use only configure-time tests to detect getloadavg().
12001
12002 2000-07-30  Martin Buchholz  <martin@xemacs.org>
12003
12004         * Makefile.in.in (TransientEmacsShell.o): Fix race condition.
12005
12006 2000-07-25  Andy Piper  <andy@xemacs.org>
12007
12008         * syswindows.h: add tchar.h for native builds.
12009
12010         * frame.c (syms_of_frame): remove set-glyph-image.
12011
12012         * general-slots.h: add Qset_glyph_image.
12013
12014         * glyphs-widget.c (layout_update): add domain arg to
12015         set-glyph-image.
12016         (syms_of_glyphs_widget): remove set-glyph-image.
12017
12018 2000-07-23  Ben Wing  <ben@xemacs.org>
12019
12020         * dialog-msw.c (vars_of_dialog_mswindows): need to staticpro
12021         Vpopup_frame_list.
12022
12023 2000-07-22  Andy Piper  <andy@xemacs.org>
12024
12025         * symsinit.h: add syms_of_win32().
12026
12027         * gui-msw.c (syms_of_gui_mswindows): remove
12028         Fmswindows_shell_execute.
12029         (Fmswindows_shell_execute): moved to win32.c.
12030
12031         * emacs.c (main_1): add syms_of_win32 ().
12032
12033         * win32.c (init_potentially_nonexistent_functions): rewrite in
12034         compiler-friendly terms.
12035         (Fmswindows_shell_execute): move here from gui-msw.c.
12036         (syms_of_win32): new.
12037
12038         * device-msw.c (Fmswindows_printer_list): clean up args to
12039         EnumPrinters.
12040         Don't include tchar under cygwin or mingw.
12041         (msprinter_default_printer): make cygwin-friendly.
12042
12043 2000-07-21  Andy Piper  <andy@xemacs.org>
12044
12045         * glyphs-widget.c (image_instantiator_tree_view): use tab
12046         control's update function.
12047         (layout_property): new function. Retrieve items.
12048
12049         * glyphs-msw.c (mswindows_tree_view_redisplay): new
12050         function. Re-populate the tree view from the pending items.
12051
12052         * glyphs.c (instantiate_image_instantiator): Make sure the domain
12053         is designated the parent if the domain is an image instance. This
12054         is needed so that dirtiness can be cascade up the hierarchy and
12055         thus for layout children to be redisplayed correctly.
12056         (allocate_image_instance): rename glyph -> parent.
12057
12058         * redisplay.h: change redisplay_output_layout signature.
12059
12060         * redisplay-msw.c (mswindows_output_display_block): use domain
12061         arg.
12062
12063         * redisplay-x.c (x_output_display_block): use domain arg.
12064
12065 2000-07-10  Andy Piper  <andy@xemacs.org>
12066
12067         * window.c (Fset_window_configuration): add comment.
12068
12069         * redisplay-output.c (compare_runes):
12070         (redisplay_output_subwindow): redisplay rather than update subwindow.
12071         (redisplay_output_layout): ditto.
12072
12073         * redisplay-msw.c (mswindows_frame_output_end):
12074         (mswindows_frame_output_end): make defer window pos optional.
12075
12076         * lisp.h: add Flast.
12077
12078         * glyphs.h (struct image_instantiator_methods): add dest_mask top
12079         normalize method. Change update method to be for changed
12080         instantiators. Add redisplay method. Change signature of layout
12081         method.
12082         (struct Lisp_Image_Instance): add instantiator.
12083         (IMAGE_INSTANCE_INSTANTIATOR): new.
12084         (IMAGE_INSTANCE_SUBWINDOW_FACE): new.
12085         (XIMAGE_INSTANCE_INSTANTIATOR): new.
12086         (XIMAGE_INSTANCE_SUBWINDOW_FACE): new.
12087
12088         * glyphs.c:
12089         (find_instantiator_differences): new function.
12090         (Fset_instantiator_property): new convenience function.
12091         (check_image_instance_structure): strictly check for vector
12092         instantiators.
12093         (normalize_image_instantiator): make non-static.
12094         (instantiate_image_instantiator): pass on dest_mask and use new
12095         signatures for image_instance_layout and friends.
12096         (mark_image_instance): mark the instantiator. Mark the subwindow
12097         face not the widget face.
12098         (image_instance_equal): add instantiator.
12099         (image_instance_hash): ditto.
12100         (allocate_image_instance): ditto.
12101         (Fset_image_instance_property): removed.
12102         (Fimage_instance_file_name): ditto.
12103         (Fcolorize_image_instance): ditto.
12104         (image_instance_layout): add offsets to be set.
12105         (update_image_instance): new function. update an image instance
12106         from its changed instantiator.
12107         (inherit_normalize): add dest_mask.
12108         (xbm_normalize): ditto.
12109         (xface_normalize): ditto.
12110         (xpm_normalize): ditto.
12111         (text_update): set_property -> update.
12112         (image_instantiate): use the glyph identity as a hash key, not the
12113         instantiator.
12114         (glyph_width): use new image_instance_layout signature.
12115         (glyph_ascent): ditto.
12116         (glyph_descent): ditto.
12117         (glyph_height): ditto.
12118         (glyph_query_geometry): ressurrect.
12119         (glyph_layout): ditto.
12120         (redisplay_subwindow): update -> redisplay.
12121         (syms_of_glyphs): add Fset_instantiator_property.
12122         (image_instantiator_format_create): set_property -> update.
12123
12124         * glyphs-x.c:
12125         (autodetect_normalize): add dest_maks to signature.
12126         (x_redisplay_subwindow): update -> redisplay.
12127         (x_redisplay_widget): ditto.
12128         (x_button_redisplay): ditto.
12129         (x_progress_gauge_redisplay): ditto.
12130         (x_tab_control_redisplay): ditto. Rewrite to cope with changed
12131         stacking order.
12132         (console_type_create_glyphs_x): update -> redisplay.
12133         (image_instantiator_format_create_glyphs_x): ditto.
12134
12135         * glyphs-widget.c:
12136         (check_valid_instantiator): disallow glyphs in the instantiator,
12137         they must now be vectors.
12138         (check_valid_instantiator_list): ditto.
12139         (glyph_instantiator_to_glyph): use internal symbol rather than
12140         intern.
12141         (widget_update): renamed from widget_set_property. Call cascaded
12142         update methods.
12143         (redisplay_widget): renamed from update_widget.
12144         (widget_layout): image_instance_layout now takes position as well
12145         as size.
12146         (widget_normalize): ditto.
12147         (widget_instantiate): ditto.
12148         (tab_control_query_geometry) ditto.:
12149         (tab_control_update): renamed from tab_control_set_property.
12150         (progress_gauge_update): set_property -> update.
12151         (layout_normalize): rewrite so that child instantiators are
12152         normalized also.
12153         (layout_update): new function. Create glyphs from the normalized
12154         children and cope with any other layout keywords. We do not
12155         instantiate children here that will be take care of by
12156         redisplay_output_layout.
12157         (layout_instantiate): call layout_update and not much else.
12158         (layout_post_instantiate): not sure whether this is needed
12159         anymore.
12160         (layout_query_geometry): query glyph geometry rather than
12161         image_instance geometry.
12162         (layout_layout): set offsets from pass in parameters. Use glyph
12163         geometry and layout functions rather than image instance ones.
12164         (native_layout_layout): ditto.
12165         (syms_of_glyphs_widget): add make-glyph and set-glyph-image.
12166         (image_instantiator_widget): set_property -> update.
12167         (image_instantiator_buttons): ditto.
12168         (image_instantiator_progress_guage): ditto.
12169         (image_instantiator_tab_control): ditto.
12170         (VALID_LAYOUT_KEYWORDS): instantiators must now be vectors.
12171         (image_instantiator_layout): add update method.
12172
12173         * glyphs-msw.c (bmp_normalize):
12174         (mswindows_resource_normalize): add dest_mask so that it can be
12175         proprogated by layout_normalize.
12176         (begin_defer_window_pos): make optional because it may not be the
12177         right thing to do and it introduces differences with X.
12178         (mswindows_unmap_subwindow): ditto.
12179         (mswindows_map_subwindow): ditto.
12180         (mswindows_redisplay_subwindow): renamed from
12181         mswindows_update_subwindow.
12182         (mswindows_redisplay_widget): ditto.
12183         (mswindows_button_redisplay): renamed from
12184         mswindows_button_update. Update is now what the instantiation
12185         function does for a changed instantiator.
12186         (mswindows_progress_gauge_instantiate): set the progress value
12187         here if appropriate.
12188         (mswindows_tab_control_redisplay): cope with re-ordering of the
12189         members of the tab widget by simply selecting the new top
12190         widget. This makes things appear ok if you click on a tab.
12191         (mswindows_combo_box_instantiate): image_instance_layout now takes
12192         position as well as size.
12193         (mswindows_progress_gauge_redisplay): renamed from
12194         mswindows_progress_gauge_update.
12195         (console_type_create_glyphs_mswindows): fix update -> redisplay.
12196         (image_instantiator_format_create_glyphs_mswindows): ditto.
12197
12198         * glyphs-eimage.c (jpeg_normalize):
12199         (gif_normalize):
12200         (png_normalize):
12201         (tiff_normalize): add dest_mask so that it can be proprogated by
12202         layout_normalize.
12203
12204         * elhash.c:
12205         (print_hash_table):
12206         (hash_table_weakness_validate):
12207         (decode_hash_table_weakness):
12208         (Fhash_table_weakness):
12209         (Fhash_table_type):
12210         (syms_of_elhash): use Ben's naming scheme for hashtable types..
12211
12212         * console.h (struct console_methods): move update_* to
12213         redisplay_*.
12214
12215 2000-07-20  Ben Wing  <ben@xemacs.org>
12216
12217         * *.[ch] (XSETOBJ): remove unused middle argument.
12218         lisp-disunion.h: correct wrap_object() to one argument.
12219
12220 2000-07-15  Ben Wing  <ben@xemacs.org>
12221
12222         * s/cygwin32.h:
12223         * s/cygwin32.h (CYGWIN_CONV_PATH):
12224         Add missing logb prototype for v1.1.
12225         Use post-b20 names and alias to pre-b20 names when pre-b20.
12226
12227         * s/windowsnt.h: [5].
12228
12229 2000-07-15  Ben Wing  <ben@xemacs.org>
12230
12231         * Makefile.in.in (x_objs):
12232         * Makefile.in.in (sheap_objs):
12233         * Makefile.in.in (objs):
12234         added win32.o, cosmetic cleanups.
12235
12236         * alloc.c (Fmake_byte_code):
12237         [[[1]]]: Changes for new LIST_LOOP, EXTERNAL_LIST_LOOP,
12238         etc. macros which declare their own args now.
12239
12240         * alloc.c (syms_of_alloc):
12241         [[[2]]]: Use DEFSYMBOL, DEFKEYWORD, DEFERROR and friends.
12242
12243         * buffer.c:
12244         Moved buffer-dedicated-frame, set-buffer-dedicated-frame into lisp.
12245
12246         * buffer.c (Fget_file_buffer):
12247         Fixed GCPRO problem.
12248
12249         * buffer.c (get_truename_buffer):
12250         Fixed comment about GC checking.
12251
12252         * buffer.c (syms_of_buffer):
12253         Undeclared those dedicated frame funs.
12254         [2].
12255
12256         * buffer.h:
12257         Define convenience macros for internal/external conversions.
12258         [[[3]]]: Define codesys aliases Qcommand_argument_encoding
12259         and Qenvironment_variable_encoding for cleaner code.
12260
12261         * bufslots.h:
12262         Remove dedicated-frame; in lisp.
12263
12264         * bytecode.c (funcall_compiled_function):
12265         [1].
12266
12267         * bytecode.c (syms_of_bytecode):
12268         [2].
12269
12270         * console-msw.c:
12271         * console-msw.c (mswindows_show_console): Rewrote.
12272
12273         * console-msw.c (Fmswindows_debugging_output): New.
12274         Sends to OutputDebugString (special MSWin debugger interface).
12275
12276         * console-msw.c (Fmswindows_message_box):
12277         Fixed stupid bugs so it works when called from kill-emacs.
12278
12279         * console-msw.c (syms_of_console_mswindows):
12280         Declare Fmswindows_debugging_output.
12281
12282         * console-msw.h:
12283         New MSWin prototypes.
12284
12285         * console-msw.h (struct mswindows_frame):
12286         New entry last-click-mods for improved button-modifier support.
12287
12288         * console-msw.h (FRAME_MSWINDOWS_POPUP):
12289         New struct entry `popup' with corresponding accessor.
12290
12291         * console-x.c:
12292         * console-x.c (split_up_display_spec):
12293         * console-x.c (get_display_arg_connection):
12294         * console-x.c (x_semi_canonicalize_console_connection):
12295         * console-x.c (x_canonicalize_device_connection):
12296         [[[6]]]: Change char to more specific type.
12297         [[[8]]]: Make use of abstracting codesys aliases defined in [3], [4];
12298
12299         * console-x.c (x_semi_canonicalize_console_connection):
12300         * console-x.c (x_canonicalize_device_connection):
12301         [[[9]]]: Fix up error signalling to use new structured error system.
12302
12303         * console-x.h:
12304         [[[4]]]: Define codesys aliases:
12305         Qlwlib_encoding, Qx_atom_name_encoding, Qx_font_name_encoding,
12306         Qx_color_name_encoding, Qx_display_name_encoding.
12307
12308         * console.h (struct console_methods):
12309         New method make_dialog_box_internal supersedes older
12310         popup_dialog_box method.
12311
12312         * data.c:
12313         Define many new errors, part of new structured errors.
12314
12315         * data.c (init_errors_once_early):
12316         * data.c (syms_of_data):
12317         [2].
12318
12319         * device-msw.c (mswindows_init_device):
12320         [[[5]]]: Cleanup to support NT 3.51.
12321
12322         * device-msw.c (decode_devmode): Cleanup.
12323
12324         * device-msw.c (mswindows_handle_print_setup_dialog_box):
12325         * device-msw.c (mswindows_handle_print_dialog_box):
12326         * device-msw.c (mswindows_handle_page_setup_dialog_box):
12327         * device-msw.c (syms_of_device_mswindows):
12328         Delete the dialog box primitives recently introduced by Kirill and
12329         instead interface to general dialog box interface.
12330
12331         * device-x.c:
12332         * device-x.c (compute_x_app_name):
12333         * device-x.c (x_init_device):
12334         * device-x.c (Fx_valid_keysym_name_p):
12335         * device-x.c (Fx_set_font_path):
12336         [6].
12337         [7].
12338
12339         * device.h (wrap_device): New.
12340         First of its kind; meant to replace XSETDEVICE.
12341
12342         * dialog-msw.c: Many file-dialog symbols.
12343
12344         * dialog-msw.c (mswindows_register_popup_frame): New.
12345         * dialog-msw.c (mswindows_is_dialog_msg): New.
12346         For supporting kbd traversal in dialog boxes.
12347
12348         * dialog-msw.c (dialog_proc):
12349         Support hitting ESC in dialogs.
12350
12351         * dialog-msw.c (struct):
12352         Common dialog box errors.
12353
12354         * dialog-msw.c (handle_file_dialog_box): New.
12355         Add file dialog code.
12356
12357         * dialog-msw.c (handle_question_dialog_box):
12358         Redo existing code to support new question dialog syntax.
12359
12360         * dialog-msw.c (console_type_create_dialog_mswindows):
12361         We support new dialog console method.
12362
12363         * dialog-msw.c (syms_of_dialog_mswindows):
12364         * dialog-msw.c (vars_of_dialog_mswindows):
12365         New file dialog symbols, vars.
12366
12367         * dialog-x.c:
12368         * dialog-x.c (maybe_run_dbox_text_callback):
12369         * dialog-x.c (dbox_descriptor_to_widget_value):
12370         * dialog-x.c (x_make_dialog_box_internal):
12371         * dialog-x.c (console_type_create_dialog_x):
12372         Mule-ize entire file.
12373         Redo to support question dialog syntax.
12374         [6].
12375
12376         * dialog.c:
12377         * dialog.c (Fmake_dialog_box_internal):
12378         * dialog.c (syms_of_dialog):
12379         Kill old popup-dialog-box, replace with new primitive.
12380         Just call device method or signal error.
12381
12382         * eldap.c (Fldap_open):
12383         * eldap.c (Fldap_search_basic):
12384         * eldap.c (Fldap_add):
12385         * eldap.c (Fldap_modify):
12386         [1].
12387         [7].
12388
12389         * emacs.c:
12390         * emacs.c (make_arg_list_1):
12391         * emacs.c (make_arg_list):
12392         Mule-ize call to dll_init().
12393         [6].
12394         [8].
12395
12396         * emacs.c (make_argc_argv):
12397         * emacs.c (free_argc_argv):
12398         * emacs.c (init_cmdargs):
12399         * emacs.c (main_1):
12400         * emacs.c (Fkill_emacs):
12401         * emacs.c (Fdump_emacs):
12402         Update comments about what can be used in syms_* etc.
12403         Call init_win32() when necessary.
12404         Fix up MS Win dialog box in kill-buffer to actually work right.
12405         [7].
12406
12407         * eval.c:
12408         * eval.c (For):
12409         * eval.c (Fand):
12410         * eval.c (Fprogn):
12411         * eval.c (Fprog1):
12412         * eval.c (Fprog2):
12413         * eval.c (FletX):
12414         * eval.c (Flet):
12415         * eval.c (condition_case_3):
12416         * eval.c (Feval):
12417         * eval.c (function_argcount):
12418         * eval.c (funcall_lambda):
12419         [1].
12420
12421         * eval.c (type_error): New.
12422         * eval.c (maybe_type_error): New.
12423         * eval.c (continuable_type_error): New.
12424         * eval.c (maybe_continuable_type_error): New.
12425         * eval.c (type_error_with_frob): New.
12426         * eval.c (maybe_type_error_with_frob): New.
12427         * eval.c (continuable_type_error_with_frob): New.
12428         * eval.c (maybe_continuable_type_error_with_frob): New.
12429         New functions for use with structured errors.
12430
12431         * event-Xt.c:
12432         * event-Xt.c (x_event_to_emacs_event):
12433         Buttons are now modifiers too.
12434
12435         * event-Xt.c (emacs_Xt_current_event_timestamp):
12436         Implement new event method.
12437         * event-Xt.c (reinit_vars_of_event_Xt): Set it.
12438
12439         * event-msw.c:
12440         * event-msw.c (ntpipe_shove_writer): [5].
12441         * event-msw.c (mswindows_enqueue_mouse_button_event):
12442         * event-msw.c (mswindows_drain_windows_queue):
12443         * event-msw.c (mswindows_wnd_proc): [7].
12444         * event-msw.c (mswindows_current_layout_has_AltGr): [5].
12445         * event-msw.c (mswindows_modifier_state):
12446         Throughout: support new button modifiers.
12447
12448         * event-msw.c (emacs_mswindows_current_event_timestamp):
12449         Implement new event method.
12450         * event-msw.c (reinit_vars_of_event_mswindows): Set it.
12451
12452         * event-stream.c:
12453         * event-stream.c (event_stream_current_event_timestamp): New.
12454         * event-stream.c (maybe_kbd_translate): New functionality.
12455         * event-stream.c (vars_of_event_stream):
12456         Document new kbd-translate-table functionality.
12457
12458         * event-stream.c (Fcurrent_event_timestamp): New.
12459         New primitive for use in fabricated events.
12460         * event-stream.c (syms_of_event_stream): [2]. Declare new primitive.
12461
12462         * events-mod.h (XEMACS_MOD_BUTTON1): new button modifiers.
12463
12464         * events.c:
12465         * events.c (Fmake_event):
12466         * events.c (WRONG_EVENT_TYPE_FOR_PROPERTY):
12467         [1].
12468         [9].
12469
12470         * events.c (format_event_object): fix gcc warnings.
12471
12472         * events.c (Fevent_timestamp): Document new primitives.
12473
12474         * events.c (TIMESTAMP_HALFSPACE): New.
12475
12476         * events.c (Fevent_timestamp_lessp): New.  New primitive for
12477         comparing timestamps correctly (half-space algorithm).
12478
12479         * events.c (Fevent_modifier_bits): Doc fix.
12480
12481         * events.c (Fevent_modifiers): Major doc addition.
12482         * events.c (event_x_y_pixel_internal): Typo fix.
12483         * events.c (syms_of_events): Declare new primitives.
12484
12485         * events.h:
12486         Update long comment for button modifiers, timestamps.
12487
12488         * events.h (struct event_stream):
12489         New current_event_timestamp method.
12490
12491         * extents.c:
12492         * extents.c (extent_in_region_p):
12493         * extents.c (decode_extent):
12494         * extents.c (Fset_extent_parent):
12495         * extents.c (decode_map_extents_flags):
12496         Fix gcc warnings.
12497         [9].
12498
12499         * extents.c (struct extent_at_arg):
12500         * extents.c (decode_extent_at_flag):
12501         * extents.c (extent_at_mapper):
12502         * extents.c (extent_at_bytind):
12503         * extents.c (Fextent_at): Adapt to new lower-level interface. [9].
12504         * extents.c (Fextents_at): New primitive. [9].
12505         * extents.c (symbol_to_glyph_layout): [9].
12506         Support new primitive `extents-at'.
12507
12508
12509         * extents.c (get_text_property_bytind):
12510         extent_at_bytind has another arg.
12511         [9].
12512
12513         * extents.c (syms_of_extents): New primitive.
12514
12515         * file-coding.c (Fmake_coding_system): [1].
12516         * file-coding.c (subsidiary_coding_system): fix gcc warning
12517         * file-coding.c (syms_of_file_coding): [2].
12518
12519         * fileio.c (Fexpand_file_name):
12520         * fileio.c (Fsysnetunam):
12521         * fileio.c (Ffile_exists_p):
12522         * fileio.c (Ffile_executable_p):
12523         * fileio.c (Fverify_visited_file_modtime):
12524         Clean up GCPROing.
12525
12526         * fileio.c (syms_of_fileio): [2].
12527
12528         * filelock.c (lock_file_1):
12529         * filelock.c (current_lock_owner):
12530         * filelock.c (lock_if_free):
12531         * filelock.c (lock_file):
12532         * filelock.c (unlock_file):
12533         Clean up GCPROing.
12534
12535         * fns.c (concat): Fix gcc warning.
12536
12537         * fns.c (Fmember):
12538         * fns.c (Fold_member):
12539         * fns.c (Fmemq):
12540         * fns.c (Fold_memq):
12541         * fns.c (memq_no_quit):
12542         * fns.c (Fassoc):
12543         * fns.c (Fold_assoc):
12544         * fns.c (Fassq):
12545         * fns.c (Fold_assq):
12546         * fns.c (assq_no_quit):
12547         * fns.c (Frassoc):
12548         * fns.c (Fold_rassoc):
12549         * fns.c (Frassq):
12550         * fns.c (Fold_rassq):
12551         * fns.c (rassq_no_quit):
12552         * fns.c (Fdelete):
12553         * fns.c (Fold_delete):
12554         * fns.c (Fdelq):
12555         * fns.c (Fold_delq):
12556         * fns.c (delq_no_quit):
12557         * fns.c (Fremassoc):
12558         * fns.c (Fremassq):
12559         * fns.c (remassq_no_quit):
12560         * fns.c (Fremrassoc):
12561         * fns.c (Fremrassq):
12562         * fns.c (remrassq_no_quit):
12563         * fns.c (Freverse):
12564         * fns.c (mapcar1):
12565         [1].
12566
12567         * frame-msw.c (mswindows_init_frame_1):
12568         * frame-msw.c (mswindows_delete_frame):
12569         Register popups with dialog code so keyboard traversing works.
12570
12571         * frame-tty.c (tty_raise_frame_no_select): [1].
12572
12573         * frame-x.c:
12574         * frame-x.c (x_set_frame_text_value):
12575         * frame-x.c (x_set_frame_properties):
12576         * frame-x.c (x_create_widgets):
12577         [7].
12578
12579         * frame.c:
12580         * frame.c (Fmouse_pixel_position): Minor doc fixes.
12581
12582         * frame.h (wrap_frame): New.
12583         Macro like wrap_device.
12584
12585         * general.c:
12586         * general.c (SYMBOL):
12587         * general.c (syms_of_general):
12588         Major reorg.  This is now just a wrapper and symbols themselves
12589         are listed in general-slots.h.
12590
12591         * glyphs-eimage.c (tiff_instantiate): Need cast to fix warning.
12592         * glyphs-msw.c (mswindows_resource_instantiate): [5].
12593
12594         * glyphs-msw.c (mswindows_native_layout_instantiate):
12595         Add DS_CONTROL so keyboard traversal will work.
12596
12597         * glyphs-widget.c:
12598         * glyphs-widget.c (syms_of_glyphs_widget):
12599         Move some symbols to general-slots.h.
12600
12601         * glyphs-x.c:
12602         * glyphs-x.c (xbm_instantiate_1):
12603         * glyphs-x.c (x_xbm_instantiate):
12604         * glyphs-x.c (x_xface_instantiate):
12605         * glyphs-x.c (autodetect_instantiate):
12606         * glyphs-x.c (cursor_font_instantiate):
12607         * glyphs-x.c (x_update_widget):
12608         * glyphs-x.c (x_widget_instantiate):
12609         * glyphs.c (bitmap_to_lisp_data):
12610         * glyphs.c (pixmap_to_lisp_data):
12611         [7].
12612
12613         * glyphs.c (syms_of_glyphs):
12614         [2].
12615
12616         * gui-x.c:
12617         * gui-x.c (print_widget_value):
12618         * gui-x.c (menu_separator_style_and_to_external):
12619         * gui-x.c (add_accel_and_to_external):
12620         * gui-x.c (button_item_to_widget_value):
12621         * gui-x.c (gui_items_to_widget_values_1):
12622         * gui-x.c (gui_items_to_widget_values):
12623         * gui-x.c (syms_of_gui_x):
12624         * gui-x.c (vars_of_gui_x):
12625         Mule-ize entire file.  Move menu-no-selection-hook to gui.c.
12626         [9].
12627
12628         * gui-x.h:
12629         Muleize, prototype changes matching gui-x.c.
12630
12631         * gui.c:
12632         * gui.c (separator_string_p):
12633         * gui.c (gui_item_add_keyval_pair):
12634         * gui.c (make_gui_item_from_keywords_internal):
12635         * gui.c (signal_too_long_error):
12636         * gui.c (parse_gui_item_tree_item):
12637         * gui.c (syms_of_gui):
12638         * gui.c (vars_of_gui):
12639         * gui.h:
12640         menu-no-selection-hook moved here (used by MSWin).
12641         Move some symbols to general-slots.h.
12642         [6].
12643         [9].
12644
12645         * insdel.c (get_buffer_pos_char):
12646         * insdel.c (get_buffer_range_char):
12647         Add GC comments.
12648
12649         * keymap.c (keymap_lookup_directly):
12650         * keymap.c (keymap_store):
12651         * keymap.c (ensure_meta_prefix_char_keymapp):
12652         * keymap.c (describe_map):
12653         * keymap.h:
12654         Support new button modifiers.
12655
12656         * lisp-disunion.h (wrap_object):
12657         * lisp-disunion.h (XSETOBJ):
12658         Rename make_obj to wrap_object.
12659
12660         * lisp-union.h:
12661         * lisp-union.h (make_int):
12662         * lisp-union.h (make_char):
12663         Support wrap_object.
12664
12665         * lisp.h:
12666         * lisp.h (LIST_LOOP):
12667         * lisp.h (EXTERNAL_LIST_LOOP):
12668         * lisp.h (LIST_LOOP_2):
12669         * lisp.h (EXTERNAL_LIST_LOOP_1):
12670         * lisp.h (EXTERNAL_LIST_LOOP_2):
12671         * lisp.h (EXTERNAL_LIST_LOOP_3):
12672         * lisp.h (EXTERNAL_LIST_LOOP_4_NO_DECLARE):
12673         * lisp.h (PRIVATE_EXTERNAL_LIST_LOOP_6):
12674         * lisp.h (GET_EXTERNAL_LIST_LENGTH):
12675         * lisp.h (EXTERNAL_ALIST_LOOP_5):
12676         * lisp.h (EXTERNAL_ALIST_LOOP_6):
12677         * lisp.h (EXTERNAL_ALIST_LOOP_6_NO_DECLARE):
12678         * lisp.h (EXTERNAL_PROPERTY_LIST_LOOP_5_NO_DECLARE):
12679         * lisp.h (EXTERNAL_PROPERTY_LIST_LOOP_7):
12680         * lisp.h (struct Lisp_Symbol):
12681         * lisp.h (maybe_continuable_error_with_frob):
12682         Fix up section comments.
12683         Add new types for char to indicate usage.
12684         Delete symbols auto-generated from general-slots.h.
12685         Add prototypes for structured error functions.
12686         Add long comments describing looping macros and change interface
12687         so that lvalues are automatically declared.
12688         Add NO_DECLARE macro in case callers want to declare lvalues
12689         themselves.
12690
12691         * lread.c (read_syntax_error):
12692         * lread.c (continuable_read_syntax_error):
12693         * lread.c (read_structure):
12694         * lread.c (sequence_reader):
12695         * lread.c (read_list_conser):
12696         * lread.c (read_compiled_function):
12697         Rename syntax_error and continuable_syntax_error to avoid clash
12698         with same-named structured error functions.
12699
12700         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
12701         * menubar-msw.c (populate_menu_add_item):
12702         * menubar-msw.c (populate_or_checksum_helper):
12703         [5].
12704         [9].
12705
12706         * menubar-x.c:
12707         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
12708         Mule-ize whole file.
12709
12710         * menubar.c (Fnormalize_menu_item_name): Add optimization.
12711
12712         * mule-charset.c (Fmake_charset):
12713         * mule-wnnfns.c (Fwnn_set_param):
12714         [1].
12715
12716         * ntproc.c (create_child):
12717         * ntproc.c (Fwin32_set_current_locale):
12718         Add comments portending doom.
12719
12720         * objects-msw.c:
12721         * objects-msw.c (old_font_enum_callback_2):
12722         * objects-msw.c (font_enum_callback_1):
12723         * objects-msw.c (mswindows_enumerate_fonts):
12724         [5].
12725
12726         * objects-x.c:
12727         * objects-x.c (allocate_nearest_color):
12728         * objects-x.c (x_parse_nearest_color):
12729         * objects-x.c (x_initialize_color_instance):
12730         * objects-x.c (x_print_color_instance):
12731         * objects-x.c (x_finalize_color_instance):
12732         * objects-x.c (x_valid_color_name_p):
12733         * objects-x.c (x_initialize_font_instance):
12734         * objects-x.c (x_print_font_instance):
12735         * objects-x.c (valid_x_font_name_p):
12736         * objects-x.c (truename_via_FONT_prop):
12737         * objects-x.c (truename_via_random_props):
12738         * objects-x.c (truename_via_XListFonts):
12739         * objects-x.c (x_font_truename):
12740         * objects-x.c (x_font_instance_truename):
12741         * objects-x.c (x_font_instance_properties):
12742         * objects-x.c (x_list_fonts):
12743         * objects-x.c (x_find_charset_font):
12744         Mule-ize entire file.
12745         [7].
12746
12747         * objects-x.h:
12748         Mule-verify.
12749
12750         * print.c:
12751         * print.c (std_handle_out_external):
12752         * print.c (debug_print_no_newline):
12753         * print.c (syms_of_print):
12754         Output to all debugger kinds in debug-print.
12755         Fix console-output code under MSWin to actually work.
12756
12757         * process-nt.c (send_signal):
12758         * process-nt.c (nt_create_process):
12759         Use newer Unicode macros.
12760
12761         * process-unix.c (unix_create_process):
12762         * process-unix.c (unix_canonicalize_host_name):
12763         * process-unix.c (unix_open_network_stream):
12764         [7].
12765
12766         * scrollbar-x.c:
12767         Mule-verify.
12768
12769         * search.c (syms_of_search):
12770         [2].
12771
12772         * select-msw.c (mswindows_destroy_selection):
12773         Use LIST_LOOP_2.
12774
12775         * select-x.c (symbol_to_x_atom):
12776         [7].
12777
12778         * select.c (syms_of_select):
12779         [2].
12780
12781         * sound.c (Fplay_sound_file):
12782         [7].
12783
12784         * specifier.c:
12785         * specifier.c (decode_specifier_type):
12786         * specifier.c (Fvalid_specifier_locale_type_p):
12787         * specifier.c (check_valid_locale_or_locale_type):
12788         * specifier.c (decode_locale):
12789         * specifier.c (decode_locale_type):
12790         * specifier.c (decode_locale_list):
12791         * specifier.c (check_valid_domain):
12792         * specifier.c (decode_specifier_tag_set):
12793         * specifier.c (Fcanonicalize_tag_set):
12794         * specifier.c (Fdefine_specifier_tag):
12795         * specifier.c (Fspecifier_tag_predicate):
12796         * specifier.c (check_valid_inst_list):
12797         * specifier.c (check_valid_spec_list):
12798         * specifier.c (decode_how_to_add_specification):
12799         * specifier.c (check_modifiable_specifier):
12800         * specifier.c (specifier_add_spec):
12801         * specifier.c (boolean_validate):
12802         * specifier.c (display_table_validate):
12803         [9].
12804
12805         * specifier.c (syms_of_specifier):
12806         Move some symbols to general-slots.h.
12807         [2].
12808
12809         * symbols.c:
12810         * symbols.c (Fmapatoms):
12811         * symbols.c (Fapropos_internal):
12812         Add GCPROs.
12813
12814         * symbols.c (set_default_buffer_slot_variable):
12815         * symbols.c (set_default_console_slot_variable):
12816         [1].
12817
12818         * symbols.c (defsymbol_massage_name_1):
12819         * symbols.c (defkeyword_massage_name):
12820         * symbols.c (deferror_1):
12821         * symbols.c (deferror):
12822         * symbols.c (deferror_massage_name_and_message):
12823         * symeval.h:
12824         * symeval.h (DEFSYMBOL):
12825         Support DEFSYMBOL*, DEFKEYWORD, DEFERROR
12826
12827         * symbols.c (syms_of_symbols):
12828         [2].
12829
12830         * symsinit.h:
12831         * symsinit.h (init_win32): New.
12832         Also new is syms_of_dialog_mswindows.
12833
12834         * syswindows.h:
12835         Add new Unicode macros, missing Cygwin wide-char functions,
12836         convenience conversion macros for Qmswindows_tstr, macros for
12837         encapsulating required MSWin <-> Cygwin filename conversions,
12838         prototype for dynamically-extracted (not in NT 3.51) functions.
12839
12840         * toolbar-x.c:
12841         Mule-verify.
12842
12843         * tooltalk.c (Fadd_tooltalk_message_arg):
12844         * tooltalk.c (Fadd_tooltalk_pattern_attribute):
12845         * tooltalk.c (Fadd_tooltalk_pattern_arg):
12846         [7].
12847
12848         * tooltalk.c (syms_of_tooltalk):
12849         [2].
12850
12851         * unexnt.c:
12852         * unexnt.c (unexec):
12853         Fix up headers, declaration of unexec() to be more standard.
12854
12855 2000-07-20  Martin Buchholz  <martin@xemacs.org>
12856
12857         * offix.h: Revert change to guard macros - they're used in offix.c!
12858
12859 2000-07-18  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12860
12861         * lisp.h: Defsubred Fdelete.
12862
12863         * console-msw.h:  (msprinter_default_printer): Added.
12864
12865         * console-msw.c (msprinter_canonicalize_console_connection):
12866         (msprinter_canonicalize_device_connection): Added.
12867
12868         * device-msw.c (msprinter_default_printer):
12869         (Fmswingows_get_default_printer):
12870         (signal_enum_priner_error):
12871         (Fmswingows_printer_list): Added.
12872
12873 2000-07-19  Martin Buchholz <martin@xemacs.org>
12874
12875         * XEmacs 21.2.35 is released.
12876
12877 2000-07-19  Martin Buchholz  <martin@xemacs.org>
12878
12879         * select-x.c (x_handle_selection_request):
12880         Text selected in xemacs and pasted into xterm failed to appear.
12881         Spelling fixes and cosmetic changes.
12882
12883 2000-07-18  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12884
12885         * event-msw.c (mswindows_drain_windows_queue): Correctly check for
12886         XEmacs frame (fix for doubling chars in dialog boxes).
12887
12888 2000-07-17 Alastair J. Houghton <ajhoughton@lineone.net>
12889
12890         * select.c (select_convert_in, select_convert_out):
12891         Don't call intern() every time.
12892
12893         * select.c (Qselect_convert_in, Qselect_convert_out): New.
12894         * select.c (vars_of_select): Initialise them.
12895
12896 2000-07-18 Alastair J. Houghton <ajhoughton@lineone.net>
12897
12898         * select.c (selection-coercible-types): New.
12899
12900         * select.c (own-selection-internal):
12901         * select.c (get-selection-internal):
12902         MULE bug fix - these should default to COMPOUND_TEXT and not
12903         STRING for MULE. I think.
12904
12905         * select.c (select_convert_out): Use selection-coercible-types
12906         to find types that we can attempt to perform coercions on.
12907
12908 2000-07-18  Martin Buchholz  <martin@xemacs.org>
12909
12910         * mule-wnnfns.c:
12911         * mule-canna.c:
12912         Add coding: cookie to identify encoding.
12913
12914         * mule-canna.c (CANNA_mode_keys): make static.
12915         Use proper prototypes, even for functions of no arguments.
12916         Remove external prototype for Fding().
12917
12918         * symsinit.h: Add missing prototype for reinit_vars_of_mule_wnn.
12919
12920         * select.c (syms_of_select): Add missing DEFSUBR.
12921
12922 2000-07-18 Alastair J. Houghton <ajhoughton@lineone.net>
12923
12924         * select.c (get_selection_internal, own_selection_internal):
12925         Make the type default to STRING, rather than placing a nil type
12926         into Vselection_alist.
12927
12928 2000-07-17 Alastair J. Houghton <ajhoughton@lineone.net>
12929
12930         * gpmevent.c (tty_selection_exists_p):
12931         * gpmevent.c (tty_own_selection):
12932         Updated parameter lists.
12933
12934 2000-07-15 Alastair J. Houghton <ajhoughton@lineone.net>
12935
12936         * select.h (selection-alist): Removed declaration.
12937
12938         * select.h (get_local_selection):
12939         * select.c (get_local_selection):
12940         Made static.
12941
12942         * select.h (convert_selection): Removed declaration.
12943         * select.c (convert_selection): Removed.
12944         This function belongs in Lisp.
12945
12946         * select.h (select_convert_in): Declare.
12947         * select.h (select_convert_out): Declare.
12948         * select.c (select_convert_in): New.
12949         * select.c (select_convert_out): New.
12950         New conversion functions for other files to call.
12951
12952         * select.h (select_notify_buffer_kill): Declare.
12953         * select.c (select_notify_buffer_kill): New.
12954         New functions that get called from kill-buffer.
12955
12956         * buffer.c (kill-buffer): Call select_notify_buffer_kill, rather than
12957         X-specific lisp code.
12958
12959         * select.h: Declare some of the lisp-visible functions for
12960         external use.
12961
12962         * select.c (clean_local_selection_data): Removed. This was
12963         a disgusting function, and previously should have been in
12964         select-x.c in any case. The functionality is now provided
12965         in select-convert-from-integer (select.el).
12966
12967         * select.c (available-selection-types): Fixed stupidity where
12968         INTEGER and ATOM got added twice. Also add STRING when we see an
12969         extent.
12970
12971         * select.c (get-selection-internal): Removed symbol stripping. No
12972         longer causes conversion when data comes from the internal cache.
12973
12974         * select.c (syms_of_select): Added new functions.
12975
12976         * select-x.c (motif_clipboard_cb): Use select_convert_out. Rewrote
12977         error checking - previously this called abort!
12978
12979         * select-x.c (x_own_selection): Changed comment.
12980
12981         * select-x.c (x_handle_selection_request): Use select_convert_out.
12982         Don't mess with selection-alist; it's an internal variable of select.c.
12983
12984         * select-x.c (x_get_foreign_selection): Use select_convert_in.
12985
12986         * select-x.c (x_handle_selection_clear): Use get-selection-timestamp,
12987         rather than messing with selection-alist.
12988
12989         * select-msw.c (mswindows_get_foreign_selection):
12990         Use TO_INTERNAL_FORMAT rather than hacking.
12991
12992 2000-07-14  Martin Buchholz  <martin@xemacs.org>
12993
12994         * process-unix.c (unix_open_multicast_group):
12995         (unix_open_multicast_group): Remove useless casts.
12996
12997 2000-07-13  Martin Buchholz  <martin@xemacs.org>
12998
12999         * sound.c (Fplay_sound): Fix `unused variable' warning.
13000
13001         * emacs.c (main): Use correct type for _environ on SCO5.
13002
13003 2000-07-12 Alastair J. Houghton <ajhoughton@lineone.net>
13004
13005         * console.h (own_selection_method):
13006         * console.h (selection_exists_p_method):
13007         * console.h (available_selection_types_method): New.
13008         * console.h (register_selection_data_type_method): New.
13009         * console.h (selection_data_type_name): New.
13010
13011         * console-msw.h (mswindows_destroy_selection): Declare it.  New
13012         function & alist to track GlobalAlloc()'d handles that need
13013         releasing when the clipboard data gets replaced or emptied.
13014
13015         * event-msw.c (mswindows_wnd_proc): Call it.
13016
13017         * lisp.h, general.c (Qappend): New symbol representing a
13018         `how-to-add' mode.
13019
13020         * select.c (own-selection-internal):
13021         * select.c (selection-exists-p):
13022         * select.c (available-selection-types): New.
13023         * select.c (register-selection-data-type): New.
13024         * select.c (selection-data-type-name): New.  New functions to deal
13025         with device-specific selection data formats.
13026         * select.c (selection-converter-out-alist): Renamed.
13027         * select.c (selection-converter-in-alist): New.
13028         * select.c (selection-appender-alist): New.  Added new alists.
13029         * select.c (syms_of_select, vars_of_select): Added new symbols &
13030         variables.
13031         * select.c (get_local_selection): Split.
13032         * select.c: Removed spurious type checking - selections may now be
13033         of any type, not just strings.
13034         * select.c (own-selection-internal):
13035
13036         * select.h, select.c (convert_selection): New. Created
13037         convert_selection() function based on get_local_selection().
13038         * select.h, select.c (QCF_*): New symbols representing mswindows
13039         clipboard formats.
13040         * select.h, select.c (Qreplace_all, Qreplace_existing): New
13041         symbols representing `how-to-add' modes.
13042
13043         * select-msw.c (x_sym_p): New.
13044         * select-msw.c (symbol_to_ms_cf): New.
13045         * select-msw.c (ms_cf_to_symbol): New. New functions to deal with
13046         symbols & clipboard formats. Can also handle string names.
13047         * select-msw.c (mswindows_own_selection):
13048         * select-msw.c (mswindows_selection_exists_p):
13049         Added `data-type' parameter. Use it.
13050         * select-msw.c (mswindows_available_selection_types): New.
13051         * select-msw.c (mswindows_register_selection_data_type): New.
13052         * select-msw.c (mswindows_selection_data_type_name): New.
13053         * select-msw.c (mswindows_own_selection):
13054         * select-msw.c (mswindows_get_foreign_selection):
13055         * select-msw.c (mswindows_selection_exists_p):  Rewrote.
13056         * select-msw.c (console_create_select_mswindows): Added new methods.
13057         * select-msw.c (mswindows_destroy_selection): New.
13058         * select-msw.c (Vhandle_alist): New list.
13059         * select-msw.c (mswindows_own_selection):
13060
13061         * select-x.c (x_own_selection):
13062         * select-x.c (x_selection_exists_p):
13063         * select-x.c: Added some comments about maybe using new
13064         functionality.
13065         * select-x.c (x_own_selection):
13066
13067         * specifier.c: Remove definition of Qappend (now in general.c)
13068         * specifier.c (syms_of_specifier): Remove Qappend.
13069
13070 2000-07-12  Martin Buchholz  <martin@xemacs.org>
13071
13072         * config.h.in: Add socklen_t.
13073
13074         * s/decosf4-0.h: No special compiler flags needed or desired.
13075         In particular, undefine _BSD for DEC OSF 4.0.
13076
13077 2000-07-07  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
13078
13079         * redisplay-msw.c (msprinter_frame_output_end): Added.
13080         (console_type_create_redisplay_mswindows): Referred the above.
13081
13082         * frame.c (setup_frame_without_minibuffer): Do not create a
13083         default minibuffer frame on a printer device.
13084
13085         * frame-msw.c (apply_dc_geometry): Added.
13086         (msprinter_start_page):
13087         (msprinter_init_frame_3):
13088         (msprinter_eject_page): Use it.
13089
13090         * console-msw.h (struct msprinter_frame): Added pix_left and top,
13091         and removed residual duplex and orientation properties.
13092
13093 2000-07-11  Martin Buchholz  <martin@xemacs.org>
13094
13095         * eval.c (function_argcount): Work around a DEC CC compiler bug.
13096
13097         * unexalpha.c: Remove system prototypes from C sources!
13098
13099 2000-07-09  Adrian Aichner  <aichner@ecf.teradyne.com>
13100
13101         * eval.c: Remove references to M-x edit-options in DEFUNs for
13102         `defvar' and `defconst'.
13103
13104 2000-07-09  Martin Buchholz  <martin@xemacs.org>
13105
13106         * config.h.in: Remove SMART_INCLUDE hackery.
13107
13108         PostgreSQL hacking:
13109         * config.h.in: Don't use SMART_INCLUDE.
13110
13111         * postgresql.h: Include libpq-fe.h here.  Fix typo.
13112         * inline.c: Simply #include "postgresql.h"
13113         * postgresql.c:
13114         - Don't use SMART_INCLUDE
13115         - Use simply "const".
13116         - Use standard doc string conventions.
13117         - Use correct type for result of PQstatus.
13118
13119 2000-07-09  Martin Buchholz  <martin@xemacs.org>
13120
13121         * glyphs-x.c (x_xface_instantiate): Fix C++ compilation warnings.
13122
13123         C++ compilation changes.
13124         * config.h.in (EXTERN_C): Define.
13125         * config.h.in (not): This is also a C++ keyword.
13126         * unexalpha.c (DEFAULT_ENTRY_ADDRESS): Enable C++ compilation.
13127         * cm.c: Use EXTERN_C.
13128         * redisplay-tty.c: Use EXTERN_C.
13129         * sysdep.c: Use EXTERN_C.  Remove Gould support.
13130
13131 2000-07-09  Martin Buchholz  <martin@xemacs.org>
13132
13133         * general.c: Remove duplicate definition for Qfunction.
13134
13135 2000-07-08  Ben Wing  <ben@xemacs.org>
13136
13137         * device-msw.c (msprinter_init_device):
13138         * device-msw.c (sync_printer_with_devmode):
13139         * device-msw.c (handle_devmode_changes):
13140         * device-msw.c (print_dialog_worker):
13141         * device-msw.c (Fmsprinter_apply_settings):
13142         * device-msw.c (hash_devmode):
13143         * device-msw.c (Fmsprinter_settings_despecialize):
13144         use Qmswindows_tstr, not Qctext.
13145
13146         * vm-limit.c (check_memory_limits):
13147         avoid infinite loop printing warning messages.
13148
13149 2000-07-05  Craig Lanning  <lanning@scra.org>
13150
13151         * Makefile.in.in: Add support for including the Windows resources
13152         when building with the cygwin and mingw targets.
13153
13154         * buffer.c: from Dan Holmsand, on Windows $PWD is most likely either
13155         not set or not correct.
13156         (directory_is_current_directory): Don't compile for WIN32_NATIVE.
13157         (init_initial_directory): Don't try to use $PWD on the
13158         WIN32_NATIVE target.
13159
13160         * s\cygwin32.h:
13161         [[Add -mwindows to eliminate console window.]] not required --ben
13162         (HAVE_NATIVE_SOUND): removed; now handled by configure.
13163         (MAIL_USE_POP): removed; now handled by configure.
13164
13165         * s\mingw32.h: [[Add -mwindows to eliminate console window.]] not in
13166         C_SWITCH_SYSTEM or it will affect lib-src progs. --ben
13167         (HAVE_NATIVE_SOUND): removed; now handled by configure.
13168         (MAIL_USE_POP): removed; now handled by configure.
13169         (ENCAPSULATE_STAT): from Dan Holmsand, added.
13170         (ENCAPSULATE_FSTAT): from Dan Holmsand, added.
13171         (DIRECTORY_SEP): from Dan Holmsand, use lisp variable instead of
13172         constant string.
13173         (HAVE_TIMEVAL): from Dan Holmsand, added; struct timeval is picked
13174         up from <winsock.h> via systime.h.
13175         (HAVE_GETPAGESIZE): from Dan Holmsand, added.
13176         (getpagesize): from Dan Holmsand, added.
13177         Added #endif which was left dangling by Ben's mega patch; added
13178         comment to help prevent this in the future.
13179
13180         * sysdll.c: added #include <windows.h> for WIN32_NATIVE case.
13181
13182 2000-07-05  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
13183
13184         * console-msw.h (struct mswindows_device): Removed unnecessary
13185         cached device geometry values.
13186         Added update_tick and an accessor macro.
13187         (Lisp_Devmode): Added lrecord declaration.
13188         (struct msprinter_device): Contain devmode as a Lisp object.
13189         Added mswindows_get_selected_frame_hwnd();
13190
13191         * console.h (struct console_methods): Indentation nitpicking.
13192
13193         * device-msw.c (mswindows_init_device): Do not initialize geometry
13194         cache. Initialize update tick.
13195         (mswindows_device_system_metrics): Ask the device for its geometry.
13196         (global_free_2_maybe):
13197         (devmode_to_hglobal):
13198         (handle_printer_changes):
13199         (ensure_not_printing):
13200         (print_dialog_worker):
13201         (Fmsprinter_print_setup_dialog):
13202         (Fmsprinter_print_dialog):
13203         (plist_get_margin):
13204         (plist_set_margin):
13205         (Fmsprinter_page_setup_dialog): Added functions.
13206         (sync_printer_with_devmode):
13207         (handle_devmode_changes):
13208         (Fmsprinter_get_settings):
13209         (Fmsprinter_select_settings):
13210         (Fmsprinter_apply_settings):
13211         (allocate_devmode):
13212         (Fmsprinter_settings_copy):
13213         (Fmsprinter_settings_despecialize):
13214         (print_devmode):
13215         (finalize_devmode):
13216         (equal_devmode):
13217         (hash_devmode): Added functions
13218         (syms_of_device_mswindows): Init devmode lrecord class.
13219
13220         * device.h: Added an exfun for find-device.
13221
13222         * event-msw.c (mswindows_wnd_proc): Do not update the cached
13223         geometry; although, recreate the device compatible DC.
13224
13225         * frame-msw.c (mswindows_get_selected_frame_hwnd): Added.
13226         (msprinter_init_frame_3):
13227         (msprinter_frame_property):
13228         (msprinter_internal_frame_property_p):
13229         (msprinter_frame_properties):
13230         (msprinter_set_frame_properties): Removed 'orientation and 'duplex
13231         print job properties (will move to device settings).
13232
13233         * lisp.h: Added symbols.
13234
13235         * general.c (syms_of_general): Declared them.
13236
13237         * hash.c (string_hash): Added.
13238
13239         * lrecord.h (lrecord_type): Added devmode lrecord type.
13240
13241 2000-07-02  Mike Sperber <mike@xemacs.org>
13242
13243         * s/freebsd.h (INTERRUPTIBLE_OPEN): open *is* interruptible on
13244         FreeBSD 4.0.
13245
13246 2000-06-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
13247
13248         * doprnt.c (emacs_doprnt_1): Fix problem with %0XXd for a negative
13249         integer.
13250
13251 2000-06-07  MORIOKA Tomohiko  <tomo@urania.m17n.org>
13252
13253         * data.c (Fstring_to_number): Don't recognize floating point if
13254         base is not 10.
13255
13256 2000-06-22  Martin Buchholz  <martin@xemacs.org>
13257
13258         * glyphs-widget.c (tab_control_query_geometry):
13259         (widget_query_geometry):
13260         (button_query_geometry):
13261         * glyphs.c (text_query_geometry):
13262         Enforce type correctness.
13263
13264 2000-06-18  Martin Buchholz  <martin@xemacs.org>
13265
13266         * s/decosf4-0.h (_etext): Use portable _etext instead of etext.
13267         * s/decosf4-0.h (_edata): Use portable _edata instead of edata.
13268
13269 2000-06-17  Martin Buchholz  <martin@xemacs.org>
13270
13271         * s/decosf4-0.h: Never #include "/usr/include/FOO.h" because this
13272         conflicts with gcc's fixincluded version of FOO.h.
13273
13274         * glyphs.h (image_instance_geometry): Remove trailing `,'
13275
13276 2000-06-08  Mike Alexander  <mta@arbortext.com>
13277
13278         (MAX_SHOVE_BUFFER_SIZE): Change to 512 to match stream buffer size
13279         (shove_thread): Don't write the same output twice
13280         (make_ntpipe_output_stream): Increase priority of shove thread
13281         (ntpipe_shove_writer): Call SwitchToThread to give shove thread a
13282         chance to run
13283         (ntpipe_shove_closer): Don't delete the pipe until we're done with
13284         it.
13285
13286 2000-06-12  Ben Wing  <ben@xemacs.org>
13287
13288         * s\mingw32.h (sigset):
13289         * s\windowsnt.h (sigset):
13290         rename msw_ to mswindows_ for consistency with general convention.
13291
13292 2000-06-12  Ben Wing  <ben@xemacs.org>
13293
13294         * console-msw.c:
13295         * console-msw.c (mswindows_get_console_hwnd):
13296         * console-msw.c (mswindows_ensure_console_allocated):
13297         * console-msw.c (mswindows_hide_console):
13298         * console-msw.c (mswindows_show_console):
13299         * console-msw.c (mswindows_ensure_console_buffered):
13300         * console-msw.c (mswindows_output_console_string):
13301         * console-msw.c (mswindows_windows9x_p):
13302         * console-msw.h:
13303         * device-msw.c (mswindows_get_workspace_coords):
13304         * device-msw.c (mswindows_device_system_metrics):
13305         * dialog-msw.c (mswindows_popup_dialog_box):
13306         * event-msw.c (mswindows_wnd_proc):
13307         * frame-msw.c (mswindows_size_frame_internal):
13308         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
13309         * menubar-msw.c (displayable_menu_item):
13310         * menubar-msw.c (mswindows_char_is_accelerator):
13311         * nt.c:
13312         * nt.c (mswindows_sigset):
13313         * nt.c (mswindows_sigrelse):
13314         * nt.c (mswindows_sigpause):
13315         * nt.c (mswindows_raise):
13316         * nt.c (timer_proc):
13317         * ntproc.c:
13318         * ntproc.c (find_child_console):
13319         * ntproc.c (sys_kill):
13320         * print.c:
13321         * print.c (std_handle_out_external):
13322         * process-nt.c (find_child_console):
13323         * process-nt.c (send_signal_the_95_way):
13324         * process-nt.c (ensure_console_window_exists):
13325         * process-nt.c (nt_create_process):
13326         * syssignal.h:
13327         rename msw_ to mswindows_ for consistency with general convention.
13328
13329         * emacs.c:
13330         * dumper.c:
13331         include nt.h, not syswindows.h.
13332
13333         * nt.c (mswindows_fstat):
13334         * nt.c (mswindows_stat):
13335         prefix mswindows_ instead of attempting to directly override the
13336         library functions.  fix declarations.
13337
13338         * nt.h:
13339         include syswindows.h.  move some sysdep.h stuff here.
13340
13341         * ntheap.h:
13342         include syswindows.h, not <windows.h>.
13343
13344         * ntplay.c:
13345         clean up headers.
13346
13347         * sysdep.c:
13348         clean up headers.
13349
13350         * sysdep.c (sys_fstat):
13351         * sysdep.c (sys_stat):
13352         call mswindows versions when appropriate.
13353
13354         * sysdep.h:
13355         move mswin decls to nt.h.
13356
13357         * syswindows.h:
13358         add long comment describing appropriate use of the various windows
13359         headers.
13360
13361 2000-06-11  Ben Wing  <ben@xemacs.org>
13362
13363         * device-x.c: Correct doc string for sixth arg of x-get-resource.
13364
13365 2000-06-10  Ben Wing  <ben@xemacs.org>
13366
13367         * Makefile.in.in (release):
13368         Correction to make sure xemacs.exe always dumped when correct.
13369
13370         * alloca.c:
13371         * balloon_help.c:
13372         [[[[3]]]]: Conditionalize on actual problem, not WINDOWSNT.
13373
13374         * buffer.c (set_buffer_internal):
13375         [[[[2]]]]: Remove HAVE_FEP code.
13376
13377         * buffer.c (init_initial_directory):
13378         [3].
13379
13380         * bytecode.c:
13381         [[[[4]]]]: limits.h standardly included in lisp.h; remove from
13382         individual files.
13383
13384         * callproc.c:
13385         * callproc.c (call_process_cleanup):
13386         * callproc.c (Fold_call_process_internal):
13387         * callproc.c (child_setup):
13388         * callproc.c (getenv_internal):
13389         * callproc.c (init_callproc):
13390         * callproc.c (vars_of_callproc):
13391         [[[[1]]]]: WINDOWSNT -> WIN32_NATIVE.
13392         __CYGWIN32__ -> CYGWIN.
13393         DOS_NT -> WIN32_NATIVE.
13394         Remove MSDOS support/references, converting to WIN32_NATIVE
13395           where correct.
13396         __MINGW32__ -> MINGW.
13397         Fix windows.h includes.
13398         Remove bogus HAVE_NTGUI.
13399
13400         * config.h.in:
13401         [2].
13402
13403         * console-msw.c:
13404         mswindows_message_outputted added for use in allowing startup
13405         errors on the console to be seen.
13406
13407         * console-msw.c (msw_ensure_console_allocated):
13408         * console-msw.c (msw_output_console_string):
13409         * console-msw.c (DHEADER):
13410         * console-msw.c (DOPAQUE_DATA):
13411         * console-msw.c (DEVENT):
13412         * console-msw.c (DCONS):
13413         * console-msw.c (DCONSCDR):
13414         * console-msw.c (DSTRING):
13415         * console-msw.c (DVECTOR):
13416         * console-msw.c (DSYMBOL):
13417         * console-msw.c (DSYMNAME):
13418         Fix warnings.
13419
13420         * console-stream.c (stream_init_console):
13421         Fix text/binary problems.
13422
13423         * device-msw.c:
13424         * device-msw.c (mswindows_finish_init_device):
13425         * device-msw.c (mswindows_delete_device):
13426         [1].
13427
13428         * device.c (handle_asynch_device_change):
13429         [3].
13430
13431         * dgif_lib.c:
13432         * dgif_lib.c (DGifOpenFileName):
13433         * dgif_lib.c (DGifOpenFileHandle):
13434         * dgif_lib.c (DGifGetLine):
13435         * dgif_lib.c (DGifGetPixel):
13436         Added config.h/lisp.h, fix up includes.
13437         [1].
13438
13439         * dired-msw.c:
13440         [4].
13441
13442         * dired.c:
13443         * dired.c (file_name_completion):
13444         * dired.c (Ffile_attributes):
13445         * dired.c (syms_of_dired):
13446         [1].
13447
13448         * dumper.c:
13449         * dumper.c (pdump_file_unmap):
13450         * dumper.c (pdump_load):
13451         [1].
13452
13453         * editfns.c:
13454         * editfns.c (Ftemp_directory):
13455         * editfns.c (user_login_name):
13456         * editfns.c (Fuser_real_login_name):
13457         * editfns.c (get_home_directory):
13458         [1].
13459
13460         * elhash.c (finish_marking_weak_hash_tables):
13461         [[[[5]]]]: Fix GCC warnings.
13462
13463         * emacs.c:
13464         * emacs.c (mswindows_handle_hardware_exceptions):
13465         * emacs.c (make_arg_list_1):
13466         * emacs.c (main_1):
13467         * emacs.c (Fkill_emacs):
13468         * emacs.c (Fdump_emacs):
13469         [1].
13470         Fix problems with nested crashes, add long comment.
13471
13472         * event-Xt.c (init_event_Xt_late):
13473         [1].
13474
13475         * event-msw.c:
13476         * event-msw.c (mswindows_dde_callback):
13477         * event-msw.c (mswindows_handle_sticky_modifiers):
13478         * event-msw.c (mswindows_wnd_proc):
13479         [1].
13480         [5].
13481
13482         * events.c (character_to_event):
13483         [1].
13484
13485         * fileio.c:
13486         * fileio.c (Ffile_name_directory):
13487         * fileio.c (Ffile_name_nondirectory):
13488         * fileio.c (directory_file_name):
13489         * fileio.c (Fexpand_file_name):
13490         * fileio.c (Fsubstitute_in_file_name):
13491         * fileio.c (Ffile_name_absolute_p):
13492         * fileio.c (check_executable):
13493         * fileio.c (Ffile_readable_p):
13494         * fileio.c (Ffile_accessible_directory_p):
13495         * fileio.c (Ffile_modes):
13496         * fileio.c (Funix_sync):
13497         * fileio.c (vars_of_fileio):
13498         [1]. [4].
13499
13500         [[[[7]]]]: Move CORRECT_DIR_SEPS to s\windowsnt.h.
13501
13502         Expand getdefdir defn.
13503         Fix bogus rename() comment.
13504
13505         [[[[6]]]]: Fix Windows includes w.r.t. removed nt\inc.  Attempt
13506         to use standard XEmacs include files, e.g. sysfile.h, rather
13507         than system-specific includes.
13508
13509         * fns.c:
13510         * fns.c (Fsubseq):
13511         [5]. [6].
13512
13513         * frame.c (vars_of_frame):
13514         [1].
13515
13516         * getloadavg.c:
13517         * getloadavg.c (getloadavg):
13518         [1]. [6].
13519         #ifdef XEMACS not defined on Cygwin.  Remove this; no need for it.
13520         (We don't use it elsewhere in the code; just add a comment.)
13521
13522         * gif_io.c:
13523         [6].
13524         Add config.h.
13525
13526         * glyphs-msw.c:
13527         * glyphs-msw.c (mswindows_resource_instantiate):
13528         [1].
13529
13530         * glyphs-x.c (x_native_layout_instantiate):
13531         [5].
13532
13533         * gui-msw.c (Fmswindows_shell_execute):
13534         [1].
13535
13536         * insdel.c:
13537         [4].
13538
13539         * lisp.h:
13540         [4]. [5].
13541
13542         * lread.c (locate_file_in_directory_mapper):
13543         [1].
13544
13545         * lstream.c:
13546         [4].
13547
13548         * mem-limits.h:
13549         * mem-limits.h (get_lim_data):
13550         [1].
13551
13552         * menubar-msw.c:
13553         [4].
13554
13555         * ndir.h:
13556         [1].
13557
13558         * nt.c:
13559         * nt.c (getwd):
13560         * nt.c (closedir):
13561         * nt.c (rva_to_section):
13562         * nt.c (mswindows_executable_type):
13563         [1]. [6].
13564         Fix closedir() defn.
13565
13566         * nt.h:
13567         [[[[8]]]]: *_OK defs moved to sysfile.h.
13568
13569         * ntproc.c:
13570         [6]. [7].
13571
13572         * objects-x.c:
13573         [4].
13574
13575         * print.c:
13576         * print.c (std_handle_out_external):
13577         [1]. [4].
13578
13579         * process-nt.c:
13580         * process-nt.c (nt_create_process):
13581         [6].
13582         try to fix process quoting somewhat.
13583
13584         * process-unix.c (unix_create_process):
13585         [1].
13586
13587         * process.c:
13588         * process.c (vars_of_process):
13589         Add Vnull_device.
13590
13591         * process.h:
13592         [1].
13593
13594         * realpath.c:
13595         * realpath.c (xrealpath):
13596         [1].
13597
13598         * redisplay-tty.c (init_tty_for_redisplay):
13599         [3].
13600
13601         * redisplay.c:
13602         [4]. [6].
13603
13604         * scrollbar-msw.c:
13605         [4].
13606
13607         * sheap.c:
13608         * sheap.c (more_static_core):
13609         * sheap.c (report_sheap_usage):
13610         [5]. [6].
13611
13612         * signal.c:
13613         * signal.c (alarm_signal):
13614         [1]. [6].
13615
13616         * sound.c:
13617         [6].
13618
13619         * strftime.c:
13620         * strftime.c (zone_name):
13621         [1]. [5].
13622
13623         * symsinit.h (init_sunpro):
13624         [1].
13625
13626         * syscommctrl.h:
13627         commctrl.h not in Cygwin b20.1.
13628
13629         * sysdep.c:
13630         * sysdep.c (endif):
13631         * sysdep.c (sys_subshell):
13632         * sysdep.c (init_baud_rate):
13633         * sysdep.c (emacs_get_tty):
13634         * sysdep.c (emacs_set_tty):
13635         * sysdep.c (tty_init_sys_modes_on_device):
13636         * sysdep.c (init_system_name):
13637         * sysdep.c (sys_open):
13638         * sysdep.c (interruptible_open):
13639         * sysdep.c (sys_fopen):
13640         * sysdep.c (sys_mkdir):
13641         * sysdep.c (sys_rename):
13642         * sysdep.c (get_process_times_1):
13643         [1]. [6].
13644
13645         * sysdep.h:
13646         [1].
13647
13648         * sysdir.h:
13649         * sysdir.h (DIRENTRY_NONEMPTY):
13650         [1]. [6].
13651
13652         * sysdll.c (dll_init):
13653         * sysdll.h:
13654         [1].
13655
13656         * sysfile.h:
13657         [1]. [6]. [8].
13658         added text/binary defs.
13659
13660         * sysfloat.h:
13661         [1].
13662
13663         * sysproc.h:
13664         * sysproc.h (EDESTADDRREQ):
13665         * sysproc.h (poll_fds_for_input):
13666         [1]. [6].
13667
13668         * syspwd.h:
13669         [6].
13670
13671         * syssignal.h:
13672         [1].
13673
13674         * systime.h:
13675         [1]. [6].
13676
13677         * systty.h:
13678         [1].
13679
13680         * syswindows.h:
13681         [1].
13682         Always define WIN32_LEAN_AND_MEAN.
13683
13684         * unexcw.c (unexec):
13685         [5].
13686
13687         * unexec.c:
13688         * unexec.c (copy_text_and_data):
13689         * unexec.c (adjust_lnnoptrs):
13690         [1].
13691
13692         * unexnt.c:
13693         * unexnt.c (_start):
13694         [1].
13695
13696 2000-06-07  Ben Wing  <ben@xemacs.org>
13697
13698         * mule-mcpath.c, mule-mcpath.h: Removed.  Old, crufty code that
13699         was used only as a model.  We've long since extracted any useful
13700         logic or code out of this. (I just did an exhaustive search.)
13701
13702         * s\msdos.h: Removed.
13703
13704         * s\windows95.h: Removed.
13705
13706 2000-06-10  Ben Wing  <ben@xemacs.org>
13707
13708         * s\cygwin32.h:
13709         [1]. [5].
13710         Don't use extern with fun defs.
13711
13712         * s\mingw32.h:
13713         [1]. [7].
13714         Remove nt\inc include.
13715         Remove getdisk, getdefdir. (The former is unused, the latter
13716         expanded in fileio.h.)
13717
13718         * s\windowsnt.h:
13719         * s\windowsnt.h (WIN32_NATIVE):
13720         * s\windowsnt.h (HAVE_STRCASECMP):
13721         [1]. [7].
13722         Add long comment about preprocessor changes.
13723         Remove getdisk, getdefdir. (The former is unused, the latter
13724         expanded in fileio.h.)
13725
13726 2000-06-10  Ben Wing  <ben@xemacs.org>
13727
13728         * m\arm.h:
13729         * m\delta.h:
13730         * m\intel386.h:
13731         * m\sequent.h:
13732         * m\template.h:
13733         * m\windowsnt.h:
13734         [1].
13735         Remove bogus/unused NO_SOCK_SIGIO.
13736
13737 2000-06-08  Hrvoje Niksic  <hniksic@iskon.hr>
13738
13739         * lisp.h (set_string_char): Call set_string_byte with a Bufbyte,
13740         not an Emchar.
13741
13742 2000-06-04  Mike Sperber <mike@xemacs.org>
13743
13744         * casetab.c (set_case_table): For `set-standard-case-table',
13745         actually deposit the new case tables where the rest of XEmacs can
13746         see them.
13747
13748 2000-06-05  Yoshiki Hayashi <yoshiki@xemacs.org>
13749
13750         * data.c (Faset): Don't cast XCHAR() to unsigned char.
13751
13752 2000-06-05  Ben Wing  <ben@xemacs.org>
13753
13754         * callproc.c (child_setup): Don't do close_load_descs() under
13755         MS Windows.  Put in a comment explaining why.
13756
13757 2000-05-28  Adrian Aichner  <aichner@ecf.teradyne.com>
13758
13759         * process-nt.c: Reverting patch "Fixing nt_create_process for MKS
13760         Toolkit shell" which breaks `kill-compilation' on Windows NT
13761         native, retaining STDERR handling improvements.
13762
13763 2000-06-01  Andreas Jaeger  <aj@suse.de>
13764
13765         * s/s390.h: Support for S390, based on a patch by Martin
13766         Schwidefsky <schwidefsky@de.ibm.com>.
13767
13768 2000-05-30  Andy Piper  <andy@xemacs.org>
13769
13770         * window.c (allocate_window):
13771         (make_dummy_parent):
13772         (Fset_window_configuration): use new hashtable type.
13773
13774         * glyphs.h (IMAGE_UNSPECIFIED_GEOMETRY):
13775         (struct image_instantiator_methods):
13776         (struct Lisp_Image_Instance): make instance geometry signed.
13777
13778         * glyphs.c (instantiate_image_instantiator):
13779         (image_instance_query_geometry):
13780         (image_instance_layout):
13781         (image_instance_layout):
13782         (query_string_geometry):
13783         (text_query_geometry):
13784         (image_instantiate):
13785         (image_instantiate):
13786         (cache_subwindow_instance_in_frame_maybe):
13787         (subwindow_query_geometry): make instance geometry signed.
13788
13789         * glyphs-widget.c (widget_query_geometry):
13790         (widget_layout):
13791         (button_query_geometry):
13792         (tree_view_query_geometry):
13793         (tab_control_query_geometry):
13794         (layout_query_geometry):
13795         (layout_layout):
13796         (native_layout_layout): make instance geometry signed.
13797
13798 2000-05-29  Olivier Galibert  <galibert@pobox.com>
13799
13800         * lisp.h: Add Qfull_assoc symbol and WEAK_LIST_FULL_ASSOC
13801         constant.
13802
13803         * general.c (syms_of_general): Add Qfull_assoc symbol.
13804
13805         * data.c (finish_marking_weak_lists): Mark full-assoc lists
13806         correctly.
13807         (decode_weak_list_type): Decode full-assoc type.
13808         (encode_weak_list_type): Encode full-assoc type.
13809         (Fmake_weak_list): Update doc string.
13810
13811 2000-05-30  Andy Piper  <andy@xemacs.org>
13812
13813         * elhash.h (hash_table_weakness): new KEY_VALUE weak hashtable.
13814
13815         * elhash.c (print_hash_table): new KEY_VALUE weak hashtable.
13816         (decode_hash_table_weakness): ditto.
13817         (Fhash_table_weakness): ditto.
13818         (Fhash_table_type): ditto.
13819         (finish_marking_weak_hash_tables): ditto.
13820         (hash_table_weakness_validate): ditto.
13821         (syms_of_elhash): ditto.
13822
13823 2000-05-28  Martin Buchholz <martin@xemacs.org>
13824
13825         * XEmacs 21.2.34 is released.
13826
13827 2000-05-22  Jan Vroonhof  <vroonhof@math.ethz.ch>
13828
13829         * redisplay.c (VERTICAL_CLIP): No longer reset when updating line
13830         start cache.
13831         (updating_line_start_cache): Gone.
13832         (regenerate_window): Replace resetting of VERTICAL_CLIP by
13833         generic code to force a minimum of 1 line laid out in the
13834         CMOTION_DISP case.
13835
13836 2000-05-22  Jan Vroonhof  <vroonhof@math.ethz.ch>
13837
13838         * glyphs.c (instantiate_image_instantiator): Check for initialized
13839         height & width no longer special cases IMAGE_NOTHING.
13840         (nothing_instantiate): Set height and width of instance.
13841
13842 2000-05-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
13843
13844         * unexelf.c (unexec): Search for ".data" section.
13845         Initialize new_data2_offset from old_data_index.
13846         Remove redundant check for ElfW.
13847
13848 2000-05-23  Andy Piper  <andy@xemacs.org>
13849
13850         * glyphs.c (get_image_instantiator_governing_domain): allow more
13851         specific domains as the governing domain rather than expecting an
13852         exact match. This fixes problems with layouts.
13853
13854 2000-05-22  Andy Piper  <andy@xemacs.org>
13855
13856         * redisplay-output.c (compare_runes): check for non-images
13857
13858         * glyphs.c (set_glyph_dirty_p): ditto.
13859         (update_glyph_cachel_data): ditto.
13860
13861         * glyphs-widget.c (layout_post_instantiate): ditto.
13862         (layout_post_instantiate): ditto.
13863
13864         * event-msw.c (mswindows_wnd_proc): warning removal.
13865
13866 2000-05-12  Craig Lanning  <CraigL@DyCon.com>
13867
13868         * s\mingw32.h: Added #undef for CLASH_DETECTION.
13869
13870         * syswindows.h: Moved PBS_SMOOTH definition to syscommctrl.h.
13871
13872         * syscommctrl.h (PBS_SMOOTH): Moved from syswindows.h.
13873
13874         * nt.c (rva_to_section): mingw32 needs rva_to_section.
13875         (mswindows_executable_type): mingw32 now has enough headers for
13876         this to work.
13877
13878 2000-05-20  Andy Piper  <andy@xemacs.org>
13879
13880         * console-msw.c (mswindows_output_last_error): ; -> ,
13881
13882 2000-05-12  Andy Piper  <andy@xemacs.org>
13883
13884         * console-msw.c (FROB): compare ints with ints.
13885
13886 2000-05-11  Andy Piper  <andy@xemacs.org>
13887
13888         * glyphs-x.c (x_finalize_image_instance): make minimal build
13889         happy.
13890
13891 2000-05-20  Ben Wing  <ben@xemacs.org>
13892
13893         * event-Xt.c:
13894         * event-Xt.c (vars_of_event_Xt):
13895         move modifier-keys-are-sticky to event-stream.c.
13896
13897         * event-msw.c:
13898         * event-msw.c (mswindows_enqueue_mouse_button_event):
13899         * event-msw.c (key_needs_default_processing_p):
13900         * event-msw.c (XEMSW_LCONTROL):
13901         * event-msw.c (mswindows_handle_sticky_modifiers):
13902         * event-msw.c (FROB):
13903         * event-msw.c (clear_sticky_modifiers):
13904         * event-msw.c (output_modifier_keyboard_state):
13905         * event-msw.c (output_alt_keyboard_state):
13906         * event-msw.c (mswindows_wnd_proc):
13907         * event-msw.c (mswindows_modifier_state):
13908         * event-msw.c (emacs_mswindows_handle_magic_event):
13909         implement sticky modifiers.
13910
13911         * event-stream.c:
13912         * event-stream.c (vars_of_event_stream):
13913         move modifier-keys-are-sticky here.
13914
13915         * lisp.h:
13916         add CHECK_FUNCTION.
13917
13918         * rangetab.c:
13919         implement map-range-table.
13920
13921
13922 2000-05-17  Yoshiki Hayashi  <yoshiki@xemacs.org>
13923
13924         * redisplay-tty.c (reset_tty_modes):
13925         (tty_redisplay_shutdown): Adjust argument type to
13926         tty_frame_output_end.
13927
13928 2000-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
13929
13930         * eval.c (Fbacktrace): Don't output a line with only right
13931         parenthesis.
13932
13933 2000-05-17  Kenji Itoh  <keit@tpj.co.jp>
13934
13935         * postgresql.c (Fpq_connect_poll): Replace `PS' with `polling_status'.
13936         (Fpq_reset_poll): Ditto.
13937
13938 2000-05-16  Katsumi Yamaoka  <yamaoka@jpl.org>
13939
13940         * redisplay-tty.c: Replace tty_output_end with tty_frame_output_end.
13941
13942 2000-05-16  Ben Wing  <ben@xemacs.org>
13943
13944         * buffer.c:
13945         * buffer.c (dfc_convert_to/from_internal_format):
13946         * buffer.c (reinit_vars_of_buffer):
13947         Fix conversion functions to allow reentrancy.
13948
13949         * console-msw.c:
13950         * console-msw.c (mswindows_output_last_error):
13951         New fun, generally useful -- output a human-readable
13952         version of GetLastError() on the console.
13953
13954         * console-msw.h:
13955         * console-msw.h (struct mswindows_frame):
13956         Changes for DeferWindowPos.  Declare mswindows_output_last_error().
13957
13958         * console-stream.c (stream_output_begin):
13959         * console-stream.c (stream_output_end):
13960         * console-stream.c (stream_output_vertical_divider):
13961         * console-stream.c (stream_clear_region):
13962         * console-stream.c (stream_flash):
13963         * console-stream.c (console_type_create_stream):
13964         Delete blank stream methods, not needed.
13965
13966         * console.h (struct console_methods):
13967         Split begin/end methods into window and frame.
13968
13969         * event-msw.c:
13970         * event-msw.c (mswindows_handle_paint):
13971         * event-msw.c (output_alt_keyboard_state):
13972         * event-msw.c (mswindows_wnd_proc):
13973         * event-msw.c (vars_of_event_mswindows):
13974         Comment about problems with ignored-expose.
13975         Define mswindows-debug-events; not really implemented.
13976
13977         * frame-msw.c (mswindows_init_frame_1):
13978         random cleanups.
13979
13980         * glyphs-msw.c:
13981         * glyphs-msw.c (begin_defer_window_pos):
13982         * glyphs-msw.c (mswindows_unmap_subwindow):
13983         * glyphs-msw.c (mswindows_map_subwindow):
13984         * glyphs-msw.c (mswindows_resize_subwindow):
13985         Use DeferWindowPos to reduce flashing when mapping/unmapping.
13986
13987         * glyphs.c (make_image_instance_1):
13988         Fix crash.
13989
13990         * gutter.c (Fredisplay_gutter_area):
13991         Use new begin/end methods.
13992
13993         * lisp.h (Dynarr_new2):
13994         New creation fun.
13995
13996         * redisplay-msw.c:
13997         * redisplay-msw.c (mswindows_frame_output_begin):
13998         * redisplay-msw.c (mswindows_frame_output_end):
13999         * redisplay-msw.c (console_type_create_redisplay_mswindows):
14000         New begin/end methods -- handle DeferWindowPos.
14001
14002         * redisplay-output.c (redisplay_move_cursor):
14003         * redisplay-output.c (redraw_cursor_in_window):
14004         * redisplay-output.c (redisplay_update_line):
14005         * redisplay-output.c (redisplay_output_window):
14006         New begin/end methods.
14007
14008         * redisplay-tty.c:
14009         * redisplay-tty.c (tty_frame_output_begin):
14010         * redisplay-tty.c (tty_frame_output_end):
14011         * redisplay-tty.c (console_type_create_redisplay_tty):
14012         New begin/end methods.
14013
14014         * redisplay-x.c:
14015         * redisplay-x.c (x_window_output_begin):
14016         * redisplay-x.c (x_window_output_end):
14017         * redisplay-x.c (console_type_create_redisplay_x):
14018         New begin/end methods.
14019
14020         * redisplay.c (redisplay_frame):
14021         * redisplay.c (Fredisplay_echo_area):
14022         New begin/end methods.
14023         use MAYBE_DEVMETH for clear_frame; it may not exist.
14024
14025         * window.h (WINDOW_XFRAME):
14026         WINDOW_XFOO macros -- get locale and decode struct pointer.
14027
14028
14029 2000-05-12  Ben Wing  <ben@xemacs.org>
14030
14031         * emacs.c:
14032         * emacs.c (ensure_no_quitting_from_now_on):
14033         * emacs.c (fatal_error_signal):
14034         * emacs.c (mswindows_handle_hardware_exceptions):
14035         * emacs.c (main):
14036         * emacs.c (Fkill_emacs):
14037         * emacs.c (shut_down_emacs):
14038         * emacs.c (assert_failed):
14039         various improvements in fatal error handling.
14040
14041         * eval.c:
14042         move preparing_for_armageddon to emacs.c.
14043
14044         * lisp.h:
14045         declare fatal_error_in_progress.
14046
14047         * print.c:
14048         * print.c (std_handle_out_external):
14049         * print.c (std_handle_out_va):
14050         * print.c (stderr_out):
14051         * print.c (stdout_out):
14052         use console under mswin when no standard output.
14053         don't do code conversion during fatal error.
14054
14055         * scrollbar.c (Fscrollbar_page_up):
14056         * scrollbar.c (Fscrollbar_page_down):
14057         fix missing else.  reindent.
14058
14059 2000-05-11  Jan Vroonhof  <vroonhof@math.ethz.ch>
14060
14061         Emergency fix.
14062
14063         * glyphs.h (GLYPH_CACHEL_DESCENT):
14064         (GLYPH_CACHEL_DESCENT):
14065         (GLYPH_CACHEL_DESCENT):
14066         * glyphs.h (GLYPH_CACHEL_ASCENT): Match parameters to variables
14067         used in case these are inline functions.
14068         Use more absurd values to error check.
14069
14070         include window.h for error check functions.
14071
14072 2000-05-11  Ben Wing  <ben@xemacs.org>
14073
14074         * cmdloop.c (Freally_early_error_handler):
14075         Display message box under windows; otherwise, message will disappear
14076         before it can be viewed.
14077
14078         * console-msw.c:
14079         * console-msw.c (Fmswindows_message_box):
14080         * console-msw.c (FROB):
14081         * console-msw.c (syms_of_console_mswindows):
14082         Define new fun `mswindows-message-box'.
14083         #### I will merge this into `popup-dialog-box'; just give me
14084         a bit of time.
14085
14086         * general.c:
14087         * general.c (syms_of_general):
14088         Some new symbols used in `mswindows-message-box'.
14089
14090         * glyphs.c:
14091         * glyphs.c (Fset_image_instance_property):
14092         put warning in this fun.
14093
14094         * glyphs.h:
14095         * glyphs.h (GLYPH_CACHEL_WIDTH):
14096         * glyphs.h (GLYPH_CACHEL_ASCENT):
14097         * glyphs.h (GLYPH_CACHEL):
14098         * glyphs.h (GLYPH_CACHEL_GLYPH):
14099         define error-checking versions to try to catch a bug i've seen --
14100         redisplay gets in an infinite loop because the glyph width of the
14101         continuation glyph is 65535.
14102
14103         * lisp.h:
14104         Extern message-box stuff.
14105
14106         * window.c (allocate_window):
14107         * window.c (make_dummy_parent):
14108         * window.c (Fset_window_configuration):
14109         Use EQUAL not EQ for subwindow caches to make them work a bit
14110         better. (Something is still very broken.)
14111
14112
14113 2000-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
14114
14115         * glyphs.c (image_instantiate): Suppress gcc warnings.
14116         (Fmake_image_instance): Fix doc string.
14117         * specifier.c (Fmake_specifier): Ditto.
14118
14119 2000-05-02  Yoshiki Hayashi  <yoshiki@xemacs.org>
14120
14121         * paths.h.in (PATH_LOCK): Removed.
14122         * config.h.in (LOCKDIR_USER_DEFINED): Removed.
14123         * emacs.c (complex_vars_of_emacs): Remove configure-lock-directory.
14124
14125 2000-05-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
14126
14127         * fns.c (Ffeaturep): Update e-mail address in doc-string.
14128         Document (featurep '(and xemacs 21.02)).
14129
14130 2000-05-09  Ben Wing  <ben@xemacs.org>
14131
14132         * buffer.c (complex_vars_of_buffer):
14133         update modeline-format doc.
14134
14135         * device.h:
14136         comment about how DFW_DEVICE should be merged with DOMAIN_DEVICE.
14137
14138         * emacs.c:
14139         timeline of all released versions of Emacs, for use in creating
14140         authorship comments and in synching up.
14141
14142         * glyphs-widget.c (image_instantiator_buttons):
14143         * glyphs-widget.c (image_instantiator_edit_fields):
14144         * glyphs-widget.c (image_instantiator_combo_box):
14145         * glyphs-widget.c (image_instantiator_scrollbar):
14146         * glyphs-widget.c (image_instantiator_progress_guage):
14147         * glyphs-widget.c (image_instantiator_tree_view):
14148         * glyphs-widget.c (image_instantiator_tab_control):
14149         * glyphs-widget.c (image_instantiator_labels):
14150         * glyphs-widget.c (image_instantiator_layout):
14151         * glyphs-widget.c (image_instantiator_native_layout):
14152         rename decode_domain method to governing_domain.
14153
14154         * glyphs.c:
14155         * glyphs.c (Fvalid_image_instantiator_format_p): doc update.
14156         * glyphs.c (add_entry_to_device_ii_format_list):
14157         make sure we don't put an entry more than once into the list.
14158         * glyphs.c (check_instance_cache_mapper):
14159         *************************************************************
14160         allow for nil.  THIS SHOULD FIX A REAL CRASH THAT MANY PEOPLE
14161         HAVE BEEN GETTING.
14162         *************************************************************
14163         * glyphs.c (get_image_instantiator_governing_domain):
14164         clean up, expand on new concept of governing domain.
14165         * glyphs.c (instantiate_image_instantiator):
14166         * glyphs.c (allocate_image_instance):
14167         use governing_domain instead of cache_domain in naming.
14168         * glyphs.c (Fvalid_image_instance_type_p): fix docs.
14169         * glyphs.c (make_image_instance_1):
14170         * glyphs.c (Fmake_image_instance):
14171         allow for any domain (not just device), and process the
14172         governing domain correctly.  very big doc fix.
14173         * glyphs.c (Fimage_instance_domain):
14174         new primitive, to retrieve the governing domain of an image instance.
14175         * glyphs.c (image_instantiate):
14176         use new governing_domain stuff.  this fixes a crash you could get
14177         by instantiating certain widget glyphs in frame locales. (should
14178         signal an error instead of crashing.)
14179         * glyphs.c (Fimage_specifier_p): move doc to make-image-specifier.
14180         * glyphs.c (Fglyphp): clean up doc.
14181         * glyphs.c (subwindow_governing_domain): renamed from *_decode_domain.
14182         * glyphs.c (syms_of_glyphs):
14183         declare Fimage_instance_domain, remove unused Qlayout_image_instance_p.
14184         * glyphs.c (image_instantiator_format_create): add some comments about
14185         bogus code.
14186         * glyphs.c (specifier_vars_of_glyphs): totally rewrite the doc string
14187         for current-display-table. (Apparently Hrjove implemented in 1998 a
14188         design I wrote up in 1996, but didn't update the doc string.)
14189
14190         * glyphs.h: clean up a doc string.
14191         * glyphs.h (governing_domain):
14192         * glyphs.h (struct image_instantiator_methods):
14193         changes for governing_domain stuff.
14194
14195         * gutter.c:
14196         * gutter.c (Fgutter_specifier_p):
14197         * gutter.c (Fgutter_size_specifier_p):
14198         * gutter.c (Fgutter_visible_specifier_p):
14199         * objects.c:
14200         * objects.c (Fcolor_specifier_p):
14201         * objects.c (Ffont_specifier_p):
14202         * objects.c (Fface_boolean_specifier_p):
14203         doc strings moved to make-*-specifier.
14204
14205         * redisplay.c (add_disp_table_entry_runes_1):
14206         * redisplay.c (generate_fstring_runes):
14207         * redisplay.c (screen):
14208         add random comments and doc strings.
14209
14210         * specifier.c:
14211         * specifier.c (Fmake_specifier):
14212         major overhaul of this doc string.
14213
14214         * specifier.c (Fvalid_specifier_domain_p):
14215         comment about the bogosity of image instances being domains.
14216         * specifier.c (decode_domain):
14217         now non-static, used in glyphs.c.
14218         * specifier.c (specifier_instance):
14219         comment about the bogosity of image instances being domains.
14220         * specifier.c (Fgeneric_specifier_p):
14221         move doc string to make-generic-specifier.
14222         * specifier.c (VALID_SINGLE_DISPTABLE_INSTANTIATOR_P):
14223         rebackslashify.
14224
14225         * specifier.h:
14226         * specifier.h (DOMAIN_FRAME):
14227         * specifier.h (DOMAIN_LIVE_P):
14228         * specifier.h (DOMAIN_XDEVICE):
14229         rebackslashify.
14230         add comments about problems with these macros.
14231         prototype for decode_domain.
14232
14233         * toolbar.c:
14234         * toolbar.c (Ftoolbar_specifier_p):
14235         move doc string to `make-toolbar-specifier'.
14236
14237         * window.c (window_unmap_subwindows_cache_mapper):
14238         *************************************************************
14239         allow for nil.  THIS SHOULD FIX A REAL CRASH THAT MANY PEOPLE
14240         HAVE BEEN GETTING.
14241         *************************************************************
14242
14243 2000-05-09  Andy Piper  <andy@xemacs.org>
14244
14245         * glyphs.h: declare reset_frame_subwindow_instance_cache.
14246
14247         * window.c (Fset_window_configuration): reset the frame subwindow
14248         cache and re-initialize the window subwindow caches.
14249
14250         * glyphs.c (reset_frame_subwindow_instance_cache): new function.
14251
14252 2000-05-09  Ben Wing  <ben@xemacs.org>
14253
14254         * ntheap.c (recreate_heap): Changed unknown (VC6 only?) SIZE_T to
14255         DWORD.
14256
14257 2000-04-26  Mike Woolley  <mike@bulsara.com>
14258
14259         * ntheap.c: Changed recreate_heap to limit the amount reserved
14260         for the heap to that which is actually available. Also now
14261         displays a message box (with some dignostics) in the event that
14262         it still can't start.
14263
14264 2000-05-07  Jan Vroonhof  <vroonhof@math.ethz.ch>
14265
14266         * callproc.c (Fold_call_process_internal): GCPRO path
14267
14268 2000-05-08  Jan Vroonhof  <jan@xemacs.org>
14269
14270         Patch by Bill Perry.
14271
14272         * scrollbar.c (Fscrollbar_page_up): Conditionalize on type of call
14273         back data instead of #ifdef.
14274         (Fscrollbar_page_down): ditto.
14275
14276 2000-05-07  Ben Wing  <ben@xemacs.org>
14277
14278         * buffer.h:
14279         Kludge for defining Qmswindows_tstr.
14280
14281         * nt.c:
14282         * nt.c (open_input_file):
14283         * nt.c (open_output_file):
14284         * nt.c (rva_to_section):
14285         * nt.c (mswindows_executable_type):
14286         Move all memory-mapped-file routines here (some were in unexnt.c,
14287         which is bad because they are used by process-nt.c, and unexnt
14288         won't be around when portable dumping).  Synched the above routines
14289         with FSF 20.6.
14290
14291         * nt.h:
14292         Removed ifdef'd out bogus code.
14293         Fixed some prototypes.
14294
14295         * nt.h (file_data):
14296         * nt.h (OFFSET_TO_RVA):
14297         * nt.h (RVA_TO_OFFSET):
14298         * nt.h (RVA_TO_PTR):
14299         Moved the memory-mapped-file structures, macros and prototypes
14300         here, to parallel nt.c.  ntheap.h should really be removed
14301         entirely, and it's a non-portable-dumper specific file.
14302
14303         * ntheap.h (round_to_next):
14304         Moved the memory-mapped-file structures, macros and prototypes
14305         to nt.h.
14306
14307         * ntproc.c (compare_env):
14308         Moved rva_to_section and mswindows_executable_type to nt.c.
14309         Moved compare_env to process-nt.c.
14310         ntproc.c will die, one day.
14311
14312         * ntproc.c (sys_spawnve):
14313         Account for win32_ -> mswindows_.
14314
14315         * process-nt.c:
14316         * process-nt.c (struct nt_process_data):
14317         * process-nt.c (ensure_console_window_exists):
14318         * process-nt.c (compare_env):
14319         * process-nt.c (nt_create_process):
14320         * process-nt.c (nt_kill_process_by_pid):
14321         * process-nt.c (syms_of_process_nt):
14322         * process-nt.c (vars_of_process_nt):
14323         Introduce variable `mswindows-quote-process-args', from FSF 20.6.
14324         Copy argument quoting code from FSF 20.6 (with appropriate Mule-ization
14325         changes).  Eliminate our old `nt-quote-process-args' mechanism.
14326         Synch up nt_create_process with FSF 20.6 sys_spawnve.
14327         Move compare_env here from ntproc.c.
14328
14329         * process.c (Fprocess_send_region):
14330         Takes an optional fourth argument, BUFFER, which should fix some
14331         problems with call-process.
14332
14333         * syscommctrl.h:
14334         Move ICC_BAR_CLASSES here from syswindows.h, to avoid a warning.
14335
14336         * syswindows.h:
14337         Move ICC_BAR_CLASSES to syscommctrl.h.
14338         Add preliminary macros for MSWindows/Mule.  More to come.
14339
14340         * unexnt.c:
14341         * unexnt.c (unexec):
14342         open_output_file moved to nt.c.
14343
14344
14345 2000-05-05  Andy Piper  <andy@xemacs.org>
14346
14347         * window.c (window_unmap_subwindows_cache_mapper): remove the dead
14348         instance from the frame cache also since GC may catch up too late
14349         to make frame deletion sane.
14350
14351 2000-05-04  Andy Piper  <andy@xemacs.org>
14352
14353         * glyphs-x.c (x_widget_instantiate): gcpro widget callbacks.
14354         (x_finalize_image_instance): ungcpro on deletion.
14355
14356         * glyphs.c (image_instantiator_format_create): give pointers a
14357         query geometry method so that the geometry is at least set.
14358
14359         * glyphs-x.c (image_instantiator_format_create_glyphs_x): only
14360         initialize layouts if using widgets.
14361
14362 2000-05-03  Andy Piper  <andy@xemacs.org>
14363
14364         * nt.c: remove bogus reference to sysmmsystem.h
14365
14366         * gui-x.c (popup_selection_callback): fix no selection abort.
14367
14368 2000-05-02  Andy Piper  <andy@xemacs.org>
14369
14370         * glyphs-msw.c (mswindows_update_widget): cope with nil text.
14371         (mswindows_widget_instantiate): ditto.
14372
14373         * glyphs-widget.c (initialize_widget_image_instance): initialize
14374         children correctly.
14375         (widget_instantiate): cope with children and items in the same
14376         instance.
14377
14378         * glyphs.c (mark_image_instance): cope with children as a first
14379         class member.
14380         (image_instance_equal): ditto.
14381         (image_instance_hash): ditto.
14382         (image_instance_changed): ditto.
14383
14384 2000-04-30  Andy Piper  <andy@xemacs.org>
14385
14386         * glyphs.c (subwindow_query_geometry): new function. Return some
14387         defaults.
14388         (subwindow_instantiate): don't assign dimensions if none have been
14389         given.
14390         (image_instantiator_format_create): add subwindow_query_geometry.
14391         (print_image_instance): cope with layouts as widgets.
14392
14393 2000-04-29  Andy Piper  <andy@xemacs.org>
14394
14395         * frame.c (delete_frame_internal): call
14396         free_frame_subwindow_instance_cache so that all subwindows are
14397         finalized before their parent.
14398         (mark_frame): remove subwindow_cachels.
14399         (Fmake_frame): remove subwindow_cachel manipulation.
14400         (allocate_frame_core): subwindow_instance_cache is a weak list.
14401         (delete_frame_internal): set subwindow_instance_cache to nil.
14402
14403         * glyphs-msw.c (mswindows_finalize_image_instance): make double
14404         finalization safe.
14405         (mswindows_finalize_image_instance): use the device
14406         not the domain as the domain may have died already.
14407
14408         * glyphs-x.c (x_finalize_image_instance): ditto.
14409         (x_subwindow_instantiate): remove SUBWINDOW_WIDTH &
14410         HEIGHT.
14411
14412         * redisplay-output.c (redisplay_unmap_subwindows): update for
14413         subwindow instance cache as a weak list.
14414         (redisplay_unmap_subwindows_maybe): ditto.
14415         (redisplay_unmap_subwindows_except_us): ditto.
14416
14417         * glyphs.c (unmap_subwindow): error checking will check the domain
14418         so don't deal with it here. Don't use cachels anymore.
14419         (map_subwindow): ditto.
14420         (update_subwindow_cachel_data): remove old accessor names.
14421         (subwindow_instantiate): remove SUBWINDOW_WIDTH & HEIGHT.
14422         (Fresize_subwindow): don't update cachel.
14423         (mark_subwindow_cachels):
14424         (update_subwindow_cachel_data):
14425         (add_subwindow_cachel):
14426         (get_subwindow_cachel_index):
14427         (update_subwindow_cachel):
14428         (reset_subwindow_cachels):
14429         (mark_subwindow_cachels_as_not_updated): deleted.
14430         (cache_subwindow_instance_in_frame_maybe): new function. Add a
14431         subwindow instance to the frame cache.
14432         (find_matching_subwindow): update for subwindow instance cache as
14433         a weak list.
14434         (update_widget_instances): ditto.
14435         (image_instance_type_to_mask):inlined.
14436         (free_frame_subwindow_instance_cache): new function. finalize all
14437         subwindows that are instantiated.
14438
14439         * glyphs.h (struct Lisp_Image_Instance): add display_data instead
14440         of cachel information.
14441         (IMAGE_INSTANCE_DISPLAY_X):
14442         (IMAGE_INSTANCE_DISPLAY_Y):
14443         (IMAGE_INSTANCE_DISPLAY_WIDTH):
14444         (IMAGE_INSTANCE_DISPLAY_HEIGHT):
14445         (XIMAGE_INSTANCE_DISPLAY_X):
14446         (XIMAGE_INSTANCE_DISPLAY_Y):
14447         (XIMAGE_INSTANCE_DISPLAY_WIDTH):
14448         (XIMAGE_INSTANCE_DISPLAY_HEIGHT): new accessors.
14449         remove subwindow_cachel structure and function references.
14450         (image_instance_type_to_mask): inline from glyphs.c
14451
14452         * redisplay.c (redisplay_frame): remove subwindow_cachel
14453         references.
14454
14455         * frame.h (struct frame): remove subwindow_cachels.
14456         (FRAME_SUBWINDOW_CACHE): access subwindow_instance_cache.
14457
14458         * frameslots.h: add subwindow_instance_cache.
14459
14460         * window.c (replace_window): check subwindow cache of replacement.
14461         (window_unmap_subwindows_cache_mapper):
14462         (window_unmap_subwindows): new functions. Unmap all subwindows
14463         cached on this window.
14464         (mark_window_as_deleted): unmap all subwindows.
14465
14466 2000-04-27  Andy Piper  <andy@xemacs.org>
14467
14468         * glyphs.h (IIFORMAT_METH_OR_GIVEN): cope with null meths.
14469
14470         * glyphs-widget.c (widget_layout): return something.
14471         (layout_layout): return something. Fail if not initialized.
14472         (layout_query_geometry): ditto.
14473         (image_instantiator_native_layout): new function. Initialized the
14474         native layout type.
14475         (widget_instantiate): don't do layout stuff here.
14476
14477         * glyphs.c (instantiate_image_instantiator): reorded calling or
14478         instantiate and post_instantiate with layout in between.
14479         (image_instance_layout): be more selective about deciding whether
14480         the layout has been done or not.
14481
14482         * glyphs.h (struct image_instantiator_methods): return a value
14483         from layout_method.
14484
14485 2000-04-26  Andy Piper  <andy@xemacs.org>
14486
14487         * glyphs.c (allocate_image_instance): make initial width and
14488         height unspecified. Set initialized to 0.
14489
14490         * syscommctrl.h new file. Encapsulates commctrl.h.
14491
14492         * syswindows.h new file. Encapsulates windows.h.
14493
14494         * ntplay.c: use new syswindows.h and syscommctrl.h header.
14495         * nt.c: ditto.
14496         * console-msw.h: ditto.
14497
14498         * redisplay-tty.c (tty_output_display_block): remove layout references.
14499
14500         * glyphs-msw.c (mswindows_widget_instantiate): use the domain
14501         window handle rather than just the frame.
14502
14503         * glyphs.c (mark_image_instance): remove layout references.
14504         (print_image_instance): ditto.
14505         (image_instance_equal): ditto.
14506         (image_instance_hash): ditto.
14507         (decode_image_instance_type): ditto.
14508         (encode_image_instance_type): ditto.
14509         (image_instantiate): ditto.
14510         (allocate_glyph): ditto.
14511         (Fimage_instance_height): ditto.
14512         (Fimage_instance_width): ditto.
14513         (update_subwindow): ditto.
14514
14515         * redisplay-x.c (x_output_display_block): recode for layouts as
14516         widgets.
14517
14518         * redisplay-output.c (redisplay_output_layout): recode for layouts
14519         as widgets.
14520         (compare_runes): remove layout references.
14521
14522         * redisplay-msw.c (mswindows_output_display_block): recode for
14523         layouts as widgets.
14524
14525         * glyphs-widget.c (image_instantiator_layout): remove
14526         layout_possible_dest_types.
14527         (layout_possible_dest_types): deleted.
14528
14529         * glyphs.h (image_instance_type): remove layout references.
14530         (struct Lisp_Image_Instance): ditto. Add initialized flag.
14531         (IMAGE_INSTANCE_INITIALIZED): new accessor.
14532         (XIMAGE_INSTANCE_INITIALIZED): ditto.
14533
14534 2000-04-25  Andy Piper  <andy@xemacs.org>
14535
14536         * glyphs-widget.c (image_instantiator_buttons):
14537         (image_instantiator_edit_fields):
14538         (image_instantiator_combo_box):
14539         (image_instantiator_scrollbar):
14540         (image_instantiator_progress_guage):
14541         (image_instantiator_tree_view):
14542         (image_instantiator_tab_control):
14543         (image_instantiator_labels):
14544         (image_instantiator_layout): call default post_instantiate method.
14545         (widget_post_instantiate): new function. Simply lays out the
14546         widgets.
14547
14548         * glyphs.h (struct image_instantiator_methods): add
14549         post_instantiate method.
14550
14551         * glyphs.c (instantiate_image_instantiator): add post_instantiate
14552         method calls.
14553
14554 2000-04-23  Andy Piper  <andy@xemacs.org>
14555
14556         * glyphs.h (struct image_instantiator_methods): add
14557         decode_domain_method.
14558         (struct Lisp_Image_Instance): remove subwindow frame - it can be
14559         derived from the domain.
14560         (IMAGE_INSTANCE_FRAME): new accessor.
14561         (XIMAGE_INSTANCE_FRAME): ditto.
14562
14563         * glyphs.c (print_image_instance): use IMAGE_INSTANCE_FRAME
14564         instead of _SUBWINDOW_FRAME.
14565         (finalize_image_instance): ditto.
14566         (Fimage_instance_foreground): ditto.
14567         (Fimage_instance_background): ditto.
14568         (image_instantiate): ditto.
14569         (update_subwindow_cachel): ditto.
14570         (update_subwindow): ditto.
14571         (unmap_subwindow): ditto.
14572         (map_subwindow): ditto
14573         (subwindow_instantiate): ditto.
14574         * glyphs-msw.c (mswindows_update_widget): ditto.
14575         (mswindows_progress_gauge_instantiate): ditto.
14576         (mswindows_tab_control_update): ditto.
14577         * glyphs-x.c (x_update_widget): ditto.
14578         (x_widget_instantiate): ditto.
14579         (x_tab_control_instantiate): ditto.
14580         (x_tab_control_update): ditto.
14581         * event-msw.c (mswindows_wnd_proc): ditto
14582
14583         * glyphs-widget.c (image_instantiator_layout): use
14584         subwindow_decode_domain.
14585         (image_instantiator_buttons): ditto.
14586         (image_instantiator_edit_fields): ditto.
14587         (image_instantiator_combo_box): ditto.
14588         (image_instantiator_scrollbar): ditto.
14589         (image_instantiator_progress_guage): ditto.
14590         (image_instantiator_tree_view): ditto.
14591         (image_instantiator_tab_control): ditto.
14592         (image_instantiator_labels): ditto.
14593         (image_instantiator_layout): ditto.
14594
14595         * glyphs.c: add instance error checking to many functions.
14596         (instantiate_image_instantiator): decode device from cache_domain.
14597         (image_instantiate): partially rewrite by using
14598         decode_image_instantiator_domain to determine what domain the
14599         instance needs to be cached in.
14600         (decode_image_instantiator_domain): new function. Determine what
14601         domain the image needs to be cached in.
14602         (check_window_subwindow_cache): new error checking function.
14603         (check_instance_cache_mapper): ditto.
14604         (check_image_instance_structure): ditto.
14605         (subwindow_decode_domain): new function. Encodes a window as a
14606         subwindow's cache domain.
14607         (image_instantiator_format_create): use it for text and
14608         subwindows.
14609
14610 2000-04-21  Andy Piper  <andy@xemacs.org>
14611
14612         * glyphs.c (image_instance_device): new function.
14613         (image_instance_frame): new function.
14614         (image_instance_window): new function.
14615         (image_instance_live_p): new function.
14616
14617         * window.c (mark_window_as_deleted): reset the subwindow_instance_
14618         cache to nil.
14619
14620         * glyphs.h (struct Lisp_Image_Instance): device->domain.
14621         (IMAGE_INSTANCE_DOMAIN): new accessor.
14622         (XIMAGE_INSTANCE_DOMAIN): ditto.
14623
14624         * glyphs-x.c (x_finalize_image_instance): device->domain.
14625
14626         * glyphs-msw.c (init_image_instance_geometry): device->domain.
14627         (mswindows_finalize_image_instance): ditto.
14628
14629         * glyphs-eimage.c (jpeg_instantiate): device->domain.
14630         (gif_instantiate): ditto.
14631         (png_instantiate): ditto.
14632         (tiff_instantiate): ditto.
14633
14634         * glyphs.c (instantiate_image_instantiator): use domain rather
14635         than device.
14636         (mark_image_instance): device -> domain.
14637         (print_image_instance): ditto.
14638         (finalize_image_instance): ditto.
14639         (image_instance_equal): ditto.
14640         (allocate_image_instance): ditto.
14641         (Fcolorize_image_instance): ditto.
14642         (query_string_geometry): ditto.
14643         (image_instantiate): ditto
14644         (query_string_font): ditto.
14645         (image_instantiate): ditto.
14646         (update_subwindow): ditto.
14647         (unmap_subwindow): ditto.
14648         (map_subwindow): ditto.
14649         (subwindow_instantiate): ditto.
14650
14651         * specifier.h (DOMAIN_DEVICE): new, semantically correct, decoder.
14652         (DOMAIN_FRAME): ditto.
14653         (DOMAIN_WINDOW): ditto.
14654         (DOMAIN_LIVE_P): ditto.
14655         (XDOMAIN_DEVICE): ditto.
14656         (XDOMAIN_FRAME): ditto.
14657         (XDOMAIN_WINDOW): ditto.
14658
14659         * specifier.c (Fvalid_specifier_domain_p): add image instances as
14660         a valid specifier domain.
14661
14662 2000-04-19  Andy Piper  <andy@xemacs.org>
14663
14664         * glyphs-widget.c (syms_of_glyphs_widget): remove
14665         widget-callback-current-channel.
14666         (vars_of_glyphs_widget): ditto.
14667         * glyphs.h: ditto
14668
14669         * gui.c (get_gui_callback): revert to previous behaviour.
14670
14671 2000-04-18  Andy Piper  <andy@xemacs.org>
14672
14673         * glyphs.h (struct Lisp_Image_Instance): add margin_width.
14674         (IMAGE_INSTANCE_MARGIN_WIDTH): new.
14675         (XIMAGE_INSTANCE_MARGIN_WIDTH): new.
14676
14677         * glyphs.c (image_instance_equal): add margin_width.
14678         (image_instance_hash): ditto.
14679
14680         * glyphs-widget.c (widget_instantiate): deal with margin-width.
14681         (layout_query_geometry): ditto.
14682         (layout_layout): ditto.
14683         (syms_of_glyphs_widget): add margin-width.
14684         (image_instantiator_layout): allow margin-width.
14685
14686         * glyphs.c (update_widget_instances): make a normal function.
14687         (syms_of_glyphs): remove Qupdate_widget_instances.
14688         * glyphs.h: ditto.
14689
14690         * gui-x.c (popup_selection_callback): use enqueue_magic_eval_event
14691         so that we don't corrupt ideas about the last event or
14692         command. Remove widget-callback-current-channel fiddling.
14693         * gui-msw.c (mswindows_handle_gui_wm_command): ditto.
14694
14695 2000-05-01  Martin Buchholz <martin@xemacs.org>
14696
14697         * XEmacs 21.2.33 is released.
14698
14699 2000-05-01  Yoshiki Hayashi  <yoshiki@xemacs.org>
14700
14701         * make-src-depend: Allow dots in header file name.
14702
14703 2000-05-01  Yoshiki Hayashi  <yoshiki@xmacs.org>
14704
14705         * mule-charset.h (struct charset_lookup): Add
14706         next_allocated_1_byte_leading_byte and
14707         next_allocated_2_byte_leading_byte.
14708         * mule-charset.c: Move above two variables so that those values
14709         will be dumped.
14710
14711 2000-04-26  Yoshiki Hayashi  <yoshiki@xemacs.org>
14712
14713         * insdel.c (find_charsets_in_bufbyte_string): Add Vcharset_ascii
14714         when string length is zero.
14715         (find_charsets_in_emchar_string): Ditto.
14716
14717 2000-04-29  Bjrn Torkelsson  <torkel@hpc2n.umu.se>
14718
14719         * lisp.h: extern Qdialog and Qmenubar.
14720
14721         * gui-x.c: added events.h.
14722                 also fixed typo which made the file uncompilable.
14723
14724         * general.c: Added Qmenubar and Qdialog
14725
14726 2000-04-28  Ben Wing  <ben@xemacs.org>
14727
14728         * frame-msw.c (mswindows_init_frame_1):
14729         * frame-msw.c (mswindows_mark_frame):
14730         * event-msw.c (mswindows_enqueue_dispatch_event):
14731         * console-msw.h:
14732         * console-msw.h (struct mswindows_frame):
14733         * console-msw.h (FRAME_MSWINDOWS_WIDGET_HASH_TABLE1):
14734         there are now three hash tables for callbacks.
14735         mswindows_enqueue_dispatch_event is no longer static.
14736
14737         * dialog-x.c (maybe_run_dbox_text_callback):
14738         * dialog-x.c (dbox_descriptor_to_widget_value):
14739         switch to new cons3 form for callbacks.
14740
14741         * glyphs-msw.c (mswindows_register_gui_item):
14742         * glyphs-msw.c (mswindows_widget_instantiate):
14743         * glyphs-msw.c (add_tree_item):
14744         * glyphs-msw.c (add_tab_item):
14745         new image instance parameter, so it can be passed to callback-ex.
14746         respect :callback-ex as well as :callback.
14747
14748         * glyphs-widget.c (VALID_GUI_KEYWORDS):
14749         add :callback-ex.
14750
14751         * glyphs.c (print_image_instance):
14752         prettify, e.g. now prints widget type.
14753
14754         * gui-x.h:
14755         certain funs have new image instance parameter.
14756
14757         * gui.c:
14758         * gui.c (get_gui_callback):
14759         * gui.c (gui_item_add_keyval_pair):
14760         * gui.c (gui_item_init):
14761         * gui.c (gui_add_item_keywords_to_plist):
14762         * gui.c (mark_gui_item):
14763         * gui.c (gui_item_hash):
14764         * gui.c (gui_item_equal):
14765         * gui.c (copy_gui_item):
14766         * gui.c (syms_of_gui):
14767         recognize callback-ex in a number of places.
14768         also, fix the annoying "can't get out of yes-no dialog" bug.
14769
14770         * gui.h:
14771         * gui.h (struct Lisp_Gui_Item):
14772         recognize callback-ex in a number of places.
14773
14774         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
14775         new parameter in button_item_to_widget_value.
14776
14777         * glyphs-x.c (x_update_widget):
14778         * glyphs-x.c (x_button_instantiate):
14779         * glyphs-x.c (x_button_update):
14780         * glyphs-x.c (x_progress_gauge_instantiate):
14781         * glyphs-x.c (x_edit_field_instantiate):
14782         * glyphs-x.c (x_combo_box_instantiate):
14783         * glyphs-x.c (x_tab_control_instantiate):
14784         * glyphs-x.c (x_label_instantiate):
14785         new image instance parameter in various places.
14786
14787         * event-Xt.c:
14788         * event-Xt.c (enqueue_Xt_dispatch_event):
14789         this fun gets exported.
14790
14791         * gui-msw.c:
14792         * gui-msw.c (mswindows_handle_gui_wm_command):
14793         handle both :callback and :callback-ex, and generate our own
14794         event because it's one of the callback-ex arguments.
14795
14796         * gui-x.c:
14797         * gui-x.c (popup_selection_callback):
14798         handle both :callback and :callback-ex, and generate our own
14799         event because it's one of the callback-ex arguments.
14800         * gui-x.c (button_item_to_widget_value):
14801         * gui-x.c (gui_items_to_widget_values_1):
14802         * gui-x.c (gui_item_children_to_widget_values):
14803         * gui-x.c (gui_items_to_widget_values):
14804         new image instance parameter in various places.
14805
14806         * fns.c (Freplace_list):
14807         fix small typo in doc string.
14808
14809         * lisp.h:
14810         declare enqueue_Xt_dispatch_event.
14811
14812 2000-04-28  Ben Wing  <ben@xemacs.org>
14813
14814         * buffer.c:
14815         * buffer.c (Frecord_buffer):
14816         * buffer.c (syms_of_buffer):
14817         delete record-buffer-hook.
14818
14819         * fns.c:
14820         * fns.c (Freplace_list):
14821         * fns.c (syms_of_fns):
14822         new primitive replace-list.
14823
14824         * frameslots.h:
14825         slot for old buffer-alist.
14826
14827         * lisp.h:
14828         exfun replace-list.
14829
14830         * redisplay.c:
14831         * redisplay.c (redisplay_frame):
14832         * redisplay.c (syms_of_redisplay):
14833         * redisplay.c (vars_of_redisplay):
14834         new hook buffer-list-changed-hook.
14835         call it.
14836
14837 2000-04-27  Ben Wing  <ben@xemacs.org>
14838
14839         * extents.h: extern in_modeline_generation.
14840
14841         * redisplay.c (generate_formatted_string_db): set
14842         in_modeline_generation.
14843
14844         * extents.c (extent_changed_for_redisplay): don't mark redisplay
14845         flags if in modeline generation.  otherwise frame-modified-tick
14846         is ticked far too often.
14847         Declare in_modeline_generation.
14848
14849 2000-04-26  Ben Wing  <ben@xemacs.org>
14850
14851         * emacs.c (vars_of_emacs): document quick-build "error-checking"
14852         option.
14853         (vars_of_emacs): add quick-build as an error-checking option.
14854         A bit kludgy, but there doesn't seem much point in creating
14855         a real var for this.
14856
14857         * config.h.in: put in an entry for QUICK_BUILD; remove NO_DOC_FILE.
14858
14859 2000-04-14  IKEYAMA Tomonori  <tomonori@suiyokai.org>
14860
14861         * redisplay.h (struct display_line): Add a new variable,
14862         line_continuation.
14863
14864         * redisplay.c (create_text_block): Set dl->line_continuation if
14865         the line continues.
14866         (create_string_text_block): Ditto.
14867         (regenerate_window_incrementally): Use line_continuation instead
14868         of searching continuation glyph.
14869         (add_margin_runes): Call add_glyph_rune.
14870         (add_glyph_rune): Handle margin glyph.
14871
14872 2000-04-20  Martin Buchholz  <martin@xemacs.org>
14873
14874         * filelock.c (fill_in_lock_file_name):
14875         ANSIfy.
14876         Check for IS_ANY_SEP instead of '/'.
14877         (lock_file_1):
14878         Avoid generating gratuitous garbage.  Call user_login_name() directly.
14879         Never check errno without first seeing that system call failed.
14880         (unlock_file): Add GCPRO.
14881         (Flock_buffer): Fix docstring.
14882         (Ffile_locked_p): Fix docstring.  Add GCPRO.
14883
14884 2000-04-19  Martin Buchholz  <martin@xemacs.org>
14885
14886         * sysdep.c (get_pty_max_bytes):
14887         Fix hangs on DEC OSF 4.0 when (process-send-string) sends
14888         strings longer than 252 bytes.
14889
14890         * md5.c: Unconditionally include ANSI header <limits.h>
14891
14892         * glyphs-x.c (convert_EImage_to_XImage):
14893         * lisp-union.h (union Lisp_Object):
14894         Use consistently the syntax #ifdef FEATURE, not #if FEATURE.
14895
14896 2000-04-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
14897
14898         * filelock.c (current_lock_owner): Remove unused variable o, p.
14899
14900 2000-04-17  Norbert Koch  <n.koch@eai-delta.de>
14901
14902         * callint.c: Remove multiply defined symbol Qlet
14903         (syms_of_callint): ditto.
14904
14905 2000-04-14  Andy Piper  <andy@xemacs.org>
14906
14907         * general.c (syms_of_general): add last-command, this-command, let
14908         and funcall.
14909
14910         * lisp.h: declare various symbols.
14911
14912         * glyphs.h: declare Qwidget_callback_current_channel;
14913
14914         * glyphs-widget.c (syms_of_glyphs_widget): add
14915         Qgui_callback_current_channel.
14916         (vars_of_glyphs_widget): add Vgui_callback_current_channel.
14917
14918         * gui-msw.c (mswindows_handle_gui_wm_command): bind
14919         widget-callback-current-channel when invoking the interactive
14920         arg. Also bind last-command and next-command when invoking the
14921         widget updates.
14922         * gui-x.c (popup_selection_callback): ditto.
14923
14924         * gui.c (get_gui_callback): massage args so that we are always
14925         calling eval. This allows us to add our own variable bindings
14926         outside.
14927
14928         * glyphs-x.c (x_button_instantiate): use
14929         gui_items_to_widget_values since this is GC safe.
14930         (x_progress_gauge_instantiate): ditto.
14931         (x_edit_field_instantiate): ditto.
14932         (x_label_instantiate): ditto.
14933
14934         * event-Xt.c (emacs_Xt_handle_magic_event): remove old printfs.
14935         (emacs_Xt_event_widget_focus_out): new function
14936         (emacs_Xt_event_widget_focus_in): new function. Set the keyboard
14937         focus.
14938         (emacs_Xt_event_add_widget_actions): new function. add focus
14939         functions as actions.
14940         (init_event_Xt_late): use it.
14941
14942 2000-04-14  Hrvoje Niksic  <hniksic@iskon.hr>
14943
14944         * event-stream.c (Fdispatch_event): Doc fix.
14945
14946 2000-03-29  SL Baur  <steve@musashimaru.m17n.org>
14947
14948         * postgresql.c: Remove all references to PQsetenv*.
14949
14950         * postgresql.h: Remove references to PGsetenvHandler object.
14951         * lrecord.h (lrecord_type): Ditto.
14952
14953 2000-04-11  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14954
14955         * glyphs-msw.h (struct mswindows_image_instance_data): Added
14956         real_heigh and real_width members, and accessor macros for these.
14957
14958         * glyphs-msw.c (init_image_instance_geometry): New function.
14959         (init_image_instance_from_dibitmap): Use it.
14960         (mswindows_resource_instantiate): Use it.
14961         (init_image_instance_from_xbm_inline): Use it.
14962         (mswindows_initialize_image_instance_mask): Use real bitmap
14963         geometry.
14964         (mswindows_create_resized_bitmap): Ditto.
14965         (mswindows_create_resized_mask): Ditto.
14966
14967         * redisplay-msw.c (mswindows_output_dibitmap): Stretch real mask
14968         and bitmap to their surface size.
14969
14970 2000-04-11  Jan Vroonhof  <jan@xemacs.org>
14971
14972         * process-unix.c (unix_send_process): Guard against process MIA
14973         after Faccept_process_output.
14974
14975 2000-04-11  Ben Wing  <ben@xemacs.org>
14976
14977         * eval.c (unbind_to_hairy): fix brokenness introduced by
14978         nanosecond speed improvements.
14979
14980 2000-04-07  Raymond Toy  <toy@rtp.ericsson.se>
14981
14982         * sunplay.c (init_device): To play sounds correctly, the device
14983         apparently needs to be initialized at least once by XEmacs.  Make
14984         it so.
14985
14986 2000-04-10  IKEYAMA Tomonori  <tomonori@suiyokai.org>
14987
14988         * redisplay.c (add_margin_runes): Add text image glyph
14989           handling.
14990
14991 2000-04-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
14992
14993         * lisp.h (DOESNT_RETURN): Don't declare as volatile when
14994         gcc is newer than 2.5.
14995
14996 2000-04-06  Colin Rafferty  <colin@xemacs.org>
14997
14998         * lisp.h (FLEXIBLE_ARRAY_STRUCT_SIZEOF): Created.
14999
15000         * fns.c (size_bit_vector):
15001         * alloc.c (size_vector):
15002         (make_vector_internal):
15003         (make_bit_vector_internal):
15004         (sweep_bit_vectors_1):
15005         Replace calls to offsetof with FLEXIBLE_ARRAY_STRUCT_SIZEOF macro.
15006
15007 2000-04-06  Andy Piper  <andy@xemacs.org>
15008
15009         * gmalloc.c (malloc): undo previous change.
15010         (malloc): ditto.
15011         (free): ditto.
15012         (realloc): ditto.
15013
15014 2000-04-06  IKEYAMA Tomonori <tomonori@suiyokai.org>
15015
15016         * line-number.c (buffer_line_number): Revert to former version.
15017
15018 2000-04-06  Andy Piper  <andy@xemacs.org>
15019
15020         * gmalloc.c (malloc): add error checking.
15021         (malloc): ditto.
15022         (free): ditto.
15023         (realloc): ditto.
15024
15025         * dialog-x.c (dbox_descriptor_to_widget_value): add extra
15026         button_item_to_widget_value arg.
15027
15028         * glyphs-x.c (x_button_instantiate): add extra
15029         button_item_to_widget_value arg.
15030         (x_progress_gauge_instantiate): ditto.
15031         (x_edit_field_instantiate): ditto.
15032         (x_label_instantiate): ditto.
15033
15034         * gui-x.c (gui_items_to_widget_values_1): add extra
15035         button_item_to_widget_value arg.
15036         (button_item_to_widget_value): add extra menu_item_p arg.
15037
15038         * gui-x.h: change signature of button_item_to_widget_value.
15039
15040         * menubar-x.c (menu_item_descriptor_to_widget_value_1): add extra
15041         button_item_to_widget_value arg.
15042
15043 2000-04-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
15044
15045         * buffer.h (struct buffer): auto_save_modified should be long.
15046
15047 2000-04-05  Andy Piper  <andy@xemacs.org>
15048
15049         * glyphs-widget.c (widget_instantiate): pixwidth != pixheight
15050         type.
15051         (button_query_geometry): give a little more room so that athena
15052         buttons fit.
15053
15054 2000-04-05  Andy Piper  <andy@xemacs.org>
15055
15056         * faces.c (complex_vars_of_faces): The widget face should inherit
15057         the font of the gui-element face.
15058
15059 2000-04-04  Andy Piper  <andy@xemacs.org>
15060
15061         * glyphs-x.c (x_button_update): new function. unconditionally
15062         update a button's state when the instance is dirty.
15063         (image_instantiator_format_create_glyphs_x): add x_button_update.
15064         (x_widget_instantiate): remove old resize cruft.
15065
15066 2000-04-02  Andy Piper  <andy@xemacs.org>
15067
15068         * frame.c (change_frame_size_1): The introduction of gutters means
15069         that we need to allow 0 as a potential frame dimension.
15070
15071 2000-04-02  IKEYAMA Tomonori  <tomonori@suiyokai.org>
15072
15073         * redisplay.c (add_glyph_rune): Don't set 0 to bufpos for text
15074         image glyph if allow_cursor.
15075         (add_hscroll_rune): Don't allow cursor to border glyph.
15076         (create_text_block): Ditto.
15077
15078         * redisplay-output.c (redisplay_move_cursor): Do nothing even if
15079         text not in buffer.
15080         (redisplay_output_layout): Call ensure_face_cachel_complete for
15081         text image glyph.
15082
15083
15084 2000-03-16  IKEYAMA Tomonori  <tomonori@suiyokai.org>
15085
15086         * redisplay.c (add_glyph_rune): Adding text image as text runes.
15087
15088         * redisplay-output.c (redisplay_move_cursor): NO_CURSOR if text
15089         not in buffer
15090
15091         * redisplay-tty.c (tty_output_display_block): Delete the routine
15092         for text image glyph
15093         * redisplay-x.c (x_output_display_block): ditto
15094         * redisplay-msw.c (mswindows_output_display_block): ditto
15095
15096 2000-02-02  Mike Alexander  <mta@arbortext.com>
15097
15098         Note: Some of these were committed by accident as part of other
15099         patches.
15100
15101         * regex.c (regex_compile): Avoid compiler warnings.
15102
15103         * ntproc.c (sys_spawnve): Avoid compiler warnings.
15104
15105         * nt.h: Declare term_ntproc correctly.
15106
15107         * nt.c: Remove incorrect declaration of get_home_directory which
15108         is declared correctly in lisp.h.
15109
15110         * keymap.c (get_keyelt): Avoid compiler warnings.
15111         (raw_lookup_key_mapper): Avoid compiler warnings.
15112
15113         * gutter.c (gutter_was_visible): Add return statement to avoid warning.
15114
15115         * glyphs-eimage.c (png_instantiate): Avoid compiler warnings.
15116
15117         * filemode.c (mode_string): Avoid compiler warnings.
15118
15119         * file-coding.c (Fcoding_system_aliasee): Add return statement to
15120         avoid warning.
15121
15122         * events-mod.h: Undef some things that winuser.h defines differently.
15123
15124         * data.c (Faset): Avoid compiler warnings.
15125
15126         * alloc.c (Fmake_byte_code): Avoid compiler warnings.
15127
15128 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
15129
15130         * sound.c (Fplay_sound_file): Wrap ESD in start/stop_interrupts.
15131         Fall through to simple beep on error.
15132         Replace "extern" by real header file.
15133
15134         * linuxplay.c: Use nativesound.h
15135         (play_sound_data): Return error code. Be less verbose on error.
15136
15137         * sunplay.c: Use nativesound.h
15138         (play_sound_data): Return error code. Be less verbose on error.
15139
15140         * ntplay.c: Use nativesound.h
15141         (play_sound_data): Return fake error code
15142
15143         * sgiplay.c: Use nativesound.h
15144         (play_sound_data): Return error code
15145
15146         * hpplay.c: Use nativesound.h, partially implement
15147         new error code. Break compilation until finished.
15148         (play_sound_data): error code.
15149
15150         * nativesound.h (play_sound_file):
15151           (play_sound_data): Prototype in new header.
15152
15153 2000-03-31  Andy Piper  <andy@xemacs.org>
15154
15155         * glyphs-widget.c: (button_query_geometry): new function. Adjust
15156         for toggle and radio buttons.
15157         (image_instantiator_buttons): use it.
15158
15159 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
15160
15161         * scrollbar-x.c (x_update_vertical_scrollbar_callback):
15162         (x_update_horizontal_scrollbar_callback): Return if no mirror was
15163         found. Scrollbar event probably belonged to some old config.
15164
15165 2000-03-31  Andy Piper  <andy@xemacs.org>
15166
15167         * glyphs-widget.c (widget_instantiate): use LAYOUT_VERTICAL rather
15168         than 1.
15169         (initialize_widget_image_instance): default layout to
15170         LAYOUT_HORIZONTAL rather than 0.
15171         (widget_instantiate): reverse the item list at the end rather than
15172         every iteration.
15173         (layout_layout): re-code for the border text at the front of the
15174         item list rather than at the end.
15175         (layout_query_geometry): ditto. Pick up fixed and dynamic sizes
15176         provided by the user.
15177         (widget_query_geometry): comment.
15178
15179 2000-03-30  Andy Piper  <andy@xemacs.org>
15180
15181         * glyphs-widget.c (image_instantiator_layout): allow standard
15182         widget keywords in layouts.
15183
15184         * gutter.c (output_gutter): cope with nil gutter contents.
15185
15186         * frame.c (Fset_frame_properties): add gutter docs.
15187
15188 2000-03-29  Andy Piper  <andy@xemacs.org>
15189
15190         * toolbar-msw.c (TBSTYLE_FLAT): add.
15191         (mswindows_output_toolbar): minor fiddling.
15192
15193 2000-03-29  Andy Piper  <andy@xemacs.org>
15194
15195         * gutter.c (output_gutter): force gutter size recalculation if
15196         what we are trying to display won't fit.
15197         (update_gutter_geometry): new function. A per-gutter version of
15198         update_frame_gutter_geometry.
15199         (update_frame_gutter_geometry): use it.
15200         (redraw_exposed_gutter): add extra debugging output.
15201
15202 2000-03-28  Mike Alexander  <mta@arbortext.com>
15203
15204         * dumper.c: Declare pdump_hFile and pdump_hMap (Windows only)
15205         (pdump_file_unmap): Implement it on Windows
15206         (pdump_file_get): Save alocated handles for pdump_file_unmap
15207
15208 2000-03-28  Andy Piper  <andy@xemacs.org>
15209
15210         * gui.c (get_gui_callback): treat Quit specially.
15211
15212 2000-03-27  Andy Piper  <andy@xemacs.org>
15213
15214         * glyphs.c (image_instantiate): be careful to check in the same
15215         way we assigned.
15216
15217 2000-03-27  Didier Verna  <didier@xemacs.org>
15218
15219         * config.h.in: define the proper SMART_INCLUDE macro.
15220         handle renaming of `foo_h_path' to `foo_h_file'.
15221
15222         * database.c: ditto.
15223
15224         * emacs.c: ditto.
15225
15226         * linuxplay.c: ditto.
15227
15228         * terminfo.c: ditto.
15229
15230         * tooltalk.h: ditto.
15231
15232 2000-03-27  Andy Piper  <andy@xemacs.org>
15233
15234         * glyphs-msw.c (mswindows_update_widget): make sure the widget
15235         gets updated whenever the face might have changed.
15236
15237 2000-03-26  Mike Alexander  <mta@arbortext.com>
15238
15239         * dumper.c (pdump_resource_free): Fix the comment.
15240
15241 2000-03-21  Olivier Galibert  <galibert@pobox.com>
15242
15243         * input-method-xlib.c (XIM_init_frame): Remove painful warning.
15244
15245 2000-03-22  Mike Alexander  <mta@arbortext.com>
15246
15247         * dumper.c: Include Windows headers on Windows
15248         (pdump_resource_free): Add a body to the function
15249         (pdump_load): exe_name -> exe_path and add some comments.
15250
15251 2000-03-25  Mike Alexander  <mta@arbortext.com>
15252
15253         * gui.c (copy_gui_item_tree): Return a value in all cases
15254
15255 2000-03-21  Didier Verna  <didier@xemacs.org>
15256
15257         * config.h.in: move INCLUDE_GLUE_1 and INCLUDE_GLUE_2 here from
15258         lwlib/config.h.in.
15259         (SMART_INCLUDE): new macro.
15260         (POSTGRES_INCLUDE): new macro to include postgresql headers from
15261         the proper location.
15262
15263         * postgresql.c: use it.
15264
15265         * inline.c: ditto.
15266
15267 2000-03-24  Andy Piper  <andy@xemacs.org>
15268
15269         * gutter.c (redraw_exposed_gutters): must be "in display" when we
15270         do this.
15271
15272 2000-03-24  Andy Piper  <andy@xemacs.org>
15273
15274         * redisplay-output.c (compare_runes): use image_instance_changed
15275         to detect changes. Do not depend on glyphs_changed, only depend on
15276         dirtiness.
15277          (redisplay_output_layout): add debug messages.
15278         (compare_runes): ditto.
15279
15280         * glyphs.h: declare new functions.
15281         (struct Lisp_Image_Instance): remove percent and associated
15282         accessors.
15283
15284         * gui.h: declare new copying functions.
15285
15286         * gui.c (copy_gui_item_tree): new function.
15287         (copy_gui_item): new function.
15288         (gui_item_id_hash): revert to standard hash.
15289         (gui_item_hash): ditto.
15290         (gui_item_hash_internal): deleted.
15291         (mark_gui_item): mark value.
15292         (gui_item_add_keyval_pair): add value.
15293         (gui_item_init): ditto.
15294         (gui_add_item_keywords_to_plist): ditto.
15295         (gui_item_equal): ditto.
15296         (syms_of_gui): add Q_value.
15297
15298         * glyphs-x.c (x_progress_gauge_update): use pending items and
15299         value for setting the state.
15300         (x_update_widget): don't set items from pending here.
15301
15302         * glyphs-widget.c (update_widget): update items here.
15303         (progress_gauge_set_property): use items for storing value. Put
15304         new value in pending items.
15305
15306         * glyphs-msw.c (mswindows_progress_gauge_update): use pending
15307         items for new value. Convert percent -> value.
15308         (mswindows_tab_control_update): don't update items here.
15309
15310         * glyphs.c (Fupdate_widget_instances): use image_instance_changed.
15311         (update_subwindow): ditto.
15312         (image_instance_changed): new function. Compare hash values and
15313         past and present widget items.
15314         (image_instantiate): We more careful about where we instantiate
15315         things.
15316         (image_instantiate): add error checking.
15317
15318         * gutter.c (syms_of_gutter): use -hook.
15319
15320 2000-03-20  Yoshiki Hayashi  <yoshiki@xemacs.org>
15321
15322         * console-tty.c (Fset_console_tty_input_coding_system): Use
15323         Qkeyboard.
15324         (Fset_console_tty_output_coding_system): Use Qterminal.
15325         (tty_init_console): Use Qkeyboard and Qterminal.
15326
15327 2000-03-21  Ben Wing  <ben@xemacs.org>
15328
15329         * ntproc.c (create_child): remove bogus HAVE_NTGUI's.
15330         From Mike Alexander <mta@arbortext.com>.
15331
15332 2000-03-21  Ben Wing  <ben@xemacs.org>
15333
15334         * event-msw.c (mswindows_need_event): Horrible kludge to fix
15335         process brokenness.  Proper implementation to come.
15336         * callproc.c:
15337         Rename call-process-internal to old-call-process-internal.
15338         New impl. in process.el.
15339
15340 2000-03-21  Martin Buchholz  <martin@xemacs.org>
15341
15342         * Makefile.in.in: Coalesce HAVE_NATIVE_SOUND code fragments.
15343
15344 2000-03-20  Andy Piper  <andy@xemacs.org>
15345
15346         * glyphs.c (full_list_hash): make hashes of the same elements in
15347         different orders return different values.
15348
15349 2000-03-20  Martin Buchholz <martin@xemacs.org>
15350
15351         * XEmacs 21.2.32 is released.
15352
15353 2000-03-20  Martin Buchholz  <martin@xemacs.org>
15354
15355         * buffer.h (DFC_ALLOCA_USE_CONVERTED_DATA):
15356         (DFC_MALLOC_USE_CONVERTED_DATA):
15357         Add aliasing-safe casts to allow use with char* or unsigned char*
15358         lvalues.
15359
15360         * eldap.c (Fldap_open):
15361         (Fldap_search_basic):
15362         (Fldap_add):
15363         (Fldap_modify):
15364         Make C++-compilable.
15365         Make sure GCPRO'ed variables are initialized.
15366         Use temp variables to avoid repeated calls to Flength.
15367
15368 2000-03-16  Martin Buchholz  <martin@xemacs.org>
15369
15370         * sysfile.h:
15371         Make sure PATH_MAX is always defined.
15372         Include limits.h for PATH_MAX.
15373         Deprecate use of MAXPATHLEN.
15374
15375 2000-03-10  Martin Buchholz  <martin@xemacs.org>
15376
15377         * emacs.c: Add reinit_vars_of_fileio.
15378         * symsinit.h: Add reinit_vars_of_fileio.
15379         * fileio.c (reinit_vars_of_fileio): New.
15380         * fileio.c (Fmake_temp_name):
15381         Initialize temp_name random number from microseconds to make
15382         collisions even less likely.  Initialize always at process startup
15383         time.  (make-temp-name) used to return the same file name twice in
15384         a row when PDUMP.
15385         Random stylistic fiddling.
15386         Comment fixes.
15387
15388 2000-03-20  Andy Piper  <andy@xemacs.org>
15389
15390         * glyphs.c (image_instantiate): allow text glyphs to be
15391         instantiated in the minibuffer window.
15392
15393 2000-03-19  Andy Piper  <andy@xemacs.org>
15394
15395         * glyphs.c (image_instance_hash): be careful about which items we
15396         hash on.
15397
15398         * glyphs-widget.c (tab_control_set_property): record into pending
15399         items rather than the actual items.
15400
15401         * glyphs-x.c (x_update_widget): use pending items to update with.
15402
15403         * glyphs-msw.c (mswindows_tab_control_update): use pending items
15404         to update with.
15405
15406         * glyphs.c (mark_image_instance): mark pending items.
15407
15408         * window.c (Fset_window_configuration): record the buffer.
15409         (Fselect_window): totally revert previous change which breaks many
15410         things.
15411
15412 2000-03-18  Andy Piper  <andy@xemacs.org>
15413
15414         * glyphs-msw.c (mswindows_tab_control_update): force selected
15415         item.
15416
15417         * glyphs.c (image_instantiate): don't allow the minibuffer as a
15418         window domain cache, otherwise we get inconsistencies at
15419         startup. There is something fishy at startup which can lead to the
15420         minibuffer being the selected window when the gutter content is
15421         instantiated.
15422
15423         * gui.c (parse_gui_item_tree_list): add probably unnecessary
15424         gcpros.
15425         (parse_gui_item_tree_children): ditto.
15426         (parse_gui_item_tree_item): ditto.
15427
15428         * glyphs.c (Fupdate_widget_instances): return something.
15429
15430 2000-03-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
15431
15432         * window.c (Fselect_window): Undo 2000-03-17 change.
15433
15434 2000-03-17  SL Baur  <steve@musashimaru.m17n.org>
15435
15436         * postgresql.c (Fpq_setenv): Remove this turkey when linking
15437         against v7.0 libraries.  Insta-coredump city until the postgres
15438         folks fix it.
15439
15440 2000-03-17  Andy Piper  <andy@xemacs.org>
15441
15442         * faces.c (complex_vars_of_faces): don't give the widget face an
15443         inherited background pixmap.
15444
15445         * glyphs-msw.c (mswindows_tab_control_instantiate): select the
15446         selected item.
15447
15448         * event-stream.c (Fdispatch_non_command_events): return something.
15449
15450         * gutter.c (output_gutter): use widget face.
15451         (clear_gutter): ditto.
15452
15453         * NEWS: adjust again.
15454
15455         * window.c (Fselect_window): make sure this runs to completion to
15456         avoid oddities with Fset_window_configuration.
15457         (Fcurrent_window_configuration): in general do not save the
15458         minibuffer as the selected window.
15459
15460         * glyphs.h (IMAGE_INSTANCE_HASH_DEPTH): increase.
15461
15462 2000-03-16  Olivier Galibert  <galibert@pobox.com>
15463
15464         * emacs.c (Frunning_temacs_p): Revert previous patch.
15465         (main_1): Reinitialize running_temacs_argc if pdump_load succeeds.
15466
15467 2000-03-16  Andy Piper  <andy@xemacs.org>
15468
15469         * glyphs-x.c (x_tab_control_update): if no widget values then
15470         return.
15471
15472         * NEWS: update for new features.
15473
15474         * event-Xt.c (emacs_Xt_force_event_pending): new function. Post a
15475         synthetic event to the native system.
15476         (reinit_vars_of_event_Xt): set force_event_pending to
15477         emacs_Xt_force_event_pending.
15478
15479         * events.h (struct event_stream): add force_event_pending.
15480
15481         * specifier.c (recompute_one_cached_specifier_in_window): add
15482         comment.
15483
15484         * redisplay.c (redisplay_frame): don't call
15485         update_frame_subwindows. Reset subwindow cachels when
15486         subwindows_changed, removing this was an optimization too far.
15487
15488         * redisplay-output.c (compare_runes): reorganize so that we catch
15489         glyph changes when we want them. Set optimize_output when this
15490         would help layouts.
15491         (redisplay_output_layout): remove frame_really_changed, use
15492         optimize_output instead.
15493
15494         * redisplay-msw.c (mswindows_output_display_block): reset
15495         optimize_output after outputting a glyph.
15496         * redisplay-x.c (x_output_display_block): ditto.
15497         * redisplay-tty.c (tty_output_display_block): ditto.
15498
15499         * gutter.c: (specifier_vars_of_gutter): use new spec changed
15500         functions.
15501         (gutter_specs_changed): do specific gutter positions.
15502         (top_gutter_specs_changed): new function. Only update the
15503         specified gutter specs.
15504         (bottom_gutter_specs_changed): ditto.
15505         (left_gutter_specs_changed): ditto.
15506         (right_gutter_specs_changed): ditto.
15507
15508         * gui.c (gui_item_hash_internal): new function, does a real hash.
15509         (gui_item_id_hash): use it.
15510         (gui_item_hash): hash the eval'ed gui_item.
15511
15512         * gui-x.c (popup_selection_callback): send an eval event to call
15513         Fupdate_widget_instances.
15514
15515         * gui-msw.c (mswindows_handle_gui_wm_command): send an eval event
15516         to call Fupdate_widget_instances.
15517
15518         * glyphs.h (struct Lisp_Image_Instance): add optimize_output flag.
15519         (IMAGE_INSTANCE_OPTIMIZE_OUTPUT): access it.
15520
15521         * glyphs.c: (update_frame_subwindows): deleted.
15522         (Fupdate_widget_instances): new function for updating the dirty
15523         state of widgets that might have changed.
15524         (syms_of_glyphs): add Qupdate_widget_instances.
15525         (full_list_hash): hash a list completely.
15526         (image_instance_hash): use it for items and properties.
15527
15528         * frame-msw.c (mswindows_size_frame_internal): remove unused
15529         variable.
15530
15531         * faces.h (struct face_cachel): fix comment.
15532
15533         * event-stream.c (Fdispatch_non_command_events): new
15534         function. Process non-command events, forcing an event cycle
15535         beforehand.
15536         (syms_of_event_stream): declare.
15537         (event_stream_force_event_pending): new function. Force an event
15538         on the native event queue so that an event cycle will occur next
15539         time we check.
15540
15541         * event-msw.c:
15542         (struct ntpipe_shove_stream):
15543         (mswindows_enqueue_dispatch_event):
15544         (mswindows_dequeue_dispatch_event):
15545         (mswindows_cancel_dispatch_event):
15546         (mswindows_pump_outstanding_events):
15547         (mswindows_drain_windows_queue):
15548         (mswindows_handle_paint):
15549         (mswindows_wnd_proc):
15550         (mswindows_key_to_emacs_keysym):
15551         (get_process_input_waitable):
15552         (emacs_mswindows_delete_stream_pair): re-indent file.
15553         (mswindows_need_event): do not process further fds if the windows
15554         fd is set, otherwise you get endless XM_BUMPQUEUE cycles. This
15555         fixes the 100% cpu problem.
15556         (reinit_vars_of_event_mswindows): set force_event_pending to 0.
15557
15558 2000-03-15  Olivier Galibert  <galibert@pobox.com>
15559
15560         * alloc.h: New.
15561         * dumper.h: New.
15562         * dumper.c: New.
15563
15564         * emacs.c: Moved dump file searching to dumper.c.
15565         (Frunning_temacs_p): Fixed.
15566
15567         * alloc.c: Moved everything pdump-related to dumper.c.  Removed
15568         last_lrecord_type_index_assigned.
15569
15570 2000-02-20  Olivier Galibert  <galibert@pobox.com>
15571
15572         * symsinit.h: Added reinit parameter to init_console_stream
15573         declaration.
15574
15575         * lisp.h: Added file parameter to pdump_load declaration.
15576
15577         * emacs.c (main_1): Added -nd/--nodump-file and -sd/--show-dump-id
15578         support.  Added dump file searching.
15579
15580         * config.h.in: Added EMACS_PROGNAME.
15581
15582         * console-stream.c (init_console_stream): Fix reinitialisation
15583         when running from temacs.
15584
15585         * alloc.c (pdump): Add id support.
15586         (pdump_load): Add file parameter and signature/id support.
15587
15588         * Makefile.in.in: Add full pdump support.
15589
15590 2000-03-15  SL Baur  <steve@musashimaru.m17n.org>
15591
15592         * postgresql.c: Update documentation to reflect latest code
15593         status.
15594         (print_result): Show tuple counts in printed representation when
15595         appropriate.
15596         (Fpq_put_nbytes): MULE-ize.
15597         (Fpq_get_line_async): Ditto.
15598
15599 2000-03-14  SL Baur  <steve@musashimaru.m17n.org>
15600
15601         * postgresql.c (Fpq_lo_import): Fix return value.
15602         Suggested by: Kenji Itoh <keit@tpj.co.jp>.
15603
15604 2000-03-13  Ben Wing  <ben@xemacs.org>
15605
15606         * alloc.c (pdump_load):
15607         Fix compile warning under mswin.
15608
15609 2000-03-14  SL Baur  <steve@musashimaru.m17n.org>
15610
15611         * postgresql.c: Mule-ization, bug fixes.
15612         Use PG_CODING to encapsulate coding system name changes.
15613         Backport a version of TO_EXTERNAL format for 21.1/InfoDock.
15614         (pg-coding-system): Create.
15615
15616         (Fpq_conn_defaults): Mule-ize.
15617         (Fpq_connectdb): Mule-ize & bug fix.
15618         (Fpq_connect_start): Mule-ize.
15619         (Fpq_set_client_encoding): Mule-ize.
15620         (Fpq_finish): Document `DEAD' connection status.
15621         (Fpq_clear): Ditto.
15622         (Fpq_pgconn): Mule-ize.
15623         (Fpq_exec): Mule-ize & bug fix.
15624         (Fpq_send_query): Ditto.
15625         (Fpq_get_result): Ditto.
15626         (Fpq_res_status): Mule-ize.
15627         (Fpq_result_error_message): Mule-ize.
15628         (Fpq_ntuples): fix comments.
15629         (Fpq_fname): Mule-ize.
15630         (Fpq_fnumber): Mule-ize.
15631         (Fpq_ftype): fix comments.
15632         (Fpq_get_value): Mule-ize.
15633         (Fpq_cmd_status): Ditto.
15634         (Fpq_cmd_tuples): Ditto.
15635         (Fpq_oid_value): Ditto.
15636         (Fpq_notifies): Ditto.
15637         (Fpq_lo_import): Ditto.
15638         (Fpq_lo_export): Ditto.
15639         (Fpq_get_line): Ditto.
15640         (Fpq_put_line): Mule-ize and bug fix.
15641         (syms_of_postgresql): Fix ifdef'ing, add pg-coding-system.
15642
15643 2000-03-10  SL Baur  <steve@musashimaru.m17n.org>
15644
15645         * postgresql.c (vars_of_postgresql): Mule-ize.
15646         (Fpq_conn_defaults): Ditto.
15647
15648 2000-03-12  Ben Wing  <ben@xemacs.org>
15649
15650         * alloc.c (Fmake_byte_code):
15651         * alloc.c (debug_string_purity_print):
15652         * alloc.c (pdump_backtrace):
15653         * alloc.c (pdump_get_indirect_count):
15654         * alloc.c (pdump_register_sub):
15655         * alloc.c (pdump_register_object):
15656         * alloc.c (pdump_register_struct):
15657         * alloc.c (pdump_dump_data):
15658         * alloc.c (pdump_reloc_one):
15659         Minor cleanups.
15660
15661         * console-msw.c:
15662         * console-msw.c (GetConsoleHwnd):
15663         * console-msw.c (msw_hide_console):
15664         * console-msw.c (msw_show_console):
15665         * console-msw.c (msw_ensure_console_buffered):
15666         * console-msw.c (msw_output_console_string):
15667         * console-msw.c (console_type_create_mswindows):
15668
15669         a) Added functions to manipulate the console window for use with
15670         shell support.
15671
15672         b) Added support for writing text to the console, which is now
15673         used under Windows when xemacs is not being run non-interactively,
15674         to write text that would otherwise be destined for stdout because
15675         under these circumstances, text written to stdout tends to
15676         disappear and not be seen.
15677
15678         * console-msw.h:
15679         * event-Xt.c:
15680         * event-Xt.c (x_event_to_emacs_event):
15681         * event-Xt.c (describe_event_window):
15682         * events-mod.h (XEMACS_MOD_CONTROL):
15683         * events.c:
15684         * events.c (Fmake_event):
15685         * events.c (character_to_event):
15686         * events.c (event_to_character):
15687         * events.c (format_event_object):
15688         * events.c (Fevent_modifiers):
15689         * events.h:
15690         * events.h (struct key_data):
15691         * events.h (struct button_data):
15692         * events.h (struct misc_user_data):
15693         * frame-x.c (Fcde_start_drag_internal):
15694         * frame-x.c (Foffix_start_drag_internal):
15695         * gpmevent.c (Freceive_gpm_event):
15696         * keymap.c:
15697         * keymap.c (bucky_sym_to_bucky_bit):
15698         * keymap.c (control_meta_superify):
15699         * keymap.c (make_key_description):
15700         * keymap.c (keymap_lookup_directly):
15701         * keymap.c (create_bucky_submap):
15702         * keymap.c (keymap_store):
15703         * keymap.c (define_key_check_and_coerce_keysym):
15704         * keymap.c (define_key_parser):
15705         * keymap.c (define_key_alternate_name):
15706         * keymap.c (Fdefine_key):
15707         * keymap.c (raw_lookup_key_mapper):
15708         * keymap.c (struct map_keymap_unsorted_closure):
15709         * keymap.c (map_keymap_unsorted_mapper):
15710         * keymap.c (map_keymap_sort_predicate):
15711         * keymap.c (map_keymap_sorted):
15712         * keymap.c (accessible_keymaps_mapper_1):
15713         * keymap.c (where_is_recursive_mapper):
15714         * keymap.c (describe_map_mapper):
15715         * keymap.c (describe_map_sort_predicate):
15716         * keymap.c (describe_map):
15717         * keymap.c (complex_vars_of_keymap):
15718         And a number of other files, the key modifier preprocessor
15719         constants that xemacs uses have names that conflict with constants
15720         defined under MS Windows for other purposes, so they were renamed
15721         to begin with the prefix XEMACS_. The variables that hold such
15722         modifiers were changed to consistently be of type int to fix
15723         various compile warnings.
15724
15725         * console.c (complex_vars_of_console):
15726         * device.c:
15727         * device-msw.c:
15728         * device-msw.c (mswindows_finish_init_device):
15729         * device-msw.c (msw_get_workspace_coords):
15730         * device-msw.c (mswindows_device_system_metrics):
15731         and various other files, added support for a new
15732         device property called offset-workspace which returns the position
15733         of the upper left corner of the workspace area and goes along with
15734         the existing size-workspace property.
15735
15736         * dialog-msw.c:
15737         * dialog-msw.c (push_bufbyte_string_as_unicode):
15738         * dialog-msw.c (mswindows_popup_dialog_box):
15739         Added support for XEmacs-style accelerator specifications in
15740         button text.  Note: I didn't add support for this under X Windows,
15741         and somebody needs to do this.
15742
15743         * dialog.c:
15744         * dialog.c (Fpopup_dialog_box):
15745         Documented the support for accelerators that was just mentioned.
15746
15747         editfns.c (get_home_directory): Changed behavior under Windows
15748         when HOME not defined; former behavior was irretrievably broken.
15749
15750         * emacs.c:
15751         * emacs.c (main_1):
15752         * emacs.c (main):
15753         * minibuf.c (clear_echo_area_internal):
15754         * minibuf.c (echo_area_append):
15755         * print.c:
15756         * print.c (std_handle_out_external):
15757         * print.c (std_handle_out_va):
15758         * print.c (fatal):
15759         * print.c (write_string_to_stdio_stream):
15760         * print.c (output_string):
15761         * print.c (debug_print):
15762         * print.c (debug_backtrace):
15763         * print.c (debug_short_backtrace):
15764         Cleaned up the code that prints text to stdout so that this can be
15765         changed to output into a console window instead under MS Windows,
15766         as described above.
15767
15768         * eval.c:
15769         * eval.c (DEFEND_AGAINST_THROW_RECURSION):
15770         * eval.c (internal_catch):
15771         * eval.c (unwind_to_catch):
15772         * eval.c (throw_or_bomb_out):
15773         * eval.c (condition_case_1):
15774         * eval.c (signal_1):
15775         * eval.c (check_error_state_sanity):
15776         * eval.c (call_with_suspended_errors_1):
15777         * eval.c (call_with_suspended_errors):
15778         * eval.c (reinit_vars_of_eval):
15779         Added code to catch throw loops and check for a pesky bug that may
15780         be gone now.
15781
15782         * event-msw.c:
15783         * event-msw.c (key_needs_default_processing_p):
15784         * event-msw.c (mswindows_wnd_proc):
15785         * event-msw.c (mswindows_modifier_state):
15786         * event-msw.c (emacs_mswindows_quit_p):
15787         * event-msw.c (vars_of_event_mswindows):
15788         a) Added support for using the alt key to select menu items as is
15789         standard under MS Windows.  This is controlled using the variable
15790         menu-accelerator-enabled, just like under X Windows.  There is an
15791         option on the options menu to turn this support on.  I really
15792         think that it should be on by default under Windows, but I'm not
15793         going to make this change yet.
15794
15795         b)  Added support for dynamic display size changes under Windows.
15796
15797         * event-stream.c:
15798         * event-stream.c (maybe_echo_keys):
15799         * event-stream.c (Fnext_event):
15800         * event-stream.c (command_builder_find_leaf):
15801         * event-stream.c (lookup_command_event):
15802         * event-stream.c (execute_command_event):
15803         * event-stream.c (pre_command_hook):
15804         * event-stream.c (post_command_hook):
15805         * event-stream.c (syms_of_event_stream):
15806         * event-stream.c (vars_of_event_stream):
15807         * event-stream.c (complex_vars_of_event_stream):
15808         * events.h (struct command_builder):
15809
15810         a) Tried to clean up a little bit the horribly written x-specific
15811         accelerator code that crept into this file.  I moved this code
15812         into menubar-x.c where it belongs. I also needed to move the
15813         command builder structure into the file events.h because it is
15814         accessed directly by this accelerator code.  What I didn't do, but
15815         which should be done at some point, is to properly abstract this
15816         code using device methods instead of the kludgy way that it
15817         currently hooks into the event code.
15818
15819         b) Added the lisp variables this-command-properties and
15820         last-command- properties, which should be used to synchronize two
15821         adjacent commands in preference to playing games with the variable
15822         this-command, which is typically what happens.
15823
15824         c) Added some slightly nasty code to hook into the lisp support
15825         for shifted- motion-key selection.  This is actually necessary for
15826         somewhat complicated reasons, which are described in
15827         simple.el. (NB: I think the proper thing would be to have the code
15828         that calls the pre and post command hooks also call out to generic
15829         lisp functions in simple.el, where all built-in stuff could be
15830         added.  I will think about this more.)
15831
15832         * event-unixoid.c (poll_fds_for_input):
15833         * lread.c (readchar):
15834         * redisplay-tty.c (tty_clear_frame):
15835         * redisplay-x.c (x_get_gc):
15836         * signal.c (interrupt_signal):
15837         And a whole bunch of other files: fixed up places that printed
15838         directly to stderr to instead call the function stderr_out so that
15839         the changes I made under Windows work correctly.
15840
15841         * filemode.c (mode_string):
15842         Warning fixes.
15843
15844         * frame-msw.c:
15845         * frame-msw.c (mswindows_size_frame_internal):
15846         Fixed the computation of frame size and position to keep the frame
15847         within the workspace area, rather than within the physical
15848         dimensions of the screen, so that the frame doesn't overlap window
15849         manager decorations, such as the start menu and toolbar, typically
15850         at the bottom of the screen.
15851
15852         * frame.c (vars_of_frame):
15853         Changed the default frame title format under MS Windows to consist
15854         of buffername-XEmacs, which is standard under MS Windows.  I think
15855         it might be a good idea to change this everywhere because I think
15856         it is superior to the current frame title format, but this is the
15857         kind of change that is likely to cause some people to get annoyed,
15858         so I'm not making it.
15859
15860         * glyphs-eimage.c (png_instantiate): Fixed some compile warnings.
15861
15862         * gui-msw.c (mswindows_handle_gui_wm_command):
15863         Fixed compile warnings.
15864
15865         * gui-x.c:
15866         * gui-x.c (strdup_and_add_accel):
15867         * gui-x.c (button_item_to_widget_value):
15868         * gui-x.h:
15869         Added code to automatically put an accelerator onto the beginning
15870         of menu items that don't have one as is now the standard, and is
15871         described more later.  Also fixed things so that the menu item
15872         name can be an evaluated expression, again a new standard.
15873
15874         * gui.c:
15875         * gui.c (gui_item_add_keyval_pair):
15876         * gui.c (make_gui_item_from_keywords_internal):
15877         * gui.c (gui_add_item_keywords_to_plist):
15878         * gui.c (gui_item_accelerator):
15879         * gui.c (gui_name_accelerator):
15880         * gui.c (gui_item_included_p):
15881         * gui.c (gui_item_display_flush_left):
15882         * gui.c (gui_item_display_flush_right):
15883         * gui.c (parse_gui_item_tree_item):
15884         * gui.c (parse_gui_item_tree_children):
15885         * gui.c (parse_gui_item_tree_list):
15886         Mule-ized.  Cleanup.  GCPRO addition.
15887
15888         * line-number.c (buffer_line_number):
15889         * lisp.h:
15890         * lisp.h (EMACS_INT_MAX):
15891         Added the manifest constant EMACS_INT_MIN corresponding to the
15892         existing constant EMACS_INT_MAX.  This is partially to fix compile
15893         warnings under Windows, and partly for cleanliness.
15894
15895         * menubar-msw.c:
15896         * menubar-msw.c (REPLACE_ME_WITH_GLOBAL_VARIABLE_WHICH_CONTROLS_RIGHT_FLUSH):
15897         * menubar-msw.c (msw_translate_menu_or_dialog_item):
15898         * menubar-msw.c (displayable_menu_item):
15899         * menubar-msw.c (populate_menu_add_item):
15900         * menubar-msw.c (populate_or_checksum_helper):
15901         * menubar-msw.c (populate_menu):
15902         * menubar-msw.c (update_frame_menubar_maybe):
15903         * menubar-msw.c (prune_menubar):
15904         * menubar-msw.c (msw_char_is_accelerator):
15905         * menubar-msw.c (unsafe_handle_wm_initmenu_1):
15906         * menubar-msw.c (mswindows_handle_wm_command):
15907         * menubar-msw.c (mswindows_handle_wm_initmenupopup):
15908         * menubar-msw.c (mswindows_handle_wm_initmenu):
15909         * menubar-msw.c (mswindows_update_frame_menubars):
15910         * menubar-msw.c (mswindows_free_frame_menubars):
15911         * menubar-msw.c (mswindows_popup_menu):
15912         Fixed a bug in handling accelerators where an extra character
15913         would be displayed in the menu item.  Also generalized the
15914         function displayable_menu_item because it is now used by the
15915         dialog box code as well.  And finally, added code in the functions
15916         that create the menubar to extract a list of accelerators for the
15917         top level menubar, which is used in the event code to determine
15918         whether a particular alt-key combination should be used to invoke
15919         a menu item, or should be passed through to access the standard
15920         XEmacs keymap binding for this key combination.
15921
15922         Much needed GCPROing.
15923
15924         * menubar-x.c:
15925         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
15926         * menubar-x.c (menu_item_descriptor_to_widget_value):
15927         * menubar-x.c (restore_in_menu_callback):
15928         * menubar-x.c (x_popup_menu):
15929         * menubar-x.c (menu_move_up):
15930         * menubar-x.c (menu_move_down):
15931         * menubar-x.c (menu_move_left):
15932         * menubar-x.c (menu_move_right):
15933         * menubar-x.c (menu_select_item):
15934         * menubar-x.c (command_builder_operate_menu_accelerator):
15935         * menubar-x.c (menu_accelerator_junk_on_error):
15936         * menubar-x.c (command_builder_find_menu_accelerator):
15937         * menubar-x.c (Faccelerate_menu):
15938         * menubar.h:
15939         Moved a whole bunch of code here that was previously in
15940         event-stream.c as described above.  There is also code connected
15941         to the new standard of adding an accelerator to the beginning of
15942         menu items that don't have one as described above and below.
15943
15944         * menubar.c:
15945         * menubar.c (menu_parse_submenu_keywords):
15946         * menubar.c (Fmenu_find_real_submenu):
15947         * menubar.c (Fnormalize_menu_item_name):
15948         * menubar.c (syms_of_menubar):
15949         * menubar.c (vars_of_menubar):
15950         * menubar.c (complex_vars_of_menubar):
15951
15952         a) Cleaned up a bunch of documentation and improved it.
15953
15954         b) XEmacs now automatically adds an accelerator onto the beginning
15955         of any menu items that don't have one.  I did this because there
15956         will inevitably be some menu items on the main menubar that don't
15957         have accelerators on them because the package that adds that
15958         particular menu item hasn't yet been fixed up to have accelerators
15959         in them and it looked rather strange to have some items with and
15960         some items without accelerators, especially since even in items
15961         without accelerators, you can, at least under windows, still
15962         access the item through an accelerator corresponding to the first
15963         character in the item's name.  If people don't like this behavior,
15964         I can add a variable to turn it off optionally, but I'm not sure
15965         this is a good idea because we really do need to have accelerators
15966         on all of the menu items, and if a package doesn't like the
15967         accelerators being put on the first character, then it should put
15968         the accelerators where they belong.
15969
15970         c) I made a behavior change, which is that the descriptor that
15971         specifies the text of the menu item, which formerly was just a
15972         string, can now also be an evaluated expression.  This makes this
15973         descriptor parallel with all of the others, which could also be
15974         evaluated expressions.  This also obviates the need for the
15975         keyword :label, which was previously listed in the documentation
15976         as unimplemented, and which was for the same purpose.
15977
15978         d) GCPROing.
15979
15980         * ntproc.c:
15981         * ntproc.c (new_child):
15982         * ntproc.c (sys_spawnve):
15983         * ntproc.c (find_child_console):
15984         * ntproc.c (sys_kill):
15985         Fixed compile warnings.  By the way, this file should really go
15986         away entirely, and this will happen as soon as Kirill makes his
15987         final round of process cleanups, which affect the function
15988         call-process.
15989
15990         * process-nt.c:
15991         * process-nt.c (struct nt_process_data):
15992         * process-nt.c (find_process_from_pid):
15993         * process-nt.c (send_signal_the_nt_way):
15994         * process-nt.c (enable_child_signals):
15995         * process-nt.c (find_child_console):
15996         * process-nt.c (send_signal_the_95_way):
15997         * process-nt.c (nt_finalize_process_data):
15998         * process-nt.c (ensure_console_window_exists):
15999         * process-nt.c (nt_create_process):
16000         * process-nt.c (nt_kill_child_process):
16001         * process-nt.c (nt_kill_process_by_pid):
16002         * process-nt.c (nt_open_network_stream):
16003         * process-nt.c (vars_of_process_nt):
16004         Copied over code from Emacs 20.5 to correctly send signals to sub-
16005         processes under Windows 95.  Also added code to automatically
16006         create and hide console window when a sub-process is created under
16007         Windows 95, which obviates the need for the separate runemacs.exe
16008         executable, and finally implemented some variables that were
16009         implemented in Emacs 20.5, but previously not in XEmacs.  These
16010         include mswindows- start-process-share-console and
16011         mswindows-start-process-inherit-error-mode. (Both of these only
16012         apply to Windows 95.)
16013
16014         * regex.c (regex_compile): Fixed a compile warning.
16015
16016         * select-msw.c:
16017         * select-msw.c (mswindows_own_selection):
16018         * select-msw.c (mswindows_get_foreign_selection):
16019         * select-msw.c (mswindows_disown_selection):
16020         * select-msw.c (console_type_create_select_mswindows):
16021         * select-msw.c (syms_of_select_mswindows):
16022         Cleaned up the file and implemented the device method
16023         selection_exists_p, which had accidentally been left out.  Also
16024         removed four lisp functions that were remnants from before the
16025         time when the selection code was properly device abstracted.
16026         These functions are no longer needed because there are generic
16027         equivalents, and because they were added recently and don't exist
16028         in FSF Emacs, I don't think there's any problem with just deleting
16029         them.
16030
16031         * sysdep.c:
16032         * sysdep.c (sys_subshell):
16033         Fixed a compile warning, although in this case there's probably
16034         something wrong with this code, and it ought to be looked into
16035         more thoroughly by somebody who understands it.
16036
16037         * window.c:
16038         * window.c (Fwindow_text_area_height):
16039         * window.c (Fwindow_width):
16040         * window.c (Fwindow_full_width):
16041         * window.c (Fwindow_pixel_width):
16042         * window.c (debug_print_window):
16043         * window.c (syms_of_window):
16044         Added functions window-text-area-height and window-full-width,
16045         which are functions for returning various width and height
16046         characteristics of a window. (One of these functions is necessary
16047         for making the file dialog box work correctly, and the other one
16048         was added for completeness.)  Also added a table to the
16049         documentation for window-height which describes the entire scheme
16050         for accessing width and height characteristics of a window.
16051
16052 2000-03-12  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16053
16054         * nt.c (fstat): Added a comment for another problem with
16055         non-encapsulated [f]stat(), reported by Adrian Aichner
16056         <aichner@ecf.teradyne.com>.
16057
16058 2000-03-11  Andy Piper  <andy@xemacs.org>
16059
16060         * window.c (make_dummy_parent): initialize subwindow instance
16061         cache.
16062         (Fset_window_configuration): zero extent_modiff.
16063
16064 2000-03-10  Andy Piper  <andy@xemacs.org>
16065
16066         * redisplay.c (Fredraw_frame): reset the changed_set flags so that
16067         more changes can be triggered.
16068         (Fredisplay_frame): ditto.
16069         (Fredraw_device): ditto.
16070         (Fredisplay_device): ditto.
16071         (redisplay_frame): make non-static.
16072         (redisplay_frame): call update_frame_gutter_geometry outside of
16073         display proper.
16074
16075         * gutter.h: declare update_frame_gutter_geometry.
16076
16077         * redisplay.h: declare redisplay_frame.
16078
16079         * gutter.c (update_frame_gutter_geometry): move geometry changes
16080         in update_frame_gutters here. Geometry changes can only occur
16081         outside of redisplay.
16082         (update_frame_gutters): remove geometry change code.
16083         (Fredisplay_gutter_area): make sure that we are in display when we
16084         update and that we have flushed any size changes.
16085
16086 2000-03-11  Andy Piper  <andy@xemacs.org>
16087
16088         * alloc.c (pdump_dump_data): remove i & count shadows.
16089
16090 2000-02-27  Mike Alexander  <mta@arbortext.com>
16091
16092         * sysdep.h: Declare pdump_read_file
16093
16094         * sysdep.c (pdump_read_file): New function
16095
16096         * alloc.c (pdump_load): Call pdump_read_file to get the portable
16097         dump data
16098
16099 2000-03-10  SL Baur  <steve@musashimaru.m17n.org>
16100
16101         * lrecord.h: add `lrecord_type_pgsetenv'.
16102
16103 2000-03-08  SL Baur  <steve@musashimaru.m17n.org>
16104
16105         * symsinit.h: declare (vars|syms)_of* functions.
16106         * lrecord.h: add `lrecord_type_pgconn' and 'lrecord_type_pgresult'.
16107
16108 2000-03-06  SL Baur  <steve@musashimaru.m17n.org>
16109
16110         * config.h.in: Add symbols HAVE_POSTGRESQL and HAVE_POSTGRESQLV7
16111
16112         * inline.c: Include postgresql.h lrecord stuffs to placate buggy
16113         GCCs.
16114
16115         * emacs.c (main_1): Call postgres initialization code.
16116
16117         * postgresql.h: New file.  PostgreSQL RDBMS support.
16118         * postgresql.c: New file.
16119
16120 2000-03-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
16121
16122         * redisplay-output.c (redisplay_output_display_block): Disable
16123         redundant code.
16124
16125 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
16126
16127         * mule-canna.c (Fcanna_henkan_region): Translate doc-string.
16128         (Fcanna_henkan_next): Ditto.
16129         (Fcanna_bunsetu_henkou): Ditto.
16130         (Fcanna_henkan_kakutei): Ditto.
16131         (Fcanna_henkan_end): Ditto.
16132         (Fcanna_henkan_quit): Ditto.
16133         (Fcanna_henkan_next): Set retun value correctly.
16134         (c2mu): Use unsigned char instead of signed char.
16135
16136 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
16137
16138         * emacs.c (main_1): Always call syms_of_gui.
16139         * inline.c: include gui.h
16140
16141 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
16142
16143         * redisplay.c (Vvisible_bell): Renamed from visible_bell and
16144         converted to Lisp_Object.
16145         (Qtop_bottom): New variable.
16146         (syms_of_redisplay): Initialize it.
16147         * redisplay.h (Vvisible_bell): Ditto.
16148         * sound.c (ding): Ditto and check if Vvisible_bell is nil.
16149         * redisplay-x.c (x_flash): When Vvisible_bell is top-bottom,
16150         only flash top and bottom.
16151
16152 2000-03-08  Andy Piper  <andy@xemacs.org>
16153
16154         * buffer.c (Frename_buffer): record new buffer name the right way.
16155
16156 2000-03-08  Andy Piper  <andy@xemacs.org>
16157
16158         * glyphs.c (update_subwindow): increase hash depth so that widget
16159         items get picked up properly.
16160
16161         * redisplay-output.c (compare_runes): increase hash depth so that
16162         widget items get picked up properly.
16163
16164 2000-03-08  Andy Piper  <andy@xemacs.org>
16165
16166         * gutter.c (output_gutter): add some debug.
16167
16168         * glyphs.h (struct Lisp_Image_Instance): add display_hash.
16169         (IMAGE_INSTANCE_DISPLAY_HASH): new macro.
16170         (XIMAGE_INSTANCE_DISPLAY_HASH): ditto.
16171
16172         * redisplay-output.c (compare_runes): use display_hash to
16173         determine if glyphs really are not the same.
16174
16175         * glyphs.c (update_subwindow): check display_hash to see if
16176         anything really needs to be updated. If not then do
16177         nothing. Record the display_hash after updating.
16178         (image_instance_equal): compare the image_instance face also.
16179
16180 2000-03-07  Yoshiki Hayashi  <yoshiki@xemacs.org>
16181
16182         * redisplay.h: Fix comment style.
16183
16184 2000-03-08  Jonathan Harris  <jhar@tardis.ed.ac.uk>
16185
16186         * consle-msw.h (struct mswindows_frame):
16187         Added new member paint_pending to indicate whether a WM_PAINT
16188         magic event has been queued for this frame.
16189
16190         * event-msw.c (mswindows_drain_windows_queue):
16191         Don't queue a WM_PAINT magic event if one is already queued.
16192         (emacs_mswindows_handle_magic_event): clear paint_pending flag.
16193
16194         * frame-msw.c (mswindows_init_frame_1): initialise paint_pending flag.
16195
16196 2000-03-07  Didier Verna  <didier@xemacs.org>
16197
16198         * dired.c: #include `regex.h' after `sysfile.h'.
16199
16200 2000-03-06  Martin Buchholz  <martin@xemacs.org>
16201
16202         * sound.c (init_nas_sound): Fix compiler warning.
16203
16204         * alloc.c (ALIASING_VOIDPP_DEREFERENCE): New.
16205         (FREE_STRUCT_P):
16206         (MARK_STRUCT_AS_FREE):
16207         (MARK_STRUCT_AS_NOT_FREE):
16208         Make `gcc -fstrict-aliasing' work properly.
16209
16210 2000-03-07  Jonathan Harris  <jhar@tardis.ed.ac.uk>
16211
16212         * device-msw.c (mswindows_finish_init_device): Call CoInitialize().
16213         (mswindows_delete_device): Call CoUnnitialize().
16214
16215         * event-msw.c (mswindows_wnd_proc): WM_DROPFILES: Decode Shortcuts.
16216
16217 2000-02-25    <CraigL@DyCon.com>
16218
16219         * process-nt.c: MinGW now has <shellapi.h>, but still needs
16220         <errno.h>.
16221
16222         * sysdep.c: This extern declaration for environ prevents MinGW
16223         from finding the variable in CRTDLL.DLL.
16224
16225         * s\mingw32.h (PBS_SMOOTH): Removed, now defined in cygwin's
16226         windows headers.
16227         (SHGFI_EXETYPE): ..
16228         (WM_MOUSEWHEEL): ..
16229         (_WIN32_IE): Added, needed to get the TCS_BOTTOM and TCS_VERTICAL
16230         definitions.
16231         (MMRESULT): Removed, now defined in cygwin's windows headers.
16232         (TIMECAPS): ..
16233         (uid_t,gid_t,pid_t,ssize_t): ..
16234         (_timeb): Removed, MinGW defines both _timeb and timeb.
16235         (HAVE_H_ERRNO): Added.
16236         (HAVE_TZNAME): Added, configure is not detecting this.
16237
16238 2000-02-03  IKEYAMA Tomonori <tomonori@suiyokai.org>
16239
16240         * chartab.h (XCHAR_TABLE_VALUE_UNSAFE): New macro.
16241         * syntax.c (syntax_match): Use it.
16242
16243         * cmds.c: Import auto-fill-chars from FSF Emacs.
16244         (Vauto_fill_chars): New variables.
16245         (internal_self_insert): Check Vauto_fill_chars.
16246         (vars_of_cmds):
16247         Declare auto-fill-chars as a Lisp variable and initialize it.
16248
16249 2000-03-05  Jonathan Harris  <jhar@tardis.ed.ac.uk>
16250
16251         * fileio.c (Fmake_symbolic_link):
16252         (Ffile_symlink_p):
16253         Run handlers even if local machine doesn't have symlinks.
16254
16255 2000-03-05  Jonathan Harris  <jhar@tardis.ed.ac.uk>
16256
16257         * event-msw.c (mswindows_drain_windows_queue):
16258         Don't generate paint magic events for non-XEmacs frames.
16259
16260 2000-03-05  Andy Piper  <andy@xemacs.org>
16261
16262         * redisplay.c (redisplay_frame): generate_displayable_area and
16263         friends assumes that we are not in GC, we therefore have to make
16264         sure that this doesn't happen.
16265
16266         * gutter.c (calculate_gutter_size): generate_displayable_area
16267         assumes that we are not in GC, we therefore have to make sure that
16268         this doesn't happen.
16269
16270 2000-03-05  Martin Buchholz  <martin@xemacs.org>
16271
16272         * opaque.c (DEFINE_LRECORD_IMPLEMENTATION): opaque_ptr ==> opaque-ptr
16273
16274 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
16275
16276         * redisplay.c (regenerate_window): Make sure we set a sane value
16277         for end_pos even if we jump out of the loop.
16278         (regenerate_window): Answer Ben's question :-).
16279         (start_end_of_last_line): Add may_error argument.
16280         (start_of_last_line):
16281         (end_of_last_line): Pass may_error = 0.
16282         (end_of_last_line_may_error): New function.
16283         (pixel_to_glyph_translation): Use it, so we don't crash in
16284         event_to_glyph.
16285
16286 2000-03-04  Andy Piper  <andy@xemacs.org>
16287
16288         * window.h (struct window): add gutter_extent_modiff.
16289
16290         * window.c (allocate_window): zero out gutter_extent_modiff.
16291
16292         * redisplay.h: declare sync_display_line_structs.
16293
16294         * redisplay.c (add_glyph_rune): add a better comment.
16295
16296         * redisplay-output.c (sync_display_line_structs): made non-static.
16297         (compare_runes): remove unneccesary glyph cachel access.
16298
16299         * gutter.h: declare gutter_extent_signal_changed_region_maybe.
16300
16301         * gutter.c (output_gutter): don't output the gutter if extent
16302         changes only involve extents in buffers. use 4 sets of display
16303         lines.
16304         (gutter_extent_signal_changed_region_maybe): new function. Mark
16305         extents in gutters as changed.
16306         (update_frame_gutters): use 4 sets of display lines.
16307         (reset_gutter_display_lines): ditto.
16308         (free_frame_gutters): ditto.
16309         (redraw_exposed_gutter): force output of gutters.
16310
16311         * frame.h (struct frame): add 4 sets of gutter display lines.
16312
16313         * extents.c: (extent_changed_for_redisplay): signal changes to
16314         extents in strings in the gutter as well as extents in buffers.
16315
16316 2000-03-02  Andy Piper  <andy@xemacs.org>
16317
16318         * gutter.c (specifier_vars_of_gutter): cosmetic changes.
16319
16320         * frame.c (Fmake_frame): make sure the gutters get initialized
16321         after the frame is visible.
16322         (set_frame_selected_window): re-arrange compilation macros a
16323         little.
16324         (change_frame_size_1): mark gutters changed.
16325
16326         * device.c (Fset_device_class): mark gutters changed.
16327
16328 2000-03-01  Andy Piper  <andy@xemacs.org>
16329
16330         * window.c (window_top_frame_gutter_height): deleted.
16331         (window_bottom_frame_gutter_height): ditto.
16332         (window_left_frame_gutter_height): ditto.
16333         (window_right_frame_gutter_height): ditto.
16334         (window_top_gutter_height): don't use them.
16335         (window_bottom_gutter_height): ditto.
16336         (window_left_gutter_width): ditto.
16337         (window_right_gutter_width): ditto.
16338         (Fsplit_window): ditto.
16339         (Fwindow_pixel_edges): don't use border dimensions here.
16340
16341         * scrollbar.c (update_scrollbar_instance): don't take gutters into account.
16342         (update_scrollbar_instance): ditto.
16343
16344         * redisplay.c (generate_modeline): don't take gutters into account.
16345         (generate_modeline): ditto.
16346         (redisplay_frame): small gutter display optimization.
16347
16348         * redisplay-x.c (x_output_vertical_divider): don't take gutters into account.
16349
16350         * redisplay-msw.c (mswindows_output_vertical_divider): don't take
16351         gutters into account.
16352
16353         * gutter.h (WINDOW_REAL_*_GUTTER_BOUNDS): remove bogus checks
16354         for window position and type.
16355
16356         * gutter.c (get_gutter_coords): fix for frame gutters.
16357         (update_frame_gutters): update frame geometry if the gutters have
16358         changed.
16359         (init_frame_gutters): record current gutter geometries.
16360
16361         * glyphs-msw.c (mswindows_subwindow_instantiate): remove unused
16362         var.
16363         (mswindows_widget_instantiate): ditto.
16364
16365         * frame.h (struct frame): add current_gutter_bounds.
16366
16367         * frame.c (change_frame_size_1): position window and minibuffer
16368         appropriately taking into account the frame gutters.
16369
16370         * frame-x.c: (x_initialize_frame_size): take into account the
16371         frame gutters.
16372
16373 2000-02-29  Stephen J. Turnbull  <stephen@xemacs.org>
16374
16375         * emacs.c (data-directory):  Xref `locate-data-file' in docstring.
16376
16377 2000-02-29  Stephen J. Turnbull  <stephen@xemacs.org>
16378
16379         * alloc.c (dumpopaquevec): Increase dimension for --with-canna.
16380
16381 1999-12-30  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
16382
16383         * file-coding.c (reset_decoding_stream): Clear previous
16384         detection state when autodetect.
16385
16386 2000-02-29  Didier Verna  <didier@xemacs.org>
16387
16388         * extents.c (set_extent_glyph_1): don't require extents to be
16389         attached.
16390
16391 2000-02-27  Andy Piper  <andy@xemacs.org>
16392
16393         * gutter.c (Fset_default_gutter_position): don't default left and
16394         right gutter visibility to t.
16395         (Fset_default_gutter_position): run
16396         default-gutter-position-changed-hook.
16397         (syms_of_gutter): add default-gutter-position-changed-hook.
16398
16399 2000-02-26  Andy Piper  <andy@xemacs.org>
16400
16401         * specifier.c (Fmake_specifier): add gutter references.
16402
16403         * gutter.h (RAW_WINDOW_GUTTER): new macro.
16404
16405         * lisp.h: declare Fvalid_plist_p.
16406
16407         * gutter.c (gutter_geometry_changed_in_window): mark the modeline
16408         as changed.
16409         (default_gutter_visible_p_changed_in_window): invalidate gutter as
16410         well as its visibility so that it gets reconstructed.
16411         (construct_window_gutter_spec): new function. Construct a string
16412         to be displayed in the gutter from a plist of strings. Take care
16413         to only use elements that are declared as visible.
16414         (calculate_gutter_size): use RAW_WINDOW_GUTTER instead of
16415         WINDOW_GUTTER.
16416         (gutter_validate): allow plists of strings in the specifier.
16417         (gutter_specs_changed): construct the real_gutter from the gutter
16418         specs using construct_window_gutter_spec.
16419         (gutter_visible_validate): gutter-visible is a new specifier type.
16420         (Fgutter_visible_specifier_p): new function for the new specifier.
16421         (syms_of_gutter): declare gutter-visible and
16422         Fgutter_visible_specifier_p.
16423         (specifier_type_create_gutter): intitalize new gutter-visible
16424         specifier.
16425         (reinit_specifier_type_create_gutter): ditto.
16426         (specifier_vars_of_gutter): use new specifier type for gutter
16427         visibility.
16428         (init_frame_gutters): construct real_gutter correctly.
16429         (Fgutter_specifier_p): beef up documentation.
16430         (Fgutter_size_specifier_p): ditto.
16431
16432         * winslots.h: add real_gutter slots.
16433
16434 2000-02-25  Andy Piper  <andy@xemacs.org>
16435
16436         * device-msw.c: Be kind to older cygwin versions. From Raymond
16437         Toy <toy@rtp.ericsson.se>.
16438
16439         * gui-msw.c (Fmswindows_shell_execute): Remove things unknown to
16440         earlier cygwins. From Raymond Toy <toy@rtp.ericsson.se>.
16441
16442 2000-02-25  Martin Buchholz  <martin@xemacs.org>
16443
16444         * elhash.c (MARK_OBJ): Practice macro hygiene.
16445
16446 2000-02-24  Martin Buchholz  <martin@xemacs.org>
16447
16448         * miscplay.c: s/__inline__/inline/g;
16449         * glyphs-msw.c (set_mono_pixel): INLINE ==> static inline
16450         (get_device_compdc): INLINE ==> static inline
16451         * *.[ch]: Change INLINE to INLINE_HEADER globally.
16452         find -name '*.h' | \
16453         xargs global-replace \
16454         's/(^|(?<=[^A-Za-z0-9_]))INLINE((?=[^A-Za-z0-9_])|$)/INLINE_HEADER/g'
16455
16456 2000-02-25  Andy Piper  <andy@xemacs.org>
16457
16458         * window.c (window_top_frame_gutter_height): new function.
16459         (window_top_window_gutter_height): ditto.
16460         (window_top_gutter_height): use them.
16461         (window_bottom_frame_gutter_height): new function.
16462         (window_bottom_window_gutter_height): ditto.
16463         (window_bottom_gutter_height): use them.
16464         (window_left_window_gutter_width): new function.
16465         (window_left_frame_gutter_width): ditto.
16466         (window_left_gutter_width): use them.
16467         (window_right_window_gutter_width): new function.
16468         (window_right_frame_gutter_width): ditto.
16469         (window_right_gutter_width): use them.
16470         (window_pixel_height): new function. calulate window pixel height
16471         with frame gutter involvement.
16472         (Fsplit_window): calculate new sizes taking frame gutters into
16473         account.
16474         (window_char_height_to_pixel_height): don't include frame gutters.
16475         (window_char_height): use window_pixel_height.
16476         (window_pixheight): rename from window_pixel_height.
16477         (change_window_height): use it.
16478         (window_pixel_height_to_char_height): don't include frame gutters.
16479         (window_char_width_to_pixel_width): ditto.
16480
16481 2000-02-25  Andy Piper  <andy@xemacs.org>
16482
16483         * glyphs.h (IMAGE_INSTANCE_FACE): glyph might be nil, don't crash
16484         if it is.
16485
16486 2000-02-24  Martin Buchholz  <martin@xemacs.org>
16487
16488         * alloc.c (staticpro):
16489         (staticpro_nodump):
16490         (dumpstruct):
16491         (dumpopaque):
16492         (pdump_wire):
16493         (pdump_wire_list):
16494         (compact_string_chars):
16495         (pdump_dump_wired):
16496         Convert:  if (foo) abort();  ==>  assert (! foo);
16497
16498         * eldap.c (Fldap_search_basic):
16499         (Fldap_add):
16500         (Fldap_modify):
16501         (Fldap_delete):
16502         Fix compiler warnings, and possible crashes if (random) return
16503         value were to be used.
16504
16505 2000-02-21  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16506
16507         * device-msw.c: Workaround ResetDC failure.
16508
16509         * frame-msw.c (msprinter_init_frame_3): Added an assertion before
16510         applying a devmode.
16511
16512         * redisplay-msw.c (get_frame_dc): Added start_page_p.
16513         (mswindows_text_width): Do not start printer page.
16514
16515         * console-msw.h (CHECK_MSGDI_DEVICE): Added this and friends.
16516
16517         * glyphs-msw.c: Added image methods to msprinter console and
16518         msprinter-specific image instantiation.
16519
16520 2000-02-20  Mike Alexander  <mta@arbortext.com>
16521
16522         * select-msw.c (Fmswindows_set_clipboard): GC protect more things
16523         to avoid crashes when selection-sets-clipboard is on
16524         (mswindows_own_selection): ditto
16525
16526 2000-02-19  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16527
16528         * glyphs-msw.c:
16529         * redisplay-msw.c (get_frame_dc):
16530         (get_frame_compdc):
16531         * console-msw.h:
16532         * device-msw.c (mswindows_init_device):
16533         (mswindows_delete_device):
16534         (msprinter_init_device):
16535         (msprinter_delete_device):
16536         * frame-msw.c (mswindows_init_frame_1):
16537         (mswindows_delete_frame):
16538         (msprinter_init_frame_3):
16539         (msprinter_delete_frame): Move compatible DC to device object from
16540         frame object, for both mswindows and msprinter. Only one at a time
16541         is needed, it is a real waste to have one per frame!
16542
16543 2000-02-23  Andy Piper  <andy@xemacs.org>
16544
16545         * glyphs.c: add dynamic width and height elements.
16546         (image_instance_equal): ditto.
16547
16548         * glyphs-widget.c (widget_query_geometry): calculate width and
16549         height dynamically if required.
16550         (initialize_widget_image_instance): initialize dynamic dimensions.
16551         (widget_instantiate): pick-up dynamic dimensions.
16552
16553         * glyphs.h (struct Lisp_Image_Instance): add width and height for
16554         dynamic determination. Add appropriate macros.
16555
16556         * gutter.h (WINDOW_GUTTER_BORDER_WIDTH): make non-integer
16557         dimensions safe.
16558         (WINDOW_GUTTER_SIZE): ditto.
16559         (WINDOW_GUTTER_SIZE_INTERNAL): ditto.
16560
16561         * redisplay-msw.c (get_frame_compdc): gcc can't cope with this
16562         inline.
16563         (get_frame_dc): ditto.
16564
16565         * redisplay.h (GLOBAL_RESET_CHANGED_FLAGS): don't reset faces
16566         here.
16567
16568 2000-02-23  Martin Buchholz <martin@xemacs.org>
16569
16570         * XEmacs 21.2.31 is released.
16571
16572 2000-02-22  Ben Wing <ben@xemacs.org>
16573
16574         * ntheap.c (allocate_heap): Make sure `ptr' is initialized.
16575
16576 2000-02-22  Andy Piper  <andy@xemacs.org>
16577
16578         * glyphs-x.c (x_widget_instantiate): don't explicitly resize here.
16579
16580 2000-02-21  Mike Sperber <mike@xemacs.org>
16581
16582         * .dbxrc:
16583         * .gdbinit:
16584         * Makefile.in.in: Remove obsolete EMACSBOOTSTRAP... environment
16585         variables.
16586
16587 2000-02-21  Mike Sperber <mike@xemacs.org>
16588
16589         * s/aix4.h: Declare getaddrinfo broken for AIX 4, which it is.
16590
16591 2000-02-21  Martin Buchholz <martin@xemacs.org>
16592
16593         * XEmacs 21.2.30 is released.
16594
16595 2000-02-20  Martin Buchholz  <martin@xemacs.org>
16596
16597         Performance hacking.
16598         * *.c (syms_of_*):
16599         Add INIT_LRECORD_IMPLEMENTATION macros, paired with
16600         DEFINE_LRECORD_IMPLEMENTATION macros in the same file.
16601         * emacs.c (main_1):
16602         * lisp.h (DEFUN):
16603         * console.c (DEFVAR_CONSOLE_LOCAL_1):
16604         * buffer.c (DEFVAR_BUFFER_LOCAL_1):
16605         * symeval.h (DEFVAR_SYMVAL_FWD):
16606         * symbols.c (guts_of_unbound_marker):
16607         Make all c_readonly objects also lisp_readonly and marked for life.
16608         * lrecord.h (struct lrecord_implementation):
16609         Document flags better.
16610         * lrecord.h (DEFINE_LRECORD_SEQUENCE_IMPLEMENTATION_WITH_PROPS):
16611         * lrecord.h (DECLARE_LRECORD):
16612         * lrecord.h (XSETRECORD):
16613         * lrecord.h (RECORDP):
16614         * lrecord.h (RECORD_TYPEP):
16615         * lrecord.h (RECORD_MARKER): New.
16616         * lrecord.h (error_check_*):
16617         * lrecord.h (CONCHECK_NONRECORD):
16618         * lrecord.h (MAKE_LRECORD_IMPLEMENTATION):
16619         * lrecord.h (INIT_LRECORD_IMPLEMENTATION): New.
16620         * lrecord.h (set_lheader_implementation):
16621         * lrecord.h (enum lrecord_type): New.
16622         * symeval.h (SYMBOL_VALUE_MAGIC_P):
16623         * alloc.c (disksave_object_finalization_1):
16624         * alloc.c (mark_object):
16625         * alloc.c (lrecord_type_index):
16626         * alloc.c (tick_lcrecord_stats):
16627         * alloc.c (Fgarbage_collect):
16628         * alloc.c (init_alloc_once_early):
16629         * alloc.c (pdump_load):
16630         * alloc.c (GC_CHECK_LHEADER_INVARIANTS): New.
16631         * alloc.c (lrecord_type_index): Delete.
16632         Make lisp object type indexes be constant.
16633           Makes (byte-compile) 5% faster.
16634         Put all marker functions into their own array.
16635           Makes (garbage-collect) 5% faster.
16636         Optimize SYMBOL_VALUE_MAGIC_P.
16637           Makes (byte-compile) 2-3% faster.
16638         * config.h.in (gc_checking_assert): New.
16639         * alloc.c: Use gc_checking_assert().
16640         * .dbxrc: Make compatible with new object type implementation.
16641         * .gdbinit: Make compatible with new object type implementation.
16642         * alloc.c: Delete all symbols defined only for debugging, such as
16643         Lisp_Type_Vector and lrecord_charset.
16644
16645 2000-02-21  Andy Piper  <andy@xemacs.org>
16646
16647         * gui-msw.c (Fmswindows_shell_execute): fix file location
16648         problems.
16649
16650         * buffer.c (Fkill_buffer): remove buffer from alist buffer
16651         unshowing so that set_window_buffer doesn't undo
16652         kill_buffer_hook's hard work.
16653
16654         * glyphs-widget.c (tab_control_query_geometry): don't count the
16655         first item when calculating geometry.
16656
16657         * glyphs.c (map_subwindow): remove redundant code.
16658         (update_frame_subwindows): be more circumspect about when to
16659         update subwindows.
16660
16661         * glyphs-x.c (x_update_widget): Properly fix sizing bug. Fix bug
16662         when items haven't changed. Update faces if faces have changed as
16663         well as just the widget face.
16664         (x_tab_control_update): Update faces if faces have changed as well
16665         as just the widget face.
16666
16667 2000-02-21  Jonathan Harris  <jhar@tardis.ed.ac.uk>
16668
16669         * device-msw.c: (mswindows_delete_device): Remove redundant DDE
16670         registration.
16671         (build_syscolor_string): Use mswindows_color_to_string to try to
16672         get a named color.
16673         (mswindows_device_system_metrics): Reverse the foreground and
16674         background colors so that they match the documentation.
16675
16676         * objects-msw.c: (mswindows_X_color_map): tweak some values so
16677         they match the default Windows palette.
16678         (mswindows_color_to_string): New function.
16679
16680 2000-02-21  Jonathan Harris  <jhar@tardis.ed.ac.uk>
16681
16682         * s/windowsnt.h: Only use __declspec(noreturn) with MSVC>=6.
16683
16684 2000-02-18  Olivier Galibert  <galibert@pobox.com>
16685
16686         * m/*, s/*: Removed obsolete DATA_SEG_BITS, PURE_SEG_BITS,
16687         WORD_MACHINE, SIGN_EXTEND_CHAR and EXPLICIT_SIGN_EXTEND.
16688
16689         * symbols.c (init_symbols_once_early): Removed obsolete
16690         DATA_SEG_BITS related kludge.
16691         (defvar_magic): Ditto.
16692
16693         * malloc.c: Removed obsolete DATA_SEG_BITS
16694         * ralloc.c: Ditto.
16695         * mem-limits.h: Ditto.
16696
16697         * Makefile.in.in: Removed obsolete HAVE_SHM
16698         * emacs.c: Ditto.
16699
16700 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
16701
16702         *  device-msw.c (mswindows_delete_device): Free DDE string
16703         handles.
16704
16705 2000-02-16  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16706
16707         * keymap.c (get_keyelt):
16708         * unexnt.c (unexec):
16709         * vm-limit.c (memory_warnings):
16710         * ntheap.c (recreate_heap):
16711         * ntheap.h (UNINIT_PTR):
16712         * select-msw.c (Fmswindows_get_clipboard):
16713         (Fmswindows_set_clipboard):
16714         * objects-msw.h (MSWINDOWS_BAD_HFONT):
16715         * objects-msw.c:
16716         * menubar-msw.c (displayable_menu_item):
16717         * glyphs-msw.c:
16718         * glyphs-msw.h (IMAGE_INSTANCE_MSWINDOWS_MASK):
16719         * sysdep.c (sys_subshell):
16720         * process-nt.c (nt_create_process):
16721         * nt.c (normalize_filename):
16722         (dostounix_filename):
16723         (unixtodos_filename):
16724         * ntproc.c (win32_executable_type):
16725         * ntplay.c (play_sound_data_1):
16726         (play_sound_file):
16727         * editfns.c (get_home_directory):
16728         * event-msw.c (struct winsock_stream):
16729         (mswindows_dde_callback):
16730         * device-msw.c (msprinter_init_device):
16731         (msprinter_get_devmode_copy): Frobbed syntax frivolities.
16732
16733         * toolbar-msw.c (mswindows_free_frame_toolbars): Paramters to
16734         mswindows_clear_toolbar were swapped!
16735
16736         * objects-msw.c:(colormap_t):
16737         (fontmap_t):
16738         * emacs.c (struct standard_args): Fixed const jumble.
16739
16740         * glyphs-widget.c (update_widget): Fixed comparison notation.
16741
16742         * event-msw.c (mswindows_dde_callback): Removed extraneous ';'.
16743
16744         * s\windowsnt.h (DOESNT_RETURN): Defined to support the MSVC
16745         __declspec(noreturn) syntax.
16746
16747 2000-02-19  Martin Buchholz  <martin@xemacs.org>
16748
16749         * eldap.c (Fldap_open):
16750         (Fldap_search_basic):
16751         (Fldap_add):
16752         (Fldap_modify):
16753         Use new coding system conversion macros.
16754
16755 2000-01-06  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
16756
16757         * console-tty.c (tty_init_console): Change MULE to FILE_CODING.
16758
16759 1999-11-27  Oscar Figueiredo  <Oscar.Figueiredo@di.epfl.ch>
16760
16761         * eldap.h (Fldap_search) Renamed from Fldap_search_internal:
16762         (Fldap_add, Fldap_modify, Fldap_delete): New functions
16763
16764         * eldap.c (Qadd, Qreplace): New constant symbols
16765         (Fldap_open): Use the LDAP_OPT_RESTART option to avoid
16766         interruptions by XEmacs signals
16767         Remove unnecessary calls to slow_down_interrupts and
16768         speed_up_interrupts
16769         (Fldap_search_basic): Renamed from Fldap_search_internal
16770         Added new optional parameter VERBOSE that triggers the
16771         display of progress messages
16772         Remove unnecessary calls to slow_down_interrupts and
16773         speed_up_interrupts
16774         LDAP result code analysis rewritten
16775         (Fldap_add, Fldap_modify, Fldap_delete): New functions
16776         (syms_of_eldap): Define the new symbols and functions
16777
16778
16779 2000-02-17  Martin Buchholz  <martin@xemacs.org>
16780
16781         * realpath.c: Determine PATH_MAX maximally portably.
16782
16783         * insdel.c (bytecount_to_charcount): Optimize.
16784         The function used to be optimized for entirely ASCII sequences.
16785         Now it is optimized for successive characters from the same
16786         charset.  This also wins big for _mostly_ ASCII sequences.
16787
16788         * fileio.c (Ffile_truename): convert return from realpath() using
16789         Qfile_name, not Qbinary.  Fixes obvious bug with non-ASCII symlinks.
16790         - Rewrite GCPROing slightly.
16791
16792         * sysdep.c (sys_open): Do filename conversion, like all other
16793         sys_* functions.  Fixes bug:
16794         (let ((file-name-coding-system 'iso-8859-2))
16795            (write-region x y latin2-name))
16796         ==> writes filename using internal encoding.
16797
16798 2000-02-18  Martin Buchholz  <martin@xemacs.org>
16799
16800         * buffer.c (DEFVAR_BUFFER_LOCAL_1): Turn on c_readonly. Always const.
16801         * console.c (DEFVAR_CONSOLE_LOCAL_1): Turn on c_readonly. Always const.
16802         * symeval.h (DEFVAR_SYMVAL_FWD): Turn on c_readonly. Always const.
16803         * eval.c (lrecord_subr): Remove this_one_is_unmarkable.
16804         * symbols.c (lrecord_symbol_value_forward): Remove this_one_is_unmarkable.
16805         * symbols.c (guts_of_unbound_marker): Turn on c_readonly.
16806         * lrecord.h (UNMARKABLE_LRECORD_HEADER_P): Delete.
16807         (CONST_IF_NOT_DEBUG): Delete.
16808         * alloc.c (this_one_is_unmarkable): Delete.
16809         (mark_object): Don't check for this_one_is_unmarkable. Use the
16810         c_readonly flag instead.
16811         * lisp.h (DEFUN): Define a Lisp_Subr as c_readonly.
16812
16813 2000-02-18  Jonathan Harris  <jhar@tardis.ed.ac.uk>
16814
16815         * event-msw.c (mswindows_drain_windows_queue):
16816         (emacs_mswindows_handle_magic_event): Remove attempt to optimise
16817         away redundant repaint events.
16818
16819 2000-02-17  Andy Piper  <andy@xemacs.org>
16820
16821         * redisplay.h: declare mark_redisplay_structs.
16822
16823         * redisplay.c (redisplay_window):
16824         (redisplay_frame): don't check subwindows_state_changed.
16825         (mark_redisplay): mark gutters here.
16826
16827         * glyphs.c: (instantiate_image_instantiator): always layout if we
16828         haven't done so already.
16829         (allocate_image_instance): don't mark as dirty.
16830         (update_subwindow): bind inhibit_quit.
16831
16832         * gutter.c (mark_gutters): new function.
16833
16834         * glyphs-x.c (x_update_widget): Always resize to get round a
16835         widget bug.
16836
16837         * glyphs-msw.c (mswindows_tab_control_update): remove `;' that was
16838         breaking absolutely everything.
16839
16840         * gutter.h: declare mark_gutters.
16841
16842 2000-02-16  Martin Buchholz <martin@xemacs.org>
16843
16844         * XEmacs 21.2.29 is released.
16845
16846 2000-02-15  Olivier Galibert  <galibert@pobox.com>
16847
16848         * fns.c (size_bit_vector): Fix computation of the size.
16849
16850 2000-02-15  Martin Buchholz  <martin@xemacs.org>
16851
16852         * *.[ch]: Change CONST to const globally.
16853         find -name '*.[ch]' | \
16854         xargs global-replace \
16855         's/(^|(?<=[^A-Za-z0-9_]))CONST((?=[^A-Za-z0-9_])|$)/const/g'
16856         - Remove vestigial references to CONST_IS_LOSING
16857
16858 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
16859
16860         * event-msw.c (mswindows_drain_windows_queue): Remove hack to
16861         bailout early on quit. Enqueue WM_PAINT events as XEmacs magic
16862         events instead of dispatching them directly.
16863         (mswindows_handle_paint): New function to do repainting.
16864         (mswindows_wnd_proc):
16865         (emacs_mswindows_handle_magic_event): Call above function.
16866
16867 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
16868
16869         * objects-msw.c (mswindows_create_font_variant): Return the new
16870         font handle.
16871         (initialize_font_instance): Get font metrics from the underlined
16872         variant of the font to cope with the case where the underlined
16873         font has a bigger descent.
16874
16875 2000-02-08   Daiki Ueno  <ueno@ueda.info.waseda.ac.jp>
16876
16877         * gui.c (gui_item_accelerator): Return the first underlined
16878         character in item name.
16879
16880 2000-02-11  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16881
16882         * lisp.h: Added Qprinter.
16883
16884         * general.c (syms_of_general): Initialized it.
16885
16886         * redisplay-msw.c (get_frame_dc): Conditionally start a new page.
16887         (get_frame_dc):
16888         (get_frame_compdc): Made inline.
16889
16890         * console.h (struct console_methods): Added eject_page method.
16891
16892         * frame.h: Added FRAME_DISPLAY_P and friends.
16893         Aligned backslahes in many macros in more readable fashion.
16894         Added page_number to struct frame, and an accessor macro
16895         for it.
16896
16897         * defice.h: Added DEVICE_DISPLAY_P and friends.
16898
16899         * device.c (Fdevice_printer_p): Used these.
16900
16901         * frame.c (allocate_frame_core): Initialize page number.
16902         (Fprint_job_page_number):
16903         (Fprint_job_eject_page): Implemented.
16904
16905         * frame-msw.c (msprinter_eject_page): Added method.
16906         (msprinter_start_page): Added.
16907
16908         * window.c (Fwindow_truncated_p): Fixed docstring.
16909         (Fwindow_last_line_visible_height): Implemented.
16910
16911 2000-02-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
16912
16913         * frame.c (change_frame_size_1): Undo 2000-02-03 change.
16914
16915 1999-12-20  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
16916
16917         * syntax.c (scan_words): Always advance at least one character.
16918
16919 2000-02-13  Andy Piper  <andy@xemacs.org>
16920
16921         * redisplay.c (add_glyph_rune): call get_glyph_cachel_index here
16922         to make sure the glyph is in the cachels.
16923
16924         * glyphs.h (struct Lisp_Image_Instance): make layout_changed a
16925         global image instance flag.
16926         (IMAGE_INSTANCE_NEEDS_LAYOUT): new macro.
16927         (XIMAGE_INSTANCE_NEEDS_LAYOUT): ditto.
16928
16929         * glyphs.c (allocate_image_instance): set dirty bits correctly.
16930         (Fset_image_instance_property): mark layout as changed.
16931         (invalidate_glyph_geometry_maybe): mark layout as changed.
16932         (glyph_width): use new NEEDS_LAYOUT macro.
16933         (glyph_ascent): ditto.
16934         (glyph_descent): ditto.
16935         (glyph_height): ditto.
16936         (image_instance_layout): mark layout as clean after laying out.
16937         (update_subwindow): don't mark layout as clean here.
16938
16939         * glyphs-x.h (IMAGE_INSTANCE_X_WIDGET_ID): undo C++ changes, they
16940         should no longer be needed.
16941
16942         * glyphs-x.c (x_update_widget): sanitize asserts.
16943         (x_finalize_image_instance): sanitize assignment to widgets.
16944
16945         * glyphs-widget.c (widget_instantiate): don't need to clear the
16946         layout flag here.
16947
16948 2000-02-13  Martin Buchholz  <martin@xemacs.org>
16949
16950         * sysdep.c (getcwd): Use standard prototype.
16951         * sysdep.h (getcwd): Use standard prototype.
16952
16953         * fns.c (Fsubseq): Change parameters to more natural ANSI Lisp
16954         (sequence, start, end).
16955         Remove redundant type checking.
16956         (Fmapconcat): Remove useless GCPRO, a wrong-headed attempt (in
16957         view of `caller-protects') to avoid a crash where the real fix was
16958         found elsewhere.
16959
16960 2000-02-12  Martin Buchholz  <martin@xemacs.org>
16961
16962         * glyphs-x.c (x_finalize_image_instance): Compile error fixes.
16963
16964         * s/sol2.h: Remove feature macro initialization.
16965
16966         * alloc.c (alloc_lcrecord): Add more type checking assertions.
16967         (vector_hash): New.  Code from internal_hash.
16968         * lrecord.h:
16969         Fix up allocation subsystem comments.
16970
16971         * config.h.in: Add __EXTENSIONS__ for Solaris.
16972
16973         * systime.h (EMACS_GETTIMEOFDAY): New.
16974         (EMACS_GET_TIME): Use EMACS_GETTIMEOFDAY.
16975         Remove Solaris-specific code.
16976         Use void* for the (ignored) second arg for gettimeofday().
16977
16978         * elhash.c (hash_table_hash): Implement it, finally.
16979         * elhash.c:  Use hashcode_t.
16980
16981         * linuxplay.c (sighandler): Fix prototypes to use SIGTYPE.
16982         * sunplay.c (sighandler): Fix prototype to use SIGTYPE.
16983
16984         * lisp.h (STRETCHY_STRUCT_SIZEOF): Delete.
16985         * fns.c (size_bit_vector):
16986         * alloc.c (size_vector):
16987         (make_vector_internal):
16988         (make_bit_vector_internal):
16989         (sweep_bit_vectors_1):
16990         Replace calls to STRETCHY_STRUCT_SIZEOF with offsetof expression.
16991
16992 2000-02-10  Martin Buchholz  <martin@xemacs.org>
16993
16994         * s/aix4.h: #define MAP_FAILED if sys/mman.h didn't.
16995         Include strings.h to avoid warnings for bzero and strcasecmp.
16996
16997 2000-02-10  Olivier Galibert  <galibert@pobox.com>
16998
16999         * alloc.c: Move STRETCHY_STRUCT_SIZEOF from here...
17000         * lisp.h (STRETCHY_STRUCT_SIZEOF): ...to here
17001
17002         * fns.c (size_bit_vector): New.  Declare bit vectors as a
17003         sequence.
17004
17005 2000-02-10  Olivier Galibert  <galibert@pobox.com>
17006
17007         * symeval.h (struct symbol_value_magic): Remove "next" kludge and
17008         use a value field instead.
17009         (symbol_value_forward_forward): Use value field.
17010         (DEFVAR_SYMVAL_FWD): Use value field.
17011         (DEFVAR_SYMVAL_FWD_INT): Added.  Dumps the int with dumpopaque.
17012         (DEFVAR_INT): Use DEFVAR_SYMVAL_FWD_INT.
17013         (DEFVAR_CONST_INT): Ditto.
17014         (DEFVAR_BOOL): Ditto.
17015         (DEFVAR_CONST_BOOL): Ditto.
17016         (DEFVAR_INT_MAGIC): Ditto.
17017         (DEFVAR_BOOL_MAGIC): Ditto.
17018
17019         * symbols.c (guts_of_unbound_marker): Use value field.
17020         * console.c (DEFVAR_CONSOLE_LOCAL_1): Ditto.
17021         * buffer.c (DEFVAR_BUFFER_LOCAL_1): Ditto.
17022
17023         * lisp.h: Declare dumpopaque and noninteractive1.
17024
17025         * alloc.c (dumpopaque): Added.
17026         (pdump_dump_opaquevec): Added.
17027         (pdump): Call pdump_dump_opaquevec to dump opaque data.
17028         (pdump_load): Reload opaque data.  Sync noninteractive1 with
17029         noninteractive.
17030
17031 2000-02-10  Andy Piper  <andy@xemacs.org>
17032
17033         * glyphs.c (image_instance_layout): if the size changes, mark it
17034         as such.
17035
17036         * redisplay-output.c (redisplay_output_layout): Update the
17037         subwindow here.
17038         (redisplay_output_subwindow): ditto.
17039
17040         * glyphs.c (update_subwindow): make sure we reset flags for
17041         layouts as well as everything else.
17042
17043         * glyphs-widget.c (layout_layout): don't need to set the instances
17044         dimensions here.
17045
17046 2000-02-09  Martin Buchholz  <martin@xemacs.org>
17047
17048         * device-x.c (x_init_device): Wrap calls to dll_*  in HAVE_SHLIB,
17049         not HAVE_DLOPEN, which is a lower-level thing.
17050
17051         * .cvsignore: Ignore gmon.out
17052
17053 2000-02-09  Hamish Macdonald <hamishm@lucent.com>
17054
17055         * .cvsignore: Ignore portable dumper xemacs.dmp file
17056
17057 2000-02-09  Andy Piper  <andy@xemacs.org>
17058
17059         * redisplay-output.c (redisplay_output_layout): be more clever
17060         about when we output based on the changed flags.
17061
17062         * glyphs.h (struct image_instantiator_methods): add update_method.
17063         (struct Lisp_Image_Instance): add changed flags. Declare new
17064         macros for manipulating them.
17065
17066         * glyphs.c (allocate_image_instance): renamed glyph -> parent.
17067         (image_instance_parent_glyph): find an image_instance's parent
17068         glyph or image_instance.
17069         (image_instance_layout): mark the size as changed.
17070         (set_image_instance_dirty_p): new function. mark an image
17071         instance, plus all of its parents, as dirty.
17072         (Fset_image_instance_property): use it.
17073         (Fglyph_animated_timeout_handler): use it.
17074         (update_subwindow): call update_widget and device methods for
17075         update_subwindow. Mark all changed flags as clean.
17076         (Fresize_subwindow): mark size as changed.
17077
17078         * glyphs-x.c (x_finalize_image_instance): try and detect gc
17079         failures.
17080         (x_update_subwindow): only resize subwindows here.
17081         (x_update_widget): new function. Update all changed properties of
17082         a widget.
17083         (x_resize_subwindow): deleted.
17084         (x_widget_set_property): deleted.
17085         (x_progress_gauge_set_property): deleted.
17086         (x_progress_gauge_update): new function. Implement recorded
17087         changes.
17088         (x_tab_control_update): ditto.
17089         (x_tab_control_set_property): deleted.
17090         (console_type_create_glyphs_x): declare new functions.
17091         (image_instantiator_format_create_glyphs_x): ditto.
17092
17093         * glyphs-widget.c (widget_set_property): mark text changed.
17094         (update_widget): new function. Update properties of a widget.
17095         (widget_instantiate): for layouts make sure we set their
17096         children's parent correctly.
17097         (tab_control_set_property): new function. Record changes that will
17098         take place under redisplay's control.
17099         (progress_gauge_set_property): ditto.
17100         (image_instantiator_progress_guage): declare new functions.
17101         (image_instantiator_tab_control): ditto.
17102
17103         * glyphs-msw.c (mswindows_update_subwindow): just do resizing here
17104         now.
17105         (mswindows_update_widget): new function. Update all properties on
17106         a widget that have changed.
17107         (mswindows_button_update): new function. Update a button's set
17108         state.
17109         (mswindows_tab_control_update): new function. Update the items in
17110         a tab.
17111         (mswindows_tab_control_set_property): deleted.
17112         (mswindows_progress_gauge_update): new function. Update the
17113         progress gauge's progress.
17114         (mswindows_widget_set_property): deleted. This is all done
17115         asynchronously now.
17116         (mswindows_progress_gauge_set_property): ditto.
17117         (console_type_create_glyphs_mswindows): declare new methods.
17118         (image_instantiator_format_create_glyphs_mswindows): ditto.
17119
17120         * frame-msw.c (msprinter_init_frame_1): Remove unused variables.
17121         (msprinter_set_frame_properties): ditto.
17122
17123         * console.h (struct console_methods): Add update_widget_method.
17124
17125 2000-02-09  Andy Piper  <andy@xemacs.org>
17126
17127         * gui-msw.c (Fmswindows_shell_execute): Make
17128         mswindows-shell-execute industrial strength.
17129
17130 2000-02-08  Martin Buchholz  <martin@xemacs.org>
17131
17132         * lrecord.h: Make macro argument `props' match member function `plist'.
17133         * fns.c (Fget):
17134         * fns.c (Fput):
17135         * fns.c (Fremprop):
17136         * fns.c (Fobject_plist):
17137         * alloc.c:
17138         * symbols.c:
17139         Object property list frobbing cleanup.
17140         - Allow any lisp object (compared with `eq'), not just symbols, as
17141           keys in object plists.
17142         - Move symbol plist frobbing into symbols.c, where it belongs.
17143         - Move string plist frobbing into alloc.c, where it belongs.
17144         - Everything's an lrecord now, so no need to test for symbolp, etc.
17145         - Fix up doc strings to refer to PROPERTY, not PROPNAME.
17146
17147         * extents.c: Reorder code to remove declarations.
17148
17149         * frame.h (store_in_alist): Remove useless declaration.
17150
17151 2000-02-07  Martin Buchholz  <martin@xemacs.org>
17152
17153         * event-Xt.c (x_has_keysym): Use XConvertCase only if available.
17154         * config.h.in: Add HAVE_XCONVERTCASE.
17155
17156 2000-02-07  Andy Piper  <andy@xemacs.org>
17157
17158         * glyphs.c (image_instance_layout): undo 2000-01-29 change since
17159         it breaks many things.
17160
17161 2000-02-07  Jan Vroonhof  <vroonhof@math.ethz.ch>
17162
17163         * src/syntax.h (SYNTAX_START_P): Check whether the two chars
17164         actually can start a common comment type.
17165         * src/syntax.h (SYNTAX_END_P): ditto for end.
17166
17167 2000-02-07  Martin Buchholz <martin@xemacs.org>
17168
17169         * XEmacs 21.2.28 is released.
17170
17171 2000-02-06  Martin Buchholz  <martin@xemacs.org>
17172
17173         * event-Xt.c (x_keysym_to_character): New.
17174         (maybe_define_x_key_as_self_inserting_character): New.
17175         (x_has_keysym): New.
17176         Auto-define all keys on the keyboard as self-insert-key.
17177
17178 2000-02-02  Martin Buchholz  <martin@xemacs.org>
17179
17180         * menubar.c (vars_of_menubar): A small code simplification.
17181
17182         * minibuf.c (echo_area_append): Workaround egcs-20000131 c++ compiler bug
17183
17184         * ExternalShell.c:
17185         * ExternalClient.c:
17186         * EmacsShell-sub.c:
17187         * EmacsManager.c:
17188         * EmacsFrame.c:
17189         Use consistent style for specifying X resources.
17190
17191         * symbols.c (Fset): Further implement SYMVAL_LISP_MAGIC.
17192         This makes (dontusethis-set-symbol-value-handler) actually usable.
17193
17194         * lrecord.h (lrecord_decription_type):
17195         * alloc.c (pdump_register_sub):
17196         (pdump_dump_data):
17197         (pdump_reloc_one):
17198         Add XD_LISP_OBJECT_ARRAY to describe multiple Lisp_Objects.
17199         Comply with XEmacs coding style.
17200         All lrecord descriptions updated to use XD_LISP_OBJECT with 2
17201         args, and XD_LISP_OBJECT_ARRAY with 3 args.
17202
17203         * keymap.c (Faccessible_keymaps):
17204         Make (accessible-keymaps map "\C-h") do the Right Thing.
17205         Make (accessible-keymaps map []) do the Right Thing.
17206         Make (accessible-keymaps map "") do the Right Thing.
17207         (check_keymap_definition_loop): New function.
17208         (keymap_store_internal): Keep luser from shooting self in foot,
17209           via (define-key ctl-x-4-map "p" global-map).
17210         Remove fullness slot from struct Lisp_Keymap, since hash tables
17211         are now reliable.
17212         (print_keymap): Remove 'Yuck' factor by simply printing "size %d".
17213
17214 2000-01-30  Martin Buchholz  <martin@xemacs.org>
17215
17216         * redisplay.c (init_redisplay): Fix small memory leak.
17217         * elhash.h:
17218         * elhash.c (pdump_reorganize_hash_table):
17219         Rename from reorganize_hash_table. Change prototype.
17220         Reuse the original memory for hentries.  Save 100k.
17221         * alloc.c (PDUMP_READ): new macro.
17222         * alloc.c (pdump_load): Replace LISP_TO_VOID with higher-level macros.
17223         * alloc.c: No need to #ifndef before #undef.
17224
17225         * print.c: Allow debug_print() to print readably by modifying
17226         debug_print_readably.  Use consistent variable names.
17227
17228         * .dbxrc: Try to get things to work even if stopped in a function
17229         without source available by explicitly specifying source files.
17230 2000-02-03  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17231
17232         * unexnt.c (_start): Removed bogus code which caused loading heap
17233         from differrent executable file.
17234         Removed bogus assignment to _fmode, which caused inconsistencies.
17235
17236 2000-02-03  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17237
17238         * s\windowsnt.h: Removed lots of #if 0 blocks of Emacs heritage.
17239         Have spawnve encapsulation regard DONT_ENCAPSULATE.
17240         Do not preliminary `#define signal sigset'.
17241
17242         * systime.h: Do not prototype environ on windows nt and cygwin,
17243         this conflicts with system header.
17244
17245         * syssignal.h: Use correct define for WINDOWSNT
17246
17247         * sysdep.h: Do not prototype environ on windows nt, this conflicts
17248         with system header.
17249
17250         * sysdep.c (near start of file): Fixed commentary and rearranged
17251         ifdefs in readable order.
17252         (NEED_STARTS): Do not force NEED_STARTS when PDUMPing.
17253         (start_of_text):
17254         (end_of_text):
17255         (end_of_data): Do not compile in if using PDUMP.
17256
17257         * symsinit.h: Prototyped vars_of_nt().
17258
17259         * ntproc.c (windows9x_p): Added, instead of os_subtype.
17260         (find_child_console): Use it.
17261         (sys_kill): Use it.
17262
17263         * ntheap.h: Do not extern os_subtype.
17264
17265         * ntheap.c (cache_system_info): Do not cache unneeded:
17266         nt_major_version, nt_minor_version and os_subtype.
17267         (recreate_heap): Do not compile in when PDUMPing.
17268
17269         * nt.c (geteuid and friends): Use the new varibale
17270         nt_fake_unix_uid, instead of hashing fake uid out of NT RID.
17271         (init_user_info): Removed the above mentioned hackery.
17272         (fstat, stat): Do not compile in if using MSVC 5.0 and above -
17273         stat has been fixed in the C runtime.
17274         (vars_of_nt): Added, defined the nt_fake_unix_uid variable there.
17275
17276         * file-coding.c (struct file_coding_dump): Do not define
17277         ucs_to_mule_table in the struct if not MULE.
17278         (struct struct lrecord_description fcd_description_1): Do not dump
17279         the above.
17280
17281         * emacs.c (main_1): Call vars_of_nt().
17282         (right before Fdump_emacs_data): Don't need lastfile if using both
17283         portabe dumper and system malloc.
17284
17285         * alloc.c (Fmemory_limit): Conditionalized out.
17286         (pdump): Use OPEN_BINARY for the portable dump file.
17287         (pdump_load): Ditto.
17288
17289 2000-02-02  Mike Alexander  <mta@arbortext.com>
17290
17291         * nt.c (convert_time): Set tm_isdst before calling mktime and
17292         avoid calling it at all if the compiler supports 64 bit integers.
17293         Also initialize utc_base_ft before using it.
17294
17295 2000-02-03   Daiki Ueno  <ueno@ueda.info.waseda.ac.jp>
17296
17297         * frame.c (change_frame_size_1): Take f->internal_border_width
17298         into consideration when calculating the width of the frame.
17299
17300 2000-02-01  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17301
17302         * window.c (frame_min_height):
17303         (frame_size_valid_p):
17304         (frame_pixsize_valid_p): Added.
17305         (check_frame_size): Generalized.
17306
17307         * window.h: Prototyped the above.
17308
17309         * lisp.h:
17310         * general.c: Added Qbottom_margin, Qduplex, Qlandscape,
17311         Qleft_margin, Qorientation, Qportrait, Qright_margin, Qtop_margin.
17312         Deleted Vwin32_* and Vbinary_process_* unused variables.
17313
17314         * device-msw.c (msprinter_init_device): Do not get printer font
17315         list; Added DEVMODE functions.
17316
17317         * frame-msw.c: Added lots of printer code.
17318
17319         * faces.c: Moved 'left-margin and 'right-margin defsymbols to
17320         general.c.
17321
17322         * console-msw.h: Added more msprinter device private slots.
17323
17324 2000-02-01  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17325
17326         * event-msw.c (key_needs_default_processing_p): Added.
17327         (mswindows_wnd_proc, WM_KEYUP, KEYDOWN): Call it.
17328
17329 2000-01-29  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17330
17331         * glyphs.c (image_instance_layout): Mark image instance as clean
17332         after layout.
17333         (glyph_dirty_p): Removed redundant function.
17334         (invalidate_glyph_geometry_maybe): Added.
17335         (update_glyph_cachel_data): Call it.
17336
17337         * glyphs.h: Prototyped it.
17338
17339         * redisplay.c (add_glyph_rune): Call it.
17340         (redisplay_window): Reset glyphs cachels when frame faces have
17341         changed, thus forcing recomputation of built-in border glyphs.
17342
17343 2000-01-30  Martin Buchholz  <martin@xemacs.org>
17344
17345         * Makefile.in.in: Make portable dumper and purify play well together.
17346         Add imperfect, but better than nothing, support for pdump.
17347         Remove xemacs.dmp when temacs is re-generated.
17348         Don't ignore errors when dumping xemacs.
17349
17350         * symbols.c (maybe_call_magic_handler): Remove one magic number.
17351
17352 2000-01-28  Andy Piper  <andy@xemacs.org>
17353
17354         * frame.c (allocate_frame_core): Use new Fset_window_buffer signature.
17355         (setup_normal_frame): ditto.
17356         (setup_frame_without_minibuffer): ditto.
17357         (setup_minibuffer_frame): ditto.
17358         (delete_frame_internal): ditto.
17359         (Fmake_frame_invisible): ditto.
17360         (Ficonify_frame): ditto.
17361
17362         * window.h: change Fset_window_buffer signature.
17363
17364         * window.c (Fsplit_window): Use new Fset_window_buffer signature.
17365         (Fset_window_buffer): allow recording of buffer if the window is
17366         the selected window.
17367         (window_loop): Use new Fset_window signature.
17368
17369 2000-01-23  Daniel Pittman  <daniel@danann.net>
17370
17371         * config.h.in: Added template for `HAVE_ATHENA_3D'
17372
17373 2000-01-29  Andy Piper  <andy@xemacs.org>
17374
17375         * glyphs-x.c (x_resize_subwindow): Try and catch bogus resizes.
17376
17377         * gutter.c (output_gutter): Don't output if the window isn't live.
17378
17379 2000-01-28  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17380
17381         * glyphs-msw.c (mswindows_unmap_subwindow): Fix of corrupted patch
17382         of 01/12/00: Moved SetFocus back here where it belongs.
17383
17384 2000-01-23  Andy Piper  <andy@xemacs.org>
17385
17386         * s/cygwin32.h: declare printer things.
17387
17388 2000-01-26  Andy Piper  <andy@xemacs.org>
17389
17390         * select.c (Fown_selection_internal): GCPRO bug fix from Mike
17391         Alexander.
17392
17393 2000-01-24  Andy Piper  <andy@xemacs.org>
17394
17395         * glyphs-msw.c (mswindows_locate_pixmap_file): Expand filename.
17396         (mswindows_button_instantiate): Make sure glyph is a pixmap.
17397
17398         * glyphs-widget.c (widget_instantiate): Avoid shadows.
17399
17400         * frame-msw.c (msprinter_init_frame_3): Nuke warning.
17401
17402         * glyphs-msw.c: (mswindows_string_to_color): remove declaration.
17403
17404         * redisplay-msw.c (mswindows_output_cursor): Avoid shadows.
17405         (mswindows_output_display_block): Avoid local shadows.
17406
17407         * event-msw.c (mswindows_enqueue_magic_event): Avoid shadows.
17408         (mswindows_enqueue_mouse_button_event): ditto.
17409         (mswindows_handle_gui_wm_command): remove declaration.
17410
17411         * console-msw.c (mswindows_canonicalize_console_connection): Avoid
17412         warnings.
17413
17414         * console-msw.h: Avoid shadows.
17415         (mswindows_get_toolbar_button_text):
17416         (emacs_mswindows_create_stream_pair):
17417         (emacs_mswindows_delete_stream_pair):
17418         (mswindows_handle_toolbar_wm_command): declare.
17419
17420         * device-msw.c (build_syscolor_string): Avoid shadows.
17421
17422 2000-01-23  Andy Piper  <andy@xemacs.org>
17423
17424         * glyphs-widget.c (widget_instantiate): reverse the items for
17425         layouts so that children are in the expected order.
17426
17427 2000-01-28  Martin Buchholz  <martin@xemacs.org>
17428
17429         * ralloc.c: safe_bcopy ==> memmove
17430         * gmalloc.c: Remove MEMMOVE_MISSING conditional code.
17431         * s/msdos.h: Remove BCOPY macros.
17432         * insdel.c (gap_right): Remove BCOPY conditional code.
17433         * insdel.c (gap_left): Remove BCOPY conditional code.
17434         XEmacs demands a working ANSI C compiler - hence memmove.
17435
17436         * regex.c (regex_compile): Remove accidental use of trigraphs.
17437
17438 2000-01-27  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17439
17440         * event-msw.c (mswindows_enqueue_misc_user_event): Initialize
17441         event timestamp.
17442
17443 2000-01-26  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17444
17445         * event-msw.c (mswindows_drain_windows_queue): Added the
17446         parameter.
17447         (mswindows_need_event): Commented the call to
17448         mswindows_drain_windows_queue().
17449         (emacs_mswindows_quit_p): Lookup the windows for keyboard messages
17450         only.
17451
17452         * console-msw.h: Moved a few function prototypes here from
17453         event-msw.c.
17454
17455         * gui-msw.c (mswindows_handle_gui_wm_command): Changed the ID
17456         parameter from unsigned short to unsigned long.
17457         (Fmswindows_shell_execute): Added return value.
17458
17459 2000-01-27  URA Hiroshi <ura@hiru.aoba.yokohama.jp>
17460
17461         * sysdep.c (init_system_name):
17462           process-unix.c (unix_canonicalized_host_name):
17463         Don't call freeaddrinfo() if getaddrinfo() fails.
17464
17465         * process-unix.c (unix_open_unix_network_stream):
17466         Moved the code to get a port # into address loop.
17467
17468 2000-01-27  Martin Buchholz  <martin@xemacs.org>
17469
17470         * buffer.c (reinit_vars_of_buffer):
17471         The right place to initialize conversion_in_dynarr and
17472         conversion_out_dynarr.
17473
17474         * alloc.c (pdump): Use the real open() till sys_open() is functional.
17475
17476         * process-unix.c (unix_canonicalize_host_name): Muleize.
17477         (unix_open_network_stream): Muleize.
17478
17479         * buffer.h: Fix up prototypes for ralloc.c functions.
17480
17481 2000-01-27  URA Hiroshi <ura@hiru.aoba.yokohama.jp>
17482         * config.h.in: added HAVE_GETADDRINFO and HAVE_GETNAMEINFO
17483         * sysdep.c: In init_system_name(), add code to use getaddrinfo()
17484                 instead of gethostbyname()
17485         * process-unix.c: In unix_canonicalize_host_name() and
17486                 unix_open_network_stream(), add code to use getaddrinfo()
17487                 instead of gethostbyname().
17488
17489 2000-01-27  Daniel Pittman <daniel@danann.net>
17490
17491         * device-x.c (x_init_device): Warn at run-time if using Athena 3d
17492         libs when built with flat Athena.
17493
17494 2000-01-27  Martin Buchholz  <martin@xemacs.org>
17495
17496         * ralloc.c: Replace SIZE (conflicts with Windows headers) with size_t.
17497         Use coding standards for function prototypes.
17498
17499 2000-01-25  Martin Buchholz  <martin@xemacs.org>
17500
17501         * dialog-msw.c (push_lisp_string_as_unicode):
17502         * doc.c (unparesseuxify_doc_string):
17503         * dired.c (Fuser_name_completion_1):
17504         * dired.c (Fuser_name_all_completions):
17505         * dired.c (free_user_cache):
17506         * dired.c (user_name_completion):
17507         * console-x.c (get_display_arg_connection):
17508         * minibuf.c (clear_echo_area_internal):
17509         * minibuf.c (echo_area_append):
17510         * eldap.c (Fldap_open):
17511         * eldap.c (Fldap_search_internal):
17512         * frame-x.c (x_set_frame_text_value):
17513         * frame-x.c (x_set_frame_properties):
17514         * frame-x.c (x_create_widgets):
17515         * redisplay-tty.c (term_get_fkeys_1):
17516         * objects-x.c (x_parse_nearest_color):
17517         * objects-x.c (x_valid_color_name_p):
17518         * objects-x.c (x_initialize_font_instance):
17519         * objects-x.c (x_list_fonts):
17520         * objects-x.c (x_find_charset_font):
17521         * tooltalk.c (Fadd_tooltalk_message_arg):
17522         * tooltalk.c (Fadd_tooltalk_pattern_attribute):
17523         * tooltalk.c (Fadd_tooltalk_pattern_arg):
17524         * process-unix.c (unix_create_process):
17525         * ntproc.c (sys_spawnve):
17526         * sound.c (Fplay_sound_file):
17527         * sound.c (Fplay_sound):
17528         * buffer.c (init_initial_directory):
17529         * buffer.c (init_buffer):
17530         * editfns.c (init_editfns):
17531         * editfns.c (Ftemp_directory):
17532         * editfns.c (Fuser_full_name):
17533         * editfns.c (uncache_home_directory):
17534         * editfns.c (get_home_directory):
17535         * editfns.c (Fuser_home_directory):
17536         * editfns.c (Fformat_time_string):
17537         * editfns.c (Fcurrent_time_string):
17538         * gui-x.c (button_item_to_widget_value):
17539         * database.c (Fopen_database):
17540         * event-Xt.c (x_to_emacs_keysym):
17541         * event-Xt.c (x_event_to_emacs_event):
17542         * event-Xt.c (describe_event_window):
17543         * event-msw.c (mswindows_wnd_proc):
17544         * glyphs-eimage.c (jpeg_instantiate):
17545         * glyphs-eimage.c (gif_instantiate):
17546         * glyphs-eimage.c (png_instantiate):
17547         * glyphs-eimage.c (tiff_instantiate):
17548         * glyphs-x.c (xbm_instantiate_1):
17549         * glyphs-x.c (x_xbm_instantiate):
17550         * glyphs-x.c (x_xface_instantiate):
17551         * glyphs-x.c (autodetect_instantiate):
17552         * glyphs-x.c (cursor_font_instantiate):
17553         * glyphs-x.c (x_widget_instantiate):
17554         * glyphs-x.c (x_widget_set_property):
17555         * glyphs-x.c (x_widget_property):
17556         * glyphs-x.c (BUILD_GLYPH_INST):
17557         * print.c (write_string_to_stdio_stream):
17558         * print.c (output_string):
17559         * print.c (Falternate_debugging_output):
17560         * print.c (Fexternal_debugging_output):
17561         * glyphs-msw.c (extract_xpm_color_names):
17562         * glyphs-msw.c (mswindows_xpm_instantiate):
17563         * glyphs-msw.c (bmp_instantiate):
17564         * glyphs-msw.c (resource_name_to_resource):
17565         * glyphs-msw.c (mswindows_resource_instantiate):
17566         * glyphs-msw.c (xbm_instantiate_1):
17567         * glyphs-msw.c (mswindows_xbm_instantiate):
17568         * glyphs-msw.c (mswindows_xface_instantiate):
17569         * glyphs-msw.c (mswindows_widget_instantiate):
17570         * glyphs-msw.c (add_tree_item):
17571         * glyphs-msw.c (add_tab_item):
17572         * glyphs-msw.c (mswindows_combo_box_instantiate):
17573         * glyphs-msw.c (mswindows_widget_property):
17574         * glyphs-msw.c (mswindows_combo_box_property):
17575         * glyphs-msw.c (mswindows_widget_set_property):
17576         * console.c (stuff_buffered_input):
17577         * objects-msw.c (mswindows_initialize_color_instance):
17578         * objects-msw.c (mswindows_valid_color_name_p):
17579         * objects-msw.c (mswindows_list_fonts):
17580         * objects-msw.c (mswindows_font_instance_truename):
17581         * bytecode.c (optimize_compiled_function):
17582         * select-x.c (symbol_to_x_atom):
17583         * select-x.c (x_atom_to_symbol):
17584         * select-x.c (hack_motif_clipboard_selection):
17585         * select-x.c (selection_data_to_lisp_data):
17586         * select-x.c (lisp_data_to_selection_data):
17587         * select-x.c (Fx_get_cutbuffer_internal):
17588         * select-x.c (Fx_store_cutbuffer_internal):
17589         * buffer.h (TO_EXTERNAL_FORMAT): New function.
17590         * buffer.h (TO_INTERNAL_FORMAT): New function.
17591         * emacs.c (make_arg_list_1):
17592         * emacs.c (make_argc_argv):
17593         * emacs.c (main_1):
17594         * emacs.c (Fdump_emacs):
17595         * emacs.c (split_string_by_emchar_1):
17596         * file-coding.h:
17597         * lisp.h:
17598         * lstream.h:
17599         * symsinit.h:
17600         * device-x.c (x_init_device):
17601         * device-x.c (Fx_valid_keysym_name_p):
17602         * device-x.c (Fx_get_font_path):
17603         * device-x.c (Fx_set_font_path):
17604         * glyphs.c (bitmap_to_lisp_data):
17605         * glyphs.c (pixmap_to_lisp_data):
17606         * alloc.c (make_ext_string): Use coding system arguments.  Update
17607         all callers.
17608         * alloc.c (build_string):
17609         * callproc.c (child_setup):
17610         * callproc.c (init_callproc):
17611         * fileio.c (lisp_strerror):
17612         * fileio.c (directory_file_name):
17613         * fileio.c (Fexpand_file_name):
17614         * fileio.c (Ffile_truename):
17615         * fileio.c (Fsysnetunam):
17616         * fileio.c (Fdo_auto_save):
17617         * sysdep.c (sys_readdir):
17618         * tests.c: New file.  Allow adding C tests.
17619         Replace GET_* macros with a more comprehensible and flexible
17620         interface, TO_INTERNAL_FORMAT() and TO_EXTERNAL_FORMAT().
17621         Modify all calls.
17622         Any coding system can be used to do format conversion.
17623         Eliminate enum external_data_format.
17624         Eliminate convert_to_external_format.
17625         Eliminate convert_to_internal_format.
17626         Make sure file-name, keyboard, terminal, and ctext are always
17627         defined as coding systems or aliases.  Make
17628         file-name-coding-system, terminal-coding-system, and
17629         keyboard-coding-system magical variables that are equivalent to
17630         defining the corresponding coding system aliases.
17631
17632         * file-coding.c (Fcoding_system_canonical_name_p): New function.
17633         * file-coding.c (Fcoding_system_alias_p): New function.
17634         * file-coding.c (Fcoding_system_aliasee): New function.
17635         * file-coding.c (append_suffix_to_symbol): New function.
17636         * file-coding.c (dangling_coding_system_alias_p): New function.
17637         * file-coding.c (Ffind_coding_system):
17638         * file-coding.c (Fcopy_coding_system):
17639         * file-coding.c (encode_coding_no_conversion):
17640         * file-coding.c (syms_of_file_coding):
17641         * file-coding.c (vars_of_file_coding):
17642         Rewrite coding system alias code.
17643         Allow nested aliases, like symbolic links.
17644         Allow redefinition of coding system aliases.
17645         Prevent existence of dangling coding system aliases.
17646
17647         * dired.c (Fuser_name_completion_1):
17648         * dired.c (Fuser_name_all_completions):
17649         A crash would happen if user did QUIT in the middle of building
17650         user_name_cache.  Remove redundant code in mainline and unwind_protect.
17651
17652         * lisp.h:
17653         * dynarr.c (Dynarr_min_size): Make static.  Increase value to 8.
17654
17655         * lstream.c (make_fixed_buffer_input_stream): Take a void *, not
17656         an unsigned char *.  Update all callers.
17657
17658 2000-01-26  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17659
17660         * callproc.c (Fcall_process_internal): Ignore Vbinary-process_output.
17661
17662 2000-01-25  Martin Buchholz  <martin@xemacs.org>
17663
17664         * elhash.c (hentry_description): Use more portable definition.
17665         (resize_hash_table): Initialize new hentries using
17666         xnew_array_and_zero, thereby simplifying the code.
17667
17668         * mule-charset.c (make_charset): Make sure entire object is
17669         initialized, to avoid Purify warnings.
17670
17671         * alloc.c (resize_string): Fix unlikely crash with big strings.
17672
17673 2000-01-24  Martin Buchholz  <martin@xemacs.org>
17674
17675         * realpath.c (xrealpath):
17676         Don't call getwd().
17677
17678 2000-01-25  Martin Buchholz  <martin@xemacs.org>
17679
17680         * lread.c (read_bit_vector): Fix memory leak reading literal bit vectors.
17681
17682 1999-12-28  Max Matveev  <max@melbourne.sgi.com>
17683
17684         * unexelfsgi.c (unexec): Change the way we decide which segment
17685         should be extended.
17686
17687         Assumption that .bss section should be outside the PT_LOADable
17688         segment. On IRIX with version 6.2 and above, .bss (or .sbss, if
17689         it's present) is inside the 'data' segment. This would fail the
17690         test which was used to find a segment to grow and cover new
17691         heap. Instead of this assumption, I created another one - on IRIX
17692         the segment to grow should start below .bss and it's address
17693         should extent above the end of .bss. Once this segment is
17694         identified, it's grown to accommodate the new heap and new
17695         zero-length .bss section is added at the end of .data2.
17696
17697 2000-01-25  Martin Buchholz  <martin@xemacs.org>
17698
17699         * eval.c (Feval): Wrong number of arguments should use original
17700         function, not the indirect_function version of it.
17701
17702 2000-01-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
17703
17704         * glyphs-x.c (x_button_instantiate): Don't add image if
17705         it is not a pixmap.
17706         (x_locate_pixmap_file): Call Fexpand_file_name when file name
17707         is relative.
17708
17709 2000-01-21  Yoshiki Hayashi  <yoshiki@xemacs.org>
17710
17711         * symeval.h (DEFVAR_LISP_MAGIC): Remove semicolon after macro
17712         declaration.
17713         (DEFVAR_INT_MAGIC): Ditto.
17714         (DEFVAR_BOOL_MAGIC): Ditto.
17715         * glyphs.h: Reindent backslash.
17716
17717 2000-01-24  Martin Buchholz  <martin@xemacs.org>
17718
17719         * glyphs-widget.c (layout_query_geometry):
17720         (layout_layout): Use correct types for gheight, gwidth.
17721
17722 2000-01-24  Martin Buchholz  <martin@xemacs.org>
17723
17724         * EmacsManager.c (QueryGeometry): Purified.
17725
17726 2000-01-23  Martin Buchholz  <martin@xemacs.org>
17727
17728         * alloc.c (make_float): Make sure entire object is initialized, to
17729         avoid Purify warnings.
17730         (pdump_register_sub): Remove useless assignment.
17731         (pdump): Use xmalloc, not malloc.
17732         (pdump_load): Use xmalloc, not malloc.
17733
17734 2000-01-23  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17735
17736         * callproc.c:
17737         * dired-msw.c:
17738         * fileio.c:
17739         * process-nt.c:
17740         * redisplay-msw.c:
17741         * sysdep.c: Removed redundant #include <windows.h>
17742
17743 2000-01-22  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17744
17745         * frame.c (delete_frame_internal): Do not delete device when its
17746         implementation so declares.
17747         (delete_frame_internal): Set device selected frame to nil when
17748         last frame goes away.
17749
17750         * device-msw.c (msprinter_device_system_metrics): Implemented.
17751         (mswindows_device_system_metrics): Added 'device-dpi property.
17752
17753         * device.c: (Fdevice_printer_p): Added.
17754         Added 'offset-workspace device metric.
17755
17756         * console.h (device_metrics): Declared DM_offset_workspace.
17757
17758 2000-01-23  Martin Buchholz  <martin@xemacs.org>
17759
17760         * fileio.c (Ffile_truename): Remove pointless and confusing
17761         initialization of elen.
17762
17763         * glyphs-widget.c: Compiler warning fixes.
17764
17765 2000-01-23  Gunnar Evermann  <ge204@eng.cam.ac.uk>
17766
17767         * process.h (PROCESS_LIVE_P): Modify to take a Lisp_Process
17768         instead of a Lisp_Object as argument to make it consistent with
17769         the other LIVE_P macros.
17770         (CHECK_LIVE_PROCESS): New macro.
17771
17772         * process.c: Declare Qprocess_live_p.
17773         (Fprocess_live_p): New function.
17774         (create_process): Use PROCESS_LIVE_P.
17775         (read_process_output): Ditto.
17776         (set_process_filter): Ditto.
17777         (Fdelete_process): Ditto.
17778         (kill_buffer_processes): Ditto
17779         (process_send_signal): Use CHECK_LIVE_PROCESS.
17780         (Fprocess_input_coding_system): Check whether process is still
17781         alive (fix PR#1061).
17782         (Fprocess_output_coding_system): Ditto.
17783         (Fprocess_coding_system): Ditto.
17784         (Fset_process_input_coding_system): Ditto.
17785         (Fset_process_output_coding_system): Ditto.
17786
17787 2000-01-23  Andy Piper  <andy@xemacs.org>
17788
17789         * glyphs.h (struct Lisp_Image_Instance): change format by unifying
17790         layout and widget.
17791
17792         * glyphs.c (mark_image_instance): take into account changed
17793         image_instance format.
17794         (image_instance_equal): ditto.
17795         (image_instance_hash): ditto.
17796
17797         * glyphs-widget.c (widget_instantiate): Incorporate layout
17798         instantiation here. Delay layout of the layout until later.
17799         (layout_instantiate): deleted.
17800         (layout_query_geometry): new function. get the geometry of a
17801         layout.
17802         (layout_layout): layout a layout dynamically.
17803         (image_instantiator_widget): New function - splitting up
17804         image_instantiator_format_create_glyphs_widget for netwinder
17805         compilation.
17806         (image_instantiator_buttons):
17807         (image_instantiator_edit_fields):
17808         (image_instantiator_combo_box):
17809         (image_instantiator_scrollbar):
17810         (image_instantiator_progress_guage):
17811         (image_instantiator_tree_view):
17812         (image_instantiator_tab_control):
17813         (image_instantiator_labels):
17814         (image_instantiator_layout): ditto.
17815         (image_instantiator_format_create_glyphs_widget): Call preceding
17816         functions.
17817
17818 2000-01-22  Martin Buchholz  <martin@xemacs.org>
17819
17820         * process.c (Fset_process_coding_system):
17821         * device-x.c (Fx_keysym_hash_table):
17822         Docstring fixes.
17823
17824         * lstream.c (Lstream_write): Return documented value, not 0.
17825
17826         * fileio.c (directory_file_name):
17827         (Fsubstitute_in_file_name):
17828         (Fsubstitute_insert_file_contents_internal):
17829         (Fwrite_region_internal):
17830         * emacs.c:
17831         * sysdep.c:
17832         * getloadavg.c:
17833         * systty.h:
17834         Remove vestigial APOLLO-conditional code.
17835
17836 2000-01-21  Martin Buchholz  <martin@xemacs.org>
17837
17838         * getpagesize.h: Add guard macros.
17839         * libsst.h: Add guard macros.
17840         * libst.h: Add guard macros.
17841         * line-number.h: Add guard macros.
17842         * ndir.h: Add guard macros.
17843         * sysfloat.h: Add guard macros.
17844         * sysfile.h: Add guard macros.
17845         * sysproc.h: Add guard macros.
17846         * syswait.h: Add guard macros.
17847         * xintrinsic.h: Add guard macros.
17848         * xintrinsicp.h: Add guard macros.
17849         * xmmanager.h: Add guard macros.
17850         * xmmanagerp.h: Add guard macros.
17851         * xmprimitive.h: Add guard macros.
17852         * xmu.h: Add guard macros.
17853         * gpmevent.h: Add copyright statement. Add guard macros.
17854         * miscplay.h: Add guard macros.
17855         * *.h: Use consistent C-standards-approved guard macro names.
17856
17857         * opaque.c (make_opaque): Switch parameter order.
17858         * opaque.h (make_opaque): Switch parameter order.
17859         Update all callers.
17860         * buffer.h (MAKE_MIRROR_TRT_TABLE): Use symbolic constant OPAQUE_CLEAR.
17861
17862         * config.h.in (type_checking_assert): Added.
17863         (bufpos_checking_assert): Added.
17864
17865 2000-01-21  Martin Buchholz  <martin@xemacs.org>
17866
17867         * alloc.c: Harmless pdump changes.
17868         - Use countof().
17869         - spell alignment correctly.
17870         * sysdep.c: Use countof()
17871
17872 2000-01-20  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17873
17874         * console.c (create_console): Use CONMETH_OR_GIVEN when calling
17875         initially_selected_for_input() console method, default to 0.
17876         (semi_canonicalize_console_connection): Try to delegate to
17877         canonicalize_console_connection if no such console method.
17878         (canonicalize_console_connection): Vice versa.
17879         (print_console): Do not print nil connection.
17880
17881         * console.h (XDEVIMPF_IS_A_PRINTER): Added.
17882         (XDEVIMPF_NO_AUTO_REDISPLAY): Added.
17883         (XDEVIMPF_FRAMELESS_OK): Added.
17884         (CONSOLE_INHERITS_METHOD): Added.
17885
17886         * console-msw.c (mswindows_canonicalize_console_connection):
17887         Added.
17888         (mswindows_canonicalize_device_connection): Added.
17889
17890         * console-msw.h (struct msprinter_device): Added this struct and
17891         accessor macros.
17892         (mswindows_device): Made fontlist a lisp object.
17893
17894         * device.c (semi_canonicalize_device_connection):  Try to delegate
17895         to canonicalize_device_connection if no such console method.
17896         (canonicalize_device_connection): Vice versa.
17897         (print_device): Do not print nil connection.
17898
17899         * device-msw.c (mswindows_init_device): Call InitCommonControls
17900         when have widgets.
17901         (mswindows_delete_device): Removed fontlist deallocation.
17902         (mswindows_mark_device): Added.
17903
17904         * events.c (event_equal): Added abort() at unreached code.
17905         (event_hash): Ditto.
17906
17907         * faces.c (complex_vars_of_faces): Added Qmsprinter to the list of
17908         fallback tags of Windows devices.
17909
17910         * general.c (syms_of_general): Initialized Qmsprinter.
17911
17912         * gutter.c (complex_vars_of_gutters): Added Qmsprinter to the list
17913         of fallback tags of Windows devices.
17914
17915         * lisp.h: Declared Qmsprinter.
17916
17917         * objects-msw.c (font_enum_callback_2): Rewrote to build lisp list
17918         of strings.
17919         (mswindows_list_fonts): Ditto.
17920         (mswindows_enumerate_fonts): Removed dependency on XDEVICE, so
17921         that it can be used by both mswindows and msprinter devices.
17922         (initialize_font_instance): Added.
17923         (mswindows_initialize_font_instance): Use it.
17924         (msprinter_initialize_font_instance): Added.
17925
17926         * redisplay.c (redisplay_device): Added the parameter AUTOMATIC
17927         and implementation flags check.
17928         (redisplay_without_hooks): Changed the call to the above.
17929         (Fredraw_device): Ditto.
17930         (Fredisplay_device): Ditto.
17931
17932         * redisplay-msw.c (get_frame_dc): Implemented.
17933         (get_frame_compdc): Implemented.
17934         (many functions): Use the two functions above to get device
17935         contexts, ether for a window or a printer.
17936
17937 2000-01-21  Olivier Galibert  <galibert@pobox.com>
17938
17939         * symbols.c (reinit_symbols_once_early): Put Qzero/Qnull_pointer
17940         initialization here.
17941         (init_symbols_once_early): Call it.
17942         * emacs.c (main_1): Call it.
17943         * symsinit.h: Declare it.
17944
17945 2000-01-19  Olivier Galibert  <galibert@pobox.com>
17946
17947         * alloc.c: Use a lrecord_header * in the backtrace instead of a
17948         Lisp_Object.
17949         (pdump_backtrace): Ditto.
17950         (pdump_register_object): Ditto.  Cleanup use of the pointers.
17951         (pdump_get_entry): Abort if trying to register a null pointer.
17952         (pdump_dump_data): Cleanup types when relocating.
17953         (pdump_dump_staticvec): Cleanup types w.r.t the reloc table.
17954         (pdump_dump_rtables): Remove bad casts.
17955         (pdump_load): Cleanup relocation w.r.t union type.  Use a
17956         Lisp_Object instead of a EMACS_INT for the hashtable
17957         reorganization.
17958
17959 2000-01-20  Martin Buchholz  <martin@xemacs.org>
17960
17961         * emacs.c (main_1): Rearrange morass of #ifdef's for correctness.
17962
17963         * callproc.c (call_process_cleanup): Isolate WINDOWSNT code for clarity.
17964
17965         * EmacsManager.c (GeometryManager): Avoid use of CPP for clarity.
17966
17967         * *.[ch]: global-replace 's/_of_xselect/_of_select_x/g' *.[ch]
17968
17969 2000-01-17  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17970
17971         * faces.h (FACE_STRIKETHRU_P): Added.
17972
17973         * glyphs-msw.c (mswindows_widget_hfont): Implemented, to take care
17974         of font variants.
17975
17976         * redisplay-msw.c (mswindows_apply_face_effects): Deleted.
17977         (mswindows_set_dc_font): New function, aware of font variants,
17978         separated from mswindows_update_dc.
17979
17980         * objects-msw.h (struct mswindows_font_instance_data): Added
17981         definition.
17982
17983         * objects-msw.c (mswindows_finalize_font_instance): Delete all
17984         cached fonts and the data structure.
17985         (mswindows_initialize_font_instance): Added creation of font data
17986         structure.
17987         (mswindows_print_font_instance): Print at least something.
17988         (mswindows_create_font_variant): Implemented.
17989         (mswindows_get_hfont): Implemented.
17990
17991 2000-01-13  Fabrice Popineau  <Fabrice.Popineau@supelec.fr>
17992
17993         * dired-msw.c: permute "sysdir.h" with "sysfile.h" because of
17994         prototyping problem with msvc.
17995
17996         * emacs.c (main_1): added syms_of_gui_mswindows() call
17997
17998         * gui-msw.c: added "mswindows-shell-execute" lisp subr and
17999         syms_of_gui_mswindows() function
18000
18001         * symsinit.h: added the prototype for syms_of_gui_mswindows()
18002
18003 2000-01-18  Martin Buchholz <martin@xemacs.org>
18004
18005         * XEmacs 21.2.27 is released.
18006
18007 2000-01-18  Martin Buchholz  <martin@xemacs.org>
18008
18009         * glyphs-eimage.c (struct tiff_error_struct):
18010         (tiff_error_func):
18011         (tiff_warning_func):
18012         #if HAVE_VSNPRINTF ==> #ifdef HAVE_VSNPRINTF
18013
18014         * unexmips.c:
18015         * unexhp9k3.c:
18016         * unexfreebsd.c:
18017         * unexec.c: Remove vestigial Lucid C code.
18018         * unexalpha.c:
18019         * unexaix.c:
18020         * termcap.c:
18021         * libsst.c: Ansify.
18022         Remove declarations of errno and strerror().
18023
18024         * eval.c (Fbacktrace): Small Purify-cation.  Fix docstring.
18025
18026         * .dbxrc (run-temacs): Use the horrible ${1+"$@"} instead of "$@".
18027
18028 2000-01-16  Martin Buchholz  <martin@xemacs.org>
18029
18030         * mule-charset.c (Fchar_octet): Resurrect from earlier in 1999.
18031         Optimize.
18032
18033 2000-01-14  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
18034
18035         * md5.c:
18036         * file-coding.c:
18037         * file-coding.h:
18038         Change enum eol_type to eol_type_t.
18039
18040 2000-01-17  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
18041
18042         * gui.c (get_gui_callback): Check cons before accessing car.
18043
18044 2000-01-17  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
18045
18046         * specifier.h (XSPECIFIER_TYPE): Add error checking version.
18047         (XSETSPECIFIER_TYPE): Ditto.
18048
18049 2000-01-17  Didier Verna  <didier@xemacs.org>
18050
18051         * redisplay.c (generate_fstring_runes): compute string size in
18052         characters, not bytes.
18053
18054 2000-01-09  Hrvoje Niksic  <hniksic@iskon.hr>
18055
18056         * window.c (Fwindow_minibuffer_p): Make WINDOW optional.
18057
18058 2000-01-14  Hrvoje Niksic  <hniksic@iskon.hr>
18059
18060         * print.c (print_error_message): Call print_prepare().
18061
18062 2000-01-14  Martin Buchholz  <martin@xemacs.org>
18063
18064         * .dbxrc: Renamed from dbxrc.
18065
18066         * events.c (event_to_character):
18067         Use `assert (foo)' instead of `if (!foo) abort()'
18068
18069         * .gdbinit (xtype): Add documentation.
18070         * .gdbinit (check-temacs): New function.
18071         * .gdbinit (check-xemacs): New function.
18072         * dbxrc (check-xemacs): New function.
18073         * dbxrc (check-xemacs): New function.
18074
18075 2000-01-14  Andy Piper  <andy@xemacs.org>
18076
18077         * glyphs-widget.c (widget_query_geometry): Make sure that we
18078         calculate default dimensions correctly.
18079
18080 2000-01-13  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
18081
18082         * symsinit.h: Added prototype for reinit_vars_of_frame_mswindows.
18083
18084         * event-msw.c (vars_of_event_mswindows): Fixed a mistyped
18085         pdump_wire'd variable.
18086
18087         * emacs.c: (main_1): Conditionalized calls to
18088         reinit_vars_of_scrollbar_x and reinit_vars_of_module.
18089
18090 2000-01-13  Martin Buchholz  <martin@xemacs.org>
18091
18092         * window.c (Fset_window_configuration):
18093         * sysdep.c (_start):
18094         * input-method-motif.c (res):
18095         * event-Xt.c (Xt_process_to_emacs_event):
18096         Simple compiler warning fixes.
18097
18098         * bytecode.c (funcall_compiled_function): Use the original
18099         function symbol on the backtrace list in preference to the
18100         compiled_function object in error messages.
18101
18102 2000-01-13  Andy Piper  <andy@xemacs.org>
18103
18104         * glyphs-x.c (update_widget_face): Make sure we update the widget
18105         background as well as foreground.
18106
18107 2000-01-13  Andy Piper  <andy@xemacs.org>
18108
18109         * glyphs.h (struct Lisp_Image_Instance): Move justify and orient
18110         fields to subwindow.
18111         (IMAGE_INSTANCE_SUBWINDOW_JUSTIFY): new macro.
18112         (XIMAGE_INSTANCE_SUBWINDOW_JUSTIFY): ditto.
18113         (IMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
18114         (XIMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
18115
18116         * glyphs-widget.c (check_valid_tab_orientation): new function.
18117         (initialize_widget_image_instance): zero orientation and
18118         justification.
18119         (widget_instantiate): pick up orientation.
18120         (tab_control_query_geometry): return appropriate values for
18121         vertical tabs.
18122
18123         * glyphs-msw.c: (mswindows_tab_control_instantiate): assign
18124         appropriate creation flags for left, right and bottom tabs.
18125
18126         * s/cygwin32.h: add tab definitions.
18127
18128 2000-01-12  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
18129
18130         * glyphs-msw.c (mswindows_unmap_subwindow): Set focus back to the
18131         frame upon hiding a subwindow.
18132         (mswindows_button_instantiate): Changed the push button style to
18133         BS_PUSHBUTTON.
18134         (mswindows_button_instantiate): Removed button BS_NOTIFY
18135         style.
18136         (mswindows_button_instantiate): Removed redundant check for
18137         a disabled gui item.
18138         (mswindows_button_instantiate): Made use of WS_TABSTOP
18139         consistent: "operable" controls (edit, button, tree, scroll) have
18140         this style, "display-only" ones (static, progress gauge) do
18141         not. This style is currently ignored by XEmacs though. Also,
18142         removed the WS_EX_CONTROLPARENT style - it is not for children,
18143         it is for their parents!
18144         (mswindows_edit_field_instantiate): Ditto.
18145         (mswindows_progress_gauge_instantiate): Ditto.
18146         (mswindows_tree_view_instantiate): Ditto.
18147         (mswindows_tab_control_instantiate): Ditto.
18148         (mswindows_scrollbar_instantiate): Ditto.
18149         (mswindows_combo_box_instantiate): Ditto.
18150         (mswindows_widget_instantiate): Added the WS_EX_CONTROLPARENT
18151         style to the "clip" window.
18152         (mswindows_button_instantiate): Removed compilation warning by
18153         equally typing terms of the ?: operator.
18154
18155 2000-01-12  Didier Verna  <didier@xemacs.org>
18156
18157         * redisplay.c (generate_fstring_runes): new parameter holding the
18158         last modeline-format extent.
18159         (add_glyph_to_fstring_db_runes): new parameter holding the glyph
18160         extent, fill the glyph block with it.
18161         (generate_fstring_runes): handle these parameters.
18162         (generate_formatted_string_db): ditto.
18163
18164         * keymap.c (get_relevant_keymaps): retreive the keymaps from the
18165         glyphs'extents in the modeline.
18166
18167 1999-01-11  Mike Woolley  <mike@bulsara.com>
18168
18169         * ntheap.c: Reduced the reserved heap space from 1Gb down to
18170         256Mb, as a workaround for the non-starting problem many people
18171         have experienced.
18172
18173 2000-01-06  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
18174
18175         * console-tty.c (Fset_console_tty_output_coding_system):
18176         Force redrawing tty frame.
18177
18178 2000-01-10  Didier Verna  <didier@xemacs.org>
18179
18180         * redisplay.c (generate_fstring_runes): fix size computation bug.
18181
18182 2000-01-09  William M. Perry <wmperry@aventail.com>
18183
18184         * gpmevent.c: (gpm_next_event_cb): Don't return value from void function.
18185
18186 2000-01-09  Andy Piper  <andy@xemacs.org>
18187
18188         * glyphs-msw.c: index -> i to avoid shadows.
18189         (xbm_create_bitmap_from_data): make static.
18190         (check_valid_string_or_int): deleted.
18191         (mswindows_control_wnd_proc): message -> msg to avoid shadows.
18192
18193         * glyphs-x.c (x_update_subwindow): remove unused args.
18194
18195         * glyphs.c (glyph_image_instance): return the thing. Don't set the
18196         back pointer - this is done in allocate_image_instance.
18197         (query_string_font): return Qnil to make the compiler happy.
18198         (unmap_subwindow): set to ~0 to make the compiler happy.
18199         (glyph_query_geometry): comment out until used.
18200         (glyph_layout): ditto.
18201
18202 2000-01-09  Hrvoje Niksic  <hniksic@iskon.hr>
18203
18204         * insdel.c (signal_after_change): Remove extraneous unbind_to().